AW-811: Added weather service to common
All checks were successful
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
All checks were successful
FarmMaps.Develop/FarmMapsLib/develop This commit looks good
This commit is contained in:
parent
fd3545523e
commit
123bf2943a
@ -15,6 +15,7 @@ import { ItemService } from './services/item.service';
|
|||||||
import { EventService } from './services/event.service';
|
import { EventService } from './services/event.service';
|
||||||
import { TypeaheadService } from './services/typeahead.service';
|
import { TypeaheadService } from './services/typeahead.service';
|
||||||
import { UserService } from './services/user.service';
|
import { UserService } from './services/user.service';
|
||||||
|
import { WeatherService} from './services/weather.service';
|
||||||
import { AppConfig } from './shared/app.config';
|
import { AppConfig } from './shared/app.config';
|
||||||
import { AccessTokenInterceptor } from "./shared/accesstoken.interceptor";
|
import { AccessTokenInterceptor } from "./shared/accesstoken.interceptor";
|
||||||
import { appConfigFactory } from "./shared/app.config.factory";
|
import { appConfigFactory } from "./shared/app.config.factory";
|
||||||
@ -35,6 +36,7 @@ export {
|
|||||||
EventService,
|
EventService,
|
||||||
TypeaheadService,
|
TypeaheadService,
|
||||||
UserService,
|
UserService,
|
||||||
|
WeatherService,
|
||||||
CodeListItemService,
|
CodeListItemService,
|
||||||
AppConfig,
|
AppConfig,
|
||||||
AccessTokenInterceptor,
|
AccessTokenInterceptor,
|
||||||
|
@ -32,6 +32,7 @@ import { TagInputComponent } from './components/tag-input/tag-input.component';
|
|||||||
import { MenuBackgroundComponent } from './components/menu-background/menu-background.component';
|
import { MenuBackgroundComponent } from './components/menu-background/menu-background.component';
|
||||||
import { IEventMessage } from './models/event.message';
|
import { IEventMessage } from './models/event.message';
|
||||||
import { IItem, Item } from './models/item';
|
import { IItem, Item } from './models/item';
|
||||||
|
import { WeatherCurrentObservation } from './models/weatherCurrentObservation';
|
||||||
import { IItemType } from './models/item.type';
|
import { IItemType } from './models/item.type';
|
||||||
import { IItemTypes } from './models/item.types';
|
import { IItemTypes } from './models/item.types';
|
||||||
import { IItemTask, ItemTask } from './models/itemTask';
|
import { IItemTask, ItemTask } from './models/itemTask';
|
||||||
@ -71,7 +72,8 @@ export {
|
|||||||
IAuthconfigFactory,
|
IAuthconfigFactory,
|
||||||
AuthConfigFactory,
|
AuthConfigFactory,
|
||||||
MenuBackgroundComponent,
|
MenuBackgroundComponent,
|
||||||
SecureOAuthStorage
|
SecureOAuthStorage,
|
||||||
|
WeatherCurrentObservation
|
||||||
};
|
};
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
13
projects/common/src/fm/models/weatherCurrentObservation.ts
Normal file
13
projects/common/src/fm/models/weatherCurrentObservation.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
export interface WeatherCurrentObservation {
|
||||||
|
wspd: number;
|
||||||
|
obs_time_local: number;
|
||||||
|
decimal_temp: number;
|
||||||
|
rh: number;
|
||||||
|
precip_1hour: number;
|
||||||
|
precip_6hour: number;
|
||||||
|
precip_24hour: number;
|
||||||
|
uv_index: number;
|
||||||
|
icon_code: number;
|
||||||
|
wdir_cardinal: string;
|
||||||
|
wdir: number;
|
||||||
|
}
|
23
projects/common/src/fm/services/weather.service.ts
Normal file
23
projects/common/src/fm/services/weather.service.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import {Injectable} from '@angular/core';
|
||||||
|
import {HttpClient} from '@angular/common/http';
|
||||||
|
import {AppConfig} from '../shared/app.config';
|
||||||
|
import {Observable} from 'rxjs';
|
||||||
|
import {WeatherCurrentObservation} from '../models/weatherCurrentObservation';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root',
|
||||||
|
})
|
||||||
|
export class WeatherService {
|
||||||
|
private apiUrl = '/api/v1/weather/currentobservation';
|
||||||
|
private apiKey = '5f17ef36283b49e9b099a1f4064fbf3d';
|
||||||
|
|
||||||
|
constructor(public httpClient: HttpClient, public appConfig: AppConfig) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public GetCurrentObservation(centroid: number[]): Observable<WeatherCurrentObservation> {
|
||||||
|
const endpoint = this.appConfig.getConfig('apiEndPoint');
|
||||||
|
const observationUrl = `${endpoint}${this.apiUrl}/?c=${centroid[0]},${centroid[1]}&key=${this.apiKey}`;
|
||||||
|
|
||||||
|
return this.httpClient.get<WeatherCurrentObservation>(observationUrl);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user