flexmonster-mongo-connector
Version:
Custom data source API implementation for MongoDB
53 lines (42 loc) • 1.49 kB
text/typescript
import {SchemaValueObject} from "./SchemaValueObject";
type FieldUniqueName = string;
export class APISchema {
private _mapOfSchemaValueObjects: Map<FieldUniqueName, SchemaValueObject> = null;
private _sorted: boolean = false;
private _filters: object = {
"any": {
"members": true,
"query": true,
"valueQuery": false
},
"advanced": true
};
constructor (mapOfSchemaValueObjects = new Map<FieldUniqueName, SchemaValueObject>(), sorted = false) {
this._mapOfSchemaValueObjects = mapOfSchemaValueObjects;
this._sorted = sorted;
}
public get fields(): Map<FieldUniqueName, SchemaValueObject> {
return this._mapOfSchemaValueObjects;
}
public set fields(mapOfSchemaValueObjects: Map<FieldUniqueName, SchemaValueObject>) {
this._mapOfSchemaValueObjects = mapOfSchemaValueObjects;
}
public get sorted (): boolean {
return this._sorted;
}
public set sorted (sorted: boolean) {
this._sorted = sorted;
}
toJSON() {
let obj: any = {};
let schemaObjects = [];
let values = this._mapOfSchemaValueObjects.values();
for (let value of values) {
schemaObjects.push(value.toObject());
}
obj["fields"] = schemaObjects;
obj["sorted"] = this._sorted;
obj["filters"] = this._filters;
return obj;
}
}