@boarteam/boar-pack-users-backend 8.0.0 → 8.1.1

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 (205) hide show
  1. package/dist/audit-logs/audit-logs.controller.js +2 -0
  2. package/dist/audit-logs/audit-logs.controller.js.map +1 -1
  3. package/dist/audit-logs/entities/audit-log.entity.js +4 -0
  4. package/dist/audit-logs/entities/audit-log.entity.js.map +1 -1
  5. package/dist/auth/auth-manage.controller.js +2 -0
  6. package/dist/auth/auth-manage.controller.js.map +1 -1
  7. package/dist/auth/auth.controller.js +4 -0
  8. package/dist/auth/auth.controller.js.map +1 -1
  9. package/dist/auth/google/google-auth.controller.js +3 -0
  10. package/dist/auth/google/google-auth.controller.js.map +1 -1
  11. package/dist/auth/local-auth/local-auth.controller.js +2 -0
  12. package/dist/auth/local-auth/local-auth.controller.js.map +1 -1
  13. package/dist/auth/local-auth/local-auth.dto.js +7 -0
  14. package/dist/auth/local-auth/local-auth.dto.js.map +1 -1
  15. package/dist/auth/microsoft/ms-auth.controller.js +3 -0
  16. package/dist/auth/microsoft/ms-auth.controller.js.map +1 -1
  17. package/dist/auth/yandex/yandex-auth.controller.js +3 -0
  18. package/dist/auth/yandex/yandex-auth.controller.js.map +1 -1
  19. package/dist/event-logs/dto/event-log-create.dto.js +4 -0
  20. package/dist/event-logs/dto/event-log-create.dto.js.map +1 -1
  21. package/dist/event-logs/dto/event-log-timeline-query.dto.js +4 -0
  22. package/dist/event-logs/dto/event-log-timeline-query.dto.js.map +1 -1
  23. package/dist/event-logs/dto/event-log-timeline.dto.js +4 -0
  24. package/dist/event-logs/dto/event-log-timeline.dto.js.map +1 -1
  25. package/dist/event-logs/dto/event-log-update.dto.js +4 -0
  26. package/dist/event-logs/dto/event-log-update.dto.js.map +1 -1
  27. package/dist/event-logs/entities/event-log.entity.js +4 -0
  28. package/dist/event-logs/entities/event-log.entity.js.map +1 -1
  29. package/dist/event-logs/event-logs.controller.js +3 -0
  30. package/dist/event-logs/event-logs.controller.js.map +1 -1
  31. package/dist/event-logs/event-logs.logger.d.ts +2 -2
  32. package/dist/event-logs/event-logs.logger.js +2 -2
  33. package/dist/event-logs/event-logs.logger.js.map +1 -1
  34. package/dist/revoked-tokens/entities/revoked-token.entity.js +4 -0
  35. package/dist/revoked-tokens/entities/revoked-token.entity.js.map +1 -1
  36. package/dist/settings/dto/event-settings.dto.js +4 -0
  37. package/dist/settings/dto/event-settings.dto.js.map +1 -1
  38. package/dist/settings/entities/setting.entity.js +4 -0
  39. package/dist/settings/entities/setting.entity.js.map +1 -1
  40. package/dist/settings/settings.controller.js +3 -0
  41. package/dist/settings/settings.controller.js.map +1 -1
  42. package/dist/telegraf/dto/telegram-settings-update.dto.js +4 -0
  43. package/dist/telegraf/dto/telegram-settings-update.dto.js.map +1 -1
  44. package/dist/telegraf/dto/telegram-settings.dto.js +4 -0
  45. package/dist/telegraf/dto/telegram-settings.dto.js.map +1 -1
  46. package/dist/telegraf/telegraf.controller.js +4 -0
  47. package/dist/telegraf/telegraf.controller.js.map +1 -1
  48. package/dist/tokens/dto/token-create.dto.js +4 -0
  49. package/dist/tokens/dto/token-create.dto.js.map +1 -1
  50. package/dist/tokens/dto/token-update.dto.js +4 -0
  51. package/dist/tokens/dto/token-update.dto.js.map +1 -1
  52. package/dist/tokens/dto/token-with-value.dto.js +4 -0
  53. package/dist/tokens/dto/token-with-value.dto.js.map +1 -1
  54. package/dist/tokens/entities/token.entity.js +4 -0
  55. package/dist/tokens/entities/token.entity.js.map +1 -1
  56. package/dist/tokens/my-tokens.controller.js +2 -0
  57. package/dist/tokens/my-tokens.controller.js.map +1 -1
  58. package/dist/tokens/tokens.controller.js +1 -0
  59. package/dist/tokens/tokens.controller.js.map +1 -1
  60. package/dist/tsconfig.build.tsbuildinfo +1 -1
  61. package/dist/users/dto/permission.dto.js +4 -0
  62. package/dist/users/dto/permission.dto.js.map +1 -1
  63. package/dist/users/dto/user-create.dto.js +4 -0
  64. package/dist/users/dto/user-create.dto.js.map +1 -1
  65. package/dist/users/dto/user-update.dto.js +4 -0
  66. package/dist/users/dto/user-update.dto.js.map +1 -1
  67. package/dist/users/entities/user.entity.js +4 -0
  68. package/dist/users/entities/user.entity.js.map +1 -1
  69. package/dist/users/me.controller.js +2 -0
  70. package/dist/users/me.controller.js.map +1 -1
  71. package/dist/users/users.controller.js +1 -0
  72. package/dist/users/users.controller.js.map +1 -1
  73. package/dist/ws-auth/ws-auth.guard.js +2 -2
  74. package/dist/ws-auth/ws-auth.guard.js.map +1 -1
  75. package/package.json +5 -5
  76. package/src/audit-logs/audit-log-base-service.ts +0 -169
  77. package/src/audit-logs/audit-logs.controller.ts +0 -74
  78. package/src/audit-logs/audit-logs.module.ts +0 -49
  79. package/src/audit-logs/audit-logs.permissions.ts +0 -4
  80. package/src/audit-logs/audit-logs.service.ts +0 -14
  81. package/src/audit-logs/audit-logs.types.ts +0 -9
  82. package/src/audit-logs/entities/audit-log.entity.ts +0 -46
  83. package/src/audit-logs/policies/view-audit-logs.policy.ts +0 -8
  84. package/src/auth/auth-manage.controller.ts +0 -35
  85. package/src/auth/auth-strategies.constants.ts +0 -7
  86. package/src/auth/auth.config.ts +0 -20
  87. package/src/auth/auth.constants.ts +0 -2
  88. package/src/auth/auth.controller.ts +0 -54
  89. package/src/auth/auth.exception-filter.ts +0 -15
  90. package/src/auth/auth.module.ts +0 -118
  91. package/src/auth/auth.service.ts +0 -122
  92. package/src/auth/google/google-auth.config.ts +0 -26
  93. package/src/auth/google/google-auth.controller.ts +0 -39
  94. package/src/auth/google/google-auth.guard.ts +0 -6
  95. package/src/auth/google/google-auth.strategy.ts +0 -59
  96. package/src/auth/index.ts +0 -15
  97. package/src/auth/local-auth/local-auth.controller.ts +0 -37
  98. package/src/auth/local-auth/local-auth.dto.ts +0 -17
  99. package/src/auth/local-auth/local-auth.guard.ts +0 -6
  100. package/src/auth/local-auth/local-auth.strategy.ts +0 -21
  101. package/src/auth/microsoft/ms-auth.config.ts +0 -29
  102. package/src/auth/microsoft/ms-auth.controller.ts +0 -40
  103. package/src/auth/microsoft/ms-auth.guard.ts +0 -8
  104. package/src/auth/microsoft/ms-auth.strategy.ts +0 -63
  105. package/src/auth/yandex/yandex-auth.config.ts +0 -26
  106. package/src/auth/yandex/yandex-auth.controller.ts +0 -39
  107. package/src/auth/yandex/yandex-auth.guard.ts +0 -6
  108. package/src/auth/yandex/yandex-auth.strategy.ts +0 -59
  109. package/src/bcrypt/bcrypt.config.ts +0 -27
  110. package/src/bcrypt/bcrypt.module.ts +0 -19
  111. package/src/bcrypt/bcrypt.service.ts +0 -24
  112. package/src/bcrypt/index.ts +0 -3
  113. package/src/casl/action.enum.ts +0 -7
  114. package/src/casl/casl-ability.factory.ts +0 -130
  115. package/src/casl/casl.module.ts +0 -31
  116. package/src/casl/fields-permission.interceptor.ts +0 -58
  117. package/src/casl/index.ts +0 -5
  118. package/src/casl/policies/manage-all.policy.ts +0 -9
  119. package/src/casl/policies.guard.ts +0 -80
  120. package/src/event-logs/dto/event-log-create.dto.ts +0 -47
  121. package/src/event-logs/dto/event-log-timeline-query.dto.ts +0 -13
  122. package/src/event-logs/dto/event-log-timeline.dto.ts +0 -9
  123. package/src/event-logs/dto/event-log-update.dto.ts +0 -47
  124. package/src/event-logs/entities/event-log.entity.ts +0 -140
  125. package/src/event-logs/event-logs.constants.ts +0 -2
  126. package/src/event-logs/event-logs.controller.ts +0 -80
  127. package/src/event-logs/event-logs.interceptor.ts +0 -75
  128. package/src/event-logs/event-logs.logger.ts +0 -48
  129. package/src/event-logs/event-logs.middleware.ts +0 -58
  130. package/src/event-logs/event-logs.module.ts +0 -131
  131. package/src/event-logs/event-logs.permissions.ts +0 -4
  132. package/src/event-logs/event-logs.service.ts +0 -236
  133. package/src/event-logs/event-logs.types.ts +0 -4
  134. package/src/event-logs/index.ts +0 -10
  135. package/src/event-logs/policies/manage-event-logs.policy.ts +0 -8
  136. package/src/event-logs/policies/view-event-logs.policy.ts +0 -8
  137. package/src/generateTypes.ts +0 -94
  138. package/src/index.ts +0 -10
  139. package/src/jwt-auth/index.ts +0 -5
  140. package/src/jwt-auth/jwt-auth.config.ts +0 -27
  141. package/src/jwt-auth/jwt-auth.guard.ts +0 -26
  142. package/src/jwt-auth/jwt-auth.module.ts +0 -64
  143. package/src/jwt-auth/jwt-auth.refresh.guard.ts +0 -7
  144. package/src/jwt-auth/jwt-auth.refresh.srtategy.ts +0 -85
  145. package/src/jwt-auth/jwt-auth.service.ts +0 -59
  146. package/src/jwt-auth/jwt-auth.srtategy.ts +0 -83
  147. package/src/revoked-tokens/entities/revoked-token.entity.ts +0 -50
  148. package/src/revoked-tokens/index.ts +0 -3
  149. package/src/revoked-tokens/revoked-tokens.module.ts +0 -29
  150. package/src/revoked-tokens/revoked-tokens.service.ts +0 -88
  151. package/src/settings/dto/event-settings.dto.ts +0 -3
  152. package/src/settings/entities/setting.entity.ts +0 -19
  153. package/src/settings/index.ts +0 -5
  154. package/src/settings/policies/manage-settings.policy.ts +0 -8
  155. package/src/settings/settings.constants.ts +0 -9
  156. package/src/settings/settings.controller.ts +0 -32
  157. package/src/settings/settings.module.ts +0 -46
  158. package/src/settings/settings.permissions.ts +0 -3
  159. package/src/settings/settings.service.ts +0 -51
  160. package/src/telegraf/dto/telegram-settings-update.dto.ts +0 -13
  161. package/src/telegraf/dto/telegram-settings.dto.ts +0 -5
  162. package/src/telegraf/index.ts +0 -3
  163. package/src/telegraf/telegraf.constants.ts +0 -5
  164. package/src/telegraf/telegraf.controller.ts +0 -40
  165. package/src/telegraf/telegraf.module.ts +0 -28
  166. package/src/telegraf/telegraf.service.ts +0 -110
  167. package/src/tokens/dto/token-create.dto.ts +0 -7
  168. package/src/tokens/dto/token-update.dto.ts +0 -7
  169. package/src/tokens/dto/token-with-value.dto.ts +0 -8
  170. package/src/tokens/entities/token.entity.ts +0 -26
  171. package/src/tokens/index.ts +0 -2
  172. package/src/tokens/my-tokens.controller.ts +0 -82
  173. package/src/tokens/policies/manage-my-tokens.policy.ts +0 -9
  174. package/src/tokens/policies/manage-tokens.policy.ts +0 -8
  175. package/src/tokens/policies/view-tokens.policy.ts +0 -8
  176. package/src/tokens/tokens-auth.guard.ts +0 -7
  177. package/src/tokens/tokens-auth.strategy.ts +0 -48
  178. package/src/tokens/tokens.constants.ts +0 -1
  179. package/src/tokens/tokens.controller.ts +0 -45
  180. package/src/tokens/tokens.module.ts +0 -86
  181. package/src/tokens/tokens.permissions.ts +0 -5
  182. package/src/tokens/tokens.service.ts +0 -14
  183. package/src/users/dto/permission.dto.ts +0 -5
  184. package/src/users/dto/user-create.dto.ts +0 -37
  185. package/src/users/dto/user-update.dto.ts +0 -37
  186. package/src/users/entities/permissions.ts +0 -23
  187. package/src/users/entities/user.entity.ts +0 -67
  188. package/src/users/hash-password.interceptor.ts +0 -22
  189. package/src/users/index.ts +0 -13
  190. package/src/users/me.controller.ts +0 -63
  191. package/src/users/policies/manage-users.policy.ts +0 -10
  192. package/src/users/policies/view-users.policy.ts +0 -10
  193. package/src/users/users-editing.guard.ts +0 -85
  194. package/src/users/users.config.ts +0 -27
  195. package/src/users/users.constants.ts +0 -1
  196. package/src/users/users.controller.ts +0 -85
  197. package/src/users/users.module.ts +0 -81
  198. package/src/users/users.service.ts +0 -23
  199. package/src/ws-auth/index.ts +0 -3
  200. package/src/ws-auth/ws-auth.constants.ts +0 -2
  201. package/src/ws-auth/ws-auth.d2 +0 -14
  202. package/src/ws-auth/ws-auth.gateway.ts +0 -25
  203. package/src/ws-auth/ws-auth.guard.ts +0 -28
  204. package/src/ws-auth/ws-auth.module.ts +0 -36
  205. package/src/ws-auth/ws-auth.service.ts +0 -108
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PermissionDto = void 0;
4
+ const openapi = require("@nestjs/swagger");
4
5
  class PermissionDto {
6
+ static _OPENAPI_METADATA_FACTORY() {
7
+ return { permissions: { required: true, type: () => [String] } };
8
+ }
5
9
  }
6
10
  exports.PermissionDto = PermissionDto;
7
11
  //# sourceMappingURL=permission.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permission.dto.js","sourceRoot":"","sources":["../../../src/users/dto/permission.dto.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;CAEzB;AAFD,sCAEC"}
1
+ {"version":3,"file":"permission.dto.js","sourceRoot":"","sources":["../../../src/users/dto/permission.dto.ts"],"names":[],"mappings":";;;;AAEA,MAAa,aAAa;;;;CAEzB;AAFD,sCAEC"}
@@ -13,11 +13,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.UserCreateDto = void 0;
16
+ const openapi = require("@nestjs/swagger");
16
17
  const joi_1 = __importDefault(require("joi"));
17
18
  const nestjs_joi_1 = require("nestjs-joi");
18
19
  const user_entity_1 = require("../entities/user.entity");
19
20
  const permissions_1 = require("../entities/permissions");
20
21
  class UserCreateDto {
22
+ static _OPENAPI_METADATA_FACTORY() {
23
+ return { name: { required: true, type: () => String }, email: { required: true, type: () => String }, role: { required: false, enum: require("../entities/user.entity").Roles }, pass: { required: false, type: () => String, nullable: true }, permissions: { required: false, type: () => [String] } };
24
+ }
21
25
  }
22
26
  exports.UserCreateDto = UserCreateDto;
23
27
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"user-create.dto.js","sourceRoot":"","sources":["../../../src/users/dto/user-create.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8CAAsB;AACtB,2CAAuC;AACvC,yDAAgD;AAChD,yDAAkE;AAElE,MAAa,aAAa;CA+BzB;AA/BD,sCA+BC;AA7BC;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;;2CACtB;AAGb;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;;4CAChD;AAOd;IALC,IAAA,sBAAS,EACR,aAAG,CAAC,MAAM,EAAE;SACT,QAAQ,EAAE;SACV,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAK,CAAC,CAAC,CAClC;;2CACY;AAGb;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;2CAC1B;AAerB;IAbC,IAAA,sBAAS,EACR,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CACf,aAAG,CAAC,MAAM,EAAE,CACb,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAe,EAAE,OAAO,EAAE,EAAE;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC3B,IAAI,CAAC,yBAAW,CAAC,iBAAiB,CAAC,UAAwB,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH;;kDAC0B"}
1
+ {"version":3,"file":"user-create.dto.js","sourceRoot":"","sources":["../../../src/users/dto/user-create.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAsB;AACtB,2CAAuC;AACvC,yDAAgD;AAChD,yDAAkE;AAElE,MAAa,aAAa;;;;CA+BzB;AA/BD,sCA+BC;AA7BC;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;;2CACtB;AAGb;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;;4CAChD;AAOd;IALC,IAAA,sBAAS,EACR,aAAG,CAAC,MAAM,EAAE;SACT,QAAQ,EAAE;SACV,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAK,CAAC,CAAC,CAClC;;2CACY;AAGb;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;2CAC1B;AAerB;IAbC,IAAA,sBAAS,EACR,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CACf,aAAG,CAAC,MAAM,EAAE,CACb,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAe,EAAE,OAAO,EAAE,EAAE;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC3B,IAAI,CAAC,yBAAW,CAAC,iBAAiB,CAAC,UAAwB,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH;;kDAC0B"}
@@ -13,11 +13,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.UserUpdateDto = void 0;
16
+ const openapi = require("@nestjs/swagger");
16
17
  const joi_1 = __importDefault(require("joi"));
17
18
  const nestjs_joi_1 = require("nestjs-joi");
18
19
  const user_entity_1 = require("../entities/user.entity");
19
20
  const permissions_1 = require("../entities/permissions");
20
21
  class UserUpdateDto {
22
+ static _OPENAPI_METADATA_FACTORY() {
23
+ return { name: { required: false, type: () => String }, email: { required: false, type: () => String }, role: { required: false, enum: require("../entities/user.entity").Roles }, pass: { required: false, type: () => String, nullable: true }, permissions: { required: false, type: () => [String] } };
24
+ }
21
25
  }
22
26
  exports.UserUpdateDto = UserUpdateDto;
23
27
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"user-update.dto.js","sourceRoot":"","sources":["../../../src/users/dto/user-update.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8CAAsB;AACtB,2CAAuC;AACvC,yDAAgD;AAChD,yDAAkE;AAElE,MAAa,aAAa;CA+BzB;AA/BD,sCA+BC;AA7BC;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;;2CACrB;AAGd;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;;4CAC/C;AAOf;IALC,IAAA,sBAAS,EACR,aAAG,CAAC,MAAM,EAAE;SACT,QAAQ,EAAE;SACV,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAK,CAAC,CAAC,CAClC;;2CACY;AAGb;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;2CAC1B;AAerB;IAbC,IAAA,sBAAS,EACR,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CACf,aAAG,CAAC,MAAM,EAAE,CACb,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,KAAe,EAAE,OAAO,EAAE,EAAE;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC3B,IAAI,CAAC,yBAAW,CAAC,iBAAiB,CAAC,UAAwB,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH;;kDAC0B"}
1
+ {"version":3,"file":"user-update.dto.js","sourceRoot":"","sources":["../../../src/users/dto/user-update.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAsB;AACtB,2CAAuC;AACvC,yDAAgD;AAChD,yDAAkE;AAElE,MAAa,aAAa;;;;CA+BzB;AA/BD,sCA+BC;AA7BC;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;;2CACrB;AAGd;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;;4CAC/C;AAOf;IALC,IAAA,sBAAS,EACR,aAAG,CAAC,MAAM,EAAE;SACT,QAAQ,EAAE;SACV,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAK,CAAC,CAAC,CAClC;;2CACY;AAGb;IADC,IAAA,sBAAS,EAAC,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;2CAC1B;AAerB;IAbC,IAAA,sBAAS,EACR,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CACf,aAAG,CAAC,MAAM,EAAE,CACb,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,KAAe,EAAE,OAAO,EAAE,EAAE;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC3B,IAAI,CAAC,yBAAW,CAAC,iBAAiB,CAAC,UAAwB,CAAC,EAAE,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH;;kDAC0B"}
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.User = exports.EMAIL_UNIQUE_CONSTRAINT = exports.Roles = void 0;
13
+ const openapi = require("@nestjs/swagger");
13
14
  const typeorm_1 = require("typeorm");
14
15
  var Roles;
15
16
  (function (Roles) {
@@ -18,6 +19,9 @@ var Roles;
18
19
  })(Roles || (exports.Roles = Roles = {}));
19
20
  exports.EMAIL_UNIQUE_CONSTRAINT = 'UQ_users_email';
20
21
  let User = class User {
22
+ static _OPENAPI_METADATA_FACTORY() {
23
+ return { id: { required: true, type: () => String }, name: { required: true, type: () => String }, email: { required: true, type: () => String }, role: { required: true, enum: require("./user.entity").Roles }, pass: { required: true, type: () => String, nullable: true }, permissions: { required: true, type: () => [String] }, createdAt: { required: true, type: () => Date }, updatedAt: { required: true, type: () => Date }, deletedAt: { required: true, type: () => Date, nullable: true }, policies: { required: true, type: () => [Object] }, experimentalFeatures: { required: true, type: () => [String] } };
24
+ }
21
25
  };
22
26
  exports.User = User;
23
27
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/users/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAQiB;AAMjB,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,wBAAe,CAAA;IACf,sBAAa,CAAA;AACf,CAAC,EAHW,KAAK,qBAAL,KAAK,QAGhB;AAEY,QAAA,uBAAuB,GAAG,gBAAgB,CAAC;AASjD,IAAM,IAAI,GAAV,MAAM,IAAI;CAsChB,CAAA;AAtCY,oBAAI;AAEf;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;gCACpB;AAGX;IADC,IAAA,gBAAM,GAAE;;kCACI;AAGb;IADC,IAAA,gBAAM,GAAE;;mCACK;AAMd;IAJC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK,CAAC,IAAI;KACpB,CAAC;;kCACU;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kCACxB;AAOpB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,EAAE;KACZ,CAAC;;yCACwB;AAG1B;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACnD,IAAI;uCAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACnD,IAAI;uCAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACvD;eAjCZ,IAAI;IAFhB,IAAA,gBAAM,EAAC,OAAO,CAAC;IACf,IAAA,gBAAM,EAAC,+BAAuB,EAAE,CAAC,OAAO,CAAC,CAAC;GAC9B,IAAI,CAsChB"}
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/users/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAQiB;AAMjB,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,wBAAe,CAAA;IACf,sBAAa,CAAA;AACf,CAAC,EAHW,KAAK,qBAAL,KAAK,QAGhB;AAEY,QAAA,uBAAuB,GAAG,gBAAgB,CAAC;AASjD,IAAM,IAAI,GAAV,MAAM,IAAI;;;;CAsChB,CAAA;AAtCY,oBAAI;AAEf;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;gCACpB;AAGX;IADC,IAAA,gBAAM,GAAE;;kCACI;AAGb;IADC,IAAA,gBAAM,GAAE;;mCACK;AAMd;IAJC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK,CAAC,IAAI;KACpB,CAAC;;kCACU;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kCACxB;AAOpB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,EAAE;KACZ,CAAC;;yCACwB;AAG1B;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACnD,IAAI;uCAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BACnD,IAAI;uCAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACvD;eAjCZ,IAAI;IAFhB,IAAA,gBAAM,EAAC,OAAO,CAAC;IACf,IAAA,gBAAM,EAAC,+BAAuB,EAAE,CAAC,OAAO,CAAC,CAAC;GAC9B,IAAI,CAsChB"}
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.MeController = void 0;
16
+ const openapi = require("@nestjs/swagger");
16
17
  const crud_1 = require("@dataui/crud");
17
18
  const user_entity_1 = require("./entities/user.entity");
18
19
  const common_1 = require("@nestjs/common");
@@ -42,6 +43,7 @@ let MeController = class MeController {
42
43
  exports.MeController = MeController;
43
44
  __decorate([
44
45
  (0, crud_1.Override)(),
46
+ openapi.ApiResponse({ status: 200, type: require("./entities/user.entity").User }),
45
47
  __param(0, (0, crud_1.ParsedRequest)()),
46
48
  __param(1, (0, common_1.Req)()),
47
49
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"me.controller.js","sourceRoot":"","sources":["../../src/users/me.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAA0G;AAC1G,wDAAqD;AACrD,2CAAiD;AAEjD,mDAA+C;AAC/C,kCAA6C;AAC7C,kCAA4C;AAC5C,6CAA0C;AAC1C,iDAAkE;AA4B3D,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEvB,YACS,OAAqB,EACpB,kBAAsC,EACtC,WAA+B;QAFhC,YAAO,GAAP,OAAO,CAAc;QACpB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,gBAAW,GAAX,WAAW,CAAoB;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACxC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC;IACd,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CACO,GAAgB,EAC1B,SAAkB;QAEzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAE7D,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA1BY,oCAAY;AAejB;IADL,IAAA,eAAQ,GAAE;IAER,WAAA,IAAA,oBAAa,GAAE,CAAA;IACf,WAAA,IAAA,YAAG,GAAE,CAAA;;;;0CAQP;uBAzBU,YAAY;IA1BxB,IAAA,WAAI,EAAC;QACJ,KAAK,EAAE;YACL,IAAI,EAAE,kBAAI;SACX;QACD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,YAAY,CAAC;SACrB;QACD,MAAM,EAAE;YACN,EAAE,EAAE;gBACF,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACf;SACF;QACD,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,MAAM,CAAC;SAClB;KACF,CAAC;IACD,IAAA,eAAQ,EAAC;QACR,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC;YACxB,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC;KACH,CAAC;IACD,IAAA,wBAAiB,GAAE;IACnB,IAAA,iBAAO,EAAC,OAAO,CAAC;IAChB,IAAA,mBAAU,EAAC,IAAI,CAAC;qCAIG,4BAAY;QACA,yBAAkB;QACzB,iCAAkB;GAL9B,YAAY,CA0BxB"}
1
+ {"version":3,"file":"me.controller.js","sourceRoot":"","sources":["../../src/users/me.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAA0G;AAC1G,wDAAqD;AACrD,2CAAiD;AAEjD,mDAA+C;AAC/C,kCAA6C;AAC7C,kCAA4C;AAC5C,6CAA0C;AAC1C,iDAAkE;AA4B3D,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEvB,YACS,OAAqB,EACpB,kBAAsC,EACtC,WAA+B;QAFhC,YAAO,GAAP,OAAO,CAAc;QACpB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,gBAAW,GAAX,WAAW,CAAoB;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACxC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC;IACd,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CACO,GAAgB,EAC1B,SAAkB;QAEzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAE7D,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AA1BY,oCAAY;AAejB;IADL,IAAA,eAAQ,GAAE;;IAER,WAAA,IAAA,oBAAa,GAAE,CAAA;IACf,WAAA,IAAA,YAAG,GAAE,CAAA;;;;0CAQP;uBAzBU,YAAY;IA1BxB,IAAA,WAAI,EAAC;QACJ,KAAK,EAAE;YACL,IAAI,EAAE,kBAAI;SACX;QACD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,YAAY,CAAC;SACrB;QACD,MAAM,EAAE;YACN,EAAE,EAAE;gBACF,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACf;SACF;QACD,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,MAAM,CAAC;SAClB;KACF,CAAC;IACD,IAAA,eAAQ,EAAC;QACR,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,CAAC;YACxB,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC;KACH,CAAC;IACD,IAAA,wBAAiB,GAAE;IACnB,IAAA,iBAAO,EAAC,OAAO,CAAC;IAChB,IAAA,mBAAU,EAAC,IAAI,CAAC;qCAIG,4BAAY;QACA,yBAAkB;QACzB,iCAAkB;GAL9B,YAAY,CA0BxB"}
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.UsersController = void 0;
13
+ const openapi = require("@nestjs/swagger");
13
14
  const common_1 = require("@nestjs/common");
14
15
  const users_service_1 = require("./users.service");
15
16
  const crud_1 = require("@dataui/crud");
@@ -1 +1 @@
1
- {"version":3,"file":"users.controller.js","sourceRoot":"","sources":["../../src/users/users.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,mDAA+C;AAC/C,uCAAoC;AACpC,wDAA8C;AAC9C,kCAAgD;AAChD,2DAAsD;AACtD,6CAA0D;AAC1D,2DAAsD;AACtD,2EAAsE;AACtE,yDAAqD;AACrD,+DAA0D;AAC1D,oEAA+D;AAC/D,iFAA2D;AAC3D,wEAAmE;AACnE,yFAAoF;AAoE7E,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;CACvD,CAAA;AAFY,0CAAe;0BAAf,eAAe;IAlE3B,IAAA,WAAI,EAAC;QACJ,KAAK,EAAE;YACL,IAAI,EAAE,kBAAI;SACX;QACD,MAAM,EAAE;YACN,EAAE,EAAE;gBACF,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;aACd;SACF;QACD,KAAK,EAAE;YACL,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,UAAU,EAAE,IAAI;SACjB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC;YACtF,WAAW,EAAE;gBACX,UAAU,EAAE;oBACV,IAAA,oBAAa,EAAC,IAAI,mCAAe,EAAE,CAAC;iBACrC;gBACD,YAAY,EAAE;oBACZ,IAAI,2DAA2B,CAAC,kBAAI,EAAE,aAAM,CAAC,IAAI,CAAC;iBACnD;aACF;YACD,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAA,oBAAa,EAAC,IAAI,mCAAe,EAAE,CAAC;iBACrC;gBACD,YAAY,EAAE;oBACZ,IAAI,2DAA2B,CAAC,kBAAI,EAAE,aAAM,CAAC,IAAI,CAAC;iBACnD;aACF;YACD,aAAa,EAAE;gBACb,YAAY,EAAE;oBACZ,mDAAuB;iBACxB;gBACD,UAAU,EAAE;oBACV,IAAA,kBAAS,EAAC,uCAAiB,CAAC;iBAC7B;aACF;YACD,aAAa,EAAE;gBACb,YAAY,EAAE;oBACZ,mDAAuB;iBACxB;gBACD,UAAU,EAAE;oBACV,IAAA,kBAAS,EAAC,uCAAiB,CAAC;iBAC7B;aACF;YACD,aAAa,EAAE;gBACb,UAAU,EAAE;oBACV,IAAA,kBAAS,EAAC,uCAAiB,CAAC;iBAC7B;aACF;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE,+BAAa;YACrB,MAAM,EAAE,+BAAa;SACtB;KACF,CAAC;IACD,IAAA,oBAAa,EAAC,IAAI,uCAAiB,EAAE,CAAC;IACtC,IAAA,mBAAU,EAAC,gCAAK,CAAC,sBAAsB,CAAC;IACxC,IAAA,iBAAO,EAAC,OAAO,CAAC;IAChB,IAAA,wBAAc,EAAC,8BAAa,CAAC;IAC7B,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAEoB,4BAAY;GADvC,eAAe,CAE3B"}
1
+ {"version":3,"file":"users.controller.js","sourceRoot":"","sources":["../../src/users/users.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAmE;AACnE,mDAA+C;AAC/C,uCAAoC;AACpC,wDAA8C;AAC9C,kCAAgD;AAChD,2DAAsD;AACtD,6CAA0D;AAC1D,2DAAsD;AACtD,2EAAsE;AACtE,yDAAqD;AACrD,+DAA0D;AAC1D,oEAA+D;AAC/D,iFAA2D;AAC3D,wEAAmE;AACnE,yFAAoF;AAoE7E,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;CACvD,CAAA;AAFY,0CAAe;0BAAf,eAAe;IAlE3B,IAAA,WAAI,EAAC;QACJ,KAAK,EAAE;YACL,IAAI,EAAE,kBAAI;SACX;QACD,MAAM,EAAE;YACN,EAAE,EAAE;gBACF,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;aACd;SACF;QACD,KAAK,EAAE;YACL,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,UAAU,EAAE,IAAI;SACjB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC;YACtF,WAAW,EAAE;gBACX,UAAU,EAAE;oBACV,IAAA,oBAAa,EAAC,IAAI,mCAAe,EAAE,CAAC;iBACrC;gBACD,YAAY,EAAE;oBACZ,IAAI,2DAA2B,CAAC,kBAAI,EAAE,aAAM,CAAC,IAAI,CAAC;iBACnD;aACF;YACD,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAA,oBAAa,EAAC,IAAI,mCAAe,EAAE,CAAC;iBACrC;gBACD,YAAY,EAAE;oBACZ,IAAI,2DAA2B,CAAC,kBAAI,EAAE,aAAM,CAAC,IAAI,CAAC;iBACnD;aACF;YACD,aAAa,EAAE;gBACb,YAAY,EAAE;oBACZ,mDAAuB;iBACxB;gBACD,UAAU,EAAE;oBACV,IAAA,kBAAS,EAAC,uCAAiB,CAAC;iBAC7B;aACF;YACD,aAAa,EAAE;gBACb,YAAY,EAAE;oBACZ,mDAAuB;iBACxB;gBACD,UAAU,EAAE;oBACV,IAAA,kBAAS,EAAC,uCAAiB,CAAC;iBAC7B;aACF;YACD,aAAa,EAAE;gBACb,UAAU,EAAE;oBACV,IAAA,kBAAS,EAAC,uCAAiB,CAAC;iBAC7B;aACF;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE,+BAAa;YACrB,MAAM,EAAE,+BAAa;SACtB;KACF,CAAC;IACD,IAAA,oBAAa,EAAC,IAAI,uCAAiB,EAAE,CAAC;IACtC,IAAA,mBAAU,EAAC,gCAAK,CAAC,sBAAsB,CAAC;IACxC,IAAA,iBAAO,EAAC,OAAO,CAAC;IAChB,IAAA,wBAAc,EAAC,8BAAa,CAAC;IAC7B,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAEoB,4BAAY;GADvC,eAAe,CAE3B"}
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.WsAuthGuard = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
15
  const ws_auth_service_1 = require("./ws-auth.service");
16
- const websockets_clients_1 = require("@boarteam/boar-pack-common-backend/src/modules/websockets/websockets.clients");
16
+ const boar_pack_common_backend_1 = require("@boarteam/boar-pack-common-backend");
17
17
  let WsAuthGuard = WsAuthGuard_1 = class WsAuthGuard {
18
18
  constructor(wsAuthService) {
19
19
  this.wsAuthService = wsAuthService;
@@ -24,7 +24,7 @@ let WsAuthGuard = WsAuthGuard_1 = class WsAuthGuard {
24
24
  const user = await this.wsAuthService.finishInitialization(client);
25
25
  if (!user) {
26
26
  this.logger.warn(`Unauthorized connection by websocket`);
27
- client.close(websockets_clients_1.WsErrorCodes.Unauthorized, 'You have been logged out, please login again');
27
+ client.close(boar_pack_common_backend_1.WsErrorCodes.Unauthorized, 'You have been logged out, please login again');
28
28
  return false;
29
29
  }
30
30
  return !!user;
@@ -1 +1 @@
1
- {"version":3,"file":"ws-auth.guard.js","sourceRoot":"","sources":["../../src/ws-auth/ws-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwG;AAExG,uDAAkD;AAClD,qHAEsF;AAG/E,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAGtB,YACmB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAH9B,WAAM,GAAG,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAIpD,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAa,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,iCAAY,CAAC,YAAY,EAAE,8CAA8C,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC;CACF,CAAA;AAnBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAKuB,+BAAa;GAJpC,WAAW,CAmBvB"}
1
+ {"version":3,"file":"ws-auth.guard.js","sourceRoot":"","sources":["../../src/ws-auth/ws-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwG;AAExG,uDAAkD;AAClD,iFAAkE;AAG3D,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAGtB,YACmB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAH9B,WAAM,GAAG,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAIpD,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAa,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,uCAAY,CAAC,YAAY,EAAE,8CAA8C,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC;CACF,CAAA;AAnBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAKuB,+BAAa;GAJpC,WAAW,CAmBvB"}
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@boarteam/boar-pack-users-backend",
3
- "version": "8.0.0",
3
+ "version": "8.1.1",
4
4
  "description": "NestJS Users module including permissions system, authentication strategies etc",
5
5
  "main": "dist/index",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
- "src",
9
8
  "dist"
10
9
  ],
11
10
  "repository": "git@github.com:boarteam/boar-pack.git",
@@ -16,7 +15,7 @@
16
15
  "access": "public"
17
16
  },
18
17
  "dependencies": {
19
- "@boarteam/boar-pack-common-backend": "^5.0.0",
18
+ "@boarteam/boar-pack-common-backend": "^5.1.0",
20
19
  "@casl/ability": "^6.7.3",
21
20
  "@dataui/crud": "^5.3.4",
22
21
  "@dataui/crud-typeorm": "^5.3.4",
@@ -51,6 +50,7 @@
51
50
  "ws": "^8.18.3"
52
51
  },
53
52
  "devDependencies": {
53
+ "@nestjs/cli": "^11.0.0",
54
54
  "@types/bcrypt": "^6.0.0",
55
55
  "@types/ms": "^2.1.0",
56
56
  "@types/passport-google-oauth20": "^2.0.17",
@@ -63,9 +63,9 @@
63
63
  "pg": "^8.16.3"
64
64
  },
65
65
  "scripts": {
66
- "build": "rm -rf dist && tsc --project tsconfig.build.json",
66
+ "build": "rm -rf dist && nest build -p tsconfig.build.json",
67
67
  "yalc:push": "yalc push",
68
68
  "gen-types": "SWAGGER=true JWT_SECRET=swagger nest start"
69
69
  },
70
- "gitHead": "311a9d2be89fb756e01331f4a70fc79af411e6f9"
70
+ "gitHead": "60bd81a1b4ed3d40a0594cf7a952dadac7d7baf4"
71
71
  }
@@ -1,169 +0,0 @@
1
- import { CreateManyDto, CrudRequest, } from '@dataui/crud';
2
- import { DeepPartial, EntityManager, ObjectLiteral, Repository, } from 'typeorm';
3
- import { TypeOrmCrudService } from "@dataui/crud-typeorm";
4
- import { Injectable } from "@nestjs/common";
5
- import { AuditAction, AuditLog } from "./entities/audit-log.entity";
6
- import { TUser } from "../users";
7
- import { plainToClass } from 'class-transformer';
8
-
9
- @Injectable()
10
- export class AuditLogBaseService<T extends ObjectLiteral> extends TypeOrmCrudService<T> {
11
-
12
- public async createOne(req: CrudRequest<TUser>, dto: DeepPartial<T>): Promise<T> {
13
- const result = await super.createOne(req, dto);
14
- await this.createAuditLog({
15
- action: AuditAction.CREATE,
16
- userId: req.auth?.id,
17
- tableName: this.repo.metadata.tableName,
18
- newValues: result,
19
- });
20
- return result;
21
- }
22
-
23
- public async createMany(
24
- req: CrudRequest<TUser>,
25
- dto: CreateManyDto<DeepPartial<T>>,
26
- ): Promise<T[]> {
27
- const result = await super.createMany(req, dto);
28
-
29
- await this.createAuditLog(
30
- result.map(r => ({
31
- userId: req.auth?.id,
32
- tableName: this.repo.metadata.tableName,
33
- newValues: r,
34
- }))
35
- );
36
-
37
- return result;
38
- }
39
-
40
- public async updateOne(req: CrudRequest<TUser>, dto: DeepPartial<T>): Promise<T> {
41
- const { allowParamsOverride, returnShallow } = req.options.routes?.updateOneBase || {};
42
- const paramsFilters = this.getParamFilters(req.parsed);
43
-
44
- const found = await this.getOneOrFail(req, returnShallow);
45
-
46
- const toSave = !allowParamsOverride
47
- ? { ...found, ...dto, ...paramsFilters, ...req.parsed.authPersist }
48
- : { ...found, ...dto, ...req.parsed.authPersist };
49
- const updated = await this.repo.save(
50
- plainToClass(
51
- this.entityType,
52
- toSave,
53
- req.parsed.classTransformOptions,
54
- ) as unknown as DeepPartial<T>,
55
- );
56
-
57
- let result: Partial<T> | null = null;
58
- if (returnShallow) {
59
- result = updated;
60
- } else {
61
- req.parsed.paramsFilter.forEach((filter) => {
62
- filter.value = updated[filter.field];
63
- });
64
-
65
- result = await this.getOneOrFail(req);
66
- }
67
-
68
- await this.createAuditLog({
69
- action: AuditAction.UPDATE,
70
- userId: req.auth?.id,
71
- tableName: this.repo.metadata.tableName,
72
- oldValues: found,
73
- newValues: result,
74
- });
75
-
76
- return result as T;
77
- }
78
-
79
- // TODO: implement
80
-
81
- // /**
82
- // * Recover one
83
- // * @param req
84
- // * @param dto
85
- // */
86
- // public async recoverOne(req: CrudRequest): Promise<T> {
87
- // // disable cache while recovering
88
- // req.options.query.cache = false;
89
- // const found = await this.getOneOrFail(req, false, true);
90
- // return this.repo.recover(found as DeepPartial<T>);
91
- // }
92
- //
93
- // /**
94
- // * Replace one
95
- // * @param req
96
- // * @param dto
97
- // */
98
- // public async replaceOne(req: CrudRequest, dto: DeepPartial<T>): Promise<T> {
99
- // const { allowParamsOverride, returnShallow } = req.options.routes.replaceOneBase;
100
- // const paramsFilters = this.getParamFilters(req.parsed);
101
- // // disable cache while replacing
102
- // req.options.query.cache = false;
103
- // const [_, found] = await oO(this.getOneOrFail(req, returnShallow));
104
- // const toSave = !allowParamsOverride
105
- // ? { ...(found || {}), ...dto, ...paramsFilters, ...req.parsed.authPersist }
106
- // : {
107
- // ...(found || /* istanbul ignore next */ {}),
108
- // ...paramsFilters,
109
- // ...dto,
110
- // ...req.parsed.authPersist,
111
- // };
112
- // const replaced = await this.repo.save(
113
- // plainToClass(
114
- // this.entityType,
115
- // toSave,
116
- // req.parsed.classTransformOptions,
117
- // ) as unknown as DeepPartial<T>,
118
- // );
119
- //
120
- // if (returnShallow) {
121
- // return replaced;
122
- // } else {
123
- // const primaryParams = this.getPrimaryParams(req.options);
124
- //
125
- // /* istanbul ignore if */
126
- // if (!primaryParams.length) {
127
- // return replaced;
128
- // }
129
- //
130
- // req.parsed.search = primaryParams.reduce(
131
- // (acc, p) => ({ ...acc, [p]: replaced[p] }),
132
- // {},
133
- // );
134
- // return this.getOneOrFail(req);
135
- // }
136
- // }
137
- //
138
- /**
139
- * Delete one
140
- * @param req
141
- */
142
- public async deleteOne(req: CrudRequest<TUser>): Promise<void | T> {
143
- const { returnDeleted } = req.options.routes?.deleteOneBase || {};
144
- // disable cache while deleting
145
- req.options.query!.cache = false;
146
- const found = await this.getOneOrFail(req, returnDeleted);
147
- const toReturn = returnDeleted
148
- ? plainToClass(this.entityType, { ...found }, req.parsed.classTransformOptions)
149
- : undefined;
150
- const deleted =
151
- req.options.query!.softDelete === true
152
- ? await this.repo.softRemove(found as DeepPartial<T>)
153
- : await this.repo.remove(found);
154
-
155
- await this.createAuditLog({
156
- action: AuditAction.DELETE,
157
- userId: req.auth?.id,
158
- tableName: this.repo.metadata.tableName,
159
- oldValues: found,
160
- });
161
-
162
- return toReturn;
163
- }
164
-
165
- public createAuditLog(log: Partial<AuditLog> | Partial<AuditLog>[], manager?: EntityManager): Promise<AuditLog | AuditLog[]> {
166
- return (manager || this.repo.manager).getRepository(AuditLog).save(log as Partial<AuditLog>);
167
- }
168
- }
169
-
@@ -1,74 +0,0 @@
1
- import { Controller, Req, UnauthorizedException } from '@nestjs/common';
2
- import { ApiTags } from '@nestjs/swagger';
3
- import { Crud, CrudController, CrudRequest, Override, ParsedRequest } from '@dataui/crud';
4
- import { CheckPolicies } from "../casl";
5
- import { AuditLogsService } from './audit-logs.service';
6
- import { AuditLog } from './entities/audit-log.entity';
7
- import { ViewAuditLogsPolicy } from "./policies/view-audit-logs.policy";
8
- import { Action, CaslAbilityFactory, Subjects } from "../casl";
9
- import { Request } from "express";
10
- import { TUser } from "../users";
11
-
12
- @Crud({
13
- model: {
14
- type: AuditLog,
15
- },
16
- params: {
17
- id: {
18
- field: 'id',
19
- type: 'uuid',
20
- primary: true,
21
- },
22
- },
23
- query: {
24
- alwaysPaginate: true,
25
- join: {
26
- user: {
27
- allow: ['id', 'name'],
28
- }
29
- }
30
- },
31
- routes: {
32
- only: ['getManyBase'],
33
- },
34
- })
35
- @CheckPolicies(new ViewAuditLogsPolicy())
36
- @ApiTags('AuditLogs')
37
- @Controller('audit-logs')
38
- export class AuditLogsController implements CrudController<AuditLog>{
39
- constructor(
40
- readonly service: AuditLogsService,
41
- private readonly caslAbilityFactory: CaslAbilityFactory,
42
- ) {}
43
-
44
- get base(): CrudController<AuditLog> {
45
- return this;
46
- }
47
-
48
- @Override('getManyBase')
49
- async getMany(
50
- @Req() request: Request,
51
- @ParsedRequest() req: CrudRequest<TUser>,
52
- ) {
53
- const user = request.user;
54
- if (!user) {
55
- throw new UnauthorizedException();
56
- }
57
-
58
- const ability = await this.caslAbilityFactory.createForUser(user);
59
- if (ability.cannot(Action.Manage, 'all')) {
60
- const tablesNames = this.service.repo.manager.connection.entityMetadatas
61
- .filter(meta => meta.target instanceof Function && ability.can(Action.Manage, meta.target as Subjects))
62
- .map(meta => meta.tableName);
63
-
64
- req.parsed.search = {
65
- $and: [
66
- req.parsed.search,
67
- { tableName: { $in: tablesNames } },
68
- ],
69
- }
70
- }
71
-
72
- return this.base.getManyBase!(req);
73
- }
74
- }
@@ -1,49 +0,0 @@
1
- import { Module } from '@nestjs/common';
2
- import { getDataSourceToken, TypeOrmModule } from '@nestjs/typeorm';
3
- import { AuditLogsService } from './audit-logs.service';
4
- import { AuditLogsController } from './audit-logs.controller';
5
- import { AuditLog } from './entities/audit-log.entity';
6
- import { CaslModule, CaslAbilityFactory, Action } from "../casl";
7
- import { AuditLogsPermissions } from "./audit-logs.permissions";
8
- import { DataSource } from "typeorm";
9
-
10
- @Module({})
11
- export class AuditLogsModule {
12
- static forRoot(config: { dataSourceName: string }) {
13
- return {
14
- module: AuditLogsModule,
15
- imports: [
16
- CaslModule.forFeature(),
17
- TypeOrmModule.forFeature([AuditLog], config.dataSourceName),
18
- ],
19
- providers: [
20
- {
21
- provide: AuditLogsService,
22
- inject: [getDataSourceToken(config.dataSourceName)],
23
- useFactory: (dataSource: DataSource) => {
24
- return new AuditLogsService(dataSource.getRepository(AuditLog));
25
- }
26
- },
27
- ],
28
- exports: [
29
- AuditLogsService,
30
- ],
31
- controllers: [
32
- AuditLogsController,
33
- ]
34
- }
35
- }
36
-
37
- constructor() {
38
- CaslAbilityFactory.addPermissionToAction({
39
- permission: AuditLogsPermissions.VIEW,
40
- action: Action.Read,
41
- subject: AuditLog,
42
- });
43
- CaslAbilityFactory.addPermissionToAction({
44
- permission: AuditLogsPermissions.MANAGE,
45
- action: Action.Manage,
46
- subject: AuditLog,
47
- })
48
- }
49
- }
@@ -1,4 +0,0 @@
1
- export enum AuditLogsPermissions {
2
- VIEW = 'audit-logs:view',
3
- MANAGE = 'audit-logs:manage',
4
- }
@@ -1,14 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { TypeOrmCrudService } from '@dataui/crud-typeorm';
3
- import { AuditLog } from './entities/audit-log.entity';
4
- import { Repository } from 'typeorm';
5
-
6
- @Injectable()
7
- export class AuditLogsService extends TypeOrmCrudService<AuditLog> {
8
-
9
- constructor(
10
- readonly repo: Repository<AuditLog>,
11
- ) {
12
- super(repo);
13
- }
14
- }
@@ -1,9 +0,0 @@
1
- import { AuditLog } from "./entities/audit-log.entity";
2
-
3
- export * from '../index';
4
-
5
- declare module '@boarteam/boar-pack-users-backend' {
6
- interface TSubjects {
7
- AuditLog: typeof AuditLog;
8
- }
9
- }
@@ -1,46 +0,0 @@
1
- import { Column, CreateDateColumn, Entity, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn, } from 'typeorm';
2
- import { User } from "../../users";
3
-
4
- export enum AuditAction {
5
- CREATE = 'CREATE',
6
- UPDATE = 'UPDATE',
7
- DELETE = 'DELETE',
8
- }
9
-
10
- @Entity('audit_logs')
11
- export class AuditLog {
12
- @PrimaryGeneratedColumn('uuid')
13
- id: string;
14
-
15
- @Column({
16
- type: 'enum',
17
- enum: AuditAction,
18
- })
19
- action: AuditAction;
20
-
21
- @Column({
22
- type: 'uuid',
23
- nullable: true,
24
- })
25
- userId: string | null;
26
-
27
- @ManyToOne(() => User, {
28
- createForeignKeyConstraints: false,
29
- })
30
- user: User | null;
31
-
32
- @Column()
33
- tableName: string;
34
-
35
- @Column({ type: 'jsonb', nullable: true })
36
- oldValues: Record<string, any> | null;
37
-
38
- @Column({ type: 'jsonb', nullable: true })
39
- newValues: Record<string, any> | null;
40
-
41
- @CreateDateColumn({ name: 'created_at' })
42
- createdAt: Date;
43
-
44
- @UpdateDateColumn({ name: 'updated_at' })
45
- updatedAt: Date;
46
- }
@@ -1,8 +0,0 @@
1
- import { IPolicyHandler, AppAbility, Action } from "../../casl";
2
- import { AuditLog } from "../entities/audit-log.entity";
3
-
4
- export class ViewAuditLogsPolicy implements IPolicyHandler {
5
- handle(ability: AppAbility) {
6
- return ability.can(Action.Read, AuditLog);
7
- }
8
- }
@@ -1,35 +0,0 @@
1
- import { Controller, NotFoundException, Param, Post, Req, Res, } from '@nestjs/common';
2
- import { AuthService } from './auth.service';
3
- import { ApiTags } from '@nestjs/swagger';
4
- import type { Request, Response } from 'express';
5
- import { LocalAuthTokenDto } from "./local-auth/local-auth.dto";
6
- import { CheckPolicies, ManageAllPolicy } from "../casl";
7
- import { UsersService } from "../users";
8
-
9
- @ApiTags('Authentication')
10
- @CheckPolicies(new ManageAllPolicy())
11
- @Controller('auth-manage')
12
- export default class AuthManageController {
13
- constructor(
14
- private readonly authService: AuthService,
15
- private readonly usersService: UsersService,
16
- ) {}
17
-
18
- @Post('login-as-user/:userId')
19
- async loginAsUser(
20
- @Req() req: Request,
21
- @Res({ passthrough: true }) res: Response,
22
- @Param('userId') userId: string,
23
- ): Promise<LocalAuthTokenDto> {
24
- const user = await this.usersService.findOne({
25
- where: { id: userId },
26
- });
27
- if (!user) {
28
- throw new NotFoundException(`User with id ${userId} is not found`);
29
- }
30
-
31
- const tokens = await this.authService.login(user);
32
- this.authService.setCookie(res, tokens);
33
- return tokens;
34
- }
35
- }
@@ -1,7 +0,0 @@
1
- export const LOCAL_AUTH = 'local';
2
- export const JWT_AUTH = 'jwt';
3
- export const JWT_AUTH_REFRESH = 'jwt-refresh';
4
- export const GOOGLE_AUTH = 'google';
5
- export const MS_AUTH = 'azure-ad';
6
-
7
- export const YANDEX_AUTH = 'yandex';
@@ -1,20 +0,0 @@
1
- import { Injectable } from '@nestjs/common';
2
- import { ConfigService } from '@nestjs/config';
3
-
4
- export type TAuthConfig = {
5
- refreshTokenPath: string;
6
- };
7
-
8
- @Injectable()
9
- export class AuthConfigService {
10
- constructor(private configService: ConfigService) {
11
- }
12
-
13
- get config(): TAuthConfig {
14
- const refreshTokenPath = this.configService.get<string>('REFRESH_TOKEN_PATH', '/api/auth/refresh');
15
-
16
- return {
17
- refreshTokenPath,
18
- };
19
- }
20
- }