UNPKG

kipon-xrmservice

Version:

Dynamics 365 CE web api wrapper for angular, making life easier when building angular based web resources

56 lines 8.19 kB
import { Injectable } from '@angular/core'; import { Entity, EntityReference, Condition, Comparator } from './xrmcontext.service'; import * as i0 from "@angular/core"; import * as i1 from "./xrmcontext.service"; export class Annotation extends Entity { constructor() { super('annotations', 'annotationid', true); // annotationid:entity key column is always included, but name is converted to id this.filename = null; this.filesize = null; this.isdocument = null; this.notetext = null; this.objectid = new EntityReference().meta("accounts", "objectid_account"); this.ownerid = new EntityReference().meta("systemusers", "ownerid"); this.subject = null; } meta() { return this; } } export class XrmAnnotationService { constructor(xrmService) { this.xrmService = xrmService; this.localPrototype = new Annotation().meta(); } get(id) { return this.xrmService.get(this.localPrototype, id); } related(entity) { let condition = new Condition() .where('objectid', Comparator.Equals, entity.id) .where('objecttypecode', Comparator.Equals, entity._logicalName); return this.xrmService.query(this.localPrototype, condition); } add(entity, subject, body) { var anno = new Annotation(); anno.isdocument = false; anno.subject = subject; anno.notetext = body; anno.objectid = new EntityReference().meta(entity._pluralName, "objectid_" + entity._logicalName); anno.objectid.id = entity.id; return this.xrmService.create(this.localPrototype, anno); } update(anno) { return this.xrmService.update(this.localPrototype, anno); } delete(anno) { return this.xrmService.delete(anno); } } XrmAnnotationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: XrmAnnotationService, deps: [{ token: i1.XrmContextService }], target: i0.ɵɵFactoryTarget.Injectable }); XrmAnnotationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: XrmAnnotationService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: XrmAnnotationService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.XrmContextService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHJtYW5ub3RhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMva2lwb24teHJtc2VydmljZS9zcmMvbGliL3hybWFubm90YXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUErQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUVuSSxNQUFNLE9BQU8sVUFBVyxTQUFRLE1BQU07SUFDcEM7UUFDRSxLQUFLLENBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3QyxrRkFBa0Y7UUFDbEYsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDM0IsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixhQUFRLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRXZGLFlBQU8sR0FBb0IsSUFBSSxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2hGLFlBQU8sR0FBVyxJQUFJLENBQUM7SUFUdkIsQ0FBQztJQVdELElBQUk7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBb0IsVUFBNkI7UUFBN0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFEakQsbUJBQWMsR0FBZSxJQUFJLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ0EsQ0FBQztJQUV0RCxHQUFHLENBQUMsRUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWEsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWM7UUFDcEIsSUFBSSxTQUFTLEdBQWMsSUFBSSxTQUFTLEVBQUU7YUFDdkMsS0FBSyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7YUFDL0MsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQWEsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsR0FBRyxDQUFDLE1BQWMsRUFBRSxPQUFlLEVBQUUsSUFBWTtRQUMvQyxJQUFJLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBYSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDOztpSEEvQlUsb0JBQW9CO3FIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgWHJtUXVlcnlSZXN1bHQgfSBmcm9tICcuL3hybS5zZXJ2aWNlJ1xyXG5pbXBvcnQgeyBFbnRpdHksIEVudGl0eVJlZmVyZW5jZSwgT3B0aW9uU2V0VmFsdWUsIEVudGl0aWVzLCBYcm1Db250ZXh0U2VydmljZSwgQ29uZGl0aW9uLCBDb21wYXJhdG9yIH0gZnJvbSAnLi94cm1jb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFubm90YXRpb24gZXh0ZW5kcyBFbnRpdHkge1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ2Fubm90YXRpb25zJywgJ2Fubm90YXRpb25pZCcsIHRydWUpO1xyXG4gIH1cclxuICAvLyBcdGFubm90YXRpb25pZDplbnRpdHkga2V5IGNvbHVtbiBpcyBhbHdheXMgaW5jbHVkZWQsIGJ1dCBuYW1lIGlzIGNvbnZlcnRlZCB0byBpZFxyXG4gIGZpbGVuYW1lOiBzdHJpbmcgPSBudWxsO1xyXG4gIGZpbGVzaXplOiBudW1iZXIgPSBudWxsO1xyXG4gIGlzZG9jdW1lbnQ6IGJvb2xlYW4gPSBudWxsO1xyXG4gIG5vdGV0ZXh0OiBzdHJpbmcgPSBudWxsO1xyXG4gIG9iamVjdGlkOiBFbnRpdHlSZWZlcmVuY2UgPSBuZXcgRW50aXR5UmVmZXJlbmNlKCkubWV0YShcImFjY291bnRzXCIsIFwib2JqZWN0aWRfYWNjb3VudFwiKTtcclxuICBvYmplY3RpZHR5cGVjb2RlOiBzdHJpbmc7XHJcbiAgb3duZXJpZDogRW50aXR5UmVmZXJlbmNlID0gbmV3IEVudGl0eVJlZmVyZW5jZSgpLm1ldGEoXCJzeXN0ZW11c2Vyc1wiLCBcIm93bmVyaWRcIik7XHJcbiAgc3ViamVjdDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgbWV0YSgpOiBBbm5vdGF0aW9uIHtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgWHJtQW5ub3RhdGlvblNlcnZpY2Uge1xyXG4gIGxvY2FsUHJvdG90eXBlOiBBbm5vdGF0aW9uID0gbmV3IEFubm90YXRpb24oKS5tZXRhKCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB4cm1TZXJ2aWNlOiBYcm1Db250ZXh0U2VydmljZSkgeyB9XHJcblxyXG4gIGdldChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBbm5vdGF0aW9uPiB7XHJcbiAgICByZXR1cm4gdGhpcy54cm1TZXJ2aWNlLmdldDxBbm5vdGF0aW9uPih0aGlzLmxvY2FsUHJvdG90eXBlLCBpZCk7XHJcbiAgfVxyXG5cclxuICByZWxhdGVkKGVudGl0eTogRW50aXR5KTogT2JzZXJ2YWJsZTxYcm1RdWVyeVJlc3VsdDxBbm5vdGF0aW9uPj4ge1xyXG4gICAgbGV0IGNvbmRpdGlvbjogQ29uZGl0aW9uID0gbmV3IENvbmRpdGlvbigpXHJcbiAgICAgIC53aGVyZSgnb2JqZWN0aWQnLCBDb21wYXJhdG9yLkVxdWFscywgZW50aXR5LmlkKVxyXG4gICAgICAud2hlcmUoJ29iamVjdHR5cGVjb2RlJywgQ29tcGFyYXRvci5FcXVhbHMsIGVudGl0eS5fbG9naWNhbE5hbWUpO1xyXG4gICAgcmV0dXJuIHRoaXMueHJtU2VydmljZS5xdWVyeTxBbm5vdGF0aW9uPih0aGlzLmxvY2FsUHJvdG90eXBlLCBjb25kaXRpb24pO1xyXG4gIH1cclxuXHJcbiAgYWRkKGVudGl0eTogRW50aXR5LCBzdWJqZWN0OiBzdHJpbmcsIGJvZHk6IHN0cmluZyk6IE9ic2VydmFibGU8QW5ub3RhdGlvbj4ge1xyXG4gICAgdmFyIGFubm8gPSBuZXcgQW5ub3RhdGlvbigpO1xyXG4gICAgYW5uby5pc2RvY3VtZW50ID0gZmFsc2U7XHJcbiAgICBhbm5vLnN1YmplY3QgPSBzdWJqZWN0O1xyXG4gICAgYW5uby5ub3RldGV4dCA9IGJvZHk7XHJcbiAgICBhbm5vLm9iamVjdGlkID0gbmV3IEVudGl0eVJlZmVyZW5jZSgpLm1ldGEoZW50aXR5Ll9wbHVyYWxOYW1lLCBcIm9iamVjdGlkX1wiICsgZW50aXR5Ll9sb2dpY2FsTmFtZSk7XHJcbiAgICBhbm5vLm9iamVjdGlkLmlkID0gZW50aXR5LmlkO1xyXG4gICAgcmV0dXJuIHRoaXMueHJtU2VydmljZS5jcmVhdGU8QW5ub3RhdGlvbj4odGhpcy5sb2NhbFByb3RvdHlwZSwgYW5ubyk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGUoYW5ubzogQW5ub3RhdGlvbik6IE9ic2VydmFibGU8QW5ub3RhdGlvbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMueHJtU2VydmljZS51cGRhdGUodGhpcy5sb2NhbFByb3RvdHlwZSwgYW5ubyk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUoYW5ubzogQW5ub3RhdGlvbik6IE9ic2VydmFibGU8bnVsbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMueHJtU2VydmljZS5kZWxldGUoYW5ubyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==