@smartsoft001/models 1.0.731 → 1.0.735
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/smartsoft001-models.umd.js +1 -0
- package/bundles/smartsoft001-models.umd.js.map +1 -1
- package/esm2015/lib/interfaces.js +2 -1
- package/fesm2015/smartsoft001-models.js +1 -0
- package/fesm2015/smartsoft001-models.js.map +1 -1
- package/lib/interfaces.d.ts +1 -0
- package/package.json +2 -2
- package/smartsoft001-models.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartsoft001-models.umd.js","sources":["../../../../../libs/shared/models/src/lib/symbols.ts","../../../../../libs/shared/models/src/lib/interfaces.ts","../../../../../libs/shared/models/src/lib/decorators/model/model.decorator.ts","../../../../../libs/shared/models/src/lib/decorators/field/field.decorator.ts","../../../../../libs/shared/models/src/lib/utils.ts","../../../../../libs/shared/models/src/smartsoft001-models.ts"],"sourcesContent":["export const SYMBOL_MODEL = Symbol.for('smartsoft:model');\nexport const SYMBOL_FIELD = Symbol.for('smartsoft:field');\n","import {Observable} from \"rxjs\";\n\nexport enum FieldType {\n address = \"address\",\n currency = \"currency\",\n date = \"date\",\n dateWithEdit = \"dateWithEdit\",\n email = \"email\",\n enum = \"enum\",\n file = \"file\",\n flag = \"flag\",\n int = \"int\",\n nip = \"nip\",\n object = \"object\",\n array = \"array\",\n password = \"password\",\n radio = \"radio\",\n text = \"text\",\n strings = \"strings\",\n ints = \"ints\",\n longText = \"longText\",\n color = \"color\",\n logo = \"logo\",\n check = \"check\",\n phoneNumber = \"phoneNumber\",\n pesel = \"pesel\",\n pdf = \"pdf\",\n video = \"video\",\n attachment = \"attachment\",\n dateRange = \"dateRange\",\n image = \"image\",\n float = \"float\"\n}\n\nexport interface ISpecification {\n criteria: any;\n}\n\nexport interface IModelFilter {\n label?: string;\n fieldType?: FieldType;\n key: string;\n type: '=' | '!=' | '>=' | '<=' | '<' | '>' | '~=';\n possibilities$?: Observable<{ id: any, text: string }[]>;\n}\n\nexport interface IModelStep {\n number: number;\n name: string;\n}\n\nexport interface IModelMetadata {\n titleKey?: string;\n permissions?: Array<string>;\n filters?: Array<IModelFilter>;\n}\n\nexport interface IFieldMetadata extends IFieldModifyMetadata {\n type?: FieldType;\n classType?: any;\n possibilities?: Array<any> | any;\n}\n\nexport interface IFieldModifyMetadata {\n required?: boolean;\n focused?: boolean;\n confirm?: boolean;\n permissions?: Array<string>;\n unique?: boolean | IFieldUniqueMetadata;\n defaltValue?: () => any;\n enabled?: ISpecification;\n hide?: boolean;\n /**\n * @desc - Model step configuration\n */\n step?: IModelStep;\n}\n\nexport interface IFieldEditMetadata extends IFieldModifyMetadata {\n multi?: boolean;\n}\n\nexport interface IFieldListMetadata {\n order?: number;\n filter?: boolean;\n permissions?: Array<string>;\n /**\n * Configuration for dynamic list table data\n * @param {string} dynamic.headerKey - column header object key\n * @param {string} dynamic.rowKey - column row value object key\n */\n dynamic?: { headerKey: string, rowKey: string }\n}\n\nexport interface IFieldDetailsMetadata {\n order?: number;\n permissions?: Array<string>;\n enabled?: ISpecification;\n}\n\nexport interface IModelOptions {\n titleKey?: string;\n filters?: Array<IModelFilter>;\n create?: IModelModeOptions;\n update?: IModelModeOptions;\n list?: IModelModeOptions;\n details?: IModelModeOptions;\n remove?: IModelModeOptions;\n customs?: Array<IModelModeOptionsCustom>;\n /**\n * @desc - Allow export field data\n */\n export?: boolean;\n /**\n * @desc - Allow import field data\n */\n import?: boolean;\n}\n\nexport interface IModelModeOptions {\n permissions?: Array<string>;\n}\n\nexport interface IModelModeOptionsCustom extends IModelModeOptions {\n mode: string;\n}\n\nexport interface IFieldOptions extends IFieldMetadata {\n create?: IFieldModifyMetadata | boolean;\n update?: IFieldEditMetadata | boolean;\n list?: IFieldListMetadata | boolean;\n details?: IFieldDetailsMetadata | boolean;\n customs?: Array<IModelMetadataCustom>;\n search?: boolean;\n info?: string;\n}\n\nexport interface IModelMetadataCustom extends IModelMetadata {\n mode: string\n}\n\nexport interface IFieldUniqueMetadata {\n withFields?: Array<string>;\n}\n\nexport interface IFieldCustomMetadata extends IFieldModifyMetadata, IFieldListMetadata {\n mode: string;\n}\n","import 'reflect-metadata';\n\nimport * as symbols from \"../../symbols\";\nimport {IModelOptions} from \"../../interfaces\";\n\nexport const Model = ModelDecorator;\nexport function ModelDecorator(options?: IModelOptions) {\n return function<T>(target: any) {\n options = options ? { ...options } : {};\n\n Reflect.defineMetadata(symbols.SYMBOL_MODEL, options, target);\n\n target.prototype.toJSON = function () {\n const result = { ...this };\n\n if (this.constructor['__properties']) {\n Object.keys(this.constructor['__properties']).forEach(protoKey => {\n result[protoKey] = this['_' + protoKey];\n });\n }\n\n return result;\n };\n }\n}\n","import 'reflect-metadata';\n\nimport * as symbols from \"../../symbols\";\nimport {FieldType, IFieldOptions} from \"../../interfaces\";\nimport {ObjectService} from \"@smartsoft001/utils\";\n\nexport const Field = FieldDecorator;\nexport function FieldDecorator(options?: IFieldOptions) {\n return <T>(target: T, key: string) => {\n\n options = options ? { ...options } : {};\n\n if (!target.constructor['__fields']) {\n target.constructor['__fields'] = {};\n }\n\n target.constructor['__fields'][key] = true;\n\n if (!options.type && key === 'password') {\n options.type = FieldType.password;\n } else if (!options.type) {\n options.type = FieldType.text;\n }\n\n if (options.classType) {\n target['_' + key] = target[key];\n delete target[key];\n\n Object.defineProperty(target, key, {\n get: function () {\n if (!this['_' + key] && options.type === FieldType.array) {\n this['_' + key] = [];\n }\n return this['_' + key];\n },\n set: function (v: any) {\n this['_' + key] = options.type === FieldType.array && v ?\n v.map(i => ObjectService.createByType(i, options.classType))\n : ObjectService.createByType(v, options.classType);\n },\n enumerable: true,\n configurable: true\n });\n\n if (!target.constructor['__properties']) {\n target.constructor['__properties'] = {};\n }\n\n target.constructor['__properties'][key] = true;\n }\n\n Reflect.defineMetadata(symbols.SYMBOL_FIELD, options, target, key);\n }\n}\n","import { IFieldOptions, IModelMetadata, IModelOptions } from \"./interfaces\";\nimport { SYMBOL_FIELD, SYMBOL_MODEL } from \"./symbols\";\n\nexport function getModelFieldKeys<T>(type: T): Array<string> {\n if (!type[\"__fields\"]) return [];\n return Object.keys(type[\"__fields\"]);\n}\n\nexport function getModelFieldOptions<T>(\n instance: T,\n fieldKey: string\n): IFieldOptions {\n return Reflect.getMetadata(SYMBOL_FIELD, instance, fieldKey);\n}\n\nexport function getModelFieldsWithOptions<T>(\n instance: T\n): Array<{ key: string; options: IFieldOptions }> {\n const keys = getModelFieldKeys(instance.constructor);\n\n return keys.map((item) => {\n return {\n key: item,\n options: getModelFieldOptions(instance, item),\n };\n });\n}\n\nexport function getModelOptions(type: any): IModelOptions {\n return Reflect.getMetadata(SYMBOL_MODEL, type);\n}\n\nexport function isModel<T>(instance: T): boolean {\n if (!instance || !instance.constructor) return false;\n return Reflect.hasMetadata(SYMBOL_MODEL, instance.constructor);\n}\n\nexport function getInvalidFields<T>(\n instance: T,\n mode: \"create\" | \"update\" | string,\n permissions: Array<string>\n): Array<string> {\n const result = [];\n\n getModelFieldsWithOptions(instance).forEach(({ key, options }) => {\n let required = options.required;\n\n if (\n (mode === \"create\" || mode === \"update\") &&\n options[mode] &&\n options[mode].constructor\n ) {\n required = (options[mode] as IFieldOptions).required;\n\n if (\n required &&\n permissions &&\n (options[mode] as IFieldOptions).permissions\n ) {\n required = (options[mode] as IFieldOptions).permissions.some((op) =>\n permissions.some((p) => p === op)\n );\n }\n }\n\n if (required && (instance[key] === null || instance[key] === undefined || instance[key] === '')) result.push(key);\n });\n\n return result;\n}\n\nexport function castModel<T>(\n instance: T,\n mode: \"create\" | \"update\" | string,\n permissions: Array<string>\n): void {\n if (!isModel(instance)) return;\n\n const fieldsWithOptions = getModelFieldsWithOptions(instance);\n\n Object.keys(instance)\n .filter((key) => key !== \"id\")\n .forEach((key) => {\n const fieldWidthOptions = fieldsWithOptions.find((f) => f.key === key);\n\n if (!fieldWidthOptions) {\n delete instance[key];\n return;\n }\n\n if (\n (mode === \"create\" || mode === \"update\") &&\n (!fieldWidthOptions.options[mode] ||\n (permissions &&\n (fieldWidthOptions.options[mode] as IFieldOptions).permissions &&\n !(fieldWidthOptions.options[\n mode\n ] as IFieldOptions).permissions.some((op) =>\n permissions.some((p) => op === p)\n )))\n ) {\n delete instance[key];\n return;\n } else if (\n mode !== \"create\" &&\n mode !== \"update\" &&\n (!fieldWidthOptions.options.customs ||\n !fieldWidthOptions.options.customs.some((c) => c.mode === mode))\n ) {\n delete instance[key];\n return;\n }\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["FieldType","symbols.SYMBOL_MODEL","ObjectService","symbols.SYMBOL_FIELD"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smartsoft001-models.umd.js","sources":["../../../../../libs/shared/models/src/lib/symbols.ts","../../../../../libs/shared/models/src/lib/interfaces.ts","../../../../../libs/shared/models/src/lib/decorators/model/model.decorator.ts","../../../../../libs/shared/models/src/lib/decorators/field/field.decorator.ts","../../../../../libs/shared/models/src/lib/utils.ts","../../../../../libs/shared/models/src/smartsoft001-models.ts"],"sourcesContent":["export const SYMBOL_MODEL = Symbol.for('smartsoft:model');\nexport const SYMBOL_FIELD = Symbol.for('smartsoft:field');\n","import {Observable} from \"rxjs\";\n\nexport enum FieldType {\n address = \"address\",\n currency = \"currency\",\n date = \"date\",\n dateWithEdit = \"dateWithEdit\",\n email = \"email\",\n enum = \"enum\",\n file = \"file\",\n flag = \"flag\",\n int = \"int\",\n nip = \"nip\",\n object = \"object\",\n array = \"array\",\n password = \"password\",\n radio = \"radio\",\n text = \"text\",\n strings = \"strings\",\n ints = \"ints\",\n longText = \"longText\",\n color = \"color\",\n logo = \"logo\",\n check = \"check\",\n phoneNumber = \"phoneNumber\",\n phoneNumberPl = \"phoneNumberPl\",\n pesel = \"pesel\",\n pdf = \"pdf\",\n video = \"video\",\n attachment = \"attachment\",\n dateRange = \"dateRange\",\n image = \"image\",\n float = \"float\"\n}\n\nexport interface ISpecification {\n criteria: any;\n}\n\nexport interface IModelFilter {\n label?: string;\n fieldType?: FieldType;\n key: string;\n type: '=' | '!=' | '>=' | '<=' | '<' | '>' | '~=';\n possibilities$?: Observable<{ id: any, text: string }[]>;\n}\n\nexport interface IModelStep {\n number: number;\n name: string;\n}\n\nexport interface IModelMetadata {\n titleKey?: string;\n permissions?: Array<string>;\n filters?: Array<IModelFilter>;\n}\n\nexport interface IFieldMetadata extends IFieldModifyMetadata {\n type?: FieldType;\n classType?: any;\n possibilities?: Array<any> | any;\n}\n\nexport interface IFieldModifyMetadata {\n required?: boolean;\n focused?: boolean;\n confirm?: boolean;\n permissions?: Array<string>;\n unique?: boolean | IFieldUniqueMetadata;\n defaltValue?: () => any;\n enabled?: ISpecification;\n hide?: boolean;\n /**\n * @desc - Model step configuration\n */\n step?: IModelStep;\n}\n\nexport interface IFieldEditMetadata extends IFieldModifyMetadata {\n multi?: boolean;\n}\n\nexport interface IFieldListMetadata {\n order?: number;\n filter?: boolean;\n permissions?: Array<string>;\n /**\n * Configuration for dynamic list table data\n * @param {string} dynamic.headerKey - column header object key\n * @param {string} dynamic.rowKey - column row value object key\n */\n dynamic?: { headerKey: string, rowKey: string }\n}\n\nexport interface IFieldDetailsMetadata {\n order?: number;\n permissions?: Array<string>;\n enabled?: ISpecification;\n}\n\nexport interface IModelOptions {\n titleKey?: string;\n filters?: Array<IModelFilter>;\n create?: IModelModeOptions;\n update?: IModelModeOptions;\n list?: IModelModeOptions;\n details?: IModelModeOptions;\n remove?: IModelModeOptions;\n customs?: Array<IModelModeOptionsCustom>;\n /**\n * @desc - Allow export field data\n */\n export?: boolean;\n /**\n * @desc - Allow import field data\n */\n import?: boolean;\n}\n\nexport interface IModelModeOptions {\n permissions?: Array<string>;\n}\n\nexport interface IModelModeOptionsCustom extends IModelModeOptions {\n mode: string;\n}\n\nexport interface IFieldOptions extends IFieldMetadata {\n create?: IFieldModifyMetadata | boolean;\n update?: IFieldEditMetadata | boolean;\n list?: IFieldListMetadata | boolean;\n details?: IFieldDetailsMetadata | boolean;\n customs?: Array<IModelMetadataCustom>;\n search?: boolean;\n info?: string;\n}\n\nexport interface IModelMetadataCustom extends IModelMetadata {\n mode: string\n}\n\nexport interface IFieldUniqueMetadata {\n withFields?: Array<string>;\n}\n\nexport interface IFieldCustomMetadata extends IFieldModifyMetadata, IFieldListMetadata {\n mode: string;\n}\n","import 'reflect-metadata';\n\nimport * as symbols from \"../../symbols\";\nimport {IModelOptions} from \"../../interfaces\";\n\nexport const Model = ModelDecorator;\nexport function ModelDecorator(options?: IModelOptions) {\n return function<T>(target: any) {\n options = options ? { ...options } : {};\n\n Reflect.defineMetadata(symbols.SYMBOL_MODEL, options, target);\n\n target.prototype.toJSON = function () {\n const result = { ...this };\n\n if (this.constructor['__properties']) {\n Object.keys(this.constructor['__properties']).forEach(protoKey => {\n result[protoKey] = this['_' + protoKey];\n });\n }\n\n return result;\n };\n }\n}\n","import 'reflect-metadata';\n\nimport * as symbols from \"../../symbols\";\nimport {FieldType, IFieldOptions} from \"../../interfaces\";\nimport {ObjectService} from \"@smartsoft001/utils\";\n\nexport const Field = FieldDecorator;\nexport function FieldDecorator(options?: IFieldOptions) {\n return <T>(target: T, key: string) => {\n\n options = options ? { ...options } : {};\n\n if (!target.constructor['__fields']) {\n target.constructor['__fields'] = {};\n }\n\n target.constructor['__fields'][key] = true;\n\n if (!options.type && key === 'password') {\n options.type = FieldType.password;\n } else if (!options.type) {\n options.type = FieldType.text;\n }\n\n if (options.classType) {\n target['_' + key] = target[key];\n delete target[key];\n\n Object.defineProperty(target, key, {\n get: function () {\n if (!this['_' + key] && options.type === FieldType.array) {\n this['_' + key] = [];\n }\n return this['_' + key];\n },\n set: function (v: any) {\n this['_' + key] = options.type === FieldType.array && v ?\n v.map(i => ObjectService.createByType(i, options.classType))\n : ObjectService.createByType(v, options.classType);\n },\n enumerable: true,\n configurable: true\n });\n\n if (!target.constructor['__properties']) {\n target.constructor['__properties'] = {};\n }\n\n target.constructor['__properties'][key] = true;\n }\n\n Reflect.defineMetadata(symbols.SYMBOL_FIELD, options, target, key);\n }\n}\n","import { IFieldOptions, IModelMetadata, IModelOptions } from \"./interfaces\";\nimport { SYMBOL_FIELD, SYMBOL_MODEL } from \"./symbols\";\n\nexport function getModelFieldKeys<T>(type: T): Array<string> {\n if (!type[\"__fields\"]) return [];\n return Object.keys(type[\"__fields\"]);\n}\n\nexport function getModelFieldOptions<T>(\n instance: T,\n fieldKey: string\n): IFieldOptions {\n return Reflect.getMetadata(SYMBOL_FIELD, instance, fieldKey);\n}\n\nexport function getModelFieldsWithOptions<T>(\n instance: T\n): Array<{ key: string; options: IFieldOptions }> {\n const keys = getModelFieldKeys(instance.constructor);\n\n return keys.map((item) => {\n return {\n key: item,\n options: getModelFieldOptions(instance, item),\n };\n });\n}\n\nexport function getModelOptions(type: any): IModelOptions {\n return Reflect.getMetadata(SYMBOL_MODEL, type);\n}\n\nexport function isModel<T>(instance: T): boolean {\n if (!instance || !instance.constructor) return false;\n return Reflect.hasMetadata(SYMBOL_MODEL, instance.constructor);\n}\n\nexport function getInvalidFields<T>(\n instance: T,\n mode: \"create\" | \"update\" | string,\n permissions: Array<string>\n): Array<string> {\n const result = [];\n\n getModelFieldsWithOptions(instance).forEach(({ key, options }) => {\n let required = options.required;\n\n if (\n (mode === \"create\" || mode === \"update\") &&\n options[mode] &&\n options[mode].constructor\n ) {\n required = (options[mode] as IFieldOptions).required;\n\n if (\n required &&\n permissions &&\n (options[mode] as IFieldOptions).permissions\n ) {\n required = (options[mode] as IFieldOptions).permissions.some((op) =>\n permissions.some((p) => p === op)\n );\n }\n }\n\n if (required && (instance[key] === null || instance[key] === undefined || instance[key] === '')) result.push(key);\n });\n\n return result;\n}\n\nexport function castModel<T>(\n instance: T,\n mode: \"create\" | \"update\" | string,\n permissions: Array<string>\n): void {\n if (!isModel(instance)) return;\n\n const fieldsWithOptions = getModelFieldsWithOptions(instance);\n\n Object.keys(instance)\n .filter((key) => key !== \"id\")\n .forEach((key) => {\n const fieldWidthOptions = fieldsWithOptions.find((f) => f.key === key);\n\n if (!fieldWidthOptions) {\n delete instance[key];\n return;\n }\n\n if (\n (mode === \"create\" || mode === \"update\") &&\n (!fieldWidthOptions.options[mode] ||\n (permissions &&\n (fieldWidthOptions.options[mode] as IFieldOptions).permissions &&\n !(fieldWidthOptions.options[\n mode\n ] as IFieldOptions).permissions.some((op) =>\n permissions.some((p) => op === p)\n )))\n ) {\n delete instance[key];\n return;\n } else if (\n mode !== \"create\" &&\n mode !== \"update\" &&\n (!fieldWidthOptions.options.customs ||\n !fieldWidthOptions.options.customs.some((c) => c.mode === mode))\n ) {\n delete instance[key];\n return;\n }\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["FieldType","symbols.SYMBOL_MODEL","ObjectService","symbols.SYMBOL_FIELD"],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ export var FieldType;
|
|
|
22
22
|
FieldType["logo"] = "logo";
|
|
23
23
|
FieldType["check"] = "check";
|
|
24
24
|
FieldType["phoneNumber"] = "phoneNumber";
|
|
25
|
+
FieldType["phoneNumberPl"] = "phoneNumberPl";
|
|
25
26
|
FieldType["pesel"] = "pesel";
|
|
26
27
|
FieldType["pdf"] = "pdf";
|
|
27
28
|
FieldType["video"] = "video";
|
|
@@ -30,4 +31,4 @@ export var FieldType;
|
|
|
30
31
|
FieldType["image"] = "image";
|
|
31
32
|
FieldType["float"] = "float";
|
|
32
33
|
})(FieldType || (FieldType = {}));
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkL21vZGVscy9zcmMvbGliL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksU0ErQlg7QUEvQkQsV0FBWSxTQUFTO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLGtDQUFxQixDQUFBO0lBQ3JCLDBCQUFhLENBQUE7SUFDYiwwQ0FBNkIsQ0FBQTtJQUM3Qiw0QkFBZSxDQUFBO0lBQ2YsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7SUFDYiwwQkFBYSxDQUFBO0lBQ2Isd0JBQVcsQ0FBQTtJQUNYLHdCQUFXLENBQUE7SUFDWCw4QkFBaUIsQ0FBQTtJQUNqQiw0QkFBZSxDQUFBO0lBQ2Ysa0NBQXFCLENBQUE7SUFDckIsNEJBQWUsQ0FBQTtJQUNmLDBCQUFhLENBQUE7SUFDYixnQ0FBbUIsQ0FBQTtJQUNuQiwwQkFBYSxDQUFBO0lBQ2Isa0NBQXFCLENBQUE7SUFDckIsNEJBQWUsQ0FBQTtJQUNmLDBCQUFhLENBQUE7SUFDYiw0QkFBZSxDQUFBO0lBQ2Ysd0NBQTJCLENBQUE7SUFDM0IsNENBQStCLENBQUE7SUFDL0IsNEJBQWUsQ0FBQTtJQUNmLHdCQUFXLENBQUE7SUFDWCw0QkFBZSxDQUFBO0lBQ2Ysc0NBQXlCLENBQUE7SUFDekIsb0NBQXVCLENBQUE7SUFDdkIsNEJBQWUsQ0FBQTtJQUNmLDRCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQS9CVyxTQUFTLEtBQVQsU0FBUyxRQStCcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5cbmV4cG9ydCBlbnVtIEZpZWxkVHlwZSB7XG4gICAgYWRkcmVzcyA9IFwiYWRkcmVzc1wiLFxuICAgIGN1cnJlbmN5ID0gXCJjdXJyZW5jeVwiLFxuICAgIGRhdGUgPSBcImRhdGVcIixcbiAgICBkYXRlV2l0aEVkaXQgPSBcImRhdGVXaXRoRWRpdFwiLFxuICAgIGVtYWlsID0gXCJlbWFpbFwiLFxuICAgIGVudW0gPSBcImVudW1cIixcbiAgICBmaWxlID0gXCJmaWxlXCIsXG4gICAgZmxhZyA9IFwiZmxhZ1wiLFxuICAgIGludCA9IFwiaW50XCIsXG4gICAgbmlwID0gXCJuaXBcIixcbiAgICBvYmplY3QgPSBcIm9iamVjdFwiLFxuICAgIGFycmF5ID0gXCJhcnJheVwiLFxuICAgIHBhc3N3b3JkID0gXCJwYXNzd29yZFwiLFxuICAgIHJhZGlvID0gXCJyYWRpb1wiLFxuICAgIHRleHQgPSBcInRleHRcIixcbiAgICBzdHJpbmdzID0gXCJzdHJpbmdzXCIsXG4gICAgaW50cyA9IFwiaW50c1wiLFxuICAgIGxvbmdUZXh0ID0gXCJsb25nVGV4dFwiLFxuICAgIGNvbG9yID0gXCJjb2xvclwiLFxuICAgIGxvZ28gPSBcImxvZ29cIixcbiAgICBjaGVjayA9IFwiY2hlY2tcIixcbiAgICBwaG9uZU51bWJlciA9IFwicGhvbmVOdW1iZXJcIixcbiAgICBwaG9uZU51bWJlclBsID0gXCJwaG9uZU51bWJlclBsXCIsXG4gICAgcGVzZWwgPSBcInBlc2VsXCIsXG4gICAgcGRmID0gXCJwZGZcIixcbiAgICB2aWRlbyA9IFwidmlkZW9cIixcbiAgICBhdHRhY2htZW50ID0gXCJhdHRhY2htZW50XCIsXG4gICAgZGF0ZVJhbmdlID0gXCJkYXRlUmFuZ2VcIixcbiAgICBpbWFnZSA9IFwiaW1hZ2VcIixcbiAgICBmbG9hdCA9IFwiZmxvYXRcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTcGVjaWZpY2F0aW9uIHtcbiAgICBjcml0ZXJpYTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNb2RlbEZpbHRlciB7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgZmllbGRUeXBlPzogRmllbGRUeXBlO1xuICAgIGtleTogc3RyaW5nO1xuICAgIHR5cGU6ICc9JyB8ICchPScgfCAnPj0nIHwgJzw9JyB8ICc8JyB8ICc+JyB8ICd+PSc7XG4gICAgcG9zc2liaWxpdGllcyQ/OiBPYnNlcnZhYmxlPHsgaWQ6IGFueSwgdGV4dDogc3RyaW5nIH1bXT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGVsU3RlcCB7XG4gICAgbnVtYmVyOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNb2RlbE1ldGFkYXRhIHtcbiAgICB0aXRsZUtleT86IHN0cmluZztcbiAgICBwZXJtaXNzaW9ucz86IEFycmF5PHN0cmluZz47XG4gICAgZmlsdGVycz86IEFycmF5PElNb2RlbEZpbHRlcj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZpZWxkTWV0YWRhdGEgZXh0ZW5kcyBJRmllbGRNb2RpZnlNZXRhZGF0YSB7XG4gICAgdHlwZT86IEZpZWxkVHlwZTtcbiAgICBjbGFzc1R5cGU/OiBhbnk7XG4gICAgcG9zc2liaWxpdGllcz86IEFycmF5PGFueT4gfCBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZpZWxkTW9kaWZ5TWV0YWRhdGEge1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBmb2N1c2VkPzogYm9vbGVhbjtcbiAgICBjb25maXJtPzogYm9vbGVhbjtcbiAgICBwZXJtaXNzaW9ucz86IEFycmF5PHN0cmluZz47XG4gICAgdW5pcXVlPzogYm9vbGVhbiB8IElGaWVsZFVuaXF1ZU1ldGFkYXRhO1xuICAgIGRlZmFsdFZhbHVlPzogKCkgPT4gYW55O1xuICAgIGVuYWJsZWQ/OiBJU3BlY2lmaWNhdGlvbjtcbiAgICBoaWRlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAZGVzYyAtIE1vZGVsIHN0ZXAgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIHN0ZXA/OiBJTW9kZWxTdGVwO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZEVkaXRNZXRhZGF0YSBleHRlbmRzIElGaWVsZE1vZGlmeU1ldGFkYXRhIHtcbiAgICBtdWx0aT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZpZWxkTGlzdE1ldGFkYXRhIHtcbiAgICBvcmRlcj86IG51bWJlcjtcbiAgICBmaWx0ZXI/OiBib29sZWFuO1xuICAgIHBlcm1pc3Npb25zPzogQXJyYXk8c3RyaW5nPjtcbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBkeW5hbWljIGxpc3QgdGFibGUgZGF0YVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkeW5hbWljLmhlYWRlcktleSAtIGNvbHVtbiBoZWFkZXIgb2JqZWN0IGtleVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkeW5hbWljLnJvd0tleSAtIGNvbHVtbiByb3cgdmFsdWUgb2JqZWN0IGtleVxuICAgICAqL1xuICAgIGR5bmFtaWM/OiB7IGhlYWRlcktleTogc3RyaW5nLCByb3dLZXk6IHN0cmluZyB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZpZWxkRGV0YWlsc01ldGFkYXRhIHtcbiAgICBvcmRlcj86IG51bWJlcjtcbiAgICBwZXJtaXNzaW9ucz86IEFycmF5PHN0cmluZz47XG4gICAgZW5hYmxlZD86IElTcGVjaWZpY2F0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNb2RlbE9wdGlvbnMge1xuICAgIHRpdGxlS2V5Pzogc3RyaW5nO1xuICAgIGZpbHRlcnM/OiBBcnJheTxJTW9kZWxGaWx0ZXI+O1xuICAgIGNyZWF0ZT86IElNb2RlbE1vZGVPcHRpb25zO1xuICAgIHVwZGF0ZT86IElNb2RlbE1vZGVPcHRpb25zO1xuICAgIGxpc3Q/OiBJTW9kZWxNb2RlT3B0aW9ucztcbiAgICBkZXRhaWxzPzogSU1vZGVsTW9kZU9wdGlvbnM7XG4gICAgcmVtb3ZlPzogSU1vZGVsTW9kZU9wdGlvbnM7XG4gICAgY3VzdG9tcz86IEFycmF5PElNb2RlbE1vZGVPcHRpb25zQ3VzdG9tPjtcbiAgICAvKipcbiAgICAgKiBAZGVzYyAtIEFsbG93IGV4cG9ydCBmaWVsZCBkYXRhXG4gICAgICovXG4gICAgZXhwb3J0PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAZGVzYyAtIEFsbG93IGltcG9ydCBmaWVsZCBkYXRhXG4gICAgICovXG4gICAgaW1wb3J0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTW9kZWxNb2RlT3B0aW9ucyB7XG4gICAgcGVybWlzc2lvbnM/OiBBcnJheTxzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNb2RlbE1vZGVPcHRpb25zQ3VzdG9tIGV4dGVuZHMgSU1vZGVsTW9kZU9wdGlvbnMge1xuICAgIG1vZGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRmllbGRPcHRpb25zIGV4dGVuZHMgSUZpZWxkTWV0YWRhdGEge1xuICAgIGNyZWF0ZT86IElGaWVsZE1vZGlmeU1ldGFkYXRhIHwgYm9vbGVhbjtcbiAgICB1cGRhdGU/OiBJRmllbGRFZGl0TWV0YWRhdGEgfCBib29sZWFuO1xuICAgIGxpc3Q/OiBJRmllbGRMaXN0TWV0YWRhdGEgfCBib29sZWFuO1xuICAgIGRldGFpbHM/OiBJRmllbGREZXRhaWxzTWV0YWRhdGEgfCBib29sZWFuO1xuICAgIGN1c3RvbXM/OiBBcnJheTxJTW9kZWxNZXRhZGF0YUN1c3RvbT47XG4gICAgc2VhcmNoPzogYm9vbGVhbjtcbiAgICBpbmZvPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNb2RlbE1ldGFkYXRhQ3VzdG9tIGV4dGVuZHMgSU1vZGVsTWV0YWRhdGEge1xuICAgIG1vZGU6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZFVuaXF1ZU1ldGFkYXRhIHtcbiAgICB3aXRoRmllbGRzPzogQXJyYXk8c3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRmllbGRDdXN0b21NZXRhZGF0YSBleHRlbmRzIElGaWVsZE1vZGlmeU1ldGFkYXRhLCBJRmllbGRMaXN0TWV0YWRhdGEge1xuICAgIG1vZGU6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -28,6 +28,7 @@ var FieldType;
|
|
|
28
28
|
FieldType["logo"] = "logo";
|
|
29
29
|
FieldType["check"] = "check";
|
|
30
30
|
FieldType["phoneNumber"] = "phoneNumber";
|
|
31
|
+
FieldType["phoneNumberPl"] = "phoneNumberPl";
|
|
31
32
|
FieldType["pesel"] = "pesel";
|
|
32
33
|
FieldType["pdf"] = "pdf";
|
|
33
34
|
FieldType["video"] = "video";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartsoft001-models.js","sources":["../../../../../libs/shared/models/src/lib/symbols.ts","../../../../../libs/shared/models/src/lib/interfaces.ts","../../../../../libs/shared/models/src/lib/decorators/model/model.decorator.ts","../../../../../libs/shared/models/src/lib/decorators/field/field.decorator.ts","../../../../../libs/shared/models/src/lib/utils.ts","../../../../../libs/shared/models/src/smartsoft001-models.ts"],"sourcesContent":["export const SYMBOL_MODEL = Symbol.for('smartsoft:model');\nexport const SYMBOL_FIELD = Symbol.for('smartsoft:field');\n","import {Observable} from \"rxjs\";\n\nexport enum FieldType {\n address = \"address\",\n currency = \"currency\",\n date = \"date\",\n dateWithEdit = \"dateWithEdit\",\n email = \"email\",\n enum = \"enum\",\n file = \"file\",\n flag = \"flag\",\n int = \"int\",\n nip = \"nip\",\n object = \"object\",\n array = \"array\",\n password = \"password\",\n radio = \"radio\",\n text = \"text\",\n strings = \"strings\",\n ints = \"ints\",\n longText = \"longText\",\n color = \"color\",\n logo = \"logo\",\n check = \"check\",\n phoneNumber = \"phoneNumber\",\n pesel = \"pesel\",\n pdf = \"pdf\",\n video = \"video\",\n attachment = \"attachment\",\n dateRange = \"dateRange\",\n image = \"image\",\n float = \"float\"\n}\n\nexport interface ISpecification {\n criteria: any;\n}\n\nexport interface IModelFilter {\n label?: string;\n fieldType?: FieldType;\n key: string;\n type: '=' | '!=' | '>=' | '<=' | '<' | '>' | '~=';\n possibilities$?: Observable<{ id: any, text: string }[]>;\n}\n\nexport interface IModelStep {\n number: number;\n name: string;\n}\n\nexport interface IModelMetadata {\n titleKey?: string;\n permissions?: Array<string>;\n filters?: Array<IModelFilter>;\n}\n\nexport interface IFieldMetadata extends IFieldModifyMetadata {\n type?: FieldType;\n classType?: any;\n possibilities?: Array<any> | any;\n}\n\nexport interface IFieldModifyMetadata {\n required?: boolean;\n focused?: boolean;\n confirm?: boolean;\n permissions?: Array<string>;\n unique?: boolean | IFieldUniqueMetadata;\n defaltValue?: () => any;\n enabled?: ISpecification;\n hide?: boolean;\n /**\n * @desc - Model step configuration\n */\n step?: IModelStep;\n}\n\nexport interface IFieldEditMetadata extends IFieldModifyMetadata {\n multi?: boolean;\n}\n\nexport interface IFieldListMetadata {\n order?: number;\n filter?: boolean;\n permissions?: Array<string>;\n /**\n * Configuration for dynamic list table data\n * @param {string} dynamic.headerKey - column header object key\n * @param {string} dynamic.rowKey - column row value object key\n */\n dynamic?: { headerKey: string, rowKey: string }\n}\n\nexport interface IFieldDetailsMetadata {\n order?: number;\n permissions?: Array<string>;\n enabled?: ISpecification;\n}\n\nexport interface IModelOptions {\n titleKey?: string;\n filters?: Array<IModelFilter>;\n create?: IModelModeOptions;\n update?: IModelModeOptions;\n list?: IModelModeOptions;\n details?: IModelModeOptions;\n remove?: IModelModeOptions;\n customs?: Array<IModelModeOptionsCustom>;\n /**\n * @desc - Allow export field data\n */\n export?: boolean;\n /**\n * @desc - Allow import field data\n */\n import?: boolean;\n}\n\nexport interface IModelModeOptions {\n permissions?: Array<string>;\n}\n\nexport interface IModelModeOptionsCustom extends IModelModeOptions {\n mode: string;\n}\n\nexport interface IFieldOptions extends IFieldMetadata {\n create?: IFieldModifyMetadata | boolean;\n update?: IFieldEditMetadata | boolean;\n list?: IFieldListMetadata | boolean;\n details?: IFieldDetailsMetadata | boolean;\n customs?: Array<IModelMetadataCustom>;\n search?: boolean;\n info?: string;\n}\n\nexport interface IModelMetadataCustom extends IModelMetadata {\n mode: string\n}\n\nexport interface IFieldUniqueMetadata {\n withFields?: Array<string>;\n}\n\nexport interface IFieldCustomMetadata extends IFieldModifyMetadata, IFieldListMetadata {\n mode: string;\n}\n","import 'reflect-metadata';\n\nimport * as symbols from \"../../symbols\";\nimport {IModelOptions} from \"../../interfaces\";\n\nexport const Model = ModelDecorator;\nexport function ModelDecorator(options?: IModelOptions) {\n return function<T>(target: any) {\n options = options ? { ...options } : {};\n\n Reflect.defineMetadata(symbols.SYMBOL_MODEL, options, target);\n\n target.prototype.toJSON = function () {\n const result = { ...this };\n\n if (this.constructor['__properties']) {\n Object.keys(this.constructor['__properties']).forEach(protoKey => {\n result[protoKey] = this['_' + protoKey];\n });\n }\n\n return result;\n };\n }\n}\n","import 'reflect-metadata';\n\nimport * as symbols from \"../../symbols\";\nimport {FieldType, IFieldOptions} from \"../../interfaces\";\nimport {ObjectService} from \"@smartsoft001/utils\";\n\nexport const Field = FieldDecorator;\nexport function FieldDecorator(options?: IFieldOptions) {\n return <T>(target: T, key: string) => {\n\n options = options ? { ...options } : {};\n\n if (!target.constructor['__fields']) {\n target.constructor['__fields'] = {};\n }\n\n target.constructor['__fields'][key] = true;\n\n if (!options.type && key === 'password') {\n options.type = FieldType.password;\n } else if (!options.type) {\n options.type = FieldType.text;\n }\n\n if (options.classType) {\n target['_' + key] = target[key];\n delete target[key];\n\n Object.defineProperty(target, key, {\n get: function () {\n if (!this['_' + key] && options.type === FieldType.array) {\n this['_' + key] = [];\n }\n return this['_' + key];\n },\n set: function (v: any) {\n this['_' + key] = options.type === FieldType.array && v ?\n v.map(i => ObjectService.createByType(i, options.classType))\n : ObjectService.createByType(v, options.classType);\n },\n enumerable: true,\n configurable: true\n });\n\n if (!target.constructor['__properties']) {\n target.constructor['__properties'] = {};\n }\n\n target.constructor['__properties'][key] = true;\n }\n\n Reflect.defineMetadata(symbols.SYMBOL_FIELD, options, target, key);\n }\n}\n","import { IFieldOptions, IModelMetadata, IModelOptions } from \"./interfaces\";\nimport { SYMBOL_FIELD, SYMBOL_MODEL } from \"./symbols\";\n\nexport function getModelFieldKeys<T>(type: T): Array<string> {\n if (!type[\"__fields\"]) return [];\n return Object.keys(type[\"__fields\"]);\n}\n\nexport function getModelFieldOptions<T>(\n instance: T,\n fieldKey: string\n): IFieldOptions {\n return Reflect.getMetadata(SYMBOL_FIELD, instance, fieldKey);\n}\n\nexport function getModelFieldsWithOptions<T>(\n instance: T\n): Array<{ key: string; options: IFieldOptions }> {\n const keys = getModelFieldKeys(instance.constructor);\n\n return keys.map((item) => {\n return {\n key: item,\n options: getModelFieldOptions(instance, item),\n };\n });\n}\n\nexport function getModelOptions(type: any): IModelOptions {\n return Reflect.getMetadata(SYMBOL_MODEL, type);\n}\n\nexport function isModel<T>(instance: T): boolean {\n if (!instance || !instance.constructor) return false;\n return Reflect.hasMetadata(SYMBOL_MODEL, instance.constructor);\n}\n\nexport function getInvalidFields<T>(\n instance: T,\n mode: \"create\" | \"update\" | string,\n permissions: Array<string>\n): Array<string> {\n const result = [];\n\n getModelFieldsWithOptions(instance).forEach(({ key, options }) => {\n let required = options.required;\n\n if (\n (mode === \"create\" || mode === \"update\") &&\n options[mode] &&\n options[mode].constructor\n ) {\n required = (options[mode] as IFieldOptions).required;\n\n if (\n required &&\n permissions &&\n (options[mode] as IFieldOptions).permissions\n ) {\n required = (options[mode] as IFieldOptions).permissions.some((op) =>\n permissions.some((p) => p === op)\n );\n }\n }\n\n if (required && (instance[key] === null || instance[key] === undefined || instance[key] === '')) result.push(key);\n });\n\n return result;\n}\n\nexport function castModel<T>(\n instance: T,\n mode: \"create\" | \"update\" | string,\n permissions: Array<string>\n): void {\n if (!isModel(instance)) return;\n\n const fieldsWithOptions = getModelFieldsWithOptions(instance);\n\n Object.keys(instance)\n .filter((key) => key !== \"id\")\n .forEach((key) => {\n const fieldWidthOptions = fieldsWithOptions.find((f) => f.key === key);\n\n if (!fieldWidthOptions) {\n delete instance[key];\n return;\n }\n\n if (\n (mode === \"create\" || mode === \"update\") &&\n (!fieldWidthOptions.options[mode] ||\n (permissions &&\n (fieldWidthOptions.options[mode] as IFieldOptions).permissions &&\n !(fieldWidthOptions.options[\n mode\n ] as IFieldOptions).permissions.some((op) =>\n permissions.some((p) => op === p)\n )))\n ) {\n delete instance[key];\n return;\n } else if (\n mode !== \"create\" &&\n mode !== \"update\" &&\n (!fieldWidthOptions.options.customs ||\n !fieldWidthOptions.options.customs.some((c) => c.mode === mode))\n ) {\n delete instance[key];\n return;\n }\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["symbols.SYMBOL_MODEL","symbols.SYMBOL_FIELD"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smartsoft001-models.js","sources":["../../../../../libs/shared/models/src/lib/symbols.ts","../../../../../libs/shared/models/src/lib/interfaces.ts","../../../../../libs/shared/models/src/lib/decorators/model/model.decorator.ts","../../../../../libs/shared/models/src/lib/decorators/field/field.decorator.ts","../../../../../libs/shared/models/src/lib/utils.ts","../../../../../libs/shared/models/src/smartsoft001-models.ts"],"sourcesContent":["export const SYMBOL_MODEL = Symbol.for('smartsoft:model');\nexport const SYMBOL_FIELD = Symbol.for('smartsoft:field');\n","import {Observable} from \"rxjs\";\n\nexport enum FieldType {\n address = \"address\",\n currency = \"currency\",\n date = \"date\",\n dateWithEdit = \"dateWithEdit\",\n email = \"email\",\n enum = \"enum\",\n file = \"file\",\n flag = \"flag\",\n int = \"int\",\n nip = \"nip\",\n object = \"object\",\n array = \"array\",\n password = \"password\",\n radio = \"radio\",\n text = \"text\",\n strings = \"strings\",\n ints = \"ints\",\n longText = \"longText\",\n color = \"color\",\n logo = \"logo\",\n check = \"check\",\n phoneNumber = \"phoneNumber\",\n phoneNumberPl = \"phoneNumberPl\",\n pesel = \"pesel\",\n pdf = \"pdf\",\n video = \"video\",\n attachment = \"attachment\",\n dateRange = \"dateRange\",\n image = \"image\",\n float = \"float\"\n}\n\nexport interface ISpecification {\n criteria: any;\n}\n\nexport interface IModelFilter {\n label?: string;\n fieldType?: FieldType;\n key: string;\n type: '=' | '!=' | '>=' | '<=' | '<' | '>' | '~=';\n possibilities$?: Observable<{ id: any, text: string }[]>;\n}\n\nexport interface IModelStep {\n number: number;\n name: string;\n}\n\nexport interface IModelMetadata {\n titleKey?: string;\n permissions?: Array<string>;\n filters?: Array<IModelFilter>;\n}\n\nexport interface IFieldMetadata extends IFieldModifyMetadata {\n type?: FieldType;\n classType?: any;\n possibilities?: Array<any> | any;\n}\n\nexport interface IFieldModifyMetadata {\n required?: boolean;\n focused?: boolean;\n confirm?: boolean;\n permissions?: Array<string>;\n unique?: boolean | IFieldUniqueMetadata;\n defaltValue?: () => any;\n enabled?: ISpecification;\n hide?: boolean;\n /**\n * @desc - Model step configuration\n */\n step?: IModelStep;\n}\n\nexport interface IFieldEditMetadata extends IFieldModifyMetadata {\n multi?: boolean;\n}\n\nexport interface IFieldListMetadata {\n order?: number;\n filter?: boolean;\n permissions?: Array<string>;\n /**\n * Configuration for dynamic list table data\n * @param {string} dynamic.headerKey - column header object key\n * @param {string} dynamic.rowKey - column row value object key\n */\n dynamic?: { headerKey: string, rowKey: string }\n}\n\nexport interface IFieldDetailsMetadata {\n order?: number;\n permissions?: Array<string>;\n enabled?: ISpecification;\n}\n\nexport interface IModelOptions {\n titleKey?: string;\n filters?: Array<IModelFilter>;\n create?: IModelModeOptions;\n update?: IModelModeOptions;\n list?: IModelModeOptions;\n details?: IModelModeOptions;\n remove?: IModelModeOptions;\n customs?: Array<IModelModeOptionsCustom>;\n /**\n * @desc - Allow export field data\n */\n export?: boolean;\n /**\n * @desc - Allow import field data\n */\n import?: boolean;\n}\n\nexport interface IModelModeOptions {\n permissions?: Array<string>;\n}\n\nexport interface IModelModeOptionsCustom extends IModelModeOptions {\n mode: string;\n}\n\nexport interface IFieldOptions extends IFieldMetadata {\n create?: IFieldModifyMetadata | boolean;\n update?: IFieldEditMetadata | boolean;\n list?: IFieldListMetadata | boolean;\n details?: IFieldDetailsMetadata | boolean;\n customs?: Array<IModelMetadataCustom>;\n search?: boolean;\n info?: string;\n}\n\nexport interface IModelMetadataCustom extends IModelMetadata {\n mode: string\n}\n\nexport interface IFieldUniqueMetadata {\n withFields?: Array<string>;\n}\n\nexport interface IFieldCustomMetadata extends IFieldModifyMetadata, IFieldListMetadata {\n mode: string;\n}\n","import 'reflect-metadata';\n\nimport * as symbols from \"../../symbols\";\nimport {IModelOptions} from \"../../interfaces\";\n\nexport const Model = ModelDecorator;\nexport function ModelDecorator(options?: IModelOptions) {\n return function<T>(target: any) {\n options = options ? { ...options } : {};\n\n Reflect.defineMetadata(symbols.SYMBOL_MODEL, options, target);\n\n target.prototype.toJSON = function () {\n const result = { ...this };\n\n if (this.constructor['__properties']) {\n Object.keys(this.constructor['__properties']).forEach(protoKey => {\n result[protoKey] = this['_' + protoKey];\n });\n }\n\n return result;\n };\n }\n}\n","import 'reflect-metadata';\n\nimport * as symbols from \"../../symbols\";\nimport {FieldType, IFieldOptions} from \"../../interfaces\";\nimport {ObjectService} from \"@smartsoft001/utils\";\n\nexport const Field = FieldDecorator;\nexport function FieldDecorator(options?: IFieldOptions) {\n return <T>(target: T, key: string) => {\n\n options = options ? { ...options } : {};\n\n if (!target.constructor['__fields']) {\n target.constructor['__fields'] = {};\n }\n\n target.constructor['__fields'][key] = true;\n\n if (!options.type && key === 'password') {\n options.type = FieldType.password;\n } else if (!options.type) {\n options.type = FieldType.text;\n }\n\n if (options.classType) {\n target['_' + key] = target[key];\n delete target[key];\n\n Object.defineProperty(target, key, {\n get: function () {\n if (!this['_' + key] && options.type === FieldType.array) {\n this['_' + key] = [];\n }\n return this['_' + key];\n },\n set: function (v: any) {\n this['_' + key] = options.type === FieldType.array && v ?\n v.map(i => ObjectService.createByType(i, options.classType))\n : ObjectService.createByType(v, options.classType);\n },\n enumerable: true,\n configurable: true\n });\n\n if (!target.constructor['__properties']) {\n target.constructor['__properties'] = {};\n }\n\n target.constructor['__properties'][key] = true;\n }\n\n Reflect.defineMetadata(symbols.SYMBOL_FIELD, options, target, key);\n }\n}\n","import { IFieldOptions, IModelMetadata, IModelOptions } from \"./interfaces\";\nimport { SYMBOL_FIELD, SYMBOL_MODEL } from \"./symbols\";\n\nexport function getModelFieldKeys<T>(type: T): Array<string> {\n if (!type[\"__fields\"]) return [];\n return Object.keys(type[\"__fields\"]);\n}\n\nexport function getModelFieldOptions<T>(\n instance: T,\n fieldKey: string\n): IFieldOptions {\n return Reflect.getMetadata(SYMBOL_FIELD, instance, fieldKey);\n}\n\nexport function getModelFieldsWithOptions<T>(\n instance: T\n): Array<{ key: string; options: IFieldOptions }> {\n const keys = getModelFieldKeys(instance.constructor);\n\n return keys.map((item) => {\n return {\n key: item,\n options: getModelFieldOptions(instance, item),\n };\n });\n}\n\nexport function getModelOptions(type: any): IModelOptions {\n return Reflect.getMetadata(SYMBOL_MODEL, type);\n}\n\nexport function isModel<T>(instance: T): boolean {\n if (!instance || !instance.constructor) return false;\n return Reflect.hasMetadata(SYMBOL_MODEL, instance.constructor);\n}\n\nexport function getInvalidFields<T>(\n instance: T,\n mode: \"create\" | \"update\" | string,\n permissions: Array<string>\n): Array<string> {\n const result = [];\n\n getModelFieldsWithOptions(instance).forEach(({ key, options }) => {\n let required = options.required;\n\n if (\n (mode === \"create\" || mode === \"update\") &&\n options[mode] &&\n options[mode].constructor\n ) {\n required = (options[mode] as IFieldOptions).required;\n\n if (\n required &&\n permissions &&\n (options[mode] as IFieldOptions).permissions\n ) {\n required = (options[mode] as IFieldOptions).permissions.some((op) =>\n permissions.some((p) => p === op)\n );\n }\n }\n\n if (required && (instance[key] === null || instance[key] === undefined || instance[key] === '')) result.push(key);\n });\n\n return result;\n}\n\nexport function castModel<T>(\n instance: T,\n mode: \"create\" | \"update\" | string,\n permissions: Array<string>\n): void {\n if (!isModel(instance)) return;\n\n const fieldsWithOptions = getModelFieldsWithOptions(instance);\n\n Object.keys(instance)\n .filter((key) => key !== \"id\")\n .forEach((key) => {\n const fieldWidthOptions = fieldsWithOptions.find((f) => f.key === key);\n\n if (!fieldWidthOptions) {\n delete instance[key];\n return;\n }\n\n if (\n (mode === \"create\" || mode === \"update\") &&\n (!fieldWidthOptions.options[mode] ||\n (permissions &&\n (fieldWidthOptions.options[mode] as IFieldOptions).permissions &&\n !(fieldWidthOptions.options[\n mode\n ] as IFieldOptions).permissions.some((op) =>\n permissions.some((p) => op === p)\n )))\n ) {\n delete instance[key];\n return;\n } else if (\n mode !== \"create\" &&\n mode !== \"update\" &&\n (!fieldWidthOptions.options.customs ||\n !fieldWidthOptions.options.customs.some((c) => c.mode === mode))\n ) {\n delete instance[key];\n return;\n }\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["symbols.SYMBOL_MODEL","symbols.SYMBOL_FIELD"],"mappings":"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"}
|
package/lib/interfaces.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smartsoft001/models",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.735",
|
|
4
4
|
"main": "bundles/smartsoft001-models.umd.js",
|
|
5
5
|
"module": "fesm2015/smartsoft001-models.js",
|
|
6
6
|
"es2015": "fesm2015/smartsoft001-models.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"tslib": "^2.2.0",
|
|
14
14
|
"reflect-metadata": "0.1.13",
|
|
15
|
-
"@smartsoft001/utils": "1.0.
|
|
15
|
+
"@smartsoft001/utils": "1.0.770",
|
|
16
16
|
"lodash": "^4.17.20",
|
|
17
17
|
"guid-typescript": "1.0.9",
|
|
18
18
|
"flatted": "^3.2.4",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"exports":[{"from":"./lib/model/model.decorator"},{"from":"./lib/field/field.decorator"}],"metadata":{"SYMBOL_MODEL":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Symbol"},"member":"for"},"arguments":["smartsoft:model"]},"SYMBOL_FIELD":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Symbol"},"member":"for"},"arguments":["smartsoft:field"]},"FieldType":{"address":"address","currency":"currency","date":"date","dateWithEdit":"dateWithEdit","email":"email","enum":"enum","file":"file","flag":"flag","int":"int","nip":"nip","object":"object","array":"array","password":"password","radio":"radio","text":"text","strings":"strings","ints":"ints","longText":"longText","color":"color","logo":"logo","check":"check","phoneNumber":"phoneNumber","pesel":"pesel","pdf":"pdf","video":"video","attachment":"attachment","dateRange":"dateRange","image":"image","float":"float"},"ISpecification":{"__symbolic":"interface"},"IModelFilter":{"__symbolic":"interface"},"IModelStep":{"__symbolic":"interface"},"IModelMetadata":{"__symbolic":"interface"},"IFieldMetadata":{"__symbolic":"interface"},"IFieldModifyMetadata":{"__symbolic":"interface"},"IFieldEditMetadata":{"__symbolic":"interface"},"IFieldListMetadata":{"__symbolic":"interface"},"IFieldDetailsMetadata":{"__symbolic":"interface"},"IModelOptions":{"__symbolic":"interface"},"IModelModeOptions":{"__symbolic":"interface"},"IModelModeOptionsCustom":{"__symbolic":"interface"},"IFieldOptions":{"__symbolic":"interface"},"IModelMetadataCustom":{"__symbolic":"interface"},"IFieldUniqueMetadata":{"__symbolic":"interface"},"IFieldCustomMetadata":{"__symbolic":"interface"},"getModelFieldKeys":{"__symbolic":"function"},"getModelFieldOptions":{"__symbolic":"function","parameters":["instance","fieldKey"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Reflect"},"member":"getMetadata"},"arguments":[{"__symbolic":"reference","name":"SYMBOL_FIELD"},{"__symbolic":"reference","name":"instance"},{"__symbolic":"reference","name":"fieldKey"}]}},"getModelFieldsWithOptions":{"__symbolic":"function"},"getModelOptions":{"__symbolic":"function","parameters":["type"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Reflect"},"member":"getMetadata"},"arguments":[{"__symbolic":"reference","name":"SYMBOL_MODEL"},{"__symbolic":"reference","name":"type"}]}},"isModel":{"__symbolic":"function"},"getInvalidFields":{"__symbolic":"function"},"castModel":{"__symbolic":"function"}},"origins":{"SYMBOL_MODEL":"./lib/symbols","SYMBOL_FIELD":"./lib/symbols","FieldType":"./lib/interfaces","ISpecification":"./lib/interfaces","IModelFilter":"./lib/interfaces","IModelStep":"./lib/interfaces","IModelMetadata":"./lib/interfaces","IFieldMetadata":"./lib/interfaces","IFieldModifyMetadata":"./lib/interfaces","IFieldEditMetadata":"./lib/interfaces","IFieldListMetadata":"./lib/interfaces","IFieldDetailsMetadata":"./lib/interfaces","IModelOptions":"./lib/interfaces","IModelModeOptions":"./lib/interfaces","IModelModeOptionsCustom":"./lib/interfaces","IFieldOptions":"./lib/interfaces","IModelMetadataCustom":"./lib/interfaces","IFieldUniqueMetadata":"./lib/interfaces","IFieldCustomMetadata":"./lib/interfaces","getModelFieldKeys":"./lib/utils","getModelFieldOptions":"./lib/utils","getModelFieldsWithOptions":"./lib/utils","getModelOptions":"./lib/utils","isModel":"./lib/utils","getInvalidFields":"./lib/utils","castModel":"./lib/utils"},"importAs":"@smartsoft001/models"}
|
|
1
|
+
{"__symbolic":"module","version":4,"exports":[{"from":"./lib/model/model.decorator"},{"from":"./lib/field/field.decorator"}],"metadata":{"SYMBOL_MODEL":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Symbol"},"member":"for"},"arguments":["smartsoft:model"]},"SYMBOL_FIELD":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Symbol"},"member":"for"},"arguments":["smartsoft:field"]},"FieldType":{"address":"address","currency":"currency","date":"date","dateWithEdit":"dateWithEdit","email":"email","enum":"enum","file":"file","flag":"flag","int":"int","nip":"nip","object":"object","array":"array","password":"password","radio":"radio","text":"text","strings":"strings","ints":"ints","longText":"longText","color":"color","logo":"logo","check":"check","phoneNumber":"phoneNumber","phoneNumberPl":"phoneNumberPl","pesel":"pesel","pdf":"pdf","video":"video","attachment":"attachment","dateRange":"dateRange","image":"image","float":"float"},"ISpecification":{"__symbolic":"interface"},"IModelFilter":{"__symbolic":"interface"},"IModelStep":{"__symbolic":"interface"},"IModelMetadata":{"__symbolic":"interface"},"IFieldMetadata":{"__symbolic":"interface"},"IFieldModifyMetadata":{"__symbolic":"interface"},"IFieldEditMetadata":{"__symbolic":"interface"},"IFieldListMetadata":{"__symbolic":"interface"},"IFieldDetailsMetadata":{"__symbolic":"interface"},"IModelOptions":{"__symbolic":"interface"},"IModelModeOptions":{"__symbolic":"interface"},"IModelModeOptionsCustom":{"__symbolic":"interface"},"IFieldOptions":{"__symbolic":"interface"},"IModelMetadataCustom":{"__symbolic":"interface"},"IFieldUniqueMetadata":{"__symbolic":"interface"},"IFieldCustomMetadata":{"__symbolic":"interface"},"getModelFieldKeys":{"__symbolic":"function"},"getModelFieldOptions":{"__symbolic":"function","parameters":["instance","fieldKey"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Reflect"},"member":"getMetadata"},"arguments":[{"__symbolic":"reference","name":"SYMBOL_FIELD"},{"__symbolic":"reference","name":"instance"},{"__symbolic":"reference","name":"fieldKey"}]}},"getModelFieldsWithOptions":{"__symbolic":"function"},"getModelOptions":{"__symbolic":"function","parameters":["type"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Reflect"},"member":"getMetadata"},"arguments":[{"__symbolic":"reference","name":"SYMBOL_MODEL"},{"__symbolic":"reference","name":"type"}]}},"isModel":{"__symbolic":"function"},"getInvalidFields":{"__symbolic":"function"},"castModel":{"__symbolic":"function"}},"origins":{"SYMBOL_MODEL":"./lib/symbols","SYMBOL_FIELD":"./lib/symbols","FieldType":"./lib/interfaces","ISpecification":"./lib/interfaces","IModelFilter":"./lib/interfaces","IModelStep":"./lib/interfaces","IModelMetadata":"./lib/interfaces","IFieldMetadata":"./lib/interfaces","IFieldModifyMetadata":"./lib/interfaces","IFieldEditMetadata":"./lib/interfaces","IFieldListMetadata":"./lib/interfaces","IFieldDetailsMetadata":"./lib/interfaces","IModelOptions":"./lib/interfaces","IModelModeOptions":"./lib/interfaces","IModelModeOptionsCustom":"./lib/interfaces","IFieldOptions":"./lib/interfaces","IModelMetadataCustom":"./lib/interfaces","IFieldUniqueMetadata":"./lib/interfaces","IFieldCustomMetadata":"./lib/interfaces","getModelFieldKeys":"./lib/utils","getModelFieldOptions":"./lib/utils","getModelFieldsWithOptions":"./lib/utils","getModelOptions":"./lib/utils","isModel":"./lib/utils","getInvalidFields":"./lib/utils","castModel":"./lib/utils"},"importAs":"@smartsoft001/models"}
|