@spinajs/rbac-http 2.0.14 → 2.0.15
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/lib/{rbac-http/src/config → config}/rbac-http.d.ts +0 -0
- package/lib/{rbac-http/src/config → config}/rbac-http.js +0 -0
- package/lib/config/rbac-http.js.map +1 -0
- package/lib/{rbac-http/src/controllers → controllers}/LoginController.d.ts +0 -0
- package/lib/{rbac-http/src/controllers → controllers}/LoginController.js +0 -0
- package/lib/controllers/LoginController.js.map +1 -0
- package/lib/{rbac-http/src/controllers → controllers}/UserAdminController.d.ts +0 -0
- package/lib/{rbac-http/src/controllers → controllers}/UserAdminController.js +0 -0
- package/lib/controllers/UserAdminController.js.map +1 -0
- package/lib/{rbac-http/src/controllers → controllers}/UserController.d.ts +0 -0
- package/lib/{rbac-http/src/controllers → controllers}/UserController.js +0 -0
- package/lib/controllers/UserController.js.map +1 -0
- package/lib/{rbac-http/src/controllers → controllers}/UserMetadata.d.ts +0 -0
- package/lib/{rbac-http/src/controllers → controllers}/UserMetadata.js +3 -4
- package/lib/controllers/UserMetadata.js.map +1 -0
- package/lib/{rbac-http/src/decorators.d.ts → decorators.d.ts} +0 -0
- package/lib/{rbac-http/src/decorators.js → decorators.js} +0 -0
- package/lib/decorators.js.map +1 -0
- package/lib/{rbac-http/src/dto → dto}/login-dto.d.ts +0 -0
- package/lib/{rbac-http/src/dto → dto}/login-dto.js +0 -0
- package/lib/dto/login-dto.js.map +1 -0
- package/lib/{rbac-http/src/dto → dto}/password-dto.d.ts +0 -0
- package/lib/{rbac-http/src/dto → dto}/password-dto.js +0 -0
- package/lib/dto/password-dto.js.map +1 -0
- package/lib/{rbac-http/src/dto → dto}/user-dto.d.ts +0 -0
- package/lib/{rbac-http/src/dto → dto}/user-dto.js +0 -0
- package/lib/dto/user-dto.js.map +1 -0
- package/lib/{rbac-http/src/index.d.ts → index.d.ts} +0 -0
- package/lib/{rbac-http/src/index.js → index.js} +0 -0
- package/lib/index.js.map +1 -0
- package/lib/{rbac-http/src/interfaces.d.ts → interfaces.d.ts} +0 -0
- package/lib/{rbac-http/src/interfaces.js → interfaces.js} +0 -0
- package/lib/{rbac-http/src/interfaces.js.map → interfaces.js.map} +1 -1
- package/lib/{rbac-http/src/middlewares.d.ts → middlewares.d.ts} +0 -0
- package/lib/{rbac-http/src/middlewares.js → middlewares.js} +0 -0
- package/lib/middlewares.js.map +1 -0
- package/lib/{rbac-http/src/policies.d.ts → policies.d.ts} +0 -0
- package/lib/{rbac-http/src/policies.js → policies.js} +0 -0
- package/lib/policies.js.map +1 -0
- package/lib/{rbac-http/src/route-args.d.ts → route-args.d.ts} +0 -0
- package/lib/{rbac-http/src/route-args.js → route-args.js} +0 -0
- package/lib/route-args.js.map +1 -0
- package/lib/{rbac-http/src/transformers.d.ts → transformers.d.ts} +0 -0
- package/lib/{rbac-http/src/transformers.js → transformers.js} +0 -0
- package/lib/transformers.js.map +1 -0
- package/package.json +3 -3
- package/lib/http/src/interfaces.d.ts +0 -461
- package/lib/http/src/interfaces.js +0 -230
- package/lib/http/src/interfaces.js.map +0 -1
- package/lib/http/src/response-methods/forbidden.d.ts +0 -11
- package/lib/http/src/response-methods/forbidden.js +0 -20
- package/lib/http/src/response-methods/forbidden.js.map +0 -1
- package/lib/http/src/responses.d.ts +0 -40
- package/lib/http/src/responses.js +0 -218
- package/lib/http/src/responses.js.map +0 -1
- package/lib/rbac-http/src/augumentation.d.ts +0 -0
- package/lib/rbac-http/src/augumentation.js +0 -9
- package/lib/rbac-http/src/augumentation.js.map +0 -1
- package/lib/rbac-http/src/config/rbac-http.js.map +0 -1
- package/lib/rbac-http/src/controllers/LoginController.js.map +0 -1
- package/lib/rbac-http/src/controllers/UserAdminController.js.map +0 -1
- package/lib/rbac-http/src/controllers/UserController.js.map +0 -1
- package/lib/rbac-http/src/controllers/UserMetadata.js.map +0 -1
- package/lib/rbac-http/src/decorators.js.map +0 -1
- package/lib/rbac-http/src/dto/login-dto.js.map +0 -1
- package/lib/rbac-http/src/dto/password-dto.js.map +0 -1
- package/lib/rbac-http/src/dto/user-dto.js.map +0 -1
- package/lib/rbac-http/src/index.js.map +0 -1
- package/lib/rbac-http/src/middlewares.js.map +0 -1
- package/lib/rbac-http/src/policies.js.map +0 -1
- package/lib/rbac-http/src/route-args.js.map +0 -1
- package/lib/rbac-http/src/transformers.js.map +0 -1
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rbac-http.js","sourceRoot":"","sources":["../../src/config/rbac-http.ts"],"names":[],"mappings":";;AAAA,+BAAgD;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AACD,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,WAAW,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACtC,OAAO,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC9B,KAAK,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC3B;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE;QACX,0CAA0C;SAC3C;KACF;CACF,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoginController.js","sourceRoot":"","sources":["../../src/controllers/LoginController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,kDAA8C;AAC9C,wCAAgI;AAChI,wCAA0F;AAC1F,oCAAyC;AACzC,0DAA+D;AAC/D,gDAAuC;AACvC,oDAAuB;AAGvB,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,qBAAc;IAc1C,KAAK,CAAC,KAAK,CAAS,WAAqB,EAAU,MAAiB;QACzE,IAAI,MAAM,EAAE;YACV,OAAO,IAAI,iBAAU,CAAC,mEAAmE,CAAC,CAAC;SAC5F;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE3F,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,mBAAY,CAAC;gBACtB,KAAK,EAAE;oBACL,OAAO,EAAE,6BAA6B;iBACvC;aACF,CAAC,CAAC;SACJ;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,cAAO,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEhC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzC,sEAAsE;QACtE,OAAO,IAAI,qBAAc,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,EAAE,gBAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACpI,CAAC;IAGM,KAAK,CAAC,MAAM,CAAW,IAAY;QACxC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,SAAE,EAAE,CAAC;SACjB;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAExC,gDAAgD;QAChD,OAAO,IAAI,qBAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACtE,CAAC;CACF,CAAA;AAnDC;IADC,IAAA,eAAU,GAAE;8BACY,6BAAa;sDAAC;AAGvC;IADC,IAAA,eAAU,GAAE;8BACW,mBAAY;qDAAC;AAGrC;IADC,IAAA,eAAU,GAAE;8BACc,sBAAe;wDAAC;AAG3C;IADC,IAAA,sBAAM,EAAC,yBAAyB,EAAE,GAAG,CAAC;;8DACC;AAGxC;IADC,IAAA,WAAI,GAAE;IACa,WAAA,IAAA,WAAI,GAAE,CAAA;IAAyB,WAAA,IAAA,iBAAI,GAAE,CAAA;;qCAAjB,oBAAQ,EAAkB,WAAS;;4CA0B1E;AAGD;IADC,IAAA,UAAG,GAAE;IACe,WAAA,IAAA,aAAM,GAAE,CAAA;;;;6CAS5B;AApDU,eAAe;IAD3B,IAAA,eAAQ,EAAC,WAAW,CAAC;GACT,eAAe,CAqD3B;AArDY,0CAAe"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserAdminController.js","sourceRoot":"","sources":["../../src/controllers/UserAdminController.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,2GAA2G;AAC3G,qDAAqD;AACrD,0DAA0D;AAC1D,0DAA0D;AAC1D,6CAA6C;AAC7C,uCAAuC;AAEvC,oBAAoB;AACpB,oBAAoB;AACpB,wDAAwD;AACxD,cAAc;AACd,2BAA2B;AAC3B,4QAA4Q;AAC5Q,UAAU;AACV,uCAAuC;AACvC,mCAAmC;AACnC,SAAS;AACT,UAAU;AAEV,+BAA+B;AAC/B,gCAAgC;AAChC,oCAAoC;AACpC,uBAAuB;AACvB,sCAAsC;AACtC,+BAA+B;AAC/B,wGAAwG;AAExG,oBAAoB;AACpB,yCAAyC;AACzC,sDAAsD;AACtD,2DAA2D;AAC3D,WAAW;AAEX,iCAAiC;AACjC,sCAAsC;AACtC,QAAQ;AAER,6BAA6B;AAC7B,oEAAoE;AAEpE,4BAA4B;AAC5B,6DAA6D;AAC7D,QAAQ;AAER,qBAAqB;AACrB,wCAAwC;AACxC,YAAY;AACZ,+CAA+C;AAC/C,+BAA+B;AAC/B,aAAa;AACb,mBAAmB;AACnB,WAAW;AACX,SAAS;AACT,MAAM;AAEN,kBAAkB;AAClB,qDAAqD;AACrD,uFAAuF;AACvF,uDAAuD;AACvD,iEAAiE;AACjE,WAAW;AAEX,kCAAkC;AAClC,2CAA2C;AAE3C,8BAA8B;AAC9B,+CAA+C;AAC/C,WAAW;AAEX,6DAA6D;AAC7D,mCAAmC;AACnC,8BAA8B;AAC9B,8BAA8B;AAC9B,oCAAoC;AACpC,qCAAqC;AACrC,sCAAsC;AACtC,4BAA4B;AAC5B,aAAa;AAEb,gCAAgC;AAEhC,2CAA2C;AAC3C,SAAS;AAET,uCAAuC;AACvC,gCAAgC;AAChC,8EAA8E;AAE9E,0CAA0C;AAC1C,gCAAgC;AAChC,iFAAiF;AAEjF,+BAA+B;AAC/B,gCAAgC;AAChC,yEAAyE;AACzE,IAAI"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserController.js","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAkD;AAClD,wCAAqF;AACrF,wCAAsF;AACtF,oDAAiE;AACjE,oCAAyC;AACzC,8CAA2D;AAC3D,wCAAuC;AACvC,0DAAgD;AAChD,qDAAuC;AACvC,oDAAuB;AAIvB,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,qBAAc;IAYzC,KAAK,CAAC,OAAO,CAAS,IAAe,EAAY,IAAY;QAClE,wBAAwB;QACxB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAErB,+BAA+B;QAC/B,MAAM,GAAG,GAAmB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,GAAG,EAAE;YACP,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aAC5C;SACF;QAED,OAAO,IAAI,SAAE,CAAC,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAGM,KAAK,CAAC,WAAW,CAAU,KAAa,EAAU,GAAgB;QACvE,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,eAAe,EAAE;YACxC,MAAM,IAAI,4BAAe,CAAC,yBAAyB,CAAC,CAAC;SACtD;QAED,MAAM,IAAI,GAAG,MAAM,WAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAEnF,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,sBAAS,CAAC,2BAA2B,CAAC,CAAC;SAClD;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;QAC/B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,SAAE,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AA5CC;IADC,IAAA,eAAU,GAAE;8BACe,uBAAgB;wDAAC;AAG7C;IADC,IAAA,sBAAM,EAAC,oBAAoB,CAAC;;qDACG;AAGhC;IADC,IAAA,eAAU,GAAE;8BACc,sBAAe;uDAAC;AAI3C;IAFC,IAAA,UAAG,GAAE;IACL,IAAA,uBAAU,EAAC,SAAS,CAAC;IACA,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAmB,WAAA,IAAA,aAAM,GAAE,CAAA;;qCAApB,WAAS;;6CAc3C;AAGD;IADC,IAAA,YAAK,EAAC,kBAAkB,CAAC;IACA,WAAA,IAAA,YAAK,GAAE,CAAA;IAAiB,WAAA,IAAA,WAAI,GAAE,CAAA;;6CAAM,0BAAW;;iDAgBxE;AA7CU,cAAc;IAF1B,IAAA,eAAQ,EAAC,MAAM,CAAC;IAChB,IAAA,qBAAQ,EAAC,MAAM,CAAC;GACJ,cAAc,CA8C1B;AA9CY,wCAAc"}
|
|
File without changes
|
|
@@ -13,7 +13,6 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.UserMetaController = void 0;
|
|
16
|
-
const forbidden_1 = require("./../../../http/src/response-methods/forbidden");
|
|
17
16
|
const http_1 = require("@spinajs/http");
|
|
18
17
|
const rbac_1 = require("@spinajs/rbac");
|
|
19
18
|
const decorators_1 = require("./../decorators");
|
|
@@ -22,18 +21,18 @@ const orm_http_1 = require("@spinajs/orm-http");
|
|
|
22
21
|
let UserMetaController = class UserMetaController {
|
|
23
22
|
async addMetadata(logged, user, meta) {
|
|
24
23
|
if (logged.Id !== user.Id) {
|
|
25
|
-
throw new
|
|
24
|
+
throw new http_1.Forbidden('cannot add metadata to another user');
|
|
26
25
|
}
|
|
27
26
|
await user.Metadata.add(meta);
|
|
28
27
|
return new http_1.Ok(meta);
|
|
29
28
|
}
|
|
30
29
|
async updateMetadata(logged, user, meta) {
|
|
31
30
|
if (logged.Id !== user.Id) {
|
|
32
|
-
throw new
|
|
31
|
+
throw new http_1.Forbidden('cannot add metadata to another user');
|
|
33
32
|
}
|
|
34
33
|
await meta.User.populate();
|
|
35
34
|
if (meta.User.Value.Id !== logged.Id) {
|
|
36
|
-
throw new
|
|
35
|
+
throw new http_1.Forbidden('cannot edit metadata that is not own by user');
|
|
37
36
|
}
|
|
38
37
|
await meta.update();
|
|
39
38
|
return new http_1.Ok();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserMetadata.js","sourceRoot":"","sources":["../../src/controllers/UserMetadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAqE;AACrE,wCAAgE;AAChE,gDAA2C;AAC3C,8CAAiD;AACjD,gDAAuD;AAIvD,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAGtB,KAAK,CAAC,WAAW,CAAS,MAAiB,EAAe,IAAe,EAAa,IAAkB;QAC7G,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YACzB,MAAM,IAAI,gBAAS,CAAC,qCAAqC,CAAC,CAAC;SAC5D;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,SAAE,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAIM,KAAK,CAAC,cAAc,CAAS,MAAiB,EAAe,IAAe,EAAe,IAAkB;QAClH,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YACzB,MAAM,IAAI,gBAAS,CAAC,qCAAqC,CAAC,CAAC;SAC5D;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;YACpC,MAAM,IAAI,gBAAS,CAAC,8CAA8C,CAAC,CAAC;SACrE;QAED,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAEpB,OAAO,IAAI,SAAE,EAAE,CAAC;IAClB,CAAC;CACF,CAAA;AAzBC;IAFC,IAAA,WAAI,GAAE;IACN,IAAA,uBAAU,EAAC,WAAW,CAAC;IACE,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,oBAAS,GAAE,CAAA;IAAmB,WAAA,IAAA,kBAAO,GAAE,CAAA;;qCAAnD,WAAS,EAAqB,WAAS,EAAmB,mBAAY;;qDAO9G;AAID;IAFC,IAAA,YAAK,EAAC,2BAA2B,CAAC;IAClC,IAAA,uBAAU,EAAC,WAAW,CAAC;IACK,WAAA,IAAA,iBAAI,GAAE,CAAA;IAAqB,WAAA,IAAA,oBAAS,GAAE,CAAA;IAAmB,WAAA,IAAA,oBAAS,GAAE,CAAA;;qCAArD,WAAS,EAAqB,WAAS,EAAqB,mBAAY;;wDAanH;AA3BU,kBAAkB;IAF9B,IAAA,eAAQ,EAAC,qBAAqB,CAAC;IAC/B,IAAA,qBAAQ,EAAC,eAAe,CAAC;GACb,kBAAkB,CA4B9B;AA5BY,gDAAkB"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login-dto.js","sourceRoot":"","sources":["../../src/dto/login-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAEhC,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,gBAAgB;IACvB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;QAC1C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;KAC5C;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;CAChC,CAAC;AAGF,IAAa,QAAQ,GAArB,MAAa,QAAQ;IAKnB,YAAY,IAAS;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AARY,QAAQ;IADpB,IAAA,mBAAM,EAAC,sBAAc,CAAC;;GACV,QAAQ,CAQpB;AARY,4BAAQ"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password-dto.js","sourceRoot":"","sources":["../../src/dto/password-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAEhC,QAAA,iBAAiB,GAAG;IAC/B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,mBAAmB;IAC1B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;QAC5D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;QACzD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;KACjE;IACD,QAAQ,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,CAAC;CACzD,CAAC;AAGF,IAAa,WAAW,GAAxB,MAAa,WAAW;IAOtB,YAAY,IAAS;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AAVY,WAAW;IADvB,IAAA,mBAAM,EAAC,yBAAiB,CAAC;;GACb,WAAW,CAUvB;AAVY,kCAAW"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-dto.js","sourceRoot":"","sources":["../../src/dto/user-dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAChC,QAAA,aAAa,GAAG;IAC3B,OAAO,EAAE,yCAAyC;IAClD,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;QACzD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;KACzC;CACF,CAAC;AAGF,IAAa,OAAO,GAApB,MAAa,OAAO;IAKlB,YAAY,IAAS;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AARY,OAAO;IADnB,IAAA,mBAAM,EAAC,qBAAa,CAAC;;GACT,OAAO,CAQnB;AARY,0BAAO"}
|
|
File without changes
|
|
File without changes
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,+CAA6B;AAC7B,gDAA8B;AAC9B,6CAA2B;AAC3B,gEAA8C;AAC9C,+DAA6C;AAC7C,iDAA+B;AAC/B,+CAA6B"}
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middlewares.js","sourceRoot":"","sources":["../src/middlewares.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAsD;AACtD,oCAAqD;AACrD,4BAA0B;AAE1B,0DAAgD;AAChD,qDAAuC;AACvC,wCAAsE;AAGtE,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,uBAAgB;IAO3C,KAAK,CAAC,YAAY;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;SAClI;IACH,CAAC;IAEM,MAAM;QACX,OAAO,KAAK,EAAE,GAAa,EAAE,IAAsB,EAAE,IAA0B,EAAE,EAAE;YACjF,IAAI;gBACF,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;oBACpB,MAAM,IAAI,GAAmB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC7E,IAAI,IAAI,EAAE;wBACR,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACzD,IAAI,OAAO,EAAE;4BACX,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;4BACtD,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;yBAC/B;6BAAM;4BACL,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;yBACzB;qBACF;yBAAM;wBACL,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;qBACzB;iBACF;gBACD,IAAI,EAAE,CAAC;aACR;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,CAAC;aACX;QACH,CAAC,CAAC;IACJ,CAAC;IACM,KAAK;QACV,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AArCC;IADC,IAAA,sBAAM,EAAC,oBAAoB,CAAC;;qDACG;AAGhC;IADC,IAAA,eAAU,GAAE;8BACc,sBAAe;uDAAC;AALhC,cAAc;IAD1B,IAAA,eAAU,EAAC,uBAAgB,CAAC;GAChB,cAAc,CAuC1B;AAvCY,wCAAc"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../src/policies.ts"],"names":[],"mappings":";;;AACA,wCAAqF;AACrF,oDAAgD;AAChD,6CAAyD;AAEzD,oCAAiC;AAGjC,MAAa,UAAW,SAAQ,iBAAU;IAGxC;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,EAAE,GAAG,OAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAEM,SAAS,CAAC,OAAe,EAAE,SAAsB;QACtD,0BAA0B;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAa,EAAE,MAAc,EAAE,QAAqB;;QACvE,MAAM,UAAU,GAAoB,OAAO,CAAC,WAAW,CAAC,sCAAyB,EAAE,QAAQ,CAAC,CAAC;QAC7F,IAAI,UAAU,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,EAAE,CAAC;QAE7C,wCAAwC;QACxC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACxC,UAAU,GAAG,MAAA,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,mCAAI,EAAE,CAAC;SACpE;QAED,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YACzC,MAAM,IAAI,sBAAS,CAAC,2CAA2C,CAAC,CAAC;SAClE;QAED,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YACrC,MAAM,IAAI,sBAAS,CAAC,oCAAoC,CAAC,CAAC;SAC3D;QAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE;YACvE,MAAM,IAAI,sBAAS,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,6BAA6B,UAAU,iBAAiB,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpI;IACH,CAAC;CACF;AAnCD,gCAmCC;AAED,SAAgB,mBAAmB,CAAC,IAAuB,EAAE,QAAgB,EAAE,UAAkB;IAC/F,MAAM,EAAE,GAAG,OAAE,CAAC,GAAG,CAAgB,eAAe,CAAC,CAAC;IAClD,OAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAHD,kDAGC;AAED,SAAgB,mBAAmB,CAAC,IAAU,EAAE,QAAgB,EAAE,UAAkB;IAClF,MAAM,EAAE,GAAG,OAAE,CAAC,GAAG,CAAgB,eAAe,CAAC,CAAC;IAElD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IAED,OAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AARD,kDAQC;AAED,SAAgB,oBAAoB,CAAC,GAAa,EAAE,QAAgB,EAAE,UAAkB;IACtF,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACrE,CAAC;AAND,oDAMC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-args.js","sourceRoot":"","sources":["../src/route-args.ts"],"names":[],"mappings":";;;;;;;;;AAAA,wCAAsF;AACtF,oCAAyC;AAIzC,IAAa,OAAO,GAApB,MAAa,OAAQ,SAAQ,gBAAS;IACpC,IAAW,aAAa;QACtB,OAAO,oBAAa,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,MAAuB,EAAE,GAAY;QAC9E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;CACF,CAAA;AARY,OAAO;IADnB,IAAA,eAAU,GAAE;GACA,OAAO,CAQnB;AARY,0BAAO;AAWpB,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,gBAAS;IACvC,IAAI,aAAa;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAY;QAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAClH,CAAC;CACF,CAAA;AAPY,UAAU;IADtB,IAAA,eAAU,GAAE;GACA,UAAU,CAOtB;AAPY,gCAAU"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAgD;AAChD,oDAAuB;AACvB,oCAAyC;AASzC,IAAa,mBAAmB,GAAhC,MAAa,mBAAuB,SAAQ,sBAA6C;IACvF,IAAI,IAAI;QACN,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAEM,SAAS,CAAC,IAAiB,EAAE,QAAyB;QAC3D,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC7C;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC3B;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAdY,mBAAmB;IAD/B,IAAA,eAAU,GAAE;GACA,mBAAmB,CAc/B;AAdY,kDAAmB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spinajs/rbac-http",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.15",
|
|
4
4
|
"description": "HTTP API for user session & permissions",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"private": false,
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@spinajs/exceptions": "^2.0.12",
|
|
44
44
|
"@spinajs/log": "^2.0.14",
|
|
45
45
|
"@spinajs/orm": "^2.0.14",
|
|
46
|
-
"@spinajs/orm-http": "^2.0.
|
|
46
|
+
"@spinajs/orm-http": "^2.0.15",
|
|
47
47
|
"@spinajs/rbac": "^2.0.14",
|
|
48
48
|
"@spinajs/reflection": "^2.0.14",
|
|
49
49
|
"accesscontrol": "^2.2.1",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@spinajs/orm-sqlite": "^2.0.14"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "accb5cda01f335933f681eec75e32ca25fdb8dc7"
|
|
56
56
|
}
|
|
@@ -1,461 +0,0 @@
|
|
|
1
|
-
import * as express from 'express';
|
|
2
|
-
import { Constructor, AsyncModule } from '@spinajs/di';
|
|
3
|
-
import { Configuration } from '@spinajs/configuration';
|
|
4
|
-
/**
|
|
5
|
-
* Accept header enum
|
|
6
|
-
*/
|
|
7
|
-
export declare enum HttpAcceptHeaders {
|
|
8
|
-
/**
|
|
9
|
-
* Accept header for JSON
|
|
10
|
-
*/
|
|
11
|
-
JSON = 1,
|
|
12
|
-
/**
|
|
13
|
-
* Accept header for HTML
|
|
14
|
-
*/
|
|
15
|
-
HTML = 2,
|
|
16
|
-
/**
|
|
17
|
-
* Accept header for XML
|
|
18
|
-
*/
|
|
19
|
-
XML = 4,
|
|
20
|
-
/**
|
|
21
|
-
* Accept all accept headers shorcut
|
|
22
|
-
*/
|
|
23
|
-
ALL = 7
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Config options for static files
|
|
27
|
-
*/
|
|
28
|
-
export interface IHttpStaticFileConfiguration {
|
|
29
|
-
/**
|
|
30
|
-
* virtual prefix in url eg. http://localhost:3000/static/images/kitten.jpg
|
|
31
|
-
*/
|
|
32
|
-
Route: string;
|
|
33
|
-
/**
|
|
34
|
-
* full path to folder with static content
|
|
35
|
-
*/
|
|
36
|
-
Path: string;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Uploaded file fields
|
|
40
|
-
*/
|
|
41
|
-
export interface IUploadedFile {
|
|
42
|
-
Size: number;
|
|
43
|
-
Path: string;
|
|
44
|
-
Name: string;
|
|
45
|
-
Type: string;
|
|
46
|
-
LastModifiedDate?: Date;
|
|
47
|
-
Hash?: string;
|
|
48
|
-
}
|
|
49
|
-
export interface Request extends express.Request {
|
|
50
|
-
storage: IActionLocalStoregeContext;
|
|
51
|
-
}
|
|
52
|
-
export interface IActionLocalStoregeContext {
|
|
53
|
-
requestId: string;
|
|
54
|
-
responseStart: Date;
|
|
55
|
-
}
|
|
56
|
-
export declare abstract class ServerMiddleware extends AsyncModule {
|
|
57
|
-
Order: number;
|
|
58
|
-
abstract before(): (req: Request, res: express.Response, next: express.NextFunction) => void | null;
|
|
59
|
-
abstract after(): (req: Request, res: express.Response, next: express.NextFunction) => void | null;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* HTTP response statuses
|
|
63
|
-
*/
|
|
64
|
-
export declare enum HTTP_STATUS_CODE {
|
|
65
|
-
/**
|
|
66
|
-
* All ok with content
|
|
67
|
-
*/
|
|
68
|
-
OK = 200,
|
|
69
|
-
/**
|
|
70
|
-
* Request is OK and new resource has been created.
|
|
71
|
-
*/
|
|
72
|
-
CREATED = 201,
|
|
73
|
-
/**
|
|
74
|
-
* Request is accepted, but has not been completed yet.
|
|
75
|
-
*/
|
|
76
|
-
ACCEPTED = 202,
|
|
77
|
-
/**
|
|
78
|
-
* ALl is ok & no content to return
|
|
79
|
-
*/
|
|
80
|
-
NO_CONTENT = 204,
|
|
81
|
-
/**
|
|
82
|
-
* The server is delivering only part of the resource (byte serving) due to a range header
|
|
83
|
-
* sent by the client. The range header is used by HTTP clients to enable resuming of
|
|
84
|
-
* interrupted downloads, or split a download into multiple simultaneous streams.
|
|
85
|
-
*/
|
|
86
|
-
PARTIAL_CONTENT = 206,
|
|
87
|
-
/**
|
|
88
|
-
* Resource is not modified
|
|
89
|
-
*/
|
|
90
|
-
NOT_MODIFIED = 304,
|
|
91
|
-
/**
|
|
92
|
-
* Invalid request, eg. invalid parameters
|
|
93
|
-
*/
|
|
94
|
-
BAD_REQUEST = 400,
|
|
95
|
-
/**
|
|
96
|
-
* Auth required
|
|
97
|
-
*/
|
|
98
|
-
UNAUTHORIZED = 401,
|
|
99
|
-
/**
|
|
100
|
-
* No permission
|
|
101
|
-
*/
|
|
102
|
-
FORBIDDEN = 403,
|
|
103
|
-
/**
|
|
104
|
-
* Resource not found
|
|
105
|
-
*/
|
|
106
|
-
NOT_FOUND = 404,
|
|
107
|
-
/**
|
|
108
|
-
* Not acceptable request headers (Accept header)
|
|
109
|
-
*/
|
|
110
|
-
NOT_ACCEPTABLE = 406,
|
|
111
|
-
/**
|
|
112
|
-
* Method not allowed eg. DELETE not allowed on resource, or login second time
|
|
113
|
-
*/
|
|
114
|
-
NOT_ALLOWED = 405,
|
|
115
|
-
/**
|
|
116
|
-
* Conflict
|
|
117
|
-
*/
|
|
118
|
-
CONFLICT = 409,
|
|
119
|
-
/**
|
|
120
|
-
* Internal server error.
|
|
121
|
-
*/
|
|
122
|
-
INTERNAL_ERROR = 500,
|
|
123
|
-
/**
|
|
124
|
-
* Method not implemented
|
|
125
|
-
*/
|
|
126
|
-
NOT_IMPLEMENTED = 501
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Avaible route types, match HTTP methods
|
|
130
|
-
*/
|
|
131
|
-
export declare enum RouteType {
|
|
132
|
-
/**
|
|
133
|
-
* POST method - used to create new resource or send data to server
|
|
134
|
-
*/
|
|
135
|
-
POST = "post",
|
|
136
|
-
/**
|
|
137
|
-
* GET method - used to retrieve data from server
|
|
138
|
-
*/
|
|
139
|
-
GET = "get",
|
|
140
|
-
/**
|
|
141
|
-
* PUT method - used to updates resource
|
|
142
|
-
*/
|
|
143
|
-
PUT = "put",
|
|
144
|
-
/**
|
|
145
|
-
* DELETE method - used to delete resource
|
|
146
|
-
*/
|
|
147
|
-
DELETE = "delete",
|
|
148
|
-
/**
|
|
149
|
-
* PATCH method - used to partially update resource eg. one field
|
|
150
|
-
*/
|
|
151
|
-
PATCH = "patch",
|
|
152
|
-
/**
|
|
153
|
-
* HEAD method - same as get, but returns no data. usefull for checking if resource exists etc.
|
|
154
|
-
*/
|
|
155
|
-
HEAD = "head",
|
|
156
|
-
/**
|
|
157
|
-
* FILE method - spine special route type. Internall its simple GET method, but informs that specified route returns binary file
|
|
158
|
-
*/
|
|
159
|
-
FILE = "file",
|
|
160
|
-
UNKNOWN = "unknown"
|
|
161
|
-
}
|
|
162
|
-
export declare enum UuidVersion {
|
|
163
|
-
v1 = 0,
|
|
164
|
-
v3 = 1,
|
|
165
|
-
v4 = 2,
|
|
166
|
-
v5 = 3
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Avaible route parameters type
|
|
170
|
-
*/
|
|
171
|
-
export declare enum ParameterType {
|
|
172
|
-
/**
|
|
173
|
-
* Parameter is injected from DI container & resolved
|
|
174
|
-
*/
|
|
175
|
-
FromDi = "FromDi",
|
|
176
|
-
/**
|
|
177
|
-
* Parameter value is taken from query string eg. `?name=flavio`
|
|
178
|
-
*/
|
|
179
|
-
FromQuery = "FromQuery",
|
|
180
|
-
/**
|
|
181
|
-
* From message body, eg. POST json object
|
|
182
|
-
*/
|
|
183
|
-
FromBody = "FromBody",
|
|
184
|
-
/**
|
|
185
|
-
* From url params eg: `/:id`
|
|
186
|
-
*/
|
|
187
|
-
FromParams = "FromParams",
|
|
188
|
-
/**
|
|
189
|
-
* From form file field
|
|
190
|
-
*/
|
|
191
|
-
FromFile = "FromFile",
|
|
192
|
-
/**
|
|
193
|
-
* From form
|
|
194
|
-
*/
|
|
195
|
-
FromForm = "FromForm",
|
|
196
|
-
/**
|
|
197
|
-
* From cvs file
|
|
198
|
-
*/
|
|
199
|
-
FromCSV = "FromCSV",
|
|
200
|
-
/**
|
|
201
|
-
* From JSON file
|
|
202
|
-
*/
|
|
203
|
-
FromJSONFile = "FromJSONFile",
|
|
204
|
-
/**
|
|
205
|
-
* From form field
|
|
206
|
-
*/
|
|
207
|
-
FormField = "FromFormField",
|
|
208
|
-
/**
|
|
209
|
-
* From model object
|
|
210
|
-
*/
|
|
211
|
-
FromModel = "FromModel",
|
|
212
|
-
/**
|
|
213
|
-
* Data from coockie
|
|
214
|
-
*/
|
|
215
|
-
FromCookie = "FromCookie",
|
|
216
|
-
/**
|
|
217
|
-
* From http header
|
|
218
|
-
*/
|
|
219
|
-
FromHeader = "FromHeader",
|
|
220
|
-
/**
|
|
221
|
-
* Req from express
|
|
222
|
-
*/
|
|
223
|
-
Req = "ArgAsRequest",
|
|
224
|
-
Res = "ArgAsResponse",
|
|
225
|
-
/**
|
|
226
|
-
* Other custom arguments
|
|
227
|
-
*/
|
|
228
|
-
Other = "Other"
|
|
229
|
-
}
|
|
230
|
-
export interface IFormOptions {
|
|
231
|
-
multiples: boolean;
|
|
232
|
-
}
|
|
233
|
-
export interface IFormOptions {
|
|
234
|
-
/**
|
|
235
|
-
* default 1000; limit the number of fields that the Querystring parser will decode, set 0 for unlimited
|
|
236
|
-
*/
|
|
237
|
-
maxFields?: number;
|
|
238
|
-
/**
|
|
239
|
-
* default 20 * 1024 * 1024 (20mb); limit the amount of memory all fields together (except files) can allocate in bytes.
|
|
240
|
-
*/
|
|
241
|
-
maxFieldsSize?: number;
|
|
242
|
-
/**
|
|
243
|
-
* default 'utf-8'; sets encoding for incoming form fields,
|
|
244
|
-
*/
|
|
245
|
-
encoding?: string;
|
|
246
|
-
}
|
|
247
|
-
export interface IUploadOptions {
|
|
248
|
-
/**
|
|
249
|
-
* default false; include checksums calculated for incoming files, set this to some hash algorithm, see crypto.createHash for available algorithms
|
|
250
|
-
*/
|
|
251
|
-
hash?: false;
|
|
252
|
-
/**
|
|
253
|
-
* default os.tmpdir(); the directory for placing file uploads in. You can move them later by using fs.rename()
|
|
254
|
-
*/
|
|
255
|
-
uploadDir?: string | ((cfg: Configuration) => string);
|
|
256
|
-
/**
|
|
257
|
-
* default false; when you call the .parse method, the files argument (of the callback) will contain arrays of files for inputs which submit multiple files using the HTML5 multiple attribute. Also, the fields argument will contain arrays of values for fields that have names ending with '[]'.
|
|
258
|
-
*/
|
|
259
|
-
multiples?: boolean;
|
|
260
|
-
enabledPlugins?: string[];
|
|
261
|
-
/**
|
|
262
|
-
* default 200 * 1024 * 1024 (200mb); limit the size of uploaded file.
|
|
263
|
-
*/
|
|
264
|
-
maxFileSize?: number;
|
|
265
|
-
/**
|
|
266
|
-
* default false; to include the extensions of the original files or not
|
|
267
|
-
*/
|
|
268
|
-
keepExtensions?: boolean;
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Describes parameters passed to route.
|
|
272
|
-
*/
|
|
273
|
-
export interface IRouteParameter {
|
|
274
|
-
/**
|
|
275
|
-
* Parameter index in function args
|
|
276
|
-
*/
|
|
277
|
-
Index: number;
|
|
278
|
-
/**
|
|
279
|
-
* Is value taken from query string, url params or message body
|
|
280
|
-
*/
|
|
281
|
-
Type: ParameterType | string;
|
|
282
|
-
/**
|
|
283
|
-
* Schema for validation parameter ( raw value eg. to check if matches string / number constrain)
|
|
284
|
-
*/
|
|
285
|
-
RouteParamSchema?: any;
|
|
286
|
-
/**
|
|
287
|
-
* Schema for paramater
|
|
288
|
-
*/
|
|
289
|
-
Schema?: any;
|
|
290
|
-
/**
|
|
291
|
-
* Additional options
|
|
292
|
-
*/
|
|
293
|
-
Options?: any;
|
|
294
|
-
/**
|
|
295
|
-
* Parameter runtime type eg. number or class
|
|
296
|
-
*/
|
|
297
|
-
RuntimeType: any;
|
|
298
|
-
/**
|
|
299
|
-
* Name of parameter eg. `id`
|
|
300
|
-
*/
|
|
301
|
-
Name: string;
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* Route action call spefici data. Used to pass data / arguments when parsing
|
|
305
|
-
* action parameters for specific call. Eg. to parse form data, and extract it
|
|
306
|
-
* as different arguments.
|
|
307
|
-
*/
|
|
308
|
-
export interface IRouteCall {
|
|
309
|
-
Payload: any;
|
|
310
|
-
}
|
|
311
|
-
export interface ICookieOptions {
|
|
312
|
-
maxAge?: number | undefined;
|
|
313
|
-
signed?: boolean | undefined;
|
|
314
|
-
expires?: Date | undefined;
|
|
315
|
-
httpOnly?: boolean | undefined;
|
|
316
|
-
path?: string | undefined;
|
|
317
|
-
domain?: string | undefined;
|
|
318
|
-
secure?: boolean | undefined;
|
|
319
|
-
sameSite?: boolean | 'lax' | 'strict' | 'none' | undefined;
|
|
320
|
-
}
|
|
321
|
-
export interface IRoute {
|
|
322
|
-
/**
|
|
323
|
-
* url path eg. /foo/bar/:id
|
|
324
|
-
*/
|
|
325
|
-
Path: string;
|
|
326
|
-
/**
|
|
327
|
-
* HTTP request method, used internally. Not visible to others.
|
|
328
|
-
*/
|
|
329
|
-
InternalType: RouteType;
|
|
330
|
-
/**
|
|
331
|
-
* SPINAJS API method type, mostly same as HTTP type, but can be non standard type eg. FILE
|
|
332
|
-
* This type is visible outside in api discovery.
|
|
333
|
-
*/
|
|
334
|
-
Type: RouteType;
|
|
335
|
-
/**
|
|
336
|
-
* Method name assigned to this route eg. `findUsers`
|
|
337
|
-
*/
|
|
338
|
-
Method: string;
|
|
339
|
-
/**
|
|
340
|
-
* Custom route parameters taken from query string or message body
|
|
341
|
-
*/
|
|
342
|
-
Parameters: Map<number, IRouteParameter>;
|
|
343
|
-
/**
|
|
344
|
-
* Assigned middlewares to route
|
|
345
|
-
*/
|
|
346
|
-
Middlewares: IMiddlewareDescriptor[];
|
|
347
|
-
/**
|
|
348
|
-
* Assigned policies to route
|
|
349
|
-
*/
|
|
350
|
-
Policies: IPolicyDescriptor[];
|
|
351
|
-
/**
|
|
352
|
-
* Additional route options eg. file size etc.
|
|
353
|
-
*/
|
|
354
|
-
Options: any;
|
|
355
|
-
Schema: any;
|
|
356
|
-
}
|
|
357
|
-
export interface IMiddlewareDescriptor {
|
|
358
|
-
Type: Constructor<BaseMiddleware>;
|
|
359
|
-
Options: any[];
|
|
360
|
-
}
|
|
361
|
-
export interface IController {
|
|
362
|
-
/**
|
|
363
|
-
* Express router with middleware stack
|
|
364
|
-
*/
|
|
365
|
-
Router: express.Router;
|
|
366
|
-
/**
|
|
367
|
-
* Controller descriptor
|
|
368
|
-
*/
|
|
369
|
-
Descriptor: IControllerDescriptor;
|
|
370
|
-
/**
|
|
371
|
-
* Base path for all controller routes eg. my/custom/path/
|
|
372
|
-
*
|
|
373
|
-
* It can be defined via `@BasePath` decorator, defaults to controller name without `Controller` part.
|
|
374
|
-
*/
|
|
375
|
-
BasePath: string;
|
|
376
|
-
}
|
|
377
|
-
/**
|
|
378
|
-
* Middlewares are classes that can change request object or perform specific task before & after route execution
|
|
379
|
-
* eg. route parameter logging / headers check etc.
|
|
380
|
-
*/
|
|
381
|
-
export declare abstract class BaseMiddleware {
|
|
382
|
-
/**
|
|
383
|
-
* Inform, if middleware is enabled for given action
|
|
384
|
-
*/
|
|
385
|
-
abstract isEnabled(action: IRoute, instance: IController): boolean;
|
|
386
|
-
/**
|
|
387
|
-
* Called before action in middleware stack eg. to modify req or resp objects.
|
|
388
|
-
*/
|
|
389
|
-
abstract onBeforeAction(req: express.Request): Promise<void>;
|
|
390
|
-
/**
|
|
391
|
-
* Called after action in middleware stack eg. to modify response
|
|
392
|
-
*/
|
|
393
|
-
abstract onAfterAction(req: express.Request): Promise<void>;
|
|
394
|
-
}
|
|
395
|
-
/**
|
|
396
|
-
* Descriptor for policies eg. attached routes, passed options eg. token etc.
|
|
397
|
-
*/
|
|
398
|
-
export interface IPolicyDescriptor {
|
|
399
|
-
Type: Constructor<BasePolicy>;
|
|
400
|
-
Options: any[];
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Base class for policies.
|
|
404
|
-
*
|
|
405
|
-
* Policies checks if route can be executed eg. user have proper role
|
|
406
|
-
*/
|
|
407
|
-
export declare abstract class BasePolicy {
|
|
408
|
-
/**
|
|
409
|
-
* Checks if policy is enabled for given action & controlle eg. user session exists
|
|
410
|
-
*
|
|
411
|
-
* @param action action that is executed ( route info )
|
|
412
|
-
* @param instance controller instance
|
|
413
|
-
*/
|
|
414
|
-
abstract isEnabled(action: IRoute, instance: IController): boolean;
|
|
415
|
-
/**
|
|
416
|
-
*
|
|
417
|
-
* Executes policy, when throws exception - route is not executed
|
|
418
|
-
*
|
|
419
|
-
* @param req express request object
|
|
420
|
-
*/
|
|
421
|
-
abstract execute(req: Request, action: IRoute, instance: IController): Promise<void>;
|
|
422
|
-
}
|
|
423
|
-
/**
|
|
424
|
-
* Descriptor for controller
|
|
425
|
-
*/
|
|
426
|
-
export interface IControllerDescriptor {
|
|
427
|
-
/**
|
|
428
|
-
* Controller routes
|
|
429
|
-
*/
|
|
430
|
-
Routes: Map<string | symbol, IRoute>;
|
|
431
|
-
/**
|
|
432
|
-
* Controller - wise middlewares
|
|
433
|
-
*/
|
|
434
|
-
Middlewares: IMiddlewareDescriptor[];
|
|
435
|
-
/**
|
|
436
|
-
* Controller - wise policies
|
|
437
|
-
*/
|
|
438
|
-
Policies: IPolicyDescriptor[];
|
|
439
|
-
/**
|
|
440
|
-
* Base url path for controller ( added for all child url's)
|
|
441
|
-
*/
|
|
442
|
-
BasePath: string;
|
|
443
|
-
}
|
|
444
|
-
/**
|
|
445
|
-
* Base class for data transformers.
|
|
446
|
-
*
|
|
447
|
-
* Data formatter helps transforms data for desired format.
|
|
448
|
-
* Eg. we have API function that returns some data, but we want
|
|
449
|
-
* to easily transform data for some client
|
|
450
|
-
* eg. plain array to format that datatables.net can easily read
|
|
451
|
-
*/
|
|
452
|
-
export declare abstract class DataTransformer<T = any, U = any> {
|
|
453
|
-
/**
|
|
454
|
-
* Transforms data from one format to another
|
|
455
|
-
*
|
|
456
|
-
* @param data - input data
|
|
457
|
-
*/
|
|
458
|
-
abstract transform(data: T, request: express.Request): U;
|
|
459
|
-
abstract get Type(): string;
|
|
460
|
-
}
|
|
461
|
-
export declare type RouteCallback = (req: express.Request, res: express.Response, next: express.NextFunction) => (req: express.Request, res: express.Response) => void;
|