@devbro/pashmak 0.1.28 → 0.1.30
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/dist/DatabaseServiceProvider.mjs +18 -3
- package/dist/DatabaseServiceProvider.mjs.map +1 -1
- package/dist/bin/DatabaseServiceProvider.cjs +60 -3
- package/dist/bin/app/console/DefaultCommand.cjs +11 -8
- package/dist/bin/app/console/KeyGenerateCommand.cjs +11 -8
- package/dist/bin/app/console/StartCommand.cjs +15 -12
- package/dist/bin/app/console/generate/GenerateApiDocsCommand.cjs +11 -8
- package/dist/bin/app/console/generate/GenerateControllerCommand.cjs +13 -10
- package/dist/bin/app/console/generate/index.cjs +13 -10
- package/dist/bin/app/console/index.cjs +28 -25
- package/dist/bin/app/console/migrate/GenerateMigrateCommand.cjs +14 -11
- package/dist/bin/app/console/migrate/MigrateCommand.cjs +14 -11
- package/dist/bin/app/console/migrate/MigrateRollbackCommand.cjs +13 -10
- package/dist/bin/app/console/migrate/index.cjs +19 -16
- package/dist/bin/app/console/queue/GenerateQueueMigrateCommand.cjs +14 -11
- package/dist/bin/cache.cjs +11 -8
- package/dist/bin/facades.cjs +11 -8
- package/dist/bin/factories.cjs +11 -8
- package/dist/bin/global.cjs +69 -0
- package/dist/bin/index.cjs +105 -42
- package/dist/bin/middlewares.cjs +11 -8
- package/dist/bin/queue.cjs +11 -8
- package/dist/bin/router.cjs +33 -0
- package/dist/global.d.mts +12 -0
- package/dist/global.mjs +45 -0
- package/dist/global.mjs.map +1 -0
- package/dist/router.d.mts +4 -2
- package/dist/router.mjs +32 -0
- package/dist/router.mjs.map +1 -1
- package/package.json +6 -1
package/dist/router.d.mts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { BaseModel } from '@devbro/neko-orm';
|
|
2
|
-
import
|
|
2
|
+
import { Request, Response } from '@devbro/neko-router';
|
|
3
3
|
export * from '@devbro/neko-router';
|
|
4
|
+
import * as yup from 'yup';
|
|
4
5
|
|
|
5
6
|
declare function Model(model: typeof BaseModel, param_name?: string, model_field?: string): ParameterDecorator;
|
|
6
7
|
declare function Param(param_name: string): ParameterDecorator;
|
|
7
8
|
declare function ValidatedRequest(validationRules: yup.ObjectSchema<any> | (() => yup.ObjectSchema<any>)): ParameterDecorator;
|
|
9
|
+
declare function ApiDocumentation(req: Request, res: Response): string;
|
|
8
10
|
|
|
9
|
-
export { Model, Param, ValidatedRequest };
|
|
11
|
+
export { ApiDocumentation, Model, Param, ValidatedRequest };
|
package/dist/router.mjs
CHANGED
|
@@ -3,6 +3,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
3
3
|
import { ctx } from "@devbro/neko-context";
|
|
4
4
|
import { HttpNotFoundError } from "@devbro/neko-http/errors";
|
|
5
5
|
import { createParamDecorator } from "@devbro/neko-router";
|
|
6
|
+
import { config } from "@devbro/neko-config";
|
|
6
7
|
export * from "@devbro/neko-router";
|
|
7
8
|
function Model(model, param_name = "id", model_field = "id") {
|
|
8
9
|
return createParamDecorator(async () => {
|
|
@@ -29,7 +30,38 @@ function ValidatedRequest(validationRules) {
|
|
|
29
30
|
});
|
|
30
31
|
}
|
|
31
32
|
__name(ValidatedRequest, "ValidatedRequest");
|
|
33
|
+
function ApiDocumentation(req, res) {
|
|
34
|
+
let open_api_url = config.get("api_doc_url");
|
|
35
|
+
let html = `<!DOCTYPE html>
|
|
36
|
+
<html>
|
|
37
|
+
<head>
|
|
38
|
+
<title>Redoc</title>
|
|
39
|
+
<!-- needed for adaptive design -->
|
|
40
|
+
<meta charset="utf-8"/>
|
|
41
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
42
|
+
<link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700" rel="stylesheet">
|
|
43
|
+
|
|
44
|
+
<!--
|
|
45
|
+
Redoc doesn't change outer page styles
|
|
46
|
+
-->
|
|
47
|
+
<style>
|
|
48
|
+
body {
|
|
49
|
+
margin: 0;
|
|
50
|
+
padding: 0;
|
|
51
|
+
}
|
|
52
|
+
</style>
|
|
53
|
+
</head>
|
|
54
|
+
<body>
|
|
55
|
+
<redoc spec-url='${open_api_url}'></redoc>
|
|
56
|
+
<script src="https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js"> </script>
|
|
57
|
+
</body>
|
|
58
|
+
</html>`;
|
|
59
|
+
res.setHeader("Content-Type", "text/html");
|
|
60
|
+
return html;
|
|
61
|
+
}
|
|
62
|
+
__name(ApiDocumentation, "ApiDocumentation");
|
|
32
63
|
export {
|
|
64
|
+
ApiDocumentation,
|
|
33
65
|
Model,
|
|
34
66
|
Param,
|
|
35
67
|
ValidatedRequest
|
package/dist/router.mjs.map
CHANGED
|
@@ -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 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":[]}
|
|
1
|
+
{"version":3,"sources":["../src/router.mts"],"sourcesContent":["import { ctx } from \"@devbro/neko-context\";\nimport { BaseModel } from \"@devbro/neko-orm\";\nimport { Request, Response } from \"@devbro/neko-router\";\nimport { HttpNotFoundError } from \"@devbro/neko-http/errors\";\nimport { createParamDecorator } from \"@devbro/neko-router\";\nimport * as yup from \"yup\";\nimport { config } from \"@devbro/neko-config\";\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\nexport function ApiDocumentation(req: Request, res: Response) {\n let open_api_url: string = config.get(\"api_doc_url\");\n let html = `<!DOCTYPE html>\n<html>\n <head>\n <title>Redoc</title>\n <!-- needed for adaptive design -->\n <meta charset=\"utf-8\"/>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n <link href=\"https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700\" rel=\"stylesheet\">\n\n <!--\n Redoc doesn't change outer page styles\n -->\n <style>\n body {\n margin: 0;\n padding: 0;\n }\n </style>\n </head>\n <body>\n <redoc spec-url='${open_api_url}'></redoc>\n <script src=\"https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js\"> </script>\n </body>\n</html>`;\n\n res.setHeader(\"Content-Type\", \"text/html\");\n return html;\n}\n"],"mappings":";;AAAA,SAAS,WAAW;AAGpB,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AAErC,SAAS,cAAc;AACvB,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;AAgBT,SAAS,iBAAiB,KAAc,KAAe;AAC5D,MAAI,eAAuB,OAAO,IAAI,aAAa;AACnD,MAAI,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAoBU,YAAY;AAAA;AAAA;AAAA;AAKjC,MAAI,UAAU,gBAAgB,WAAW;AACzC,SAAO;AACT;AA7BgB;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devbro/pashmak",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.30",
|
|
4
4
|
"description": "testing application for the entire repo",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -57,6 +57,11 @@
|
|
|
57
57
|
"import": "./dist/factories.mjs",
|
|
58
58
|
"require": "./dist/factories.js"
|
|
59
59
|
},
|
|
60
|
+
"./global": {
|
|
61
|
+
"types": "./dist/global.d.ts",
|
|
62
|
+
"import": "./dist/global.mjs",
|
|
63
|
+
"require": "./dist/global.js"
|
|
64
|
+
},
|
|
60
65
|
"./helper": {
|
|
61
66
|
"types": "./dist/helper.d.ts",
|
|
62
67
|
"import": "./dist/helper.mjs",
|