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
JavaScript
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==