UNPKG

flexmonster-mongo-connector

Version:

Custom data source API implementation for MongoDB

53 lines (42 loc) 1.49 kB
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; } }