@quatrain/core 1.1.52 → 1.2.2

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.
Files changed (38) hide show
  1. package/dist/common/ResourcesErrors.d.ts +4 -0
  2. package/dist/common/ResourcesErrors.d.ts.map +1 -1
  3. package/dist/common/ResourcesErrors.js +9 -1
  4. package/dist/common/ResourcesErrors.js.map +1 -1
  5. package/dist/components/BaseObject.d.ts +1 -0
  6. package/dist/components/BaseObject.d.ts.map +1 -1
  7. package/dist/components/BaseObject.js +25 -0
  8. package/dist/components/BaseObject.js.map +1 -1
  9. package/dist/components/DataObject.js +1 -1
  10. package/dist/components/DataObject.js.map +1 -1
  11. package/dist/components/test_script.d.ts +2 -0
  12. package/dist/components/test_script.d.ts.map +1 -0
  13. package/dist/components/test_script.js +18 -0
  14. package/dist/components/test_script.js.map +1 -0
  15. package/dist/components/test_script3.d.ts +2 -0
  16. package/dist/components/test_script3.d.ts.map +1 -0
  17. package/dist/components/test_script3.js +8 -0
  18. package/dist/components/test_script3.js.map +1 -0
  19. package/dist/index.d.ts +5 -3
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +6 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/properties/StringProperty.js +1 -1
  24. package/dist/properties/StringProperty.js.map +1 -1
  25. package/dist/properties/types/PropertyHTMLType.d.ts +8 -1
  26. package/dist/properties/types/PropertyHTMLType.d.ts.map +1 -1
  27. package/dist/properties/types/PropertyHTMLType.js +8 -1
  28. package/dist/properties/types/PropertyHTMLType.js.map +1 -1
  29. package/package.json +6 -3
  30. package/src/common/ResourcesErrors.ts +9 -0
  31. package/src/components/BaseObject.test.ts +33 -0
  32. package/src/components/BaseObject.ts +33 -0
  33. package/src/components/DataObject.ts +1 -1
  34. package/src/components/test_script.ts +17 -0
  35. package/src/components/test_script3.ts +5 -0
  36. package/src/index.ts +8 -0
  37. package/src/properties/StringProperty.ts +1 -1
  38. package/src/properties/types/PropertyHTMLType.ts +14 -0
@@ -11,4 +11,8 @@ export declare class NotFoundError extends ResourceError {
11
11
  }
12
12
  export declare class GoneError extends ResourceError {
13
13
  }
14
+ export declare class ValidationError extends ResourceError {
15
+ errors: Record<string, string>;
16
+ constructor(message: string, errors?: Record<string, string>);
17
+ }
14
18
  //# sourceMappingURL=ResourcesErrors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourcesErrors.d.ts","sourceRoot":"","sources":["../../src/common/ResourcesErrors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAK7B;AAED,qBAAa,eAAgB,SAAQ,aAAa;CAAG;AAErD,qBAAa,iBAAkB,SAAQ,aAAa;CAAG;AAEvD,qBAAa,cAAe,SAAQ,aAAa;CAAG;AAEpD,qBAAa,aAAc,SAAQ,aAAa;CAAG;AAEnD,qBAAa,SAAU,SAAQ,aAAa;CAAG"}
1
+ {"version":3,"file":"ResourcesErrors.d.ts","sourceRoot":"","sources":["../../src/common/ResourcesErrors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAK7B;AAED,qBAAa,eAAgB,SAAQ,aAAa;CAAG;AAErD,qBAAa,iBAAkB,SAAQ,aAAa;CAAG;AAEvD,qBAAa,cAAe,SAAQ,aAAa;CAAG;AAEpD,qBAAa,aAAc,SAAQ,aAAa;CAAG;AAEnD,qBAAa,SAAU,SAAQ,aAAa;CAAG;AAE/C,qBAAa,eAAgB,SAAQ,aAAa;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;CAIlE"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GoneError = exports.NotFoundError = exports.ForbiddenError = exports.UnauthorizedError = exports.BadRequestError = exports.ResourceError = void 0;
3
+ exports.ValidationError = exports.GoneError = exports.NotFoundError = exports.ForbiddenError = exports.UnauthorizedError = exports.BadRequestError = exports.ResourceError = void 0;
4
4
  class ResourceError extends Error {
5
5
  constructor(message) {
6
6
  super(message);
@@ -23,4 +23,12 @@ exports.NotFoundError = NotFoundError;
23
23
  class GoneError extends ResourceError {
24
24
  }
25
25
  exports.GoneError = GoneError;
26
+ class ValidationError extends ResourceError {
27
+ errors;
28
+ constructor(message, errors = {}) {
29
+ super(message);
30
+ this.errors = errors;
31
+ }
32
+ }
33
+ exports.ValidationError = ValidationError;
26
34
  //# sourceMappingURL=ResourcesErrors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourcesErrors.js","sourceRoot":"","sources":["../../src/common/ResourcesErrors.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,KAAK;IACrC,YAAY,OAAe;QACxB,KAAK,CAAC,OAAO,CAAC,CAAA;QAEd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IACpC,CAAC;CACH;AAND,sCAMC;AAED,MAAa,eAAgB,SAAQ,aAAa;CAAG;AAArD,0CAAqD;AAErD,MAAa,iBAAkB,SAAQ,aAAa;CAAG;AAAvD,8CAAuD;AAEvD,MAAa,cAAe,SAAQ,aAAa;CAAG;AAApD,wCAAoD;AAEpD,MAAa,aAAc,SAAQ,aAAa;CAAG;AAAnD,sCAAmD;AAEnD,MAAa,SAAU,SAAQ,aAAa;CAAG;AAA/C,8BAA+C"}
1
+ {"version":3,"file":"ResourcesErrors.js","sourceRoot":"","sources":["../../src/common/ResourcesErrors.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,KAAK;IACrC,YAAY,OAAe;QACxB,KAAK,CAAC,OAAO,CAAC,CAAA;QAEd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IACpC,CAAC;CACH;AAND,sCAMC;AAED,MAAa,eAAgB,SAAQ,aAAa;CAAG;AAArD,0CAAqD;AAErD,MAAa,iBAAkB,SAAQ,aAAa;CAAG;AAAvD,8CAAuD;AAEvD,MAAa,cAAe,SAAQ,aAAa;CAAG;AAApD,wCAAoD;AAEpD,MAAa,aAAc,SAAQ,aAAa;CAAG;AAAnD,sCAAmD;AAEnD,MAAa,SAAU,SAAQ,aAAa;CAAG;AAA/C,8BAA+C;AAE/C,MAAa,eAAgB,SAAQ,aAAa;IACxC,MAAM,CAAwB;IAErC,YAAY,OAAe,EAAE,SAAiC,EAAE;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACvB,CAAC;CACH;AAPD,0CAOC"}
@@ -14,5 +14,6 @@ export declare class BaseObject extends AbstractObject {
14
14
  static fromBackend<T>(path: string): Promise<T>;
15
15
  static fromDataObject<T extends BaseObjectType>(dao: DataObjectClass<any>): any;
16
16
  asReference(): any;
17
+ validate(): void;
17
18
  }
18
19
  //# sourceMappingURL=BaseObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseObject.d.ts","sourceRoot":"","sources":["../../src/components/BaseObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,qBAAa,UAAW,SAAQ,cAAc;IAE3C,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAgD;IAE5E,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM;IAI9B,MAAM,CAAC,cAAc,CAAC,KAAK,GAAE,GAAU;WAuB1B,UAAU,CACpB,GAAG,GAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAqB,EAChE,KAAK,GAAE,GAAU,GACjB,OAAO,CAAC,cAAc,CAAC;IAY1B,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,GAAE,GAAU,GAAG,GAAG;WAiB9D,OAAO,CACjB,GAAG,GAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAqB,EAChE,KAAK,GAAE,GAAU,GACjB,OAAO,CAAC,GAAG,CAAC;WAyBF,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAYrD,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,cAAc,EAC3C,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,GACzB,GAAG;IAMN,WAAW;CAGb"}
1
+ {"version":3,"file":"BaseObject.d.ts","sourceRoot":"","sources":["../../src/components/BaseObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD,qBAAa,UAAW,SAAQ,cAAc;IAE3C,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAgD;IAE5E,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM;IAI9B,MAAM,CAAC,cAAc,CAAC,KAAK,GAAE,GAAU;WAuB1B,UAAU,CACpB,GAAG,GAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAqB,EAChE,KAAK,GAAE,GAAU,GACjB,OAAO,CAAC,cAAc,CAAC;IAkB1B,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,GAAE,GAAU,GAAG,GAAG;WAiB9D,OAAO,CACjB,GAAG,GAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAqB,EAChE,KAAK,GAAE,GAAU,GACjB,OAAO,CAAC,GAAG,CAAC;WA6BF,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAYrD,MAAM,CAAC,cAAc,CAAC,CAAC,SAAS,cAAc,EAC3C,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,GACzB,GAAG;IAMN,WAAW;IAQX,QAAQ;CAiBV"}
@@ -5,6 +5,7 @@ const ObjectUri_1 = require("./ObjectUri");
5
5
  const DataObject_1 = require("./DataObject");
6
6
  const BaseObjectProperties_1 = require("./BaseObjectProperties");
7
7
  const AbstractObject_1 = require("./AbstractObject");
8
+ const ResourcesErrors_1 = require("../common/ResourcesErrors");
8
9
  class BaseObject extends AbstractObject_1.AbstractObject {
9
10
  static PROPS_DEFINITION = BaseObjectProperties_1.BaseObjectProperties;
10
11
  static getProperty(key) {
@@ -30,6 +31,12 @@ class BaseObject extends AbstractObject_1.AbstractObject {
30
31
  }
31
32
  static async daoFactory(src = undefined, child = this) {
32
33
  const dao = this.fillProperties(child);
34
+ if (src instanceof ObjectUri_1.ObjectUri) {
35
+ dao.uri = src;
36
+ }
37
+ else if (typeof src === 'string') {
38
+ dao.uri.path = src;
39
+ }
33
40
  return dao;
34
41
  }
35
42
  static fromObject(src, child = this) {
@@ -45,6 +52,9 @@ class BaseObject extends AbstractObject_1.AbstractObject {
45
52
  if (typeof src == 'object' && !(src instanceof ObjectUri_1.ObjectUri)) {
46
53
  return this.fromObject(src);
47
54
  }
55
+ if (typeof src === 'string' && !src.includes('/')) {
56
+ src = `${this.COLLECTION}/${src}`;
57
+ }
48
58
  const dao = await this.daoFactory(src, child);
49
59
  const constructedObject = Reflect.construct(this, [dao]);
50
60
  return constructedObject;
@@ -66,6 +76,21 @@ class BaseObject extends AbstractObject_1.AbstractObject {
66
76
  asReference() {
67
77
  return this._dataObject.toReference();
68
78
  }
79
+ validate() {
80
+ const errors = {};
81
+ const props = this.constructor.PROPS_DEFINITION || [];
82
+ for (const prop of props) {
83
+ if (prop.mandatory) {
84
+ const val = this.get(prop.name);
85
+ if (val === undefined || val === null || val === '') {
86
+ errors[prop.name] = `${prop.name} is required`;
87
+ }
88
+ }
89
+ }
90
+ if (Object.keys(errors).length > 0) {
91
+ throw new ResourcesErrors_1.ValidationError('Validation failed', errors);
92
+ }
93
+ }
69
94
  }
70
95
  exports.BaseObject = BaseObject;
71
96
  //# sourceMappingURL=BaseObject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseObject.js","sourceRoot":"","sources":["../../src/components/BaseObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseObject.js","sourceRoot":"","sources":["../../src/components/BaseObject.ts"],"names":[],"mappings":"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"}
@@ -240,7 +240,7 @@ class DataObject {
240
240
  }
241
241
  }
242
242
  async clone(data = {}) {
243
- const cloned = await DataObject.factory();
243
+ const cloned = await this.constructor.factory();
244
244
  cloned.uri.class = this.uri.class;
245
245
  cloned._populated = false;
246
246
  for (let property of Object.keys(this._properties)) {
@@ -1 +1 @@
1
- {"version":3,"file":"DataObject.js","sourceRoot":"","sources":["../../src/components/DataObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataObject.js","sourceRoot":"","sources":["../../src/components/DataObject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test_script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_script.d.ts","sourceRoot":"","sources":["../../src/components/test_script.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const BaseObject_1 = require("./BaseObject");
4
+ const StringProperty_1 = require("../properties/StringProperty");
5
+ class TestModel extends BaseObject_1.BaseObject {
6
+ static COLLECTION = 'test_collection';
7
+ static PROPS_DEFINITION = [
8
+ {
9
+ name: 'testProp',
10
+ type: StringProperty_1.StringProperty.TYPE,
11
+ },
12
+ ];
13
+ }
14
+ TestModel.factory('12345').then(obj => {
15
+ console.log('--- PATH ---', obj.uri.path);
16
+ console.log('--- URI ---', obj.uri);
17
+ }).catch(console.error);
18
+ //# sourceMappingURL=test_script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_script.js","sourceRoot":"","sources":["../../src/components/test_script.ts"],"names":[],"mappings":";;AAAA,6CAAyC;AACzC,iEAA6D;AAE7D,MAAM,SAAU,SAAQ,uBAAU;IAC/B,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAA;IACrC,MAAM,CAAC,gBAAgB,GAAG;QACvB;YACG,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,+BAAc,CAAC,IAAI;SAC3B;KACH,CAAA;;AAGJ,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IACnC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AACtC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test_script3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_script3.d.ts","sourceRoot":"","sources":["../../src/components/test_script3.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ObjectUri_1 = require("./ObjectUri");
4
+ const uri = new ObjectUri_1.ObjectUri();
5
+ uri.path = 'test_collection/12345';
6
+ console.log('--- PATH ---', uri.path);
7
+ console.log('--- URI ---', uri);
8
+ //# sourceMappingURL=test_script3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_script3.js","sourceRoot":"","sources":["../../src/components/test_script3.ts"],"names":[],"mappings":";;AAAA,2CAAuC;AACvC,MAAM,GAAG,GAAG,IAAI,qBAAS,EAAE,CAAA;AAC3B,GAAG,CAAC,IAAI,GAAG,uBAAuB,CAAA;AAClC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;AACrC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -11,6 +11,8 @@ import { DateTimeProperty, DateTimePropertyType } from './properties/DateTimePro
11
11
  import { HashProperty, HashPropertyType } from './properties/HashProperty';
12
12
  import { CollectionProperty, CollectionPropertyType } from './properties/CollectionProperty';
13
13
  import { ArrayProperty, ArrayPropertyType } from './properties/ArrayProperty';
14
+ import { MapProperty, MapPropertyType } from './properties/MapProperty';
15
+ import { FileProperty, FilePropertyType } from './properties/FileProperty';
14
16
  import { AbstractObject } from './components/AbstractObject';
15
17
  import { ObjectUri } from './components/ObjectUri';
16
18
  import { DataObjectClass } from './components/types/DataObjectClass';
@@ -22,9 +24,9 @@ import { BaseObjectType } from './components/types/BaseObjectType';
22
24
  import { Proxy } from './components/types/ProxyConstructor';
23
25
  import { UserType, User, UserProperties } from './components/User';
24
26
  import { EntityType, Entity } from './components/Entity';
25
- import { BadRequestError, UnauthorizedError, ForbiddenError, NotFoundError, GoneError } from './common/ResourcesErrors';
27
+ import { BadRequestError, UnauthorizedError, ForbiddenError, NotFoundError, GoneError, ValidationError } from './common/ResourcesErrors';
26
28
  import * as htmlType from './properties/types/PropertyHTMLType';
27
29
  import { DataObjectParams } from './components/types/DataObjectParams';
28
- export { htmlType, statuses, Core, Property, BaseProperty, BooleanProperty, DateTimeProperty, EnumProperty, HashProperty, CollectionProperty, ArrayProperty, ObjectProperty, NumberProperty, returnAs, StringProperty, ObjectUri, DataObject, AbstractObject, BaseObject, BaseObjectProperties, User, UserProperties, Entity, BadRequestError, UnauthorizedError, ForbiddenError, NotFoundError, GoneError, };
29
- export type { BasePropertyType, BooleanPropertyType, DataObjectParams, DateTimePropertyType, EnumPropertyType, HashPropertyType, CollectionPropertyType, ArrayPropertyType, ObjectPropertyType, NumberPropertyType, StringPropertyType, DataObjectClass, DataObjectProperties, BaseObjectType, UserType, Proxy, EntityType, };
30
+ export { htmlType, statuses, Core, Property, BaseProperty, BooleanProperty, DateTimeProperty, EnumProperty, HashProperty, CollectionProperty, ArrayProperty, ObjectProperty, NumberProperty, returnAs, StringProperty, MapProperty, FileProperty, ObjectUri, DataObject, AbstractObject, BaseObject, BaseObjectProperties, User, UserProperties, Entity, BadRequestError, UnauthorizedError, ForbiddenError, NotFoundError, GoneError, ValidationError, };
31
+ export type { BasePropertyType, BooleanPropertyType, DataObjectParams, DateTimePropertyType, EnumPropertyType, HashPropertyType, CollectionPropertyType, ArrayPropertyType, ObjectPropertyType, NumberPropertyType, StringPropertyType, MapPropertyType, FilePropertyType, DataObjectClass, DataObjectProperties, BaseObjectType, UserType, Proxy, EntityType, };
30
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EACJ,eAAe,EACf,mBAAmB,EACrB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACJ,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACV,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACJ,gBAAgB,EAChB,oBAAoB,EACtB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EACJ,kBAAkB,EAClB,sBAAsB,EACxB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAA;AAE3D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,EACJ,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,SAAS,EACX,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAEtE,OAAO,EACJ,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,cAAc,EACd,QAAQ,EACR,cAAc,EACd,SAAS,EACT,UAAU,EACV,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,IAAI,EACJ,cAAc,EACd,MAAM,EACN,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,SAAS,GACX,CAAA;AAED,YAAY,EACT,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,KAAK,EACL,UAAU,GACZ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.GoneError = exports.NotFoundError = exports.ForbiddenError = exports.UnauthorizedError = exports.BadRequestError = exports.Entity = exports.UserProperties = exports.User = exports.BaseObjectProperties = exports.BaseObject = exports.AbstractObject = exports.DataObject = exports.ObjectUri = exports.StringProperty = exports.returnAs = exports.NumberProperty = exports.ObjectProperty = exports.ArrayProperty = exports.CollectionProperty = exports.HashProperty = exports.EnumProperty = exports.DateTimeProperty = exports.BooleanProperty = exports.BaseProperty = exports.Property = exports.Core = exports.statuses = exports.htmlType = void 0;
36
+ exports.ValidationError = exports.GoneError = exports.NotFoundError = exports.ForbiddenError = exports.UnauthorizedError = exports.BadRequestError = exports.Entity = exports.UserProperties = exports.User = exports.BaseObjectProperties = exports.BaseObject = exports.AbstractObject = exports.DataObject = exports.ObjectUri = exports.FileProperty = exports.MapProperty = exports.StringProperty = exports.returnAs = exports.NumberProperty = exports.ObjectProperty = exports.ArrayProperty = exports.CollectionProperty = exports.HashProperty = exports.EnumProperty = exports.DateTimeProperty = exports.BooleanProperty = exports.BaseProperty = exports.Property = exports.Core = exports.statuses = exports.htmlType = void 0;
37
37
  const Core_1 = require("./Core");
38
38
  Object.defineProperty(exports, "Core", { enumerable: true, get: function () { return Core_1.Core; } });
39
39
  const statuses = __importStar(require("./common/statuses"));
@@ -61,6 +61,10 @@ const CollectionProperty_1 = require("./properties/CollectionProperty");
61
61
  Object.defineProperty(exports, "CollectionProperty", { enumerable: true, get: function () { return CollectionProperty_1.CollectionProperty; } });
62
62
  const ArrayProperty_1 = require("./properties/ArrayProperty");
63
63
  Object.defineProperty(exports, "ArrayProperty", { enumerable: true, get: function () { return ArrayProperty_1.ArrayProperty; } });
64
+ const MapProperty_1 = require("./properties/MapProperty");
65
+ Object.defineProperty(exports, "MapProperty", { enumerable: true, get: function () { return MapProperty_1.MapProperty; } });
66
+ const FileProperty_1 = require("./properties/FileProperty");
67
+ Object.defineProperty(exports, "FileProperty", { enumerable: true, get: function () { return FileProperty_1.FileProperty; } });
64
68
  const AbstractObject_1 = require("./components/AbstractObject");
65
69
  Object.defineProperty(exports, "AbstractObject", { enumerable: true, get: function () { return AbstractObject_1.AbstractObject; } });
66
70
  const ObjectUri_1 = require("./components/ObjectUri");
@@ -82,6 +86,7 @@ Object.defineProperty(exports, "UnauthorizedError", { enumerable: true, get: fun
82
86
  Object.defineProperty(exports, "ForbiddenError", { enumerable: true, get: function () { return ResourcesErrors_1.ForbiddenError; } });
83
87
  Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return ResourcesErrors_1.NotFoundError; } });
84
88
  Object.defineProperty(exports, "GoneError", { enumerable: true, get: function () { return ResourcesErrors_1.GoneError; } });
89
+ Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return ResourcesErrors_1.ValidationError; } });
85
90
  const htmlType = __importStar(require("./properties/types/PropertyHTMLType"));
86
91
  exports.htmlType = htmlType;
87
92
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA6B;AAoD1B,qFApDM,WAAI,OAoDN;AAnDP,4DAA6C;AAkD1C,4BAAQ;AAjDX,oDAAgD;AAmD7C,yFAnDM,mBAAQ,OAmDN;AAlDX,4DAA0E;AAmDvE,6FAnDM,2BAAY,OAmDN;AAlDf,gEAAgF;AA4D7E,+FA5DM,+BAAc,OA4DN;AA3DjB,gEAAgF;AAyD7E,+FAzDM,+BAAc,OAyDN;AAxDjB,4DAA0E;AAmDvE,6FAnDM,2BAAY,OAmDN;AAlDf,kEAGqC;AA6ClC,gGA/CA,iCAAe,OA+CA;AA5ClB,gEAIoC;AA8CjC,+FAjDA,+BAAc,OAiDA;AAEd,yFAjDA,yBAAQ,OAiDA;AA/CX,oEAGsC;AAqCnC,iGAvCA,mCAAgB,OAuCA;AApCnB,4DAA0E;AAsCvE,6FAtCM,2BAAY,OAsCN;AArCf,wEAGwC;AAmCrC,mGArCA,uCAAkB,OAqCA;AAlCrB,8DAA6E;AAmC1E,8FAnCM,6BAAa,OAmCN;AAlChB,gEAA4D;AAyCzD,+FAzCM,+BAAc,OAyCN;AAxCjB,sDAAkD;AAsC/C,0FAtCM,qBAAS,OAsCN;AApCZ,wDAAoD;AAqCjD,2FArCM,uBAAU,OAqCN;AAnCb,wDAAoD;AAqCjD,2FArCM,uBAAU,OAqCN;AApCb,4EAAwE;AAqCrE,qGArCM,2CAAoB,OAqCN;AAjCvB,4CAAkE;AAkC/D,qFAlCgB,WAAI,OAkChB;AACJ,+FAnCsB,qBAAc,OAmCtB;AAlCjB,gDAAwD;AAmCrD,uFAnCkB,eAAM,OAmClB;AAjCT,8DAMiC;AA4B9B,gGAjCA,iCAAe,OAiCA;AACf,kGAjCA,mCAAiB,OAiCA;AACjB,+FAjCA,gCAAc,OAiCA;AACd,8FAjCA,+BAAa,OAiCA;AACb,0FAjCA,2BAAS,OAiCA;AA/BZ,8EAA+D;AAI5D,4BAAQ"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA6B;AAuD1B,qFAvDM,WAAI,OAuDN;AAtDP,4DAA6C;AAqD1C,4BAAQ;AApDX,oDAAgD;AAsD7C,yFAtDM,mBAAQ,OAsDN;AArDX,4DAA0E;AAsDvE,6FAtDM,2BAAY,OAsDN;AArDf,gEAAgF;AA+D7E,+FA/DM,+BAAc,OA+DN;AA9DjB,gEAAgF;AA4D7E,+FA5DM,+BAAc,OA4DN;AA3DjB,4DAA0E;AAsDvE,6FAtDM,2BAAY,OAsDN;AArDf,kEAGqC;AAgDlC,gGAlDA,iCAAe,OAkDA;AA/ClB,gEAIoC;AAiDjC,+FApDA,+BAAc,OAoDA;AAEd,yFApDA,yBAAQ,OAoDA;AAlDX,oEAGsC;AAwCnC,iGA1CA,mCAAgB,OA0CA;AAvCnB,4DAA0E;AAyCvE,6FAzCM,2BAAY,OAyCN;AAxCf,wEAGwC;AAsCrC,mGAxCA,uCAAkB,OAwCA;AArCrB,8DAA6E;AAsC1E,8FAtCM,6BAAa,OAsCN;AArChB,0DAAuE;AA0CpE,4FA1CM,yBAAW,OA0CN;AAzCd,4DAA0E;AA0CvE,6FA1CM,2BAAY,OA0CN;AAzCf,gEAA4D;AA4CzD,+FA5CM,+BAAc,OA4CN;AA3CjB,sDAAkD;AAyC/C,0FAzCM,qBAAS,OAyCN;AAvCZ,wDAAoD;AAwCjD,2FAxCM,uBAAU,OAwCN;AAtCb,wDAAoD;AAwCjD,2FAxCM,uBAAU,OAwCN;AAvCb,4EAAwE;AAwCrE,qGAxCM,2CAAoB,OAwCN;AApCvB,4CAAkE;AAqC/D,qFArCgB,WAAI,OAqChB;AACJ,+FAtCsB,qBAAc,OAsCtB;AArCjB,gDAAwD;AAsCrD,uFAtCkB,eAAM,OAsClB;AApCT,8DAOiC;AA8B9B,gGApCA,iCAAe,OAoCA;AACf,kGApCA,mCAAiB,OAoCA;AACjB,+FApCA,gCAAc,OAoCA;AACd,8FApCA,+BAAa,OAoCA;AACb,0FApCA,2BAAS,OAoCA;AACT,gGApCA,iCAAe,OAoCA;AAlClB,8EAA+D;AAI5D,4BAAQ"}
@@ -45,7 +45,7 @@ class StringProperty extends BaseProperty_1.BaseProperty {
45
45
  throw new Error(`Letters are not allowed in value`);
46
46
  }
47
47
  if (this._minLength > 0 && value.length < this._minLength) {
48
- throw new Error(`Value is too short`);
48
+ throw new Error(`${this._name}: value '${value}' is too short (min ${this._minLength})`);
49
49
  }
50
50
  if (this._maxLength > 0 && value.length > this._maxLength) {
51
51
  throw new Error(`${this._name}: value '${value}' is too long`);
@@ -1 +1 @@
1
- {"version":3,"file":"StringProperty.js","sourceRoot":"","sources":["../../src/properties/StringProperty.ts"],"names":[],"mappings":";;;AACA,iDAA+D;AAY/D,MAAa,cAAe,SAAQ,2BAAY;IAC7C,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAA;IAEtB,MAAM,CAAC,eAAe,GAAG,OAAO,CAAA;IAChC,MAAM,CAAC,eAAe,GAAG,OAAO,CAAA;IAEhC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAA;IAC9B,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;IAChC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAA;IAC9B,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;IAChC,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;IAEtB,UAAU,GAAW,CAAC,CAAA;IACtB,UAAU,GAAW,CAAC,CAAA;IACtB,WAAW,GAAY,KAAK,CAAA;IAO5B,SAAS,GAAG,IAAI,CAAA;IAE1B,YAAY,MAA0B;QACnC,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAA;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QAClD,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,KAAU,EAAE,UAAU,GAAG,IAAI;QAC9B,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3D,IACG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;gBACnD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EACjB,CAAC;gBACA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACrD,CAAC;YAED,IACG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC;gBACnD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EACjB,CAAC;gBACA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACrD,CAAC;YAED,IACG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;gBACpD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EACvB,CAAC;gBACA,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;YACtD,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;YACxC,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,YAAY,KAAK,eAAe,CAAC,CAAA;YACjE,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IACtC,CAAC;IAED,GAAG,CAAC,YAAgC,SAAS;QAC1C,QAAQ,SAAS,EAAE,CAAC;YACjB,KAAK,cAAc,CAAC,eAAe;gBAChC,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;YAClD,KAAK,cAAc,CAAC,eAAe;gBAChC,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;YAClD;gBACG,OAAO,IAAI,CAAC,MAAM,CAAA;QACxB,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,GAAW;QACtB,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,SAAS;QACV,OAAO,IAAI,CAAC,UAAU,CAAA;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,GAAW;QACtB,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,SAAS;QACV,OAAO,IAAI,CAAC,UAAU,CAAA;IACzB,CAAC;IAED,IAAI,UAAU,CAAC,IAAa;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IAC1B,CAAC;IAED,IAAI,UAAU;QACX,OAAO,IAAI,CAAC,WAAW,CAAA;IAC1B,CAAC;;AA1GJ,wCA2GC"}
1
+ {"version":3,"file":"StringProperty.js","sourceRoot":"","sources":["../../src/properties/StringProperty.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,12 @@ export declare const PASSWORD = "password";
7
7
  export declare const BIRTHDAY = "bday";
8
8
  export declare const GENDER = "sex";
9
9
  export declare const ORG = "organization";
10
- export type PropertyHTMLType = typeof OFF | typeof NAME | typeof GIVEN_NAME | typeof FAMILY_NAME | typeof EMAIL | typeof PASSWORD | typeof BIRTHDAY | typeof GENDER | typeof ORG;
10
+ export declare const TEXT = "text";
11
+ export declare const TEXTAREA = "textarea";
12
+ export declare const HIDDEN = "hidden";
13
+ export declare const SELECT = "select";
14
+ export declare const CHECKBOX = "checkbox";
15
+ export declare const NUMBER = "number";
16
+ export declare const FILE = "file";
17
+ export type PropertyHTMLType = typeof OFF | typeof NAME | typeof GIVEN_NAME | typeof FAMILY_NAME | typeof EMAIL | typeof PASSWORD | typeof BIRTHDAY | typeof GENDER | typeof ORG | typeof TEXT | typeof TEXTAREA | typeof HIDDEN | typeof SELECT | typeof CHECKBOX | typeof NUMBER | typeof FILE;
11
18
  //# sourceMappingURL=PropertyHTMLType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyHTMLType.d.ts","sourceRoot":"","sources":["../../../src/properties/types/PropertyHTMLType.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,GAAG,QAAQ,CAAA;AACxB,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,UAAU,eAAe,CAAA;AACtC,eAAO,MAAM,WAAW,gBAAgB,CAAA;AACxC,eAAO,MAAM,KAAK,UAAU,CAAA;AAC5B,eAAO,MAAM,QAAQ,aAAa,CAAA;AAClC,eAAO,MAAM,QAAQ,SAAS,CAAA;AAC9B,eAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,eAAO,MAAM,GAAG,iBAAiB,CAAA;AAEjC,MAAM,MAAM,gBAAgB,GACvB,OAAO,GAAG,GACV,OAAO,IAAI,GACX,OAAO,UAAU,GACjB,OAAO,WAAW,GAClB,OAAO,KAAK,GACZ,OAAO,QAAQ,GACf,OAAO,QAAQ,GACf,OAAO,MAAM,GACb,OAAO,GAAG,CAAA"}
1
+ {"version":3,"file":"PropertyHTMLType.d.ts","sourceRoot":"","sources":["../../../src/properties/types/PropertyHTMLType.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,GAAG,QAAQ,CAAA;AACxB,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,UAAU,eAAe,CAAA;AACtC,eAAO,MAAM,WAAW,gBAAgB,CAAA;AACxC,eAAO,MAAM,KAAK,UAAU,CAAA;AAC5B,eAAO,MAAM,QAAQ,aAAa,CAAA;AAClC,eAAO,MAAM,QAAQ,SAAS,CAAA;AAC9B,eAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,eAAO,MAAM,GAAG,iBAAiB,CAAA;AACjC,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,QAAQ,aAAa,CAAA;AAClC,eAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,eAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,eAAO,MAAM,QAAQ,aAAa,CAAA;AAClC,eAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,eAAO,MAAM,IAAI,SAAS,CAAA;AAE1B,MAAM,MAAM,gBAAgB,GACvB,OAAO,GAAG,GACV,OAAO,IAAI,GACX,OAAO,UAAU,GACjB,OAAO,WAAW,GAClB,OAAO,KAAK,GACZ,OAAO,QAAQ,GACf,OAAO,QAAQ,GACf,OAAO,MAAM,GACb,OAAO,GAAG,GACV,OAAO,IAAI,GACX,OAAO,QAAQ,GACf,OAAO,MAAM,GACb,OAAO,MAAM,GACb,OAAO,QAAQ,GACf,OAAO,MAAM,GACb,OAAO,IAAI,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ORG = exports.GENDER = exports.BIRTHDAY = exports.PASSWORD = exports.EMAIL = exports.FAMILY_NAME = exports.GIVEN_NAME = exports.NAME = exports.OFF = void 0;
3
+ exports.FILE = exports.NUMBER = exports.CHECKBOX = exports.SELECT = exports.HIDDEN = exports.TEXTAREA = exports.TEXT = exports.ORG = exports.GENDER = exports.BIRTHDAY = exports.PASSWORD = exports.EMAIL = exports.FAMILY_NAME = exports.GIVEN_NAME = exports.NAME = exports.OFF = void 0;
4
4
  exports.OFF = 'off';
5
5
  exports.NAME = 'name';
6
6
  exports.GIVEN_NAME = 'given-name';
@@ -10,4 +10,11 @@ exports.PASSWORD = 'password';
10
10
  exports.BIRTHDAY = 'bday';
11
11
  exports.GENDER = 'sex';
12
12
  exports.ORG = 'organization';
13
+ exports.TEXT = 'text';
14
+ exports.TEXTAREA = 'textarea';
15
+ exports.HIDDEN = 'hidden';
16
+ exports.SELECT = 'select';
17
+ exports.CHECKBOX = 'checkbox';
18
+ exports.NUMBER = 'number';
19
+ exports.FILE = 'file';
13
20
  //# sourceMappingURL=PropertyHTMLType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyHTMLType.js","sourceRoot":"","sources":["../../../src/properties/types/PropertyHTMLType.ts"],"names":[],"mappings":";;;AAGa,QAAA,GAAG,GAAG,KAAK,CAAA;AACX,QAAA,IAAI,GAAG,MAAM,CAAA;AACb,QAAA,UAAU,GAAG,YAAY,CAAA;AACzB,QAAA,WAAW,GAAG,aAAa,CAAA;AAC3B,QAAA,KAAK,GAAG,OAAO,CAAA;AACf,QAAA,QAAQ,GAAG,UAAU,CAAA;AACrB,QAAA,QAAQ,GAAG,MAAM,CAAA;AACjB,QAAA,MAAM,GAAG,KAAK,CAAA;AACd,QAAA,GAAG,GAAG,cAAc,CAAA"}
1
+ {"version":3,"file":"PropertyHTMLType.js","sourceRoot":"","sources":["../../../src/properties/types/PropertyHTMLType.ts"],"names":[],"mappings":";;;AAGa,QAAA,GAAG,GAAG,KAAK,CAAA;AACX,QAAA,IAAI,GAAG,MAAM,CAAA;AACb,QAAA,UAAU,GAAG,YAAY,CAAA;AACzB,QAAA,WAAW,GAAG,aAAa,CAAA;AAC3B,QAAA,KAAK,GAAG,OAAO,CAAA;AACf,QAAA,QAAQ,GAAG,UAAU,CAAA;AACrB,QAAA,QAAQ,GAAG,MAAM,CAAA;AACjB,QAAA,MAAM,GAAG,KAAK,CAAA;AACd,QAAA,GAAG,GAAG,cAAc,CAAA;AACpB,QAAA,IAAI,GAAG,MAAM,CAAA;AACb,QAAA,QAAQ,GAAG,UAAU,CAAA;AACrB,QAAA,MAAM,GAAG,QAAQ,CAAA;AACjB,QAAA,MAAM,GAAG,QAAQ,CAAA;AACjB,QAAA,QAAQ,GAAG,UAAU,CAAA;AACrB,QAAA,MAAM,GAAG,QAAQ,CAAA;AACjB,QAAA,IAAI,GAAG,MAAM,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quatrain/core",
3
- "version": "1.1.52",
3
+ "version": "1.2.2",
4
4
  "description": "Core objects for business apps",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "author": "Quatrain Développement SAS <developers@quatrain.com>",
21
21
  "license": "AGPL-3.0-only",
22
22
  "devDependencies": {
23
- "@quatrain/testing": "^1.0.0",
23
+ "@quatrain/testing": "^1.1.1",
24
24
  "@tsconfig/recommended": "^1.0.1",
25
25
  "@types/jest": "^29.5.12",
26
26
  "@types/node": "^22.10.1",
@@ -33,7 +33,7 @@
33
33
  "typescript": "^5.2.2"
34
34
  },
35
35
  "dependencies": {
36
- "@quatrain/log": "^1.1.10",
36
+ "@quatrain/log": "^1.2.1",
37
37
  "node-persist": "^4.0.4",
38
38
  "which": "^5.0.0"
39
39
  },
@@ -42,5 +42,8 @@
42
42
  "build": "tsc",
43
43
  "wbuild": "tsc --watch",
44
44
  "bump-to": "yarn version"
45
+ },
46
+ "typedoc": {
47
+ "entryPoint": "src/index.ts"
45
48
  }
46
49
  }
@@ -15,3 +15,12 @@ export class ForbiddenError extends ResourceError {}
15
15
  export class NotFoundError extends ResourceError {}
16
16
 
17
17
  export class GoneError extends ResourceError {}
18
+
19
+ export class ValidationError extends ResourceError {
20
+ public errors: Record<string, string>
21
+
22
+ constructor(message: string, errors: Record<string, string> = {}) {
23
+ super(message)
24
+ this.errors = errors
25
+ }
26
+ }
@@ -0,0 +1,33 @@
1
+ import { BaseObject } from './BaseObject'
2
+ import { StringProperty } from '../properties/StringProperty'
3
+
4
+ class TestModel extends BaseObject {
5
+ static COLLECTION = 'test_collection'
6
+ static PROPS_DEFINITION = [
7
+ {
8
+ name: 'testProp',
9
+ type: StringProperty.TYPE,
10
+ },
11
+ ]
12
+ }
13
+
14
+ describe('BaseObject', () => {
15
+ describe('factory()', () => {
16
+ it('should prefix string source with collection name if no slash is present', async () => {
17
+ const obj = await TestModel.factory('12345')
18
+ expect(obj.uri.path).toBe('test_collection/12345')
19
+ })
20
+
21
+ it('should not prefix string source with collection name if a slash is present', async () => {
22
+ const obj = await TestModel.factory('other_collection/12345')
23
+ expect(obj.uri.path).toBe('other_collection/12345')
24
+ })
25
+
26
+ it('should handle object creation from data', async () => {
27
+ const obj = await TestModel.factory({ testProp: 'hello' })
28
+ expect(obj.val('testProp')).toBe('hello')
29
+ // The new instance path depends on ObjectUri behavior, usually collection/default
30
+ expect(obj.uri.path.startsWith('test_collection/')).toBeTruthy()
31
+ })
32
+ })
33
+ })
@@ -5,6 +5,7 @@ import { BaseObjectType } from './types/BaseObjectType'
5
5
  import { BaseObjectProperties } from './BaseObjectProperties'
6
6
  import { AbstractObject } from './AbstractObject'
7
7
  import { DataObjectType } from './types/DataObjectType'
8
+ import { ValidationError } from '../common/ResourcesErrors'
8
9
 
9
10
  export class BaseObject extends AbstractObject {
10
11
  // implements BaseObjectClass {
@@ -43,6 +44,12 @@ export class BaseObject extends AbstractObject {
43
44
  ): Promise<DataObjectType> {
44
45
  const dao = this.fillProperties(child)
45
46
 
47
+ if (src instanceof ObjectUri) {
48
+ dao.uri = src
49
+ } else if (typeof src === 'string') {
50
+ dao.uri.path = src
51
+ }
52
+
46
53
  return dao
47
54
  }
48
55
 
@@ -78,6 +85,10 @@ export class BaseObject extends AbstractObject {
78
85
  return this.fromObject(src)
79
86
  }
80
87
 
88
+ if (typeof src === 'string' && !src.includes('/')) {
89
+ src = `${this.COLLECTION}/${src}`
90
+ }
91
+
81
92
  const dao = await this.daoFactory(src, child)
82
93
 
83
94
  const constructedObject = Reflect.construct(this, [dao])
@@ -120,4 +131,26 @@ export class BaseObject extends AbstractObject {
120
131
  asReference() {
121
132
  return this._dataObject.toReference()
122
133
  }
134
+
135
+ /**
136
+ * Validates the object's properties against the model definition.
137
+ * Throws a ValidationError if any mandatory properties are missing or empty.
138
+ */
139
+ validate() {
140
+ const errors: Record<string, string> = {}
141
+ const props = (this.constructor as typeof BaseObject).PROPS_DEFINITION || []
142
+
143
+ for (const prop of props) {
144
+ if (prop.mandatory) {
145
+ const val = this.get(prop.name)
146
+ if (val === undefined || val === null || val === '') {
147
+ errors[prop.name] = `${prop.name} is required`
148
+ }
149
+ }
150
+ }
151
+
152
+ if (Object.keys(errors).length > 0) {
153
+ throw new ValidationError('Validation failed', errors)
154
+ }
155
+ }
123
156
  }
@@ -401,7 +401,7 @@ export class DataObject implements DataObjectType {
401
401
  }
402
402
 
403
403
  async clone(data: any = {}): Promise<DataObject> {
404
- const cloned = await DataObject.factory()
404
+ const cloned = await (this.constructor as any).factory()
405
405
  cloned.uri.class = this.uri.class
406
406
  cloned._populated = false
407
407
 
@@ -0,0 +1,17 @@
1
+ import { BaseObject } from './BaseObject'
2
+ import { StringProperty } from '../properties/StringProperty'
3
+
4
+ class TestModel extends BaseObject {
5
+ static COLLECTION = 'test_collection'
6
+ static PROPS_DEFINITION = [
7
+ {
8
+ name: 'testProp',
9
+ type: StringProperty.TYPE,
10
+ },
11
+ ]
12
+ }
13
+
14
+ TestModel.factory('12345').then(obj => {
15
+ console.log('--- PATH ---', obj.uri.path)
16
+ console.log('--- URI ---', obj.uri)
17
+ }).catch(console.error)
@@ -0,0 +1,5 @@
1
+ import { ObjectUri } from './ObjectUri'
2
+ const uri = new ObjectUri()
3
+ uri.path = 'test_collection/12345'
4
+ console.log('--- PATH ---', uri.path)
5
+ console.log('--- URI ---', uri)
package/src/index.ts CHANGED
@@ -24,6 +24,8 @@ import {
24
24
  CollectionPropertyType,
25
25
  } from './properties/CollectionProperty'
26
26
  import { ArrayProperty, ArrayPropertyType } from './properties/ArrayProperty'
27
+ import { MapProperty, MapPropertyType } from './properties/MapProperty'
28
+ import { FileProperty, FilePropertyType } from './properties/FileProperty'
27
29
  import { AbstractObject } from './components/AbstractObject'
28
30
  import { ObjectUri } from './components/ObjectUri'
29
31
  import { DataObjectClass } from './components/types/DataObjectClass'
@@ -43,6 +45,7 @@ import {
43
45
  ForbiddenError,
44
46
  NotFoundError,
45
47
  GoneError,
48
+ ValidationError,
46
49
  } from './common/ResourcesErrors'
47
50
  import * as htmlType from './properties/types/PropertyHTMLType'
48
51
  import { DataObjectParams } from './components/types/DataObjectParams'
@@ -63,6 +66,8 @@ export {
63
66
  NumberProperty,
64
67
  returnAs,
65
68
  StringProperty,
69
+ MapProperty,
70
+ FileProperty,
66
71
  ObjectUri,
67
72
  DataObject,
68
73
  AbstractObject,
@@ -76,6 +81,7 @@ export {
76
81
  ForbiddenError,
77
82
  NotFoundError,
78
83
  GoneError,
84
+ ValidationError,
79
85
  }
80
86
 
81
87
  export type {
@@ -90,6 +96,8 @@ export type {
90
96
  ObjectPropertyType,
91
97
  NumberPropertyType,
92
98
  StringPropertyType,
99
+ MapPropertyType,
100
+ FilePropertyType,
93
101
  DataObjectClass,
94
102
  DataObjectProperties,
95
103
  BaseObjectType,
@@ -74,7 +74,7 @@ export class StringProperty extends BaseProperty {
74
74
  }
75
75
 
76
76
  if (this._minLength > 0 && value.length < this._minLength) {
77
- throw new Error(`Value is too short`)
77
+ throw new Error(`${this._name}: value '${value}' is too short (min ${this._minLength})`)
78
78
  }
79
79
 
80
80
  if (this._maxLength > 0 && value.length > this._maxLength) {
@@ -10,6 +10,13 @@ export const PASSWORD = 'password'
10
10
  export const BIRTHDAY = 'bday'
11
11
  export const GENDER = 'sex'
12
12
  export const ORG = 'organization'
13
+ export const TEXT = 'text'
14
+ export const TEXTAREA = 'textarea'
15
+ export const HIDDEN = 'hidden'
16
+ export const SELECT = 'select'
17
+ export const CHECKBOX = 'checkbox'
18
+ export const NUMBER = 'number'
19
+ export const FILE = 'file'
13
20
 
14
21
  export type PropertyHTMLType =
15
22
  | typeof OFF
@@ -21,3 +28,10 @@ export type PropertyHTMLType =
21
28
  | typeof BIRTHDAY
22
29
  | typeof GENDER
23
30
  | typeof ORG
31
+ | typeof TEXT
32
+ | typeof TEXTAREA
33
+ | typeof HIDDEN
34
+ | typeof SELECT
35
+ | typeof CHECKBOX
36
+ | typeof NUMBER
37
+ | typeof FILE