From 068396ac9a74659c4740d1596aa8d7cf97839c51 Mon Sep 17 00:00:00 2001 From: Mark Date: Wed, 20 Nov 2024 16:33:20 +0100 Subject: [PATCH] added TaskService --- .../common/src/fm/common-service.module.ts | 2 + .../common/src/fm/services/item.service.ts | 28 ++++++------- .../common/src/fm/services/task.service.ts | 40 +++++++++++++++++++ 3 files changed, 55 insertions(+), 15 deletions(-) create mode 100644 projects/common/src/fm/services/task.service.ts diff --git a/projects/common/src/fm/common-service.module.ts b/projects/common/src/fm/common-service.module.ts index 445472e..a01c703 100644 --- a/projects/common/src/fm/common-service.module.ts +++ b/projects/common/src/fm/common-service.module.ts @@ -13,6 +13,7 @@ import { SchemaService } from './services/schema.service'; import { FolderService } from './services/folder.service'; import { TimespanService } from './services/timespan.service'; import { ItemService } from './services/item.service'; +import { TaskService } from './services/task.service'; import { AdminService } from './services/admin.service'; import { EventService } from './services/event.service'; import { TypeaheadService } from './services/typeahead.service'; @@ -44,6 +45,7 @@ export { ItemTypeService, TimespanService, ItemService, + TaskService, AdminService, EventService, TypeaheadService, diff --git a/projects/common/src/fm/services/item.service.ts b/projects/common/src/fm/services/item.service.ts index 1117004..d42cd7f 100644 --- a/projects/common/src/fm/services/item.service.ts +++ b/projects/common/src/fm/services/item.service.ts @@ -1,14 +1,12 @@ -import { Injectable } from '@angular/core'; -import { Observable } from 'rxjs'; -import { map } from 'rxjs/operators'; -import { IItemType } from '../models/item.type'; -import { IItemLinkType } from '../models/itemlink.type'; -import { IUrlType } from '../models/url.type'; -import { IItem } from '../models/item'; -import { IJsonline } from '../models/json-line'; -import { IItemTask } from '../models/itemTask'; -import { HttpClient, HttpParams, HttpHeaders } from "@angular/common/http"; -import { AppConfig } from "../shared/app.config"; +import {Injectable} from '@angular/core'; +import {Observable} from 'rxjs'; +import {IItemType} from '../models/item.type'; +import {IItemLinkType} from '../models/itemlink.type'; +import {IItem} from '../models/item'; +import {IJsonline} from '../models/json-line'; +import {IItemTask} from '../models/itemTask'; +import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http'; +import {AppConfig} from '../shared/app.config'; import {ItemTypeService} from './itemtype.service'; import {IListItem} from '../models/list.item'; @@ -96,11 +94,11 @@ export class ItemService { if (sourceTask) params = params.append("sourceTask", sourceTask); if(skip) params = params.append("skip", skip); 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); return this.httpClient.get(`${this.ApiEndpoint()}/api/v1/items/`, { params: params }); } - + getItemListCount(itemType: string, startDate?: Date, endDate?: Date, sourceTask?: string, indexed?: boolean, exactMatchStartOrEndDate?: boolean, owner?:string): Observable { let params = new HttpParams(); @@ -129,8 +127,8 @@ export class ItemService { if (startDate) params = params.append("sDate", startDate.toISOString()); if (endDate) params = params.append("eDate", endDate.toISOString()); 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(take) params = params.append("take", take); return this.httpClient.get(`${this.ApiEndpoint()}/api/v1/items/${parentcode}/children`, { params: params }); diff --git a/projects/common/src/fm/services/task.service.ts b/projects/common/src/fm/services/task.service.ts new file mode 100644 index 0000000..f681f12 --- /dev/null +++ b/projects/common/src/fm/services/task.service.ts @@ -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(`${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(`${this.appConfig.getConfig('apiEndPoint')}/api/v1/tasks`, + {params: params}) + } +}