import RemoteObject from './remote-object.mjs';
import DataSetObject from './dataset/dataset-object.mjs';
/**
* Class returned by methods such as getCategoryCollection
* @extends DataSetObject
*/
export class CollectionObject extends DataSetObject {
constructor(remoteAPI, entity, detail) {
super(remoteAPI);
this.dataSetName = "collection";
this.entity = entity;
this.detail = detail;
}
asJsonRpc() {
const api = {
"@name": "getcategorycollection"
}
if (this.entity) api.entity = this.entity;
if (this.detail) api.detail = this.detail;
const requestObject = {
"#id": this.id,
"@name": "api",
"@func": [api]
};
return requestObject;
}
}
/**
* Class returned by methods such as deleteEntity
* @extends RemoteObject
*/
export class DeleteEntity extends RemoteObject {
constructor(remoteAPI, entity, keys) {
super(remoteAPI);
this.entity = entity;
this.keys = Array.isArray(keys) ? keys : [keys];
this.api.registerObject(this);
}
asJsonRpc() {
const api = {
"@name": "delete",
"entity": this.entity,
"keys":this.keys.join(";")
}
const requestObject = {
"#id": this.id,
"@name": "api",
"@func": [api]
};
return requestObject;
}
}