added TaskService
All checks were successful
FarmMaps.Develop/FarmMapsLib/pipeline/head This commit looks good

This commit is contained in:
Mark van der Wal 2024-11-20 16:33:20 +01:00
parent 4a30707ec6
commit 068396ac9a
3 changed files with 55 additions and 15 deletions

View File

@ -13,6 +13,7 @@ import { SchemaService } from './services/schema.service';
import { FolderService } from './services/folder.service'; import { FolderService } from './services/folder.service';
import { TimespanService } from './services/timespan.service'; import { TimespanService } from './services/timespan.service';
import { ItemService } from './services/item.service'; import { ItemService } from './services/item.service';
import { TaskService } from './services/task.service';
import { AdminService } from './services/admin.service'; import { AdminService } from './services/admin.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';
@ -44,6 +45,7 @@ export {
ItemTypeService, ItemTypeService,
TimespanService, TimespanService,
ItemService, ItemService,
TaskService,
AdminService, AdminService,
EventService, EventService,
TypeaheadService, TypeaheadService,

View File

@ -1,14 +1,12 @@
import { Injectable } from '@angular/core'; import {Injectable} from '@angular/core';
import { Observable } from 'rxjs'; import {Observable} from 'rxjs';
import { map } from 'rxjs/operators'; import {IItemType} from '../models/item.type';
import { IItemType } from '../models/item.type'; import {IItemLinkType} from '../models/itemlink.type';
import { IItemLinkType } from '../models/itemlink.type'; import {IItem} from '../models/item';
import { IUrlType } from '../models/url.type'; import {IJsonline} from '../models/json-line';
import { IItem } from '../models/item'; import {IItemTask} from '../models/itemTask';
import { IJsonline } from '../models/json-line'; import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';
import { IItemTask } from '../models/itemTask'; import {AppConfig} from '../shared/app.config';
import { HttpClient, HttpParams, HttpHeaders } from "@angular/common/http";
import { AppConfig } from "../shared/app.config";
import {ItemTypeService} from './itemtype.service'; import {ItemTypeService} from './itemtype.service';
import {IListItem} from '../models/list.item'; import {IListItem} from '../models/list.item';
@ -96,11 +94,11 @@ export class ItemService {
if (sourceTask) params = params.append("sourceTask", sourceTask); if (sourceTask) params = params.append("sourceTask", sourceTask);
if(skip) params = params.append("skip", skip); if(skip) params = params.append("skip", skip);
if(take) params = params.append("take", take); if(take) params = params.append("take", take);
if(exactMatchStartOrEndDate !== undefined) params = params.append("exactMatchStartOrEndDate", exactMatchStartOrEndDate); if(exactMatchStartOrEndDate !== undefined) params = params.append("exactMatchStartOrEndDate", exactMatchStartOrEndDate);
if(owner) params = params.append("owner", owner); if(owner) params = params.append("owner", owner);
return this.httpClient.get<IItem[]>(`${this.ApiEndpoint()}/api/v1/items/`, { params: params }); return this.httpClient.get<IItem[]>(`${this.ApiEndpoint()}/api/v1/items/`, { params: params });
} }
getItemListCount(itemType: string, startDate?: Date, endDate?: Date, sourceTask?: string, getItemListCount(itemType: string, startDate?: Date, endDate?: Date, sourceTask?: string,
indexed?: boolean, exactMatchStartOrEndDate?: boolean, owner?:string): Observable<number> { indexed?: boolean, exactMatchStartOrEndDate?: boolean, owner?:string): Observable<number> {
let params = new HttpParams(); let params = new HttpParams();
@ -129,8 +127,8 @@ export class ItemService {
if (startDate) params = params.append("sDate", startDate.toISOString()); if (startDate) params = params.append("sDate", startDate.toISOString());
if (endDate) params = params.append("eDate", endDate.toISOString()); if (endDate) params = params.append("eDate", endDate.toISOString());
if(exactMatchStartOrEndDate !== undefined) params = params.append("exactMatchStartOrEndDate", exactMatchStartOrEndDate); if(exactMatchStartOrEndDate !== undefined) params = params.append("exactMatchStartOrEndDate", exactMatchStartOrEndDate);
if(owner) params = params.append("owner", owner); if(owner) params = params.append("owner", owner);
if(skip) params = params.append("skip", skip); if(skip) params = params.append("skip", skip);
if(take) params = params.append("take", take); if(take) params = params.append("take", take);
return this.httpClient.get<IItem[]>(`${this.ApiEndpoint()}/api/v1/items/${parentcode}/children`, { params: params }); return this.httpClient.get<IItem[]>(`${this.ApiEndpoint()}/api/v1/items/${parentcode}/children`, { params: params });

View File

@ -0,0 +1,40 @@
import {Injectable} from '@angular/core';
import {HttpClient, HttpParams} from '@angular/common/http';
import {AppConfig} from '../shared/app.config';
@Injectable({
providedIn: 'root',
})
export class TaskService {
constructor(public httpClient: HttpClient, public appConfig: AppConfig) {
}
ApiEndpoint() {
return this.appConfig.getConfig("apiEndPoint");
}
getTask(taskCode: string) {
return this.httpClient.get<any>(`${this.appConfig.getConfig('apiEndPoint')}/api/v1/tasks/${taskCode}`)
}
getTasks(workflowCode: string, itemCode: string = null, taskType: string = null, skip = 0, take = 25) {
let params = new HttpParams();
if (workflowCode) {
params = params.append('workflowCode', workflowCode);
}
if (itemCode) {
params = params.append('itemCode', itemCode);
}
if (taskType) {
params = params.append('taskType', taskType);
}
params = params.append('skip', skip.toString());
params = params.append('take', take.toString());
return this.httpClient.get<any>(`${this.appConfig.getConfig('apiEndPoint')}/api/v1/tasks`,
{params: params})
}
}