declare var js2JSON: (jsThing: any) => string;
declare var OpenSRF: any; // creating sessions
+export interface PcrudQueryOps {
+ order_by?: any;
+ limit?: number;
+ offset?: number;
+ flesh?: number;
+ flesh_fields?: any;
+ select?: any;
+ join?: any;
+}
+
interface PcrudReqOps {
authoritative?: boolean;
anonymous?: boolean;
}
retrieve(fmClass: string, pkey: Number | string,
- pcrudOps?: any, reqOps?: PcrudReqOps): Observable<PcrudResponse> {
+ pcrudOps?: PcrudQueryOps, reqOps?: PcrudReqOps): Observable<PcrudResponse> {
reqOps = reqOps || {};
this.authoritative = reqOps.authoritative || false;
if (reqOps.fleshSelectors) {
[this.token(reqOps), pkey, pcrudOps]);
}
- retrieveAll(fmClass: string, pcrudOps?: any,
+ retrieveAll(fmClass: string, pcrudOps?: PcrudQueryOps,
reqOps?: PcrudReqOps): Observable<PcrudResponse> {
const search = {};
search[this.idl.classes[fmClass].pkey] = {'!=' : null};
}
search(fmClass: string, search: any,
- pcrudOps?: any, reqOps?: PcrudReqOps): Observable<PcrudResponse> {
+ pcrudOps?: PcrudQueryOps, reqOps?: PcrudReqOps): Observable<PcrudResponse> {
reqOps = reqOps || {};
this.authoritative = reqOps.authoritative || false;
}
retrieve(fmClass: string, pkey: Number | string,
- pcrudOps?: any, reqOps?: PcrudReqOps): Observable<PcrudResponse> {
+ pcrudOps?: PcrudQueryOps, reqOps?: PcrudReqOps): Observable<PcrudResponse> {
return this.newContext().retrieve(fmClass, pkey, pcrudOps, reqOps);
}
- retrieveAll(fmClass: string, pcrudOps?: any,
+ retrieveAll(fmClass: string, pcrudOps?: PcrudQueryOps,
reqOps?: PcrudReqOps): Observable<PcrudResponse> {
return this.newContext().retrieveAll(fmClass, pcrudOps, reqOps);
}
search(fmClass: string, search: any,
- pcrudOps?: any, reqOps?: PcrudReqOps): Observable<PcrudResponse> {
+ pcrudOps?: PcrudQueryOps, reqOps?: PcrudReqOps): Observable<PcrudResponse> {
return this.newContext().search(fmClass, search, pcrudOps, reqOps);
}
if (this.alertTypes) {
return Promise.resolve();
}
- return this.pcrud.retrieveAll('ccat',
- { active: true,
+ return this.pcrud.search('ccat',
+ { active: 't',
scope_org: this.org.ancestors(this.auth.user().ws_ou(), true)
- }, {atomic: true}
+ }, {}, {atomic: true}
).toPromise().then(alerts => {
this.alertTypes = alerts.map(a => ({id: a.id(), label: a.name()}));
});
getCopyAlerts(): Promise<any> {
const copyIds = this.copies.map(c => c.id());
const typeIds = this.alertTypes.map(a => a.id);
+ if (typeIds.length === 0) { return Promise.resolve(null); }
return this.pcrud.search('aca',
{copy: copyIds, ack_time: null, alert_type: typeIds},