@spinajs/orm-http 2.0.398 → 2.0.400

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.
@@ -1,5 +1,5 @@
1
1
  import { Orm, ModelBase } from '@spinajs/orm';
2
- import { IRouteParameter, IRouteCall, ParameterType, ArgHydrator, Request as sRequest, RouteArgs } from '@spinajs/http';
2
+ import { IRouteParameter, IRouteCall, ParameterType, ArgHydrator, Request as sRequest, RouteArgs, IRoute } from '@spinajs/http';
3
3
  import { IContainer, Bootstrapper } from '@spinajs/di';
4
4
  import { FromModelOptions } from './interfaces.js';
5
5
  export * from './interfaces.js';
@@ -10,11 +10,17 @@ export * from './route-arg.js';
10
10
  export * from './builders.js';
11
11
  export * from './dto.js';
12
12
  export * from './response-methods/OrmNotFound.js';
13
+ import * as express from 'express';
14
+ /**
15
+ * Route arg to hydrate model from request body
16
+ *
17
+ * For now its basically alias for FromBody, for convinience to separate model hydration from other body params
18
+ */
13
19
  export declare class AsDbModel extends RouteArgs {
14
20
  get SupportedType(): string;
15
- extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter, req: sRequest): Promise<{
21
+ extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter, req: sRequest, _res: express.Response, route: IRoute): Promise<{
16
22
  CallData: IRouteCall;
17
- Args: ModelBase<unknown>;
23
+ Args: any;
18
24
  }>;
19
25
  }
20
26
  export declare class FromDbModel extends RouteArgs {
@@ -32,7 +38,23 @@ export declare class FromDbModel extends RouteArgs {
32
38
  export declare class DbModelHydrator extends ArgHydrator {
33
39
  hydrate(input: any, parameter: IRouteParameter): Promise<any>;
34
40
  }
41
+ /**
42
+ * Route arg to hydrate model from request body.
43
+ * It only creates new instance and hydrates it with data from request. DOES NOT FETCH IT FROM DB or SAVE IT TO DB.
44
+ *
45
+ * NOTE: its basically alias for FromBody, for convinience to separate model hydration from other body params
46
+ *
47
+ * @param field optional field to taken from request
48
+ * @param type from where to take field value, default is request BODY, but can be also query, param, header etc.
49
+ * @returns
50
+ */
35
51
  export declare function AsModel(field?: string, type?: ParameterType): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
52
+ /**
53
+ * Automatically loads model from DB based on primary key passed in route, param, body or header
54
+ *
55
+ * @param options options for model fetching
56
+ * @returns
57
+ */
36
58
  export declare function FromModel(options?: FromModelOptions<ModelBase<any>>): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
37
59
  export declare class OrmHttpBootstrapper extends Bootstrapper {
38
60
  bootstrap(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAgG,MAAM,cAAc,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAE,UAAU,EAAoB,aAAa,EAAE,WAAW,EAAE,OAAO,IAAI,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1I,OAAO,EAAE,UAAU,EAAqC,YAAY,EAAM,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mCAAmC,CAAC;AAElD,qBACa,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa,IAAI,MAAM,CAEjC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ;;;;CAgBnG;AAED,qBACa,WAAY,SAAQ,SAAS;IAExC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,IAAW,aAAa,IAAI,MAAM,CAEjC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ;;;;IAWjG,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ;IAuB1F,SAAS,CAAC,+BAA+B,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ;CAoDrJ;AAED,qBAAa,eAAgB,SAAQ,WAAW;IACjC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;CAS3E;AAED,wBAAgB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,yGAE3D;AAED,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,yGAEnE;AAED,qBACa,mBAAoB,SAAQ,YAAY;IACtC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAgG,MAAM,cAAc,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAE,UAAU,EAAoB,aAAa,EAAE,WAAW,EAAE,OAAO,IAAI,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClJ,OAAO,EAAE,UAAU,EAAqC,YAAY,EAAM,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mCAAmC,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC;;;;GAIG;AACH,qBACa,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa,IAAI,MAAM,CAEjC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CAU1I;AAED,qBACa,WAAY,SAAQ,SAAS;IAExC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,IAAW,aAAa,IAAI,MAAM,CAEjC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ;;;;IAWjG,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ;IAuB1F,SAAS,CAAC,+BAA+B,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ;CAoDrJ;AAED,qBAAa,eAAgB,SAAQ,WAAW;IACjC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;CAU3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,yGAE3D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,yGAEnE;AAED,qBACa,mBAAoB,SAAQ,YAAY;IACtC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBxC"}
package/lib/cjs/index.js CHANGED
@@ -39,20 +39,21 @@ __exportStar(require("./route-arg.js"), exports);
39
39
  __exportStar(require("./builders.js"), exports);
40
40
  __exportStar(require("./dto.js"), exports);
41
41
  __exportStar(require("./response-methods/OrmNotFound.js"), exports);
42
+ /**
43
+ * Route arg to hydrate model from request body
44
+ *
45
+ * For now its basically alias for FromBody, for convinience to separate model hydration from other body params
46
+ */
42
47
  let AsDbModel = class AsDbModel extends http_1.RouteArgs {
43
48
  get SupportedType() {
44
49
  return 'AsDbModel';
45
50
  }
46
- async extract(callData, _args, param, req) {
51
+ async extract(callData, _args, param, req, _res, route) {
47
52
  if (!req.body) {
48
- return { CallData: callData, Args: null };
53
+ throw new exceptions_1.BadRequest('Request body empty, cannot hydrate model for parameter ' + (param.Options?.field ?? param.Name));
49
54
  }
50
- const result = new param.RuntimeType();
51
- const data = req.body[param.Options.field ?? param.Name];
52
- if (!data) {
53
- throw new orm_1.OrmException(`Cannot hydrate model, field ${param.Options.field ?? param.Name} is required`);
54
- }
55
- result.hydrate(data);
55
+ const arg = req.body[param.Name] ? req.body[param.Name] : [...route.Parameters.values()].filter((p) => p.Type === "AsDbModel").length === 1 ? req.body : null;
56
+ let result = await this.tryHydrateParam(arg, param, route);
56
57
  return { CallData: callData, Args: result };
57
58
  }
58
59
  };
@@ -156,6 +157,7 @@ exports.FromDbModel = FromDbModel = __decorate([
156
157
  ], FromDbModel);
157
158
  class DbModelHydrator extends http_1.ArgHydrator {
158
159
  async hydrate(input, parameter) {
160
+ debugger;
159
161
  if (input === null) {
160
162
  throw new orm_1.OrmException('primary key cannot be null');
161
163
  }
@@ -165,9 +167,25 @@ class DbModelHydrator extends http_1.ArgHydrator {
165
167
  }
166
168
  }
167
169
  exports.DbModelHydrator = DbModelHydrator;
170
+ /**
171
+ * Route arg to hydrate model from request body.
172
+ * It only creates new instance and hydrates it with data from request. DOES NOT FETCH IT FROM DB or SAVE IT TO DB.
173
+ *
174
+ * NOTE: its basically alias for FromBody, for convinience to separate model hydration from other body params
175
+ *
176
+ * @param field optional field to taken from request
177
+ * @param type from where to take field value, default is request BODY, but can be also query, param, header etc.
178
+ * @returns
179
+ */
168
180
  function AsModel(field, type) {
169
181
  return (0, http_1.Route)((0, http_1.Parameter)('AsDbModel', null, { field, type }));
170
182
  }
183
+ /**
184
+ * Automatically loads model from DB based on primary key passed in route, param, body or header
185
+ *
186
+ * @param options options for model fetching
187
+ * @returns
188
+ */
171
189
  function FromModel(options) {
172
190
  return (0, http_1.Route)((0, http_1.Parameter)('FromDbModel', null, options));
173
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ export declare const MODEL_STATIC_MIXINS: {
8
8
  query: (operator: import("./interfaces.js").FilterableOperators, value: any) => import("@spinajs/orm").WhereFunction<unknown>;
9
9
  }[];
10
10
  filterSchema(): {
11
+ type?: undefined;
12
+ properties?: undefined;
13
+ } | {
11
14
  type: string;
12
15
  properties: {
13
16
  op: {
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAiB,cAAc,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE5F,eAAO,MAAM,mBAAmB;0BACF,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuD3C,CAAC"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAiB,cAAc,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE5F,eAAO,MAAM,mBAAmB;0BACF,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+D3C,CAAC"}
package/lib/cjs/model.js CHANGED
@@ -14,6 +14,9 @@ exports.MODEL_STATIC_MIXINS = {
14
14
  if (!modelDescriptor) {
15
15
  throw new orm_1.OrmException(`Model ${this.constructor.name} has no descriptor`);
16
16
  }
17
+ if (modelDescriptor.FilterableColumns === undefined) {
18
+ return [];
19
+ }
17
20
  return [...modelDescriptor.FilterableColumns.entries()].map(([key, val]) => {
18
21
  return {
19
22
  column: key,
@@ -27,6 +30,9 @@ exports.MODEL_STATIC_MIXINS = {
27
30
  if (!modelDescriptor) {
28
31
  throw new orm_1.OrmException(`Model ${this.constructor.name} has no descriptor`);
29
32
  }
33
+ if (modelDescriptor.FilterableColumns === undefined) {
34
+ return {};
35
+ }
30
36
  return {
31
37
  type: 'object',
32
38
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":";;;AAAA,sCAA+F;AAC/F,yBAAuB;AACvB,mDAA4F;AAE/E,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,MAAM,CAAC,aAA6B;QACxC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAW,EAAC,IAAI,EAAE,wBAAkB,CAAC,CAAC;QACxD,OAAQ,KAAa,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,aAAa;QACX,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,kBAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmC,EAAE,EAAE;YAC3G,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,kBAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,0CAA0B,CAAC,GAAG,EAAE,0CAA0B,CAAC,EAAE,CAAC;iBACtE;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmC,EAAE,EAAE;4BAC3G,OAAO;gCACL,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gCAChC,UAAU,EAAE;oCACV,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;oCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;oCAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE;iCAClD;6BACF,CAAC;wBACJ,CAAC,CAAC;qBACH;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":";;;AAAA,sCAA+F;AAC/F,yBAAuB;AACvB,mDAA4F;AAE/E,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,MAAM,CAAC,aAA6B;QACxC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,iBAAW,EAAC,IAAI,EAAE,wBAAkB,CAAC,CAAC;QACxD,OAAQ,KAAa,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,aAAa;QACX,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,kBAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,IAAG,eAAe,CAAC,iBAAiB,KAAK,SAAS,EAAC,CAAC;YAClD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmC,EAAE,EAAE;YAC3G,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,kBAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,eAAe,CAAC,iBAAiB,KAAK,SAAS,EAAC,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,0CAA0B,CAAC,GAAG,EAAE,0CAA0B,CAAC,EAAE,CAAC;iBACtE;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmC,EAAE,EAAE;4BAC3G,OAAO;gCACL,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gCAChC,UAAU,EAAE;oCACV,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;oCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;oCAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE;iCAClD;6BACF,CAAC;wBACJ,CAAC,CAAC;qBACH;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Orm, ModelBase } from '@spinajs/orm';
2
- import { IRouteParameter, IRouteCall, ParameterType, ArgHydrator, Request as sRequest, RouteArgs } from '@spinajs/http';
2
+ import { IRouteParameter, IRouteCall, ParameterType, ArgHydrator, Request as sRequest, RouteArgs, IRoute } from '@spinajs/http';
3
3
  import { IContainer, Bootstrapper } from '@spinajs/di';
4
4
  import { FromModelOptions } from './interfaces.js';
5
5
  export * from './interfaces.js';
@@ -10,11 +10,17 @@ export * from './route-arg.js';
10
10
  export * from './builders.js';
11
11
  export * from './dto.js';
12
12
  export * from './response-methods/OrmNotFound.js';
13
+ import * as express from 'express';
14
+ /**
15
+ * Route arg to hydrate model from request body
16
+ *
17
+ * For now its basically alias for FromBody, for convinience to separate model hydration from other body params
18
+ */
13
19
  export declare class AsDbModel extends RouteArgs {
14
20
  get SupportedType(): string;
15
- extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter, req: sRequest): Promise<{
21
+ extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter, req: sRequest, _res: express.Response, route: IRoute): Promise<{
16
22
  CallData: IRouteCall;
17
- Args: ModelBase<unknown>;
23
+ Args: any;
18
24
  }>;
19
25
  }
20
26
  export declare class FromDbModel extends RouteArgs {
@@ -32,7 +38,23 @@ export declare class FromDbModel extends RouteArgs {
32
38
  export declare class DbModelHydrator extends ArgHydrator {
33
39
  hydrate(input: any, parameter: IRouteParameter): Promise<any>;
34
40
  }
41
+ /**
42
+ * Route arg to hydrate model from request body.
43
+ * It only creates new instance and hydrates it with data from request. DOES NOT FETCH IT FROM DB or SAVE IT TO DB.
44
+ *
45
+ * NOTE: its basically alias for FromBody, for convinience to separate model hydration from other body params
46
+ *
47
+ * @param field optional field to taken from request
48
+ * @param type from where to take field value, default is request BODY, but can be also query, param, header etc.
49
+ * @returns
50
+ */
35
51
  export declare function AsModel(field?: string, type?: ParameterType): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
52
+ /**
53
+ * Automatically loads model from DB based on primary key passed in route, param, body or header
54
+ *
55
+ * @param options options for model fetching
56
+ * @returns
57
+ */
36
58
  export declare function FromModel(options?: FromModelOptions<ModelBase<any>>): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
37
59
  export declare class OrmHttpBootstrapper extends Bootstrapper {
38
60
  bootstrap(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAgG,MAAM,cAAc,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAE,UAAU,EAAoB,aAAa,EAAE,WAAW,EAAE,OAAO,IAAI,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1I,OAAO,EAAE,UAAU,EAAqC,YAAY,EAAM,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mCAAmC,CAAC;AAElD,qBACa,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa,IAAI,MAAM,CAEjC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ;;;;CAgBnG;AAED,qBACa,WAAY,SAAQ,SAAS;IAExC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,IAAW,aAAa,IAAI,MAAM,CAEjC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ;;;;IAWjG,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ;IAuB1F,SAAS,CAAC,+BAA+B,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ;CAoDrJ;AAED,qBAAa,eAAgB,SAAQ,WAAW;IACjC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;CAS3E;AAED,wBAAgB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,yGAE3D;AAED,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,yGAEnE;AAED,qBACa,mBAAoB,SAAQ,YAAY;IACtC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAgG,MAAM,cAAc,CAAC;AAC5I,OAAO,EAAE,eAAe,EAAE,UAAU,EAAoB,aAAa,EAAE,WAAW,EAAE,OAAO,IAAI,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClJ,OAAO,EAAE,UAAU,EAAqC,YAAY,EAAM,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mCAAmC,CAAC;AAClD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC;;;;GAIG;AACH,qBACa,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa,IAAI,MAAM,CAEjC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CAU1I;AAED,qBACa,WAAY,SAAQ,SAAS;IAExC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEb,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,IAAW,aAAa,IAAI,MAAM,CAEjC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,QAAQ;;;;IAWjG,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ;IAuB1F,SAAS,CAAC,+BAA+B,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ;CAoDrJ;AAED,qBAAa,eAAgB,SAAQ,WAAW;IACjC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;CAU3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,yGAE3D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,yGAEnE;AAED,qBACa,mBAAoB,SAAQ,YAAY;IACtC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAgBxC"}
package/lib/mjs/index.js CHANGED
@@ -11,7 +11,7 @@ import { Orm, OrmException, extractModelDescriptor, RelationType, OrmNotFoundExc
11
11
  import { Parameter, Route, ParameterType, ArgHydrator, RouteArgs } from '@spinajs/http';
12
12
  import { Injectable, Container, Autoinject, Bootstrapper, DI } from '@spinajs/di';
13
13
  import { MODEL_STATIC_MIXINS } from './model.js';
14
- import { InvalidArgument } from '@spinajs/exceptions';
14
+ import { BadRequest, InvalidArgument } from '@spinajs/exceptions';
15
15
  export * from './interfaces.js';
16
16
  export * from './model.js';
17
17
  export * from './decorators.js';
@@ -20,20 +20,21 @@ export * from './route-arg.js';
20
20
  export * from './builders.js';
21
21
  export * from './dto.js';
22
22
  export * from './response-methods/OrmNotFound.js';
23
+ /**
24
+ * Route arg to hydrate model from request body
25
+ *
26
+ * For now its basically alias for FromBody, for convinience to separate model hydration from other body params
27
+ */
23
28
  let AsDbModel = class AsDbModel extends RouteArgs {
24
29
  get SupportedType() {
25
30
  return 'AsDbModel';
26
31
  }
27
- async extract(callData, _args, param, req) {
32
+ async extract(callData, _args, param, req, _res, route) {
28
33
  if (!req.body) {
29
- return { CallData: callData, Args: null };
34
+ throw new BadRequest('Request body empty, cannot hydrate model for parameter ' + (param.Options?.field ?? param.Name));
30
35
  }
31
- const result = new param.RuntimeType();
32
- const data = req.body[param.Options.field ?? param.Name];
33
- if (!data) {
34
- throw new OrmException(`Cannot hydrate model, field ${param.Options.field ?? param.Name} is required`);
35
- }
36
- result.hydrate(data);
36
+ const arg = req.body[param.Name] ? req.body[param.Name] : [...route.Parameters.values()].filter((p) => p.Type === "AsDbModel").length === 1 ? req.body : null;
37
+ let result = await this.tryHydrateParam(arg, param, route);
37
38
  return { CallData: callData, Args: result };
38
39
  }
39
40
  };
@@ -137,6 +138,7 @@ FromDbModel = __decorate([
137
138
  export { FromDbModel };
138
139
  export class DbModelHydrator extends ArgHydrator {
139
140
  async hydrate(input, parameter) {
141
+ debugger;
140
142
  if (input === null) {
141
143
  throw new OrmException('primary key cannot be null');
142
144
  }
@@ -145,9 +147,25 @@ export class DbModelHydrator extends ArgHydrator {
145
147
  return model;
146
148
  }
147
149
  }
150
+ /**
151
+ * Route arg to hydrate model from request body.
152
+ * It only creates new instance and hydrates it with data from request. DOES NOT FETCH IT FROM DB or SAVE IT TO DB.
153
+ *
154
+ * NOTE: its basically alias for FromBody, for convinience to separate model hydration from other body params
155
+ *
156
+ * @param field optional field to taken from request
157
+ * @param type from where to take field value, default is request BODY, but can be also query, param, header etc.
158
+ * @returns
159
+ */
148
160
  export function AsModel(field, type) {
149
161
  return Route(Parameter('AsDbModel', null, { field, type }));
150
162
  }
163
+ /**
164
+ * Automatically loads model from DB based on primary key passed in route, param, body or header
165
+ *
166
+ * @param options options for model fetching
167
+ * @returns
168
+ */
151
169
  export function FromModel(options) {
152
170
  return Route(Parameter('FromDbModel', null, options));
153
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,GAAG,EAAa,YAAY,EAAE,sBAAsB,EAAsB,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC5I,OAAO,EAA+B,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAuB,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1I,OAAO,EAAc,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mCAAmC,CAAC;AAG3C,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa;QACtB,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,KAAsB,EAAE,GAAa;QAChG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,WAAW,EAAe,CAAC;QACpD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAEzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,YAAY,CAAC,+BAA+B,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;QACzG,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;CACF,CAAA;AArBY,SAAS;IADrB,UAAU,EAAE;GACA,SAAS,CAqBrB;;AAGM,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,SAAS;IAOxC,KAAK,CAAC,OAAO,KAAmB,CAAC;IAEjC,IAAW,aAAa;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,IAAe,EAAE,KAAsB,EAAE,GAAa;QAC/F,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC1B,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACxK,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;IAES,aAAa,CAAC,KAAmD,EAAE,GAAa;QACxF,IAAI,OAAO,GAAQ,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,EAAE,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;QAEvD,QAAQ,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAClC,KAAK,aAAa,CAAC,SAAS;gBAC1B,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,aAAa,CAAC,QAAQ;gBACzB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5C,MAAM;YACR,KAAK,aAAa,CAAC,UAAU;gBAC3B,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,aAAa,CAAC,UAAU,CAAC;YAC9B;gBACE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;QACV,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,+BAA+B,CAAC,QAAoB,EAAE,KAAgB,EAAE,KAAmD,EAAE,GAAa;QAClJ,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAwB,CAAC;QACjE,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,KAAK,EAAE,OAAO,EAAE,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;QAEvE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEjC;;WAEG;QACH,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACzC,2CAA2C;YAC3C,kDAAkD;YAClD,mEAAmE;YACnE,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,GAAG,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;gBAE3C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC1B,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;oBACpG,CAAC,CAAC,CAAC;oBAEH,IAAI,GAAG,EAAE,CAAC;wBACR,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4BACrC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC9D,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,eAAe,CAAC,uBAAuB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC;wBAC1E,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED;;WAEG;QACH,IAAI,KAAK,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED;;WAEG;QACH,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACtF,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC5E,CAAC;CACF,CAAA;AAjGW;IADT,UAAU,CAAC,SAAS,CAAC;;8CACU;AAGtB;IADT,UAAU,CAAC,GAAG,CAAC;8BACD,GAAG;wCAAC;AALR,WAAW;IADvB,UAAU,EAAE;GACA,WAAW,CAmGvB;;AAED,MAAM,OAAO,eAAgB,SAAQ,WAAW;IACvC,KAAK,CAAC,OAAO,CAAC,KAAU,EAAE,SAA0B;QACzD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,YAAY,CAAC,4BAA4B,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,KAAK,GAAc,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QACrD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,MAAM,UAAU,OAAO,CAAC,KAAc,EAAE,IAAoB;IAC1D,OAAO,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAA0C;IAClE,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC;AAGM,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,YAAY;IAC5C,KAAK,CAAC,SAAS;QACpB,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,GAAQ,EAAE,EAAE;YACzC,6DAA6D;YAC7D,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvB,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;YAEH,oBAAoB;YACpB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvB,kCAAkC;gBAClC,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;oBACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAI,mBAA2B,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjBY,mBAAmB;IAD/B,UAAU,CAAC,YAAY,CAAC;GACZ,mBAAmB,CAiB/B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ export declare const MODEL_STATIC_MIXINS: {
8
8
  query: (operator: import("./interfaces.js").FilterableOperators, value: any) => import("@spinajs/orm").WhereFunction<unknown>;
9
9
  }[];
10
10
  filterSchema(): {
11
+ type?: undefined;
12
+ properties?: undefined;
13
+ } | {
11
14
  type: string;
12
15
  properties: {
13
16
  op: {
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAiB,cAAc,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE5F,eAAO,MAAM,mBAAmB;0BACF,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuD3C,CAAC"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAiB,cAAc,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE5F,eAAO,MAAM,mBAAmB;0BACF,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+D3C,CAAC"}
package/lib/mjs/model.js CHANGED
@@ -11,6 +11,9 @@ export const MODEL_STATIC_MIXINS = {
11
11
  if (!modelDescriptor) {
12
12
  throw new OrmException(`Model ${this.constructor.name} has no descriptor`);
13
13
  }
14
+ if (modelDescriptor.FilterableColumns === undefined) {
15
+ return [];
16
+ }
14
17
  return [...modelDescriptor.FilterableColumns.entries()].map(([key, val]) => {
15
18
  return {
16
19
  column: key,
@@ -24,6 +27,9 @@ export const MODEL_STATIC_MIXINS = {
24
27
  if (!modelDescriptor) {
25
28
  throw new OrmException(`Model ${this.constructor.name} has no descriptor`);
26
29
  }
30
+ if (modelDescriptor.FilterableColumns === undefined) {
31
+ return {};
32
+ }
27
33
  return {
28
34
  type: 'object',
29
35
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,eAAe,CAAC;AACvB,OAAO,EAAiC,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE5F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,CAAC,MAAM,CAAC,aAA6B;QACxC,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACxD,OAAQ,KAAa,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,aAAa;QACX,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmC,EAAE,EAAE;YAC3G,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,0BAA0B,CAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,CAAC;iBACtE;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmC,EAAE,EAAE;4BAC3G,OAAO;gCACL,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gCAChC,UAAU,EAAE;oCACV,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;oCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;oCAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE;iCAClD;6BACF,CAAC;wBACJ,CAAC,CAAC;qBACH;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,eAAe,CAAC;AACvB,OAAO,EAAiC,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE5F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,CAAC,MAAM,CAAC,aAA6B;QACxC,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACxD,OAAQ,KAAa,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,aAAa;QACX,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,IAAG,eAAe,CAAC,iBAAiB,KAAK,SAAS,EAAC,CAAC;YAClD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmC,EAAE,EAAE;YAC3G,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,eAAe,CAAC,iBAAiB,KAAK,SAAS,EAAC,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,0BAA0B,CAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,CAAC;iBACtE;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmC,EAAE,EAAE;4BAC3G,OAAO;gCACL,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gCAChC,UAAU,EAAE;oCACV,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;oCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;oCAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE;iCAClD;6BACF,CAAC;wBACJ,CAAC,CAAC;qBACH;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}