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 { TypeaheadService } from './services/typeahead.service';
|
||||
import { UserService } from './services/user.service';
|
||||
import { WeatherService} from './services/weather.service';
|
||||
import { AppConfig } from './shared/app.config';
|
||||
import { AccessTokenInterceptor } from "./shared/accesstoken.interceptor";
|
||||
import { appConfigFactory } from "./shared/app.config.factory";
|
||||
@ -35,6 +36,7 @@ export {
|
||||
EventService,
|
||||
TypeaheadService,
|
||||
UserService,
|
||||
WeatherService,
|
||||
CodeListItemService,
|
||||
AppConfig,
|
||||
AccessTokenInterceptor,
|
||||
|
@ -32,6 +32,7 @@ import { TagInputComponent } from './components/tag-input/tag-input.component';
|
||||
import { MenuBackgroundComponent } from './components/menu-background/menu-background.component';
|
||||
import { IEventMessage } from './models/event.message';
|
||||
import { IItem, Item } from './models/item';
|
||||
import { WeatherCurrentObservation } from './models/weatherCurrentObservation';
|
||||
import { IItemType } from './models/item.type';
|
||||
import { IItemTypes } from './models/item.types';
|
||||
import { IItemTask, ItemTask } from './models/itemTask';
|
||||
@ -71,7 +72,8 @@ export {
|
||||
IAuthconfigFactory,
|
||||
AuthConfigFactory,
|
||||
MenuBackgroundComponent,
|
||||
SecureOAuthStorage
|
||||
SecureOAuthStorage,
|
||||
WeatherCurrentObservation
|
||||
};
|
||||
|
||||
@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