@things-factory/auth-base 4.3.582 → 4.3.671

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/package.json +7 -7
  2. package/dist-server/constants/error-code.js +0 -21
  3. package/dist-server/constants/error-code.js.map +0 -1
  4. package/dist-server/constants/error-message.js +0 -1
  5. package/dist-server/constants/error-message.js.map +0 -1
  6. package/dist-server/constants/max-age.js +0 -5
  7. package/dist-server/constants/max-age.js.map +0 -1
  8. package/dist-server/controllers/auth.js +0 -21
  9. package/dist-server/controllers/auth.js.map +0 -1
  10. package/dist-server/controllers/change-pwd.js +0 -80
  11. package/dist-server/controllers/change-pwd.js.map +0 -1
  12. package/dist-server/controllers/checkin.js +0 -21
  13. package/dist-server/controllers/checkin.js.map +0 -1
  14. package/dist-server/controllers/delete-user.js +0 -61
  15. package/dist-server/controllers/delete-user.js.map +0 -1
  16. package/dist-server/controllers/invitation.js +0 -119
  17. package/dist-server/controllers/invitation.js.map +0 -1
  18. package/dist-server/controllers/profile.js +0 -26
  19. package/dist-server/controllers/profile.js.map +0 -1
  20. package/dist-server/controllers/reset-password.js +0 -110
  21. package/dist-server/controllers/reset-password.js.map +0 -1
  22. package/dist-server/controllers/signin.js +0 -76
  23. package/dist-server/controllers/signin.js.map +0 -1
  24. package/dist-server/controllers/signup.js +0 -105
  25. package/dist-server/controllers/signup.js.map +0 -1
  26. package/dist-server/controllers/unlock-user.js +0 -60
  27. package/dist-server/controllers/unlock-user.js.map +0 -1
  28. package/dist-server/controllers/utils/make-invitation-token.js +0 -12
  29. package/dist-server/controllers/utils/make-invitation-token.js.map +0 -1
  30. package/dist-server/controllers/utils/make-verification-token.js +0 -12
  31. package/dist-server/controllers/utils/make-verification-token.js.map +0 -1
  32. package/dist-server/controllers/utils/password-rule.js +0 -90
  33. package/dist-server/controllers/utils/password-rule.js.map +0 -1
  34. package/dist-server/controllers/utils/save-invitation-token.js +0 -13
  35. package/dist-server/controllers/utils/save-invitation-token.js.map +0 -1
  36. package/dist-server/controllers/utils/save-verification-token.js +0 -15
  37. package/dist-server/controllers/utils/save-verification-token.js.map +0 -1
  38. package/dist-server/controllers/verification.js +0 -78
  39. package/dist-server/controllers/verification.js.map +0 -1
  40. package/dist-server/errors/auth-error.js +0 -40
  41. package/dist-server/errors/auth-error.js.map +0 -1
  42. package/dist-server/errors/index.js +0 -19
  43. package/dist-server/errors/index.js.map +0 -1
  44. package/dist-server/errors/user-domain-not-match-error.js +0 -24
  45. package/dist-server/errors/user-domain-not-match-error.js.map +0 -1
  46. package/dist-server/index.js +0 -29
  47. package/dist-server/index.js.map +0 -1
  48. package/dist-server/middlewares/authenticate-401-middleware.js +0 -84
  49. package/dist-server/middlewares/authenticate-401-middleware.js.map +0 -1
  50. package/dist-server/middlewares/domain-authenticate-middleware.js +0 -58
  51. package/dist-server/middlewares/domain-authenticate-middleware.js.map +0 -1
  52. package/dist-server/middlewares/graphql-authenticate-middleware.js +0 -17
  53. package/dist-server/middlewares/graphql-authenticate-middleware.js.map +0 -1
  54. package/dist-server/middlewares/index.js +0 -57
  55. package/dist-server/middlewares/index.js.map +0 -1
  56. package/dist-server/middlewares/jwt-authenticate-middleware.js +0 -77
  57. package/dist-server/middlewares/jwt-authenticate-middleware.js.map +0 -1
  58. package/dist-server/middlewares/signin-middleware.js +0 -47
  59. package/dist-server/middlewares/signin-middleware.js.map +0 -1
  60. package/dist-server/migrations/1548206416130-SeedUser.js +0 -46
  61. package/dist-server/migrations/1548206416130-SeedUser.js.map +0 -1
  62. package/dist-server/migrations/1566805283882-SeedPrivilege.js +0 -26
  63. package/dist-server/migrations/1566805283882-SeedPrivilege.js.map +0 -1
  64. package/dist-server/migrations/index.js +0 -12
  65. package/dist-server/migrations/index.js.map +0 -1
  66. package/dist-server/router/auth-checkin-router.js +0 -96
  67. package/dist-server/router/auth-checkin-router.js.map +0 -1
  68. package/dist-server/router/auth-private-process-router.js +0 -91
  69. package/dist-server/router/auth-private-process-router.js.map +0 -1
  70. package/dist-server/router/auth-public-process-router.js +0 -243
  71. package/dist-server/router/auth-public-process-router.js.map +0 -1
  72. package/dist-server/router/auth-signin-router.js +0 -38
  73. package/dist-server/router/auth-signin-router.js.map +0 -1
  74. package/dist-server/router/auth-signup-router.js +0 -76
  75. package/dist-server/router/auth-signup-router.js.map +0 -1
  76. package/dist-server/router/index.js +0 -25
  77. package/dist-server/router/index.js.map +0 -1
  78. package/dist-server/router/oauth2/index.js +0 -19
  79. package/dist-server/router/oauth2/index.js.map +0 -1
  80. package/dist-server/router/oauth2/oauth2-authorize-router.js +0 -72
  81. package/dist-server/router/oauth2/oauth2-authorize-router.js.map +0 -1
  82. package/dist-server/router/oauth2/oauth2-router.js +0 -137
  83. package/dist-server/router/oauth2/oauth2-router.js.map +0 -1
  84. package/dist-server/router/oauth2/oauth2-server.js +0 -201
  85. package/dist-server/router/oauth2/oauth2-server.js.map +0 -1
  86. package/dist-server/router/oauth2/passport-oauth2-client-password.js +0 -84
  87. package/dist-server/router/oauth2/passport-oauth2-client-password.js.map +0 -1
  88. package/dist-server/router/oauth2/passport-refresh-token.js +0 -84
  89. package/dist-server/router/oauth2/passport-refresh-token.js.map +0 -1
  90. package/dist-server/router/path-base-domain-router.js +0 -15
  91. package/dist-server/router/path-base-domain-router.js.map +0 -1
  92. package/dist-server/router/site-root-router.js +0 -48
  93. package/dist-server/router/site-root-router.js.map +0 -1
  94. package/dist-server/routes.js +0 -58
  95. package/dist-server/routes.js.map +0 -1
  96. package/dist-server/service/app-binding/app-binding-mutation.js +0 -45
  97. package/dist-server/service/app-binding/app-binding-mutation.js.map +0 -1
  98. package/dist-server/service/app-binding/app-binding-query.js +0 -135
  99. package/dist-server/service/app-binding/app-binding-query.js.map +0 -1
  100. package/dist-server/service/app-binding/app-binding-types.js +0 -29
  101. package/dist-server/service/app-binding/app-binding-types.js.map +0 -1
  102. package/dist-server/service/app-binding/app-binding.js +0 -34
  103. package/dist-server/service/app-binding/app-binding.js.map +0 -1
  104. package/dist-server/service/app-binding/index.js +0 -7
  105. package/dist-server/service/app-binding/index.js.map +0 -1
  106. package/dist-server/service/appliance/appliance-mutation.js +0 -117
  107. package/dist-server/service/appliance/appliance-mutation.js.map +0 -1
  108. package/dist-server/service/appliance/appliance-query.js +0 -85
  109. package/dist-server/service/appliance/appliance-query.js.map +0 -1
  110. package/dist-server/service/appliance/appliance-types.js +0 -93
  111. package/dist-server/service/appliance/appliance-types.js.map +0 -1
  112. package/dist-server/service/appliance/appliance.js +0 -155
  113. package/dist-server/service/appliance/appliance.js.map +0 -1
  114. package/dist-server/service/appliance/index.js +0 -9
  115. package/dist-server/service/appliance/index.js.map +0 -1
  116. package/dist-server/service/application/application-mutation.js +0 -121
  117. package/dist-server/service/application/application-mutation.js.map +0 -1
  118. package/dist-server/service/application/application-query.js +0 -128
  119. package/dist-server/service/application/application-query.js.map +0 -1
  120. package/dist-server/service/application/application-types.js +0 -119
  121. package/dist-server/service/application/application-types.js.map +0 -1
  122. package/dist-server/service/application/application.js +0 -236
  123. package/dist-server/service/application/application.js.map +0 -1
  124. package/dist-server/service/application/index.js +0 -9
  125. package/dist-server/service/application/index.js.map +0 -1
  126. package/dist-server/service/domain-generator/domain-generator-mutation.js +0 -117
  127. package/dist-server/service/domain-generator/domain-generator-mutation.js.map +0 -1
  128. package/dist-server/service/domain-generator/domain-generator-types.js +0 -79
  129. package/dist-server/service/domain-generator/domain-generator-types.js.map +0 -1
  130. package/dist-server/service/domain-generator/index.js +0 -6
  131. package/dist-server/service/domain-generator/index.js.map +0 -1
  132. package/dist-server/service/granted-role/granted-role-mutation.js +0 -144
  133. package/dist-server/service/granted-role/granted-role-mutation.js.map +0 -1
  134. package/dist-server/service/granted-role/granted-role-query.js +0 -93
  135. package/dist-server/service/granted-role/granted-role-query.js.map +0 -1
  136. package/dist-server/service/granted-role/granted-role.js +0 -49
  137. package/dist-server/service/granted-role/granted-role.js.map +0 -1
  138. package/dist-server/service/granted-role/index.js +0 -9
  139. package/dist-server/service/granted-role/index.js.map +0 -1
  140. package/dist-server/service/index.js +0 -94
  141. package/dist-server/service/index.js.map +0 -1
  142. package/dist-server/service/invitation/index.js +0 -9
  143. package/dist-server/service/invitation/index.js.map +0 -1
  144. package/dist-server/service/invitation/invitation-mutation.js +0 -76
  145. package/dist-server/service/invitation/invitation-mutation.js.map +0 -1
  146. package/dist-server/service/invitation/invitation-query.js +0 -57
  147. package/dist-server/service/invitation/invitation-query.js.map +0 -1
  148. package/dist-server/service/invitation/invitation-types.js +0 -29
  149. package/dist-server/service/invitation/invitation-types.js.map +0 -1
  150. package/dist-server/service/invitation/invitation.js +0 -84
  151. package/dist-server/service/invitation/invitation.js.map +0 -1
  152. package/dist-server/service/login-history/index.js +0 -8
  153. package/dist-server/service/login-history/index.js.map +0 -1
  154. package/dist-server/service/login-history/login-history-query.js +0 -67
  155. package/dist-server/service/login-history/login-history-query.js.map +0 -1
  156. package/dist-server/service/login-history/login-history.js +0 -68
  157. package/dist-server/service/login-history/login-history.js.map +0 -1
  158. package/dist-server/service/partner/index.js +0 -9
  159. package/dist-server/service/partner/index.js.map +0 -1
  160. package/dist-server/service/partner/partner-mutation.js +0 -134
  161. package/dist-server/service/partner/partner-mutation.js.map +0 -1
  162. package/dist-server/service/partner/partner-query.js +0 -193
  163. package/dist-server/service/partner/partner-query.js.map +0 -1
  164. package/dist-server/service/partner/partner-types.js +0 -57
  165. package/dist-server/service/partner/partner-types.js.map +0 -1
  166. package/dist-server/service/partner/partner.js +0 -86
  167. package/dist-server/service/partner/partner.js.map +0 -1
  168. package/dist-server/service/password-history/index.js +0 -6
  169. package/dist-server/service/password-history/index.js.map +0 -1
  170. package/dist-server/service/password-history/password-history.js +0 -34
  171. package/dist-server/service/password-history/password-history.js.map +0 -1
  172. package/dist-server/service/privilege/index.js +0 -9
  173. package/dist-server/service/privilege/index.js.map +0 -1
  174. package/dist-server/service/privilege/privilege-directive.js +0 -85
  175. package/dist-server/service/privilege/privilege-directive.js.map +0 -1
  176. package/dist-server/service/privilege/privilege-mutation.js +0 -80
  177. package/dist-server/service/privilege/privilege-mutation.js.map +0 -1
  178. package/dist-server/service/privilege/privilege-query.js +0 -109
  179. package/dist-server/service/privilege/privilege-query.js.map +0 -1
  180. package/dist-server/service/privilege/privilege-types.js +0 -100
  181. package/dist-server/service/privilege/privilege-types.js.map +0 -1
  182. package/dist-server/service/privilege/privilege.js +0 -92
  183. package/dist-server/service/privilege/privilege.js.map +0 -1
  184. package/dist-server/service/role/index.js +0 -9
  185. package/dist-server/service/role/index.js.map +0 -1
  186. package/dist-server/service/role/role-mutation.js +0 -121
  187. package/dist-server/service/role/role-mutation.js.map +0 -1
  188. package/dist-server/service/role/role-query.js +0 -207
  189. package/dist-server/service/role/role-query.js.map +0 -1
  190. package/dist-server/service/role/role-types.js +0 -130
  191. package/dist-server/service/role/role-types.js.map +0 -1
  192. package/dist-server/service/role/role.js +0 -94
  193. package/dist-server/service/role/role.js.map +0 -1
  194. package/dist-server/service/user/index.js +0 -9
  195. package/dist-server/service/user/index.js.map +0 -1
  196. package/dist-server/service/user/user-mutation.js +0 -307
  197. package/dist-server/service/user/user-mutation.js.map +0 -1
  198. package/dist-server/service/user/user-query.js +0 -194
  199. package/dist-server/service/user/user-query.js.map +0 -1
  200. package/dist-server/service/user/user-types.js +0 -106
  201. package/dist-server/service/user/user-types.js.map +0 -1
  202. package/dist-server/service/user/user.js +0 -274
  203. package/dist-server/service/user/user.js.map +0 -1
  204. package/dist-server/service/verification-token/index.js +0 -6
  205. package/dist-server/service/verification-token/index.js.map +0 -1
  206. package/dist-server/service/verification-token/verification-token.js +0 -75
  207. package/dist-server/service/verification-token/verification-token.js.map +0 -1
  208. package/dist-server/templates/account-unlock-email.js +0 -69
  209. package/dist-server/templates/account-unlock-email.js.map +0 -1
  210. package/dist-server/templates/invitation-email.js +0 -70
  211. package/dist-server/templates/invitation-email.js.map +0 -1
  212. package/dist-server/templates/reset-password-email.js +0 -66
  213. package/dist-server/templates/reset-password-email.js.map +0 -1
  214. package/dist-server/templates/verification-email.js +0 -70
  215. package/dist-server/templates/verification-email.js.map +0 -1
  216. package/dist-server/utils/accepts.js +0 -14
  217. package/dist-server/utils/accepts.js.map +0 -1
  218. package/dist-server/utils/access-token-cookie.js +0 -45
  219. package/dist-server/utils/access-token-cookie.js.map +0 -1
  220. package/dist-server/utils/check-user-belongs-domain.js +0 -22
  221. package/dist-server/utils/check-user-belongs-domain.js.map +0 -1
  222. package/dist-server/utils/get-domain-from-hostname.js +0 -10
  223. package/dist-server/utils/get-domain-from-hostname.js.map +0 -1
  224. package/dist-server/utils/get-domain-users.js +0 -31
  225. package/dist-server/utils/get-domain-users.js.map +0 -1
  226. package/dist-server/utils/get-secret.js +0 -15
  227. package/dist-server/utils/get-secret.js.map +0 -1
  228. package/dist-server/utils/get-user-domains.js +0 -40
  229. package/dist-server/utils/get-user-domains.js.map +0 -1
@@ -1,91 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.authPrivateProcessRouter = void 0;
7
- const env_1 = require("@things-factory/env");
8
- const koa_router_1 = __importDefault(require("koa-router"));
9
- const get_user_domains_1 = require("../utils/get-user-domains");
10
- const typeorm_1 = require("typeorm");
11
- const change_pwd_1 = require("../controllers/change-pwd");
12
- const delete_user_1 = require("../controllers/delete-user");
13
- const profile_1 = require("../controllers/profile");
14
- const user_1 = require("../service/user/user");
15
- const access_token_cookie_1 = require("../utils/access-token-cookie");
16
- const debug = require('debug')('things-factory:auth-base:auth-private-process-router');
17
- const domainType = env_1.config.get('domainType');
18
- exports.authPrivateProcessRouter = new koa_router_1.default({
19
- prefix: '/auth'
20
- });
21
- exports.authPrivateProcessRouter
22
- .post('/change-pass', async (context, next) => {
23
- const { t } = context;
24
- let { current_pass, new_pass, confirm_pass } = context.request.body;
25
- const token = await (0, change_pwd_1.changePwd)(context.state.user, current_pass, new_pass, confirm_pass, context);
26
- context.body = t('text.password changed successfully');
27
- (0, access_token_cookie_1.setAccessTokenCookie)(context, token);
28
- })
29
- .post('/update-profile', async (context, next) => {
30
- const { i18next, t } = context;
31
- const newProfiles = context.request.body;
32
- await (0, profile_1.updateProfile)(context.state.user, newProfiles);
33
- if (newProfiles.locale) {
34
- context.body = i18next.getFixedT(newProfiles.locale)('text.profile changed successfully');
35
- }
36
- else {
37
- context.body = t('text.profile changed successfully');
38
- }
39
- })
40
- .post('/delete-user', async (context, next) => {
41
- const { t } = context;
42
- var { user } = context.state;
43
- var { email: userEmail } = user;
44
- var { password, email } = context.request.body;
45
- const userRepo = (0, typeorm_1.getRepository)(user_1.User);
46
- const userInfo = await userRepo.findOne({
47
- where: {
48
- email: userEmail
49
- },
50
- relations: ['domains']
51
- });
52
- if (email != userEmail || !user_1.User.verify(userInfo.password, password, userInfo.salt)) {
53
- context.status = 401;
54
- context.body = t('error.user validation failed');
55
- return;
56
- }
57
- await (0, delete_user_1.deleteUser)(user);
58
- context.body = t('text.delete account succeed');
59
- (0, access_token_cookie_1.clearAccessTokenCookie)(context);
60
- })
61
- .get('/profile', async (context, next) => {
62
- const { domain, user } = context.state;
63
- let domains = await (0, get_user_domains_1.getUserDomains)(user);
64
- domains = domains
65
- .filter((d) => d.extType == domainType)
66
- .map((d) => {
67
- return {
68
- subdomain: d.subdomain,
69
- name: d.name,
70
- description: d.description,
71
- extType: d.extType,
72
- brandName: d.brandName,
73
- brandImage: d.brandImage
74
- };
75
- });
76
- context.body = {
77
- user: {
78
- email: user.email,
79
- name: user.name,
80
- userType: user.userType,
81
- owner: await process.domainOwnerGranted(domain, user),
82
- super: await process.superUserGranted(domain, user)
83
- },
84
- domains,
85
- domain: domain && {
86
- name: domain.name,
87
- subdomain: domain.subdomain
88
- }
89
- };
90
- });
91
- //# sourceMappingURL=auth-private-process-router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-private-process-router.js","sourceRoot":"","sources":["../../server/router/auth-private-process-router.ts"],"names":[],"mappings":"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"}
@@ -1,243 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.authPublicProcessRouter = void 0;
7
- const koa_router_1 = __importDefault(require("koa-router"));
8
- const typeorm_1 = require("typeorm");
9
- const env_1 = require("@things-factory/env");
10
- const shell_1 = require("@things-factory/shell");
11
- const reset_password_1 = require("../controllers/reset-password");
12
- const unlock_user_1 = require("../controllers/unlock-user");
13
- const verification_1 = require("../controllers/verification");
14
- const invitation_1 = require("../controllers/invitation");
15
- const user_1 = require("../service/user/user");
16
- const access_token_cookie_1 = require("../utils/access-token-cookie");
17
- const accepts_1 = require("../utils/accepts");
18
- const debug = require('debug')('things-factory:auth-base:auth-public-process-router');
19
- const passwordRule = env_1.config.get('password') || {
20
- lowerCase: true,
21
- upperCase: true,
22
- digit: true,
23
- specialCharacter: true,
24
- allowRepeat: false,
25
- useTightPattern: true,
26
- useLoosePattern: false,
27
- tightCharacterLength: 8,
28
- looseCharacterLength: 15
29
- };
30
- exports.authPublicProcessRouter = new koa_router_1.default({
31
- prefix: '/auth'
32
- });
33
- exports.authPublicProcessRouter.post('/join', async (context, next) => {
34
- const { email } = context.request.body || {};
35
- debug('post:/join', context.request.body);
36
- const user = await (0, typeorm_1.getRepository)(user_1.User).findOne({
37
- email
38
- });
39
- debug('post:/join', email, user === null || user === void 0 ? void 0 : user.email);
40
- if (user) {
41
- context.redirect(`/auth/signin?email=${email}`);
42
- }
43
- else {
44
- context.redirect(`/auth/signup?email=${email}`);
45
- }
46
- });
47
- exports.authPublicProcessRouter.all('/signout', async (context, next) => {
48
- const { header, t } = context;
49
- (0, access_token_cookie_1.clearAccessTokenCookie)(context);
50
- context.body = t('text.signout successfully');
51
- debug('all:/signout', header.accept);
52
- if ((0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
53
- context.redirect((0, shell_1.getSiteRootPath)(context));
54
- }
55
- });
56
- exports.authPublicProcessRouter.get('/forgot-password', async (context, next) => {
57
- const { email } = context.request.query;
58
- debug('get:/forgot-password', email);
59
- await context.render('auth-page', {
60
- pageElement: 'forgot-password',
61
- elementScript: '/auth/forgot-password.js',
62
- data: {
63
- email
64
- }
65
- });
66
- });
67
- exports.authPublicProcessRouter.get('/reset-password', async (context, next) => {
68
- const { token } = context.request.query;
69
- debug('get:/reset-password', token);
70
- await context.render('auth-page', {
71
- pageElement: 'reset-password',
72
- elementScript: '/auth/reset-password.js',
73
- data: {
74
- token,
75
- passwordRule
76
- }
77
- });
78
- });
79
- exports.authPublicProcessRouter.get('/unlock-user', async (context, next) => {
80
- const { token } = context.request.query;
81
- debug('get:/unlock-user', token);
82
- await context.render('auth-page', {
83
- pageElement: 'unlock-user',
84
- elementScript: '/auth/unlock-user.js',
85
- data: {
86
- token
87
- }
88
- });
89
- });
90
- exports.authPublicProcessRouter.get('/activate/:email', async (context, next) => {
91
- const { email } = context.params;
92
- debug('get:/activate/:email', email);
93
- await context.render('auth-page', {
94
- pageElement: 'auth-activate',
95
- elementScript: '/auth/activate.js',
96
- data: {
97
- email
98
- }
99
- });
100
- });
101
- exports.authPublicProcessRouter.get('/verify/:token', async (context, next) => {
102
- const { header, t } = context;
103
- var token = context.params.token;
104
- debug('get:/verify/:token', token);
105
- await (0, verification_1.verify)(token);
106
- var message = t('text.user activated successfully');
107
- context.body = message;
108
- if ((0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
109
- await context.render('auth-page', {
110
- pageElement: 'auth-result',
111
- elementScript: '/auth/result.js',
112
- data: {
113
- message
114
- }
115
- });
116
- }
117
- });
118
- exports.authPublicProcessRouter.post('/resend-verification-email', async (context, next) => {
119
- const { t } = context;
120
- const { email } = context.request.body;
121
- var succeed = await (0, verification_1.resendVerificationEmail)(email, context);
122
- var message = t('text.verification email sent');
123
- if (succeed) {
124
- context.status = 200;
125
- context.body = message;
126
- }
127
- debug('get:/resend-verification-email', email);
128
- });
129
- exports.authPublicProcessRouter.post('/resend-invitation-email', async (context, next) => {
130
- const { t } = context;
131
- const { email, reference, type } = context.request.body;
132
- var succeed = await (0, invitation_1.resendInvitationEmail)({
133
- email,
134
- reference,
135
- type
136
- }, context);
137
- var message = t('text.invitation email sent');
138
- if (succeed) {
139
- context.status = 200;
140
- context.body = message;
141
- }
142
- debug('get:/resend-invitation-email', email);
143
- });
144
- exports.authPublicProcessRouter.post('/forgot-password', async (context, next) => {
145
- const { t } = context;
146
- const { email } = context.request.body;
147
- if (!email)
148
- return next();
149
- const userRepo = (0, typeorm_1.getRepository)(user_1.User);
150
- const user = await userRepo.findOne({
151
- where: {
152
- email
153
- }
154
- });
155
- const succeed = await (0, reset_password_1.sendPasswordResetEmail)({
156
- user,
157
- context
158
- });
159
- if (succeed) {
160
- context.status = 200;
161
- context.body = t('text.password reset email sent');
162
- }
163
- debug('post:/forgot-password', email);
164
- });
165
- exports.authPublicProcessRouter.post('/reset-password', async (context, next) => {
166
- const { header, t } = context;
167
- try {
168
- const { password, token } = context.request.body;
169
- if (!(token && password)) {
170
- let message = t('error.token or password is invalid');
171
- context.status = 404;
172
- context.body = {
173
- message
174
- };
175
- if ((0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
176
- await context.render('auth-page', {
177
- pageElement: 'reset-password',
178
- elementScript: '/auth/reset-password.js',
179
- data: {
180
- token,
181
- message,
182
- passwordRule
183
- }
184
- });
185
- }
186
- return;
187
- }
188
- await (0, reset_password_1.resetPassword)(token, password, context);
189
- debug('post:/reset-password', token);
190
- var message = t('text.password reset succeed');
191
- context.body = message;
192
- (0, access_token_cookie_1.clearAccessTokenCookie)(context);
193
- if ((0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
194
- await context.render('auth-page', {
195
- pageElement: 'auth-result',
196
- elementScript: '/auth/result.js',
197
- data: {
198
- message
199
- }
200
- });
201
- }
202
- }
203
- catch (e) {
204
- context.status = 404;
205
- context.body = e.message;
206
- if ((0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
207
- await context.render('auth-page', {
208
- pageElement: 'auth-result',
209
- elementScript: '/auth/result.js',
210
- data: {
211
- message: e.message
212
- }
213
- });
214
- }
215
- }
216
- });
217
- exports.authPublicProcessRouter.post('/unlock-user', async (context, next) => {
218
- const { header, t } = context;
219
- const { password, token } = context.request.body;
220
- debug('post:/unlock-user', token);
221
- if (!(token || password)) {
222
- context.status = 404;
223
- context.body = t('error.token or password is invalid');
224
- debug('post:/unlock-user', 'token or password is invalid');
225
- return;
226
- }
227
- var succeed = await (0, unlock_user_1.unlockUser)(token, password);
228
- if (succeed) {
229
- context.body = t('text.password reset succeed');
230
- (0, access_token_cookie_1.clearAccessTokenCookie)(context);
231
- debug('post:/unlock-user', 'password reset succeed');
232
- }
233
- if ((0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
234
- await context.render('auth-page', {
235
- pageElement: 'auth-result',
236
- elementScript: '/auth/result.js',
237
- data: {
238
- message: t('text.account is reactivated')
239
- }
240
- });
241
- }
242
- });
243
- //# sourceMappingURL=auth-public-process-router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-public-process-router.js","sourceRoot":"","sources":["../../server/router/auth-public-process-router.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.authSigninRouter = void 0;
7
- const koa_router_1 = __importDefault(require("koa-router"));
8
- const middlewares_1 = require("../middlewares");
9
- const accepts_1 = require("../utils/accepts");
10
- const access_token_cookie_1 = require("../utils/access-token-cookie");
11
- const debug = require('debug')('things-factory:auth-base:auth-signin-router');
12
- exports.authSigninRouter = new koa_router_1.default();
13
- exports.authSigninRouter.get('/auth/signin', async (context, next) => {
14
- const { redirect_to, email } = context.query;
15
- await context.render('auth-page', {
16
- pageElement: 'auth-signin',
17
- elementScript: '/auth/signin.js',
18
- data: {
19
- email,
20
- redirectTo: redirect_to
21
- }
22
- });
23
- });
24
- exports.authSigninRouter.post('/auth/signin', middlewares_1.signinMiddleware, async (context, next) => {
25
- const { request, t } = context;
26
- const { token, user, domain } = context.state;
27
- const { body: reqBody, header } = request;
28
- debug('post:/auth/signin', token === null || token === void 0 ? void 0 : token.substr(0, 20), user === null || user === void 0 ? void 0 : user.email, domain === null || domain === void 0 ? void 0 : domain.subdomain, redirectTo);
29
- if (!(0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
30
- context.body = token;
31
- return;
32
- }
33
- var redirectTo = `/auth/checkin${domain ? '/' + domain.subdomain : ''}?redirect_to=${encodeURIComponent(reqBody.redirectTo || '/')}`;
34
- (0, access_token_cookie_1.setAccessTokenCookie)(context, token);
35
- debug('post:/auth/signin', redirectTo);
36
- context.redirect(redirectTo);
37
- });
38
- //# sourceMappingURL=auth-signin-router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-signin-router.js","sourceRoot":"","sources":["../../server/router/auth-signin-router.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAC/B,gDAAiD;AACjD,8CAA0C;AAC1C,sEAAmE;AAEnE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,6CAA6C,CAAC,CAAA;AAEhE,QAAA,gBAAgB,GAAG,IAAI,oBAAM,EAAE,CAAA;AAE5C,wBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC3D,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE5C,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;QAChC,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,iBAAiB;QAChC,IAAI,EAAE;YACJ,KAAK;YACL,UAAU,EAAE,WAAW;SACxB;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,wBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,8BAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC9E,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO,CAAA;IAC9B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC7C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAEzC,KAAK,CAAC,mBAAmB,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,EAAE,UAAU,CAAC,CAAA;IAE5F,IAAI,CAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE;QACjD,OAAO,CAAC,IAAI,GAAG,KAAK,CAAA;QACpB,OAAM;KACP;IAED,IAAI,UAAU,GAAG,gBAAgB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,kBAAkB,CACrG,OAAO,CAAC,UAAU,IAAI,GAAG,CAC1B,EAAE,CAAA;IAEH,IAAA,0CAAoB,EAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAEpC,KAAK,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAA;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AAC9B,CAAC,CAAC,CAAA"}
@@ -1,76 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.authSignupRouter = void 0;
7
- const koa_router_1 = __importDefault(require("koa-router"));
8
- const env_1 = require("@things-factory/env");
9
- const signup_1 = require("../controllers/signup");
10
- const access_token_cookie_1 = require("../utils/access-token-cookie");
11
- const accepts_1 = require("../utils/accepts");
12
- const debug = require('debug')('things-factory:auth-base:auth-signup-router');
13
- const passwordRule = env_1.config.get('password') || {
14
- lowerCase: true,
15
- upperCase: true,
16
- digit: true,
17
- specialCharacter: true,
18
- allowRepeat: false,
19
- useTightPattern: true,
20
- useLoosePattern: false,
21
- tightCharacterLength: 8,
22
- looseCharacterLength: 15
23
- };
24
- exports.authSignupRouter = new koa_router_1.default();
25
- exports.authSignupRouter.get('/auth/signup', async (context, next) => {
26
- const { email } = context.query;
27
- debug('get:/auth/signup', email);
28
- await context.render('auth-page', {
29
- pageElement: 'auth-signup',
30
- elementScript: '/auth/signup.js',
31
- data: {
32
- email,
33
- passwordRule
34
- }
35
- });
36
- });
37
- exports.authSignupRouter.post('/auth/signup', async (context, next) => {
38
- const { header, t } = context;
39
- const { domain } = context.state;
40
- const user = context.request.body;
41
- try {
42
- debug('post:/auth/signup', domain === null || domain === void 0 ? void 0 : domain.subdomain, Object.assign(Object.assign({}, user), { password: 'N/A' }));
43
- const { token } = await (0, signup_1.signup)(Object.assign(Object.assign({}, user), { context,
44
- domain }), true);
45
- const message = t('text.user registered successfully');
46
- context.body = {
47
- message,
48
- token
49
- };
50
- (0, access_token_cookie_1.setAccessTokenCookie)(context, token);
51
- if ((0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
52
- await context.render('auth-page', {
53
- pageElement: 'auth-result',
54
- elementScript: '/auth/result.js',
55
- data: {
56
- message
57
- }
58
- });
59
- }
60
- }
61
- catch (e) {
62
- context.status = 401;
63
- context.body = e.message;
64
- if ((0, accepts_1.accepts)(header.accept, ['text/html', '*/*'])) {
65
- await context.render('auth-page', {
66
- pageElement: 'auth-signup',
67
- elementScript: '/auth/signup.js',
68
- data: {
69
- message: e.message,
70
- passwordRule
71
- }
72
- });
73
- }
74
- }
75
- });
76
- //# sourceMappingURL=auth-signup-router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-signup-router.js","sourceRoot":"","sources":["../../server/router/auth-signup-router.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAC/B,6CAA4C;AAC5C,kDAA8C;AAC9C,sEAAmE;AACnE,8CAA0C;AAE1C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,6CAA6C,CAAC,CAAA;AAE7E,MAAM,YAAY,GAAG,YAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI;IAC7C,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,gBAAgB,EAAE,IAAI;IACtB,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,CAAC;IACvB,oBAAoB,EAAE,EAAE;CACzB,CAAA;AAEY,QAAA,gBAAgB,GAAG,IAAI,oBAAM,EAAE,CAAA;AAE5C,wBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC3D,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE/B,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;IAEhC,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;QAChC,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,iBAAiB;QAChC,IAAI,EAAE;YACJ,KAAK;YACL,YAAY;SACb;KACF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,wBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC5D,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAA;IAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA;IAEjC,IAAI;QACF,KAAK,CAAC,mBAAmB,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,kCACvC,IAAI,KACP,QAAQ,EAAE,KAAK,IACf,CAAA;QAEF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,eAAM,kCAEvB,IAAI,KACP,OAAO;YACP,MAAM,KAER,IAAI,CACL,CAAA;QAED,MAAM,OAAO,GAAG,CAAC,CAAC,mCAAmC,CAAC,CAAA;QACtD,OAAO,CAAC,IAAI,GAAG;YACb,OAAO;YACP,KAAK;SACN,CAAA;QAED,IAAA,0CAAoB,EAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAEpC,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE;YAChD,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;gBAChC,WAAW,EAAE,aAAa;gBAC1B,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE;oBACJ,OAAO;iBACR;aACF,CAAC,CAAA;SACH;KACF;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,MAAM,GAAG,GAAG,CAAA;QACpB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAA;QAExB,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE;YAChD,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;gBAChC,WAAW,EAAE,aAAa;gBAC1B,aAAa,EAAE,iBAAiB;gBAChC,IAAI,EAAE;oBACJ,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,YAAY;iBACb;aACF,CAAC,CAAA;SACH;KACF;AACH,CAAC,CAAC,CAAA"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./auth-private-process-router"), exports);
18
- __exportStar(require("./auth-public-process-router"), exports);
19
- __exportStar(require("./path-base-domain-router"), exports);
20
- __exportStar(require("./site-root-router"), exports);
21
- __exportStar(require("./oauth2"), exports);
22
- __exportStar(require("./auth-checkin-router"), exports);
23
- __exportStar(require("./auth-signin-router"), exports);
24
- __exportStar(require("./auth-signup-router"), exports);
25
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/router/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA6C;AAC7C,+DAA4C;AAC5C,4DAAyC;AACzC,qDAAkC;AAClC,2CAAwB;AACxB,wDAAqC;AACrC,uDAAoC;AACpC,uDAAoC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./oauth2-authorize-router"), exports);
18
- __exportStar(require("./oauth2-router"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/router/oauth2/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAAyC;AACzC,kDAA+B"}
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.oauth2AuthorizeRouter = void 0;
7
- const koa_router_1 = __importDefault(require("koa-router"));
8
- const typeorm_1 = require("typeorm");
9
- const application_1 = require("../../service/application/application");
10
- const oauth2_server_1 = require("./oauth2-server");
11
- const debug = require('debug')('things-factory:auth-base:oauth2-authorize-router');
12
- exports.oauth2AuthorizeRouter = new koa_router_1.default();
13
- // user authorization endpoint
14
- //
15
- // `authorization` middleware accepts a `validate` callback which is
16
- // responsible for validating the client making the authorization request. In
17
- // doing so, is recommended that the `redirectURI` be checked against a
18
- // registered value, although security requirements may vary accross
19
- // implementations. Once validated, the `done` callback must be invoked with
20
- // a `client` instance, as well as the `redirectURI` to which the user will be
21
- // redirected after an authorization decision is obtained.
22
- //
23
- // This middleware simply initializes a new authorization transaction. It is
24
- // the application's responsibility to authenticate the user and render a dialog
25
- // to obtain their approval (displaying details about the client requesting
26
- // authorization). We accomplish that here by routing through `ensureLoggedIn()`
27
- // first, and rendering the `dialog` view.
28
- exports.oauth2AuthorizeRouter.get('/authorize', oauth2_server_1.server.authorize(async function (clientID, redirectURI) {
29
- const client = await (0, typeorm_1.getRepository)(application_1.Application).findOne({
30
- appKey: clientID
31
- });
32
- // CONFIRM-ME redirectUrl 의 허용 범위는 ?
33
- // if (!client.redirectUrl != redirectURI) {
34
- // return false
35
- // }
36
- debug('authorize fetch client', clientID, redirectURI, client);
37
- return [client || oauth2_server_1.NonClient, redirectURI];
38
- }), async function (context, next) {
39
- const { oauth2, user, domain } = context.state;
40
- let pageElement = 'oauth2-decision';
41
- let elementScript = '/oauth2/oauth2-decision-page.js';
42
- if (oauth2.client.id === oauth2_server_1.NonClient.id) {
43
- debug('authorize client not found : will render not found error in the decision page');
44
- pageElement = 'oauth2-decision-error';
45
- elementScript = '/oauth2/oauth2-decision-error-page.js';
46
- }
47
- debug('authorize render page', oauth2);
48
- try {
49
- await context.render('oauth2-page', {
50
- pageElement,
51
- elementScript,
52
- data: {
53
- domain,
54
- oauth2: Object.assign(Object.assign({}, oauth2), { user: {
55
- id: oauth2.user.id,
56
- name: oauth2.user.name,
57
- email: oauth2.user.email
58
- } })
59
- }
60
- });
61
- // await context.render(decisionPage, {
62
- // domain: domain,
63
- // ...oauth2, // client, redirectURI, req { type, clientID, redirectURI, scope, state}, user, transactionID, info, locals
64
- // availableScopes
65
- // })
66
- }
67
- catch (e) {
68
- debug('render decision page error', e);
69
- throw e;
70
- }
71
- });
72
- //# sourceMappingURL=oauth2-authorize-router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth2-authorize-router.js","sourceRoot":"","sources":["../../../server/router/oauth2/oauth2-authorize-router.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAC/B,qCAAuC;AACvC,uEAAmE;AACnE,mDAAwE;AAExE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,kDAAkD,CAAC,CAAA;AAErE,QAAA,qBAAqB,GAAG,IAAI,oBAAM,EAAE,CAAA;AAEjD,8BAA8B;AAC9B,EAAE;AACF,oEAAoE;AACpE,8EAA8E;AAC9E,uEAAuE;AACvE,oEAAoE;AACpE,6EAA6E;AAC7E,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,2EAA2E;AAC3E,iFAAiF;AACjF,0CAA0C;AAE1C,6BAAqB,CAAC,GAAG,CACvB,YAAY,EACZ,sBAAiB,CAAC,SAAS,CAAC,KAAK,WAAW,QAAQ,EAAE,WAAW;IAC/D,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAa,EAAC,yBAAW,CAAC,CAAC,OAAO,CAAC;QACtD,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAA;IACF,oCAAoC;IACpC,4CAA4C;IAC5C,iBAAiB;IACjB,IAAI;IAEJ,KAAK,CAAC,wBAAwB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IAE9D,OAAO,CAAC,MAAM,IAAI,yBAAS,EAAE,WAAW,CAAC,CAAA;AAC3C,CAAC,CAAC,EACF,KAAK,WAAW,OAAO,EAAE,IAAI;IAC3B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE9C,IAAI,WAAW,GAAW,iBAAiB,CAAA;IAC3C,IAAI,aAAa,GAAW,iCAAiC,CAAA;IAE7D,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,yBAAS,CAAC,EAAE,EAAE;QACrC,KAAK,CAAC,+EAA+E,CAAC,CAAA;QACtF,WAAW,GAAG,uBAAuB,CAAA;QACrC,aAAa,GAAG,uCAAuC,CAAA;KACxD;IAED,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAA;IAEtC,IAAI;QACF,MAAM,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE;YAClC,WAAW;YACX,aAAa;YACb,IAAI,EAAE;gBACJ,MAAM;gBACN,MAAM,kCACD,MAAM,KACT,IAAI,EAAE;wBACJ,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;wBAClB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;wBACtB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;qBACzB,GACF;aACF;SACF,CAAC,CAAA;QACF,uCAAuC;QACvC,oBAAoB;QACpB,2HAA2H;QAC3H,oBAAoB;QACpB,KAAK;KACN;IAAC,OAAO,CAAC,EAAE;QACV,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,CAAA;KACR;AACH,CAAC,CACF,CAAA"}