@things-factory/auth-base 4.3.671 → 4.3.673

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 (229) hide show
  1. package/dist-server/constants/error-code.js +21 -0
  2. package/dist-server/constants/error-code.js.map +1 -0
  3. package/dist-server/constants/error-message.js +1 -0
  4. package/dist-server/constants/error-message.js.map +1 -0
  5. package/dist-server/constants/max-age.js +5 -0
  6. package/dist-server/constants/max-age.js.map +1 -0
  7. package/dist-server/controllers/auth.js +21 -0
  8. package/dist-server/controllers/auth.js.map +1 -0
  9. package/dist-server/controllers/change-pwd.js +80 -0
  10. package/dist-server/controllers/change-pwd.js.map +1 -0
  11. package/dist-server/controllers/checkin.js +21 -0
  12. package/dist-server/controllers/checkin.js.map +1 -0
  13. package/dist-server/controllers/delete-user.js +61 -0
  14. package/dist-server/controllers/delete-user.js.map +1 -0
  15. package/dist-server/controllers/invitation.js +119 -0
  16. package/dist-server/controllers/invitation.js.map +1 -0
  17. package/dist-server/controllers/profile.js +26 -0
  18. package/dist-server/controllers/profile.js.map +1 -0
  19. package/dist-server/controllers/reset-password.js +110 -0
  20. package/dist-server/controllers/reset-password.js.map +1 -0
  21. package/dist-server/controllers/signin.js +76 -0
  22. package/dist-server/controllers/signin.js.map +1 -0
  23. package/dist-server/controllers/signup.js +105 -0
  24. package/dist-server/controllers/signup.js.map +1 -0
  25. package/dist-server/controllers/unlock-user.js +60 -0
  26. package/dist-server/controllers/unlock-user.js.map +1 -0
  27. package/dist-server/controllers/utils/make-invitation-token.js +12 -0
  28. package/dist-server/controllers/utils/make-invitation-token.js.map +1 -0
  29. package/dist-server/controllers/utils/make-verification-token.js +12 -0
  30. package/dist-server/controllers/utils/make-verification-token.js.map +1 -0
  31. package/dist-server/controllers/utils/password-rule.js +90 -0
  32. package/dist-server/controllers/utils/password-rule.js.map +1 -0
  33. package/dist-server/controllers/utils/save-invitation-token.js +13 -0
  34. package/dist-server/controllers/utils/save-invitation-token.js.map +1 -0
  35. package/dist-server/controllers/utils/save-verification-token.js +15 -0
  36. package/dist-server/controllers/utils/save-verification-token.js.map +1 -0
  37. package/dist-server/controllers/verification.js +78 -0
  38. package/dist-server/controllers/verification.js.map +1 -0
  39. package/dist-server/errors/auth-error.js +40 -0
  40. package/dist-server/errors/auth-error.js.map +1 -0
  41. package/dist-server/errors/index.js +19 -0
  42. package/dist-server/errors/index.js.map +1 -0
  43. package/dist-server/errors/user-domain-not-match-error.js +24 -0
  44. package/dist-server/errors/user-domain-not-match-error.js.map +1 -0
  45. package/dist-server/index.js +29 -0
  46. package/dist-server/index.js.map +1 -0
  47. package/dist-server/middlewares/authenticate-401-middleware.js +84 -0
  48. package/dist-server/middlewares/authenticate-401-middleware.js.map +1 -0
  49. package/dist-server/middlewares/domain-authenticate-middleware.js +58 -0
  50. package/dist-server/middlewares/domain-authenticate-middleware.js.map +1 -0
  51. package/dist-server/middlewares/graphql-authenticate-middleware.js +17 -0
  52. package/dist-server/middlewares/graphql-authenticate-middleware.js.map +1 -0
  53. package/dist-server/middlewares/index.js +57 -0
  54. package/dist-server/middlewares/index.js.map +1 -0
  55. package/dist-server/middlewares/jwt-authenticate-middleware.js +77 -0
  56. package/dist-server/middlewares/jwt-authenticate-middleware.js.map +1 -0
  57. package/dist-server/middlewares/signin-middleware.js +47 -0
  58. package/dist-server/middlewares/signin-middleware.js.map +1 -0
  59. package/dist-server/migrations/1548206416130-SeedUser.js +46 -0
  60. package/dist-server/migrations/1548206416130-SeedUser.js.map +1 -0
  61. package/dist-server/migrations/1566805283882-SeedPrivilege.js +26 -0
  62. package/dist-server/migrations/1566805283882-SeedPrivilege.js.map +1 -0
  63. package/dist-server/migrations/index.js +12 -0
  64. package/dist-server/migrations/index.js.map +1 -0
  65. package/dist-server/router/auth-checkin-router.js +96 -0
  66. package/dist-server/router/auth-checkin-router.js.map +1 -0
  67. package/dist-server/router/auth-private-process-router.js +91 -0
  68. package/dist-server/router/auth-private-process-router.js.map +1 -0
  69. package/dist-server/router/auth-public-process-router.js +243 -0
  70. package/dist-server/router/auth-public-process-router.js.map +1 -0
  71. package/dist-server/router/auth-signin-router.js +38 -0
  72. package/dist-server/router/auth-signin-router.js.map +1 -0
  73. package/dist-server/router/auth-signup-router.js +76 -0
  74. package/dist-server/router/auth-signup-router.js.map +1 -0
  75. package/dist-server/router/index.js +25 -0
  76. package/dist-server/router/index.js.map +1 -0
  77. package/dist-server/router/oauth2/index.js +19 -0
  78. package/dist-server/router/oauth2/index.js.map +1 -0
  79. package/dist-server/router/oauth2/oauth2-authorize-router.js +72 -0
  80. package/dist-server/router/oauth2/oauth2-authorize-router.js.map +1 -0
  81. package/dist-server/router/oauth2/oauth2-router.js +137 -0
  82. package/dist-server/router/oauth2/oauth2-router.js.map +1 -0
  83. package/dist-server/router/oauth2/oauth2-server.js +201 -0
  84. package/dist-server/router/oauth2/oauth2-server.js.map +1 -0
  85. package/dist-server/router/oauth2/passport-oauth2-client-password.js +84 -0
  86. package/dist-server/router/oauth2/passport-oauth2-client-password.js.map +1 -0
  87. package/dist-server/router/oauth2/passport-refresh-token.js +84 -0
  88. package/dist-server/router/oauth2/passport-refresh-token.js.map +1 -0
  89. package/dist-server/router/path-base-domain-router.js +15 -0
  90. package/dist-server/router/path-base-domain-router.js.map +1 -0
  91. package/dist-server/router/site-root-router.js +48 -0
  92. package/dist-server/router/site-root-router.js.map +1 -0
  93. package/dist-server/routes.js +58 -0
  94. package/dist-server/routes.js.map +1 -0
  95. package/dist-server/service/app-binding/app-binding-mutation.js +45 -0
  96. package/dist-server/service/app-binding/app-binding-mutation.js.map +1 -0
  97. package/dist-server/service/app-binding/app-binding-query.js +135 -0
  98. package/dist-server/service/app-binding/app-binding-query.js.map +1 -0
  99. package/dist-server/service/app-binding/app-binding-types.js +29 -0
  100. package/dist-server/service/app-binding/app-binding-types.js.map +1 -0
  101. package/dist-server/service/app-binding/app-binding.js +34 -0
  102. package/dist-server/service/app-binding/app-binding.js.map +1 -0
  103. package/dist-server/service/app-binding/index.js +7 -0
  104. package/dist-server/service/app-binding/index.js.map +1 -0
  105. package/dist-server/service/appliance/appliance-mutation.js +117 -0
  106. package/dist-server/service/appliance/appliance-mutation.js.map +1 -0
  107. package/dist-server/service/appliance/appliance-query.js +85 -0
  108. package/dist-server/service/appliance/appliance-query.js.map +1 -0
  109. package/dist-server/service/appliance/appliance-types.js +93 -0
  110. package/dist-server/service/appliance/appliance-types.js.map +1 -0
  111. package/dist-server/service/appliance/appliance.js +155 -0
  112. package/dist-server/service/appliance/appliance.js.map +1 -0
  113. package/dist-server/service/appliance/index.js +9 -0
  114. package/dist-server/service/appliance/index.js.map +1 -0
  115. package/dist-server/service/application/application-mutation.js +121 -0
  116. package/dist-server/service/application/application-mutation.js.map +1 -0
  117. package/dist-server/service/application/application-query.js +128 -0
  118. package/dist-server/service/application/application-query.js.map +1 -0
  119. package/dist-server/service/application/application-types.js +119 -0
  120. package/dist-server/service/application/application-types.js.map +1 -0
  121. package/dist-server/service/application/application.js +236 -0
  122. package/dist-server/service/application/application.js.map +1 -0
  123. package/dist-server/service/application/index.js +9 -0
  124. package/dist-server/service/application/index.js.map +1 -0
  125. package/dist-server/service/domain-generator/domain-generator-mutation.js +117 -0
  126. package/dist-server/service/domain-generator/domain-generator-mutation.js.map +1 -0
  127. package/dist-server/service/domain-generator/domain-generator-types.js +79 -0
  128. package/dist-server/service/domain-generator/domain-generator-types.js.map +1 -0
  129. package/dist-server/service/domain-generator/index.js +6 -0
  130. package/dist-server/service/domain-generator/index.js.map +1 -0
  131. package/dist-server/service/granted-role/granted-role-mutation.js +144 -0
  132. package/dist-server/service/granted-role/granted-role-mutation.js.map +1 -0
  133. package/dist-server/service/granted-role/granted-role-query.js +93 -0
  134. package/dist-server/service/granted-role/granted-role-query.js.map +1 -0
  135. package/dist-server/service/granted-role/granted-role.js +49 -0
  136. package/dist-server/service/granted-role/granted-role.js.map +1 -0
  137. package/dist-server/service/granted-role/index.js +9 -0
  138. package/dist-server/service/granted-role/index.js.map +1 -0
  139. package/dist-server/service/index.js +94 -0
  140. package/dist-server/service/index.js.map +1 -0
  141. package/dist-server/service/invitation/index.js +9 -0
  142. package/dist-server/service/invitation/index.js.map +1 -0
  143. package/dist-server/service/invitation/invitation-mutation.js +76 -0
  144. package/dist-server/service/invitation/invitation-mutation.js.map +1 -0
  145. package/dist-server/service/invitation/invitation-query.js +57 -0
  146. package/dist-server/service/invitation/invitation-query.js.map +1 -0
  147. package/dist-server/service/invitation/invitation-types.js +29 -0
  148. package/dist-server/service/invitation/invitation-types.js.map +1 -0
  149. package/dist-server/service/invitation/invitation.js +84 -0
  150. package/dist-server/service/invitation/invitation.js.map +1 -0
  151. package/dist-server/service/login-history/index.js +8 -0
  152. package/dist-server/service/login-history/index.js.map +1 -0
  153. package/dist-server/service/login-history/login-history-query.js +67 -0
  154. package/dist-server/service/login-history/login-history-query.js.map +1 -0
  155. package/dist-server/service/login-history/login-history.js +68 -0
  156. package/dist-server/service/login-history/login-history.js.map +1 -0
  157. package/dist-server/service/partner/index.js +9 -0
  158. package/dist-server/service/partner/index.js.map +1 -0
  159. package/dist-server/service/partner/partner-mutation.js +134 -0
  160. package/dist-server/service/partner/partner-mutation.js.map +1 -0
  161. package/dist-server/service/partner/partner-query.js +193 -0
  162. package/dist-server/service/partner/partner-query.js.map +1 -0
  163. package/dist-server/service/partner/partner-types.js +57 -0
  164. package/dist-server/service/partner/partner-types.js.map +1 -0
  165. package/dist-server/service/partner/partner.js +86 -0
  166. package/dist-server/service/partner/partner.js.map +1 -0
  167. package/dist-server/service/password-history/index.js +6 -0
  168. package/dist-server/service/password-history/index.js.map +1 -0
  169. package/dist-server/service/password-history/password-history.js +34 -0
  170. package/dist-server/service/password-history/password-history.js.map +1 -0
  171. package/dist-server/service/privilege/index.js +9 -0
  172. package/dist-server/service/privilege/index.js.map +1 -0
  173. package/dist-server/service/privilege/privilege-directive.js +85 -0
  174. package/dist-server/service/privilege/privilege-directive.js.map +1 -0
  175. package/dist-server/service/privilege/privilege-mutation.js +80 -0
  176. package/dist-server/service/privilege/privilege-mutation.js.map +1 -0
  177. package/dist-server/service/privilege/privilege-query.js +109 -0
  178. package/dist-server/service/privilege/privilege-query.js.map +1 -0
  179. package/dist-server/service/privilege/privilege-types.js +100 -0
  180. package/dist-server/service/privilege/privilege-types.js.map +1 -0
  181. package/dist-server/service/privilege/privilege.js +92 -0
  182. package/dist-server/service/privilege/privilege.js.map +1 -0
  183. package/dist-server/service/role/index.js +9 -0
  184. package/dist-server/service/role/index.js.map +1 -0
  185. package/dist-server/service/role/role-mutation.js +121 -0
  186. package/dist-server/service/role/role-mutation.js.map +1 -0
  187. package/dist-server/service/role/role-query.js +207 -0
  188. package/dist-server/service/role/role-query.js.map +1 -0
  189. package/dist-server/service/role/role-types.js +130 -0
  190. package/dist-server/service/role/role-types.js.map +1 -0
  191. package/dist-server/service/role/role.js +94 -0
  192. package/dist-server/service/role/role.js.map +1 -0
  193. package/dist-server/service/user/index.js +9 -0
  194. package/dist-server/service/user/index.js.map +1 -0
  195. package/dist-server/service/user/user-mutation.js +307 -0
  196. package/dist-server/service/user/user-mutation.js.map +1 -0
  197. package/dist-server/service/user/user-query.js +194 -0
  198. package/dist-server/service/user/user-query.js.map +1 -0
  199. package/dist-server/service/user/user-types.js +106 -0
  200. package/dist-server/service/user/user-types.js.map +1 -0
  201. package/dist-server/service/user/user.js +274 -0
  202. package/dist-server/service/user/user.js.map +1 -0
  203. package/dist-server/service/verification-token/index.js +6 -0
  204. package/dist-server/service/verification-token/index.js.map +1 -0
  205. package/dist-server/service/verification-token/verification-token.js +75 -0
  206. package/dist-server/service/verification-token/verification-token.js.map +1 -0
  207. package/dist-server/templates/account-unlock-email.js +69 -0
  208. package/dist-server/templates/account-unlock-email.js.map +1 -0
  209. package/dist-server/templates/invitation-email.js +70 -0
  210. package/dist-server/templates/invitation-email.js.map +1 -0
  211. package/dist-server/templates/reset-password-email.js +66 -0
  212. package/dist-server/templates/reset-password-email.js.map +1 -0
  213. package/dist-server/templates/verification-email.js +70 -0
  214. package/dist-server/templates/verification-email.js.map +1 -0
  215. package/dist-server/utils/accepts.js +14 -0
  216. package/dist-server/utils/accepts.js.map +1 -0
  217. package/dist-server/utils/access-token-cookie.js +45 -0
  218. package/dist-server/utils/access-token-cookie.js.map +1 -0
  219. package/dist-server/utils/check-user-belongs-domain.js +22 -0
  220. package/dist-server/utils/check-user-belongs-domain.js.map +1 -0
  221. package/dist-server/utils/get-domain-from-hostname.js +10 -0
  222. package/dist-server/utils/get-domain-from-hostname.js.map +1 -0
  223. package/dist-server/utils/get-domain-users.js +31 -0
  224. package/dist-server/utils/get-domain-users.js.map +1 -0
  225. package/dist-server/utils/get-secret.js +15 -0
  226. package/dist-server/utils/get-secret.js.map +1 -0
  227. package/dist-server/utils/get-user-domains.js +40 -0
  228. package/dist-server/utils/get-user-domains.js.map +1 -0
  229. package/package.json +5 -5
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UserMutation = void 0;
16
+ const type_graphql_1 = require("type-graphql");
17
+ const typeorm_1 = require("typeorm");
18
+ const shell_1 = require("@things-factory/shell");
19
+ const user_1 = require("./user");
20
+ const role_1 = require("../role/role");
21
+ const user_types_1 = require("./user-types");
22
+ const get_domain_users_1 = require("../../utils/get-domain-users");
23
+ const env_1 = require("@things-factory/env");
24
+ const delete_user_1 = require("../../controllers/delete-user");
25
+ let UserMutation = class UserMutation {
26
+ async createUser(user, context) {
27
+ const { domain } = context.state;
28
+ const { defaultPassword } = env_1.config.get('password');
29
+ const { email } = user;
30
+ user.email = email.trim();
31
+ const oldUser = await (0, typeorm_1.getRepository)(user_1.User).findOne({ where: { email: user.email } });
32
+ if (oldUser) {
33
+ throw new Error(context.t('error.x already exists in y', { x: context.t('field.user'), y: 'operato' }));
34
+ }
35
+ // consider if validation password rule is required
36
+ /* check if password is following the rule */
37
+ // User.validatePasswordByRule(user.password, context.lng)
38
+ const salt = user_1.User.generateSalt();
39
+ return await (0, typeorm_1.getRepository)(user_1.User).save(Object.assign(Object.assign({ creator: context.state.user, updater: context.state.user }, user), { domains: [domain], roles: user.roles && user.roles.length
40
+ ? await (0, typeorm_1.getRepository)(role_1.Role).findByIds(user.roles.map(role => role.id), {
41
+ where: { domain }
42
+ })
43
+ : [], salt, passwordUpdatedAt: new Date(), password: user.password ? user_1.User.encode(user.password, salt) : user_1.User.encode(defaultPassword, salt) }));
44
+ }
45
+ async updateUser(email, patch, context) {
46
+ const { domain, user: updater } = context.state;
47
+ const qb = (0, get_domain_users_1.buildDomainUsersQueryBuilder)(domain.id, 'USER');
48
+ const user = await qb
49
+ .andWhere('USER.email = :email', { email })
50
+ .leftJoinAndSelect('USER.roles', 'ROLES')
51
+ .leftJoinAndSelect('ROLES.domain', 'R_DOMAIN')
52
+ .getOne();
53
+ if (patch.roles) {
54
+ patch.roles = await (0, typeorm_1.getRepository)(role_1.Role).find({ where: { id: (0, typeorm_1.In)(patch.roles.map((r) => r.id)) } });
55
+ }
56
+ if (patch.status && patch.status === 'activated') {
57
+ user.status = user_1.UserStatus.ACTIVATED;
58
+ }
59
+ return await (0, typeorm_1.getRepository)(user_1.User).save(Object.assign(Object.assign(Object.assign({}, user), patch), { updater }));
60
+ }
61
+ async updateMultipleUser(patches, context) {
62
+ const { domain, user, tx } = context.state;
63
+ const userRepo = tx.getRepository(user_1.User);
64
+ let results = [];
65
+ const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
66
+ const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
67
+ if (_createRecords.length > 0) {
68
+ for (let i = 0; i < _createRecords.length; i++) {
69
+ const newRecord = _createRecords[i];
70
+ // consider if validation password rule is required
71
+ /* check if password is following the rule */
72
+ // User.validatePasswordByRule(newRecord.password, context.lng)
73
+ const salt = user_1.User.generateSalt();
74
+ const result = await userRepo.save(Object.assign(Object.assign({}, newRecord), { domains: [domain], salt, password: user_1.User.encode(newRecord.password, salt), passwordUpdatedAt: new Date(), creator: user, updater: user }));
75
+ // repository api는 작동하지 않음.
76
+ // await tx
77
+ // .createQueryBuilder()
78
+ // .insert()
79
+ // .into('users_domains')
80
+ // .values({
81
+ // usersId: result.id,
82
+ // domainsId: domain.id
83
+ // })
84
+ // .execute()
85
+ results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
86
+ }
87
+ }
88
+ if (_updateRecords.length > 0) {
89
+ for (let i = 0; i < _updateRecords.length; i++) {
90
+ const updateRecord = _updateRecords[i];
91
+ // consider if validation password rule is required
92
+ /* check if password is following the rule */
93
+ // User.validatePasswordByRule(updateRecord.password, context.lng)
94
+ const user = await userRepo.findOne({ where: { id: updateRecord.id }, relations: ['domains'] });
95
+ var domains = user.domains.find(d => d.id === domain.id) ? user.domains : [...user.domains, domain];
96
+ const result = await userRepo.save(Object.assign(Object.assign(Object.assign({}, user), updateRecord), { domains, password: updateRecord.password ? user_1.User.encode(updateRecord.password, user.salt) : user.password, updater: user }));
97
+ if (!updateRecord.status) {
98
+ continue;
99
+ }
100
+ // const domain = await user.domain
101
+ // if (!domain) {
102
+ // continue
103
+ // }
104
+ // const domainId = domain.id
105
+ // const domains = await user.domains
106
+ // if (!domains.find(domain => domain.id == domainId)) {
107
+ // await tx
108
+ // .createQueryBuilder()
109
+ // .insert()
110
+ // .into('users_domains')
111
+ // .values({
112
+ // usersId: user.id,
113
+ // domainsId: domain.id
114
+ // })
115
+ // .execute()
116
+ // }
117
+ results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
118
+ }
119
+ }
120
+ return results;
121
+ }
122
+ async deleteUser(email, context) {
123
+ const { tx } = context.state;
124
+ await (0, delete_user_1.deleteUser)({ email }, tx);
125
+ return true;
126
+ }
127
+ async deleteUsers(emails, context) {
128
+ const { tx } = context.state;
129
+ await (0, delete_user_1.deleteUsers)({ emails }, tx);
130
+ return true;
131
+ }
132
+ async inviteUser(email, context) {
133
+ let { domain } = context.state;
134
+ const invitee = await (0, typeorm_1.getRepository)(user_1.User).findOne({
135
+ where: { email },
136
+ relations: ['domains']
137
+ });
138
+ if (!invitee) {
139
+ throw new Error(context.t('error.failed to find x', { x: context.t('field.user') }));
140
+ }
141
+ const existingDomains = invitee.domains;
142
+ if (existingDomains.find((d) => d.id === domain.id)) {
143
+ throw new Error(context.t('error.x already exists in y', { x: context.t('field.user'), y: domain.name }));
144
+ }
145
+ invitee.domains = [...existingDomains, domain];
146
+ await (0, typeorm_1.getRepository)(user_1.User).save(invitee);
147
+ return true;
148
+ }
149
+ async deleteDomainUser(email, context) {
150
+ const { tx, domain } = context.state;
151
+ let user = await tx
152
+ .getRepository(user_1.User)
153
+ .findOne({ where: { email }, relations: ['domains', 'roles', 'roles.domain'] });
154
+ if (!user)
155
+ throw new Error(context.t('error.failed to find x', { x: context.t('field.user') }));
156
+ const targetDomainIdx = user.domains.findIndex((userDomain) => userDomain.id === domain.id);
157
+ if (targetDomainIdx < 0) {
158
+ throw new Error(context.t('error.x is not a member of y', { x: user.name, y: domain.name }));
159
+ }
160
+ // Remove domain relation with user
161
+ user.domains.splice(targetDomainIdx, 1);
162
+ // Remove domain's roles that user has
163
+ user.roles = user.roles.filter((role) => role.domain.id !== domain.id);
164
+ await tx.getRepository(user_1.User).save(user);
165
+ return true;
166
+ }
167
+ async transferOwner(email, context) {
168
+ const { domain } = context.state;
169
+ const user = await (0, typeorm_1.getRepository)(user_1.User).findOne({
170
+ where: { email }
171
+ });
172
+ domain.owner = user.id;
173
+ await (0, typeorm_1.getRepository)(shell_1.Domain).save(domain);
174
+ return true;
175
+ }
176
+ async resetPasswordToDefault(userId, context) {
177
+ var _a;
178
+ const { tx, domain } = context.state;
179
+ const { defaultPassword } = env_1.config.get('password');
180
+ if (!defaultPassword)
181
+ throw new Error('No default password found');
182
+ const targetUser = await tx.getRepository(user_1.User).findOne(userId, { relations: ['domains'] });
183
+ if (!targetUser)
184
+ throw new Error('No user found');
185
+ if (!((_a = targetUser === null || targetUser === void 0 ? void 0 : targetUser.domains) === null || _a === void 0 ? void 0 : _a.find((userDomain) => userDomain.id === domain.id))) {
186
+ throw new Error('User is not belong to domain');
187
+ }
188
+ targetUser.salt = user_1.User.generateSalt();
189
+ targetUser.password = user_1.User.encode(defaultPassword, targetUser.salt);
190
+ await tx.getRepository(user_1.User).save(targetUser);
191
+ return true;
192
+ }
193
+ async updateUserRoles(userId, availableRoles, selectedRoles, context) {
194
+ const { domain, tx } = context.state;
195
+ let user = await tx.getRepository(user_1.User).findOne(userId, { relations: ['domains', 'roles'] });
196
+ if (!user)
197
+ throw new Error('Failed to find user');
198
+ if (user.domains.map((d) => d.id).indexOf(domain.id) < 0)
199
+ throw new Error(`User is not belongs to current domain`);
200
+ const availableRoleIds = availableRoles.map((r) => r.id);
201
+ user.roles = user.roles.filter((r) => availableRoleIds.indexOf(r.id) < 0);
202
+ user.roles = user.roles.concat(selectedRoles);
203
+ return await tx.getRepository(user_1.User).save(user);
204
+ }
205
+ };
206
+ __decorate([
207
+ (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation")'),
208
+ (0, type_graphql_1.Mutation)(returns => user_1.User, { description: 'To create new user' }),
209
+ __param(0, (0, type_graphql_1.Arg)('user')),
210
+ __param(1, (0, type_graphql_1.Ctx)()),
211
+ __metadata("design:type", Function),
212
+ __metadata("design:paramtypes", [user_types_1.NewUser, Object]),
213
+ __metadata("design:returntype", Promise)
214
+ ], UserMutation.prototype, "createUser", null);
215
+ __decorate([
216
+ (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
217
+ (0, type_graphql_1.Mutation)(returns => user_1.User, { description: 'To modify user information' }),
218
+ __param(0, (0, type_graphql_1.Arg)('email')),
219
+ __param(1, (0, type_graphql_1.Arg)('patch')),
220
+ __param(2, (0, type_graphql_1.Ctx)()),
221
+ __metadata("design:type", Function),
222
+ __metadata("design:paramtypes", [String, user_types_1.UserPatch, Object]),
223
+ __metadata("design:returntype", Promise)
224
+ ], UserMutation.prototype, "updateUser", null);
225
+ __decorate([
226
+ (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
227
+ (0, type_graphql_1.Directive)('@transaction'),
228
+ (0, type_graphql_1.Mutation)(returns => [user_1.User], { description: 'To modify user information' }),
229
+ __param(0, (0, type_graphql_1.Arg)('patches', type => [user_types_1.UserPatch])),
230
+ __param(1, (0, type_graphql_1.Ctx)()),
231
+ __metadata("design:type", Function),
232
+ __metadata("design:paramtypes", [Array, Object]),
233
+ __metadata("design:returntype", Promise)
234
+ ], UserMutation.prototype, "updateMultipleUser", null);
235
+ __decorate([
236
+ (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation")'),
237
+ (0, type_graphql_1.Directive)('@transaction'),
238
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To create new user' }),
239
+ __param(0, (0, type_graphql_1.Arg)('email')),
240
+ __param(1, (0, type_graphql_1.Ctx)()),
241
+ __metadata("design:type", Function),
242
+ __metadata("design:paramtypes", [String, Object]),
243
+ __metadata("design:returntype", Promise)
244
+ ], UserMutation.prototype, "deleteUser", null);
245
+ __decorate([
246
+ (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation")'),
247
+ (0, type_graphql_1.Directive)('@transaction'),
248
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To create new user' }),
249
+ __param(0, (0, type_graphql_1.Arg)('emails', type => [String])),
250
+ __param(1, (0, type_graphql_1.Ctx)()),
251
+ __metadata("design:type", Function),
252
+ __metadata("design:paramtypes", [Array, Object]),
253
+ __metadata("design:returntype", Promise)
254
+ ], UserMutation.prototype, "deleteUsers", null);
255
+ __decorate([
256
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To create new user' }),
257
+ __param(0, (0, type_graphql_1.Arg)('email')),
258
+ __param(1, (0, type_graphql_1.Ctx)()),
259
+ __metadata("design:type", Function),
260
+ __metadata("design:paramtypes", [String, Object]),
261
+ __metadata("design:returntype", Promise)
262
+ ], UserMutation.prototype, "inviteUser", null);
263
+ __decorate([
264
+ (0, type_graphql_1.Directive)('@transaction'),
265
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To create new user' }),
266
+ __param(0, (0, type_graphql_1.Arg)('email')),
267
+ __param(1, (0, type_graphql_1.Ctx)()),
268
+ __metadata("design:type", Function),
269
+ __metadata("design:paramtypes", [String, Object]),
270
+ __metadata("design:returntype", Promise)
271
+ ], UserMutation.prototype, "deleteDomainUser", null);
272
+ __decorate([
273
+ (0, type_graphql_1.Directive)('@privilege(domainOwnerGranted: true)'),
274
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To create new user' }),
275
+ __param(0, (0, type_graphql_1.Arg)('email')),
276
+ __param(1, (0, type_graphql_1.Ctx)()),
277
+ __metadata("design:type", Function),
278
+ __metadata("design:paramtypes", [String, Object]),
279
+ __metadata("design:returntype", Promise)
280
+ ], UserMutation.prototype, "transferOwner", null);
281
+ __decorate([
282
+ (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "query", domainOwnerGranted: true)'),
283
+ (0, type_graphql_1.Directive)('@transaction'),
284
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To create new user' }),
285
+ __param(0, (0, type_graphql_1.Arg)('userId')),
286
+ __param(1, (0, type_graphql_1.Ctx)()),
287
+ __metadata("design:type", Function),
288
+ __metadata("design:paramtypes", [String, Object]),
289
+ __metadata("design:returntype", Promise)
290
+ ], UserMutation.prototype, "resetPasswordToDefault", null);
291
+ __decorate([
292
+ (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "mutation", domainOwnerGranted: true)'),
293
+ (0, type_graphql_1.Directive)('@transaction'),
294
+ (0, type_graphql_1.Mutation)(returns => user_1.User, { description: 'To create new user' }),
295
+ __param(0, (0, type_graphql_1.Arg)('userId')),
296
+ __param(1, (0, type_graphql_1.Arg)('availableRoles', type => [shell_1.ObjectRef])),
297
+ __param(2, (0, type_graphql_1.Arg)('selectedRoles', type => [shell_1.ObjectRef])),
298
+ __param(3, (0, type_graphql_1.Ctx)()),
299
+ __metadata("design:type", Function),
300
+ __metadata("design:paramtypes", [String, Array, Array, Object]),
301
+ __metadata("design:returntype", Promise)
302
+ ], UserMutation.prototype, "updateUserRoles", null);
303
+ UserMutation = __decorate([
304
+ (0, type_graphql_1.Resolver)(user_1.User)
305
+ ], UserMutation);
306
+ exports.UserMutation = UserMutation;
307
+ //# sourceMappingURL=user-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-mutation.js","sourceRoot":"","sources":["../../../server/service/user/user-mutation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var _a;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.UserQuery = void 0;
17
+ const type_graphql_1 = require("type-graphql");
18
+ const typeorm_1 = require("typeorm");
19
+ const shell_1 = require("@things-factory/shell");
20
+ const user_1 = require("./user");
21
+ const application_1 = require("../application/application");
22
+ const appliance_1 = require("../appliance/appliance");
23
+ const user_types_1 = require("./user-types");
24
+ const get_domain_users_1 = require("../../utils/get-domain-users");
25
+ const check_user_belongs_domain_1 = require("../../utils/check-user-belongs-domain");
26
+ const env_1 = require("@things-factory/env");
27
+ let UserQuery = class UserQuery {
28
+ async user(email, context) {
29
+ const { domain } = context.state;
30
+ const qb = (0, get_domain_users_1.buildDomainUsersQueryBuilder)(domain.id, 'USER');
31
+ qb.andWhere('USER.email = :email', { email });
32
+ return qb.getOne();
33
+ }
34
+ async users(params, context) {
35
+ const { domain } = context.state;
36
+ const qb = (0, get_domain_users_1.buildDomainUsersQueryBuilder)(domain.id, 'USER');
37
+ (0, shell_1.buildQuery)(qb, params, null, false);
38
+ const [items, total] = await qb.getManyAndCount();
39
+ const foundUsers = items.map((item) => {
40
+ item.owner = item.id === domain.owner;
41
+ return item;
42
+ });
43
+ return { items: foundUsers, total };
44
+ }
45
+ async checkUserBelongsDomain(context) {
46
+ const { user, domain } = context.state;
47
+ if (user) {
48
+ return await (0, check_user_belongs_domain_1.checkUserBelongsDomain)(domain, user);
49
+ }
50
+ else {
51
+ throw new Error(`Failed to get current user information.`);
52
+ }
53
+ }
54
+ async checkResettablePasswordToDefault(context) {
55
+ const { defaultPassword } = env_1.config.get('password');
56
+ return Boolean(defaultPassword);
57
+ }
58
+ async checkDefaultPassword(context) {
59
+ const { defaultPassword } = env_1.config.get('password');
60
+ return Boolean(defaultPassword);
61
+ }
62
+ async domainUsers(context) {
63
+ const { domain } = context.state;
64
+ const qb = (0, get_domain_users_1.buildDomainUsersQueryBuilder)(domain.id, 'USER');
65
+ const domainUsers = await qb
66
+ .orWhere(qb => {
67
+ const subQuery = qb
68
+ .subQuery()
69
+ .select('CAST(APPLICATION.id as TEXT)')
70
+ .from(application_1.Application, 'APPLICATION')
71
+ .where('APPLICATION.domain_id = :domainId', { domainId: domain.id })
72
+ .getQuery();
73
+ return 'USER.reference IN ' + subQuery;
74
+ })
75
+ .orWhere(qb => {
76
+ const subQuery = qb
77
+ .subQuery()
78
+ .select('CAST(APPLIANCE.id as TEXT)')
79
+ .from(appliance_1.Appliance, 'APPLIANCE')
80
+ .where('APPLIANCE.domain_id = :domainId', { domainId: domain.id })
81
+ .getQuery();
82
+ return 'USER.reference IN ' + subQuery;
83
+ })
84
+ .getMany();
85
+ return domainUsers.map((user) => {
86
+ user.owner = user.id === domain.owner;
87
+ return user;
88
+ });
89
+ }
90
+ async checkUserExistence(email) {
91
+ return Boolean(await (0, typeorm_1.getRepository)(user_1.User).count({ where: { email } }));
92
+ }
93
+ async domains(user) {
94
+ return (await (0, typeorm_1.getRepository)(user_1.User).findOne(user.id, {
95
+ relations: ['domains']
96
+ })).domains;
97
+ }
98
+ async roles(user) {
99
+ return (await (0, typeorm_1.getRepository)(user_1.User).findOne(user.id, { relations: ['roles'] })).roles;
100
+ }
101
+ async updater(user) {
102
+ return await (0, typeorm_1.getRepository)(user_1.User).findOne(user.updaterId);
103
+ }
104
+ async creator(user) {
105
+ return await (0, typeorm_1.getRepository)(user_1.User).findOne(user.creatorId);
106
+ }
107
+ };
108
+ __decorate([
109
+ (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "query", domainOwnerGranted: true)'),
110
+ (0, type_graphql_1.Query)(returns => user_1.User, { description: 'To fetch user' }),
111
+ __param(0, (0, type_graphql_1.Arg)('email')),
112
+ __param(1, (0, type_graphql_1.Ctx)()),
113
+ __metadata("design:type", Function),
114
+ __metadata("design:paramtypes", [String, Object]),
115
+ __metadata("design:returntype", Promise)
116
+ ], UserQuery.prototype, "user", null);
117
+ __decorate([
118
+ (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "query", domainOwnerGranted: true)'),
119
+ (0, type_graphql_1.Query)(returns => user_types_1.UserList, { description: 'To fetch multiple users' }),
120
+ __param(0, (0, type_graphql_1.Args)()),
121
+ __param(1, (0, type_graphql_1.Ctx)()),
122
+ __metadata("design:type", Function),
123
+ __metadata("design:paramtypes", [typeof (_a = typeof shell_1.ListParam !== "undefined" && shell_1.ListParam) === "function" ? _a : Object, Object]),
124
+ __metadata("design:returntype", Promise)
125
+ ], UserQuery.prototype, "users", null);
126
+ __decorate([
127
+ (0, type_graphql_1.Query)(returns => Boolean, { description: 'To check if current user is belongs to current domain' }),
128
+ __param(0, (0, type_graphql_1.Ctx)()),
129
+ __metadata("design:type", Function),
130
+ __metadata("design:paramtypes", [Object]),
131
+ __metadata("design:returntype", Promise)
132
+ ], UserQuery.prototype, "checkUserBelongsDomain", null);
133
+ __decorate([
134
+ (0, type_graphql_1.Query)(returns => Boolean, { description: 'To check if system would provide default password to create new user' }),
135
+ __param(0, (0, type_graphql_1.Ctx)()),
136
+ __metadata("design:type", Function),
137
+ __metadata("design:paramtypes", [Object]),
138
+ __metadata("design:returntype", Promise)
139
+ ], UserQuery.prototype, "checkResettablePasswordToDefault", null);
140
+ __decorate([
141
+ (0, type_graphql_1.Query)(returns => Boolean, { description: 'To check if system would provide default password to create new user' }),
142
+ __param(0, (0, type_graphql_1.Ctx)()),
143
+ __metadata("design:type", Function),
144
+ __metadata("design:paramtypes", [Object]),
145
+ __metadata("design:returntype", Promise)
146
+ ], UserQuery.prototype, "checkDefaultPassword", null);
147
+ __decorate([
148
+ (0, type_graphql_1.Query)(returns => [user_1.User], { description: '...' }),
149
+ __param(0, (0, type_graphql_1.Ctx)()),
150
+ __metadata("design:type", Function),
151
+ __metadata("design:paramtypes", [Object]),
152
+ __metadata("design:returntype", Promise)
153
+ ], UserQuery.prototype, "domainUsers", null);
154
+ __decorate([
155
+ (0, type_graphql_1.Directive)('@privilege(category: "user", privilege: "query")'),
156
+ (0, type_graphql_1.Query)(returns => Boolean, { description: '...' }),
157
+ __param(0, (0, type_graphql_1.Arg)('email')),
158
+ __metadata("design:type", Function),
159
+ __metadata("design:paramtypes", [String]),
160
+ __metadata("design:returntype", Promise)
161
+ ], UserQuery.prototype, "checkUserExistence", null);
162
+ __decorate([
163
+ (0, type_graphql_1.FieldResolver)(),
164
+ __param(0, (0, type_graphql_1.Root)()),
165
+ __metadata("design:type", Function),
166
+ __metadata("design:paramtypes", [user_1.User]),
167
+ __metadata("design:returntype", Promise)
168
+ ], UserQuery.prototype, "domains", null);
169
+ __decorate([
170
+ (0, type_graphql_1.FieldResolver)(),
171
+ __param(0, (0, type_graphql_1.Root)()),
172
+ __metadata("design:type", Function),
173
+ __metadata("design:paramtypes", [user_1.User]),
174
+ __metadata("design:returntype", Promise)
175
+ ], UserQuery.prototype, "roles", null);
176
+ __decorate([
177
+ (0, type_graphql_1.FieldResolver)(),
178
+ __param(0, (0, type_graphql_1.Root)()),
179
+ __metadata("design:type", Function),
180
+ __metadata("design:paramtypes", [user_1.User]),
181
+ __metadata("design:returntype", Promise)
182
+ ], UserQuery.prototype, "updater", null);
183
+ __decorate([
184
+ (0, type_graphql_1.FieldResolver)(),
185
+ __param(0, (0, type_graphql_1.Root)()),
186
+ __metadata("design:type", Function),
187
+ __metadata("design:paramtypes", [user_1.User]),
188
+ __metadata("design:returntype", Promise)
189
+ ], UserQuery.prototype, "creator", null);
190
+ UserQuery = __decorate([
191
+ (0, type_graphql_1.Resolver)(user_1.User)
192
+ ], UserQuery);
193
+ exports.UserQuery = UserQuery;
194
+ //# sourceMappingURL=user-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-query.js","sourceRoot":"","sources":["../../../server/service/user/user-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserList = exports.UserPatch = exports.NewUser = void 0;
13
+ const type_graphql_1 = require("type-graphql");
14
+ const shell_1 = require("@things-factory/shell");
15
+ const user_1 = require("./user");
16
+ let NewUser = class NewUser {
17
+ };
18
+ __decorate([
19
+ (0, type_graphql_1.Field)(),
20
+ __metadata("design:type", String)
21
+ ], NewUser.prototype, "name", void 0);
22
+ __decorate([
23
+ (0, type_graphql_1.Field)({ nullable: true }),
24
+ __metadata("design:type", String)
25
+ ], NewUser.prototype, "description", void 0);
26
+ __decorate([
27
+ (0, type_graphql_1.Field)(),
28
+ __metadata("design:type", String)
29
+ ], NewUser.prototype, "email", void 0);
30
+ __decorate([
31
+ (0, type_graphql_1.Field)({ nullable: true }),
32
+ __metadata("design:type", String)
33
+ ], NewUser.prototype, "password", void 0);
34
+ __decorate([
35
+ (0, type_graphql_1.Field)({ nullable: true }),
36
+ __metadata("design:type", String)
37
+ ], NewUser.prototype, "userType", void 0);
38
+ __decorate([
39
+ (0, type_graphql_1.Field)(type => [shell_1.ObjectRef], { nullable: true }),
40
+ __metadata("design:type", Array)
41
+ ], NewUser.prototype, "roles", void 0);
42
+ NewUser = __decorate([
43
+ (0, type_graphql_1.InputType)()
44
+ ], NewUser);
45
+ exports.NewUser = NewUser;
46
+ let UserPatch = class UserPatch {
47
+ };
48
+ __decorate([
49
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
50
+ __metadata("design:type", String)
51
+ ], UserPatch.prototype, "id", void 0);
52
+ __decorate([
53
+ (0, type_graphql_1.Field)({ nullable: true }),
54
+ __metadata("design:type", String)
55
+ ], UserPatch.prototype, "name", void 0);
56
+ __decorate([
57
+ (0, type_graphql_1.Field)(type => [shell_1.ObjectRef], { nullable: true }),
58
+ __metadata("design:type", Array)
59
+ ], UserPatch.prototype, "domains", void 0);
60
+ __decorate([
61
+ (0, type_graphql_1.Field)({ nullable: true }),
62
+ __metadata("design:type", String)
63
+ ], UserPatch.prototype, "description", void 0);
64
+ __decorate([
65
+ (0, type_graphql_1.Field)({ nullable: true }),
66
+ __metadata("design:type", String)
67
+ ], UserPatch.prototype, "email", void 0);
68
+ __decorate([
69
+ (0, type_graphql_1.Field)({ nullable: true }),
70
+ __metadata("design:type", String)
71
+ ], UserPatch.prototype, "password", void 0);
72
+ __decorate([
73
+ (0, type_graphql_1.Field)({ nullable: true }),
74
+ __metadata("design:type", String)
75
+ ], UserPatch.prototype, "status", void 0);
76
+ __decorate([
77
+ (0, type_graphql_1.Field)(type => [shell_1.ObjectRef], { nullable: true }),
78
+ __metadata("design:type", Array)
79
+ ], UserPatch.prototype, "roles", void 0);
80
+ __decorate([
81
+ (0, type_graphql_1.Field)({ nullable: true }),
82
+ __metadata("design:type", String)
83
+ ], UserPatch.prototype, "userType", void 0);
84
+ __decorate([
85
+ (0, type_graphql_1.Field)({ nullable: true }),
86
+ __metadata("design:type", String)
87
+ ], UserPatch.prototype, "cuFlag", void 0);
88
+ UserPatch = __decorate([
89
+ (0, type_graphql_1.InputType)()
90
+ ], UserPatch);
91
+ exports.UserPatch = UserPatch;
92
+ let UserList = class UserList {
93
+ };
94
+ __decorate([
95
+ (0, type_graphql_1.Field)(type => [user_1.User], { nullable: true }),
96
+ __metadata("design:type", Array)
97
+ ], UserList.prototype, "items", void 0);
98
+ __decorate([
99
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
100
+ __metadata("design:type", Number)
101
+ ], UserList.prototype, "total", void 0);
102
+ UserList = __decorate([
103
+ (0, type_graphql_1.ObjectType)()
104
+ ], UserList);
105
+ exports.UserList = UserList;
106
+ //# sourceMappingURL=user-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-types.js","sourceRoot":"","sources":["../../../server/service/user/user-types.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAoE;AACpE,iDAAiD;AACjD,iCAA6B;AAGtB,IAAM,OAAO,GAAb,MAAM,OAAO;CAkBnB,CAAA;AAjBC;IAAC,IAAA,oBAAK,GAAE;;qCACI;AAEZ;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACN;AAEpB;IAAC,IAAA,oBAAK,GAAE;;sCACK;AAEb;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACT;AAEjB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACT;AAEjB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC5B;AAjBR,OAAO;IADnB,IAAA,wBAAS,GAAE;GACC,OAAO,CAkBnB;AAlBY,0BAAO;AAqBb,IAAM,SAAS,GAAf,MAAM,SAAS;CA8BrB,CAAA;AA7BC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qCAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACb;AAEb;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0CAC1B;AAErB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8CACN;AAEpB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACZ;AAEd;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACT;AAEjB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACX;AAEf;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCAC5B;AAEnB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACT;AAEjB;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yCACX;AA7BJ,SAAS;IADrB,IAAA,wBAAS,GAAE;GACC,SAAS,CA8BrB;AA9BY,8BAAS;AAiCf,IAAM,QAAQ,GAAd,MAAM,QAAQ;CAMpB,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCAC7B;AAEb;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCAC1B;AALF,QAAQ;IADpB,IAAA,yBAAU,GAAE;GACA,QAAQ,CAMpB;AANY,4BAAQ"}