@devbro/pashmak 0.1.17 → 0.1.18

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.
@@ -591,9 +591,11 @@ async function runNext(middlewares, req, res, final) {
591
591
  __name(runNext, "runNext");
592
592
 
593
593
  // src/router.mts
594
- function Model(model, paramName) {
594
+ function Model(model, param_name = "id", model_field = "id") {
595
595
  return createParamDecorator(async () => {
596
- let rc = await model.find((0, import_neko_context.ctx)().get("request").params[paramName]);
596
+ let rc = await model.findOne({
597
+ [model_field]: (0, import_neko_context.ctx)().get("request").params[param_name]
598
+ });
597
599
  if (!rc) {
598
600
  throw new import_errors.HttpNotFoundError("Object not found", "OBJECT_NOT_FOUND");
599
601
  }
@@ -601,9 +603,9 @@ function Model(model, paramName) {
601
603
  });
602
604
  }
603
605
  __name(Model, "Model");
604
- function Param(paramName) {
606
+ function Param(param_name) {
605
607
  return createParamDecorator(() => {
606
- return (0, import_neko_context.ctx)().get("request").params[paramName];
608
+ return (0, import_neko_context.ctx)().get("request").params[param_name] || void 0;
607
609
  });
608
610
  }
609
611
  __name(Param, "Param");
package/dist/router.d.mts CHANGED
@@ -2,8 +2,8 @@ import { BaseModel } from '@devbro/neko-orm';
2
2
  import * as yup from 'yup';
3
3
  export * from '@devbro/neko-router';
4
4
 
5
- declare function Model(model: typeof BaseModel, paramName: string): ParameterDecorator;
6
- declare function Param(paramName: string): ParameterDecorator;
5
+ declare function Model(model: typeof BaseModel, param_name?: string, model_field?: string): ParameterDecorator;
6
+ declare function Param(param_name: string): ParameterDecorator;
7
7
  declare function ValidatedRequest(validationRules: yup.ObjectSchema<any> | (() => yup.ObjectSchema<any>)): ParameterDecorator;
8
8
 
9
9
  export { Model, Param, ValidatedRequest };
package/dist/router.mjs CHANGED
@@ -4,9 +4,11 @@ import { ctx } from "@devbro/neko-context";
4
4
  import { HttpNotFoundError } from "@devbro/neko-http/errors";
5
5
  import { createParamDecorator } from "@devbro/neko-router";
6
6
  export * from "@devbro/neko-router";
7
- function Model(model, paramName) {
7
+ function Model(model, param_name = "id", model_field = "id") {
8
8
  return createParamDecorator(async () => {
9
- let rc = await model.find(ctx().get("request").params[paramName]);
9
+ let rc = await model.findOne({
10
+ [model_field]: ctx().get("request").params[param_name]
11
+ });
10
12
  if (!rc) {
11
13
  throw new HttpNotFoundError("Object not found", "OBJECT_NOT_FOUND");
12
14
  }
@@ -14,9 +16,9 @@ function Model(model, paramName) {
14
16
  });
15
17
  }
16
18
  __name(Model, "Model");
17
- function Param(paramName) {
19
+ function Param(param_name) {
18
20
  return createParamDecorator(() => {
19
- return ctx().get("request").params[paramName];
21
+ return ctx().get("request").params[param_name] || void 0;
20
22
  });
21
23
  }
22
24
  __name(Param, "Param");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/router.mts"],"sourcesContent":["import { ctx } from \"@devbro/neko-context\";\nimport { BaseModel } from \"@devbro/neko-orm\";\nimport { Request } from \"@devbro/neko-router\";\nimport { HttpNotFoundError } from \"@devbro/neko-http/errors\";\nimport { createParamDecorator } from \"@devbro/neko-router\";\nimport * as yup from \"yup\";\nexport * from \"@devbro/neko-router\";\n\nexport function Model(\n model: typeof BaseModel,\n paramName: string,\n): ParameterDecorator {\n return createParamDecorator(async () => {\n let rc = await model.find(ctx().get<Request>(\"request\").params[paramName]);\n if (!rc) {\n throw new HttpNotFoundError(\"Object not found\", \"OBJECT_NOT_FOUND\");\n }\n\n return rc;\n });\n}\n\nexport function Param(paramName: string): ParameterDecorator {\n return createParamDecorator(() => {\n return ctx().get<Request>(\"request\").params[paramName];\n });\n}\n\nexport function ValidatedRequest(\n validationRules: yup.ObjectSchema<any> | (() => yup.ObjectSchema<any>),\n): ParameterDecorator {\n return createParamDecorator(async () => {\n const rc = await (\n typeof validationRules === \"function\"\n ? validationRules()\n : validationRules\n )\n .noUnknown()\n .validate(ctx().get<Request>(\"request\").body, { abortEarly: false });\n\n return rc;\n });\n}\n"],"mappings":";;AAAA,SAAS,WAAW;AAGpB,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AAErC,cAAc;AAEP,SAAS,MACd,OACA,WACoB;AACpB,SAAO,qBAAqB,YAAY;AACtC,QAAI,KAAK,MAAM,MAAM,KAAK,IAAI,EAAE,IAAa,SAAS,EAAE,OAAO,SAAS,CAAC;AACzE,QAAI,CAAC,IAAI;AACP,YAAM,IAAI,kBAAkB,oBAAoB,kBAAkB;AAAA,IACpE;AAEA,WAAO;AAAA,EACT,CAAC;AACH;AAZgB;AAcT,SAAS,MAAM,WAAuC;AAC3D,SAAO,qBAAqB,MAAM;AAChC,WAAO,IAAI,EAAE,IAAa,SAAS,EAAE,OAAO,SAAS;AAAA,EACvD,CAAC;AACH;AAJgB;AAMT,SAAS,iBACd,iBACoB;AACpB,SAAO,qBAAqB,YAAY;AACtC,UAAM,KAAK,OACT,OAAO,oBAAoB,aACvB,gBAAgB,IAChB,iBAEH,UAAU,EACV,SAAS,IAAI,EAAE,IAAa,SAAS,EAAE,MAAM,EAAE,YAAY,MAAM,CAAC;AAErE,WAAO;AAAA,EACT,CAAC;AACH;AAdgB;","names":[]}
1
+ {"version":3,"sources":["../src/router.mts"],"sourcesContent":["import { ctx } from \"@devbro/neko-context\";\nimport { BaseModel } from \"@devbro/neko-orm\";\nimport { Request } from \"@devbro/neko-router\";\nimport { HttpNotFoundError } from \"@devbro/neko-http/errors\";\nimport { createParamDecorator } from \"@devbro/neko-router\";\nimport * as yup from \"yup\";\nexport * from \"@devbro/neko-router\";\n\nexport function Model(\n model: typeof BaseModel,\n param_name: string = \"id\",\n model_field: string = \"id\",\n): ParameterDecorator {\n return createParamDecorator(async () => {\n let rc = await model.findOne({\n [model_field]: ctx().get<Request>(\"request\").params[param_name],\n });\n if (!rc) {\n throw new HttpNotFoundError(\"Object not found\", \"OBJECT_NOT_FOUND\");\n }\n\n return rc;\n });\n}\n\nexport function Param(param_name: string): ParameterDecorator {\n return createParamDecorator(() => {\n return ctx().get<Request>(\"request\").params[param_name] || undefined;\n });\n}\n\nexport function ValidatedRequest(\n validationRules: yup.ObjectSchema<any> | (() => yup.ObjectSchema<any>),\n): ParameterDecorator {\n return createParamDecorator(async () => {\n const rc = await (\n typeof validationRules === \"function\"\n ? validationRules()\n : validationRules\n )\n .noUnknown()\n .validate(ctx().get<Request>(\"request\").body, { abortEarly: false });\n\n return rc;\n });\n}\n"],"mappings":";;AAAA,SAAS,WAAW;AAGpB,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AAErC,cAAc;AAEP,SAAS,MACd,OACA,aAAqB,MACrB,cAAsB,MACF;AACpB,SAAO,qBAAqB,YAAY;AACtC,QAAI,KAAK,MAAM,MAAM,QAAQ;AAAA,MAC3B,CAAC,WAAW,GAAG,IAAI,EAAE,IAAa,SAAS,EAAE,OAAO,UAAU;AAAA,IAChE,CAAC;AACD,QAAI,CAAC,IAAI;AACP,YAAM,IAAI,kBAAkB,oBAAoB,kBAAkB;AAAA,IACpE;AAEA,WAAO;AAAA,EACT,CAAC;AACH;AAfgB;AAiBT,SAAS,MAAM,YAAwC;AAC5D,SAAO,qBAAqB,MAAM;AAChC,WAAO,IAAI,EAAE,IAAa,SAAS,EAAE,OAAO,UAAU,KAAK;AAAA,EAC7D,CAAC;AACH;AAJgB;AAMT,SAAS,iBACd,iBACoB;AACpB,SAAO,qBAAqB,YAAY;AACtC,UAAM,KAAK,OACT,OAAO,oBAAoB,aACvB,gBAAgB,IAChB,iBAEH,UAAU,EACV,SAAS,IAAI,EAAE,IAAa,SAAS,EAAE,MAAM,EAAE,YAAY,MAAM,CAAC;AAErE,WAAO;AAAA,EACT,CAAC;AACH;AAdgB;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devbro/pashmak",
3
- "version": "0.1.17",
3
+ "version": "0.1.18",
4
4
  "description": "testing application for the entire repo",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",