UNPKG

@hso/d365-cli

Version:

Dynamics 365 Command Line Interface for TypeScript projects for Dataverse

40 lines (30 loc) 1.76 kB
import {WebApi} from '../WebApi/WebApi'; import {Service} from '../WebApi/Service'; export class EntityService { public static logicalName = 'EntityLogicalName'; public static async retrieveMultipleRecords(multipleSystemQueryOptions: MultipleSystemQueryOptions): Promise<EntityModel[]> { return WebApi.retrieveMultipleRecords(EntityService.logicalName, multipleSystemQueryOptions); } public static async retrieveRecord(id: string, systemQueryOptions: SystemQueryOptions): Promise<EntityModel> { return WebApi.retrieveRecord(EntityService.logicalName, id, systemQueryOptions); } public static async updateRecord(id: string, entityModel: EntityModel): Promise<EntityModel> { return WebApi.updateRecord(EntityService.logicalName, id, entityModel); } public static async createRecord(entityModel: EntityModel): Promise<EntityModel> { return WebApi.createRecord(EntityService.logicalName, entityModel); } public static async upsertRecord(entityModel: EntityModel): Promise<EntityModel> { return WebApi.upsertRecord(EntityService.logicalName, entityModel); } public static async count(filters?: Filter[]): Promise<number> { return WebApi.count(EntityService.logicalName, filters); } public static async retrieveClone(id: string): Promise<EntityModel> { const origRecord = await Xrm.WebApi.retrieveRecord(EntityService.logicalName, id); return Service.parseCreateModel(EntityService.logicalName, origRecord); } public static async validateRecord(entityModel: EntityModel): Promise<ModelValidation> { return Service.validateRecord(EntityService.logicalName, entityModel); } }