@webiny/cognito 6.3.0 → 6.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/Cognito.js +23 -24
  2. package/Cognito.js.map +1 -1
  3. package/admin/Cognito.js +35 -41
  4. package/admin/Cognito.js.map +1 -1
  5. package/admin/CognitoLogin.js +8 -13
  6. package/admin/CognitoLogin.js.map +1 -1
  7. package/admin/Extension.js +17 -16
  8. package/admin/Extension.js.map +1 -1
  9. package/admin/SecurityPermission.js +11 -14
  10. package/admin/SecurityPermission.js.map +1 -1
  11. package/admin/domain/permissionsSchema.js +14 -9
  12. package/admin/domain/permissionsSchema.js.map +1 -1
  13. package/admin/features/permissions/abstractions.js +2 -1
  14. package/admin/features/permissions/abstractions.js.map +1 -1
  15. package/admin/features/permissions/feature.js +2 -1
  16. package/admin/features/permissions/feature.js.map +1 -1
  17. package/admin/federatedIdentityProviders.js +7 -6
  18. package/admin/federatedIdentityProviders.js.map +1 -1
  19. package/admin/presentation/Cognito/CognitoLoginScreen.js +39 -42
  20. package/admin/presentation/Cognito/CognitoLoginScreen.js.map +1 -1
  21. package/admin/presentation/Cognito/CognitoPresenter.js +250 -275
  22. package/admin/presentation/Cognito/CognitoPresenter.js.map +1 -1
  23. package/admin/presentation/Cognito/abstractions.js +2 -1
  24. package/admin/presentation/Cognito/abstractions.js.map +1 -1
  25. package/admin/presentation/Cognito/components/Divider.js +12 -13
  26. package/admin/presentation/Cognito/components/Divider.js.map +1 -1
  27. package/admin/presentation/Cognito/components/FederatedLogin.js +24 -29
  28. package/admin/presentation/Cognito/components/FederatedLogin.js.map +1 -1
  29. package/admin/presentation/Cognito/components/FederatedProviders.js +7 -10
  30. package/admin/presentation/Cognito/components/FederatedProviders.js.map +1 -1
  31. package/admin/presentation/Cognito/components/FooterSignIn.js +9 -12
  32. package/admin/presentation/Cognito/components/FooterSignIn.js.map +1 -1
  33. package/admin/presentation/Cognito/components/PasswordResetCodeSent.js +33 -37
  34. package/admin/presentation/Cognito/components/PasswordResetCodeSent.js.map +1 -1
  35. package/admin/presentation/Cognito/components/RequestPasswordResetCode.js +35 -39
  36. package/admin/presentation/Cognito/components/RequestPasswordResetCode.js.map +1 -1
  37. package/admin/presentation/Cognito/components/RequireNewPassword.js +44 -48
  38. package/admin/presentation/Cognito/components/RequireNewPassword.js.map +1 -1
  39. package/admin/presentation/Cognito/components/SetNewPassword.js +70 -71
  40. package/admin/presentation/Cognito/components/SetNewPassword.js.map +1 -1
  41. package/admin/presentation/Cognito/components/SignIn.js +52 -59
  42. package/admin/presentation/Cognito/components/SignIn.js.map +1 -1
  43. package/admin/presentation/Cognito/components/View.js +41 -60
  44. package/admin/presentation/Cognito/components/View.js.map +1 -1
  45. package/admin/presentation/Cognito/feature.js +12 -11
  46. package/admin/presentation/Cognito/feature.js.map +1 -1
  47. package/admin/presentation/shared/createPasswordValidator.js +13 -24
  48. package/admin/presentation/shared/createPasswordValidator.js.map +1 -1
  49. package/admin/presentation/shared/usePasswordValidator.js +11 -10
  50. package/admin/presentation/shared/usePasswordValidator.js.map +1 -1
  51. package/admin/presentation/userMenu/AccountDetails.js +15 -18
  52. package/admin/presentation/userMenu/AccountDetails.js.map +1 -1
  53. package/admin/presentation/userMenu/useIsDefaultTenant.js +5 -11
  54. package/admin/presentation/userMenu/useIsDefaultTenant.js.map +1 -1
  55. package/admin/routes.js +16 -17
  56. package/admin/routes.js.map +1 -1
  57. package/admin/ui/UserItem.js +0 -3
  58. package/admin/ui/components/AvatarImage/AvatarImage.js +25 -37
  59. package/admin/ui/components/AvatarImage/AvatarImage.js.map +1 -1
  60. package/admin/ui/components/AvatarImage/AvatarImagePreview.js +49 -51
  61. package/admin/ui/components/AvatarImage/AvatarImagePreview.js.map +1 -1
  62. package/admin/ui/components/AvatarImage/AvatarImageTrigger.js +25 -26
  63. package/admin/ui/components/AvatarImage/AvatarImageTrigger.js.map +1 -1
  64. package/admin/ui/components/AvatarImage/index.js +0 -2
  65. package/admin/ui/views/Account/Account.js +117 -130
  66. package/admin/ui/views/Account/Account.js.map +1 -1
  67. package/admin/ui/views/Account/graphql.js +5 -4
  68. package/admin/ui/views/Account/graphql.js.map +1 -1
  69. package/admin/ui/views/Account/index.js +0 -2
  70. package/admin/ui/views/Users/UsersDataList.js +146 -159
  71. package/admin/ui/views/Users/UsersDataList.js.map +1 -1
  72. package/admin/ui/views/Users/UsersForm.js +151 -162
  73. package/admin/ui/views/Users/UsersForm.js.map +1 -1
  74. package/admin/ui/views/Users/UsersView.js +9 -9
  75. package/admin/ui/views/Users/UsersView.js.map +1 -1
  76. package/admin/ui/views/Users/components/DeleteAction.js +23 -30
  77. package/admin/ui/views/Users/components/DeleteAction.js.map +1 -1
  78. package/admin/ui/views/Users/graphql.js +9 -10
  79. package/admin/ui/views/Users/graphql.js.map +1 -1
  80. package/admin/ui/views/Users/hooks/useUserForm.js +104 -114
  81. package/admin/ui/views/Users/hooks/useUserForm.js.map +1 -1
  82. package/admin/ui/views/Users/search.js +21 -0
  83. package/admin/ui/views/Users/search.js.map +1 -0
  84. package/admin/ui/views/utils.js +9 -7
  85. package/admin/ui/views/utils.js.map +1 -1
  86. package/api/CognitoApiFeature.js +15 -17
  87. package/api/CognitoApiFeature.js.map +1 -1
  88. package/api/domain/Username.js +5 -4
  89. package/api/domain/Username.js.map +1 -1
  90. package/api/domain/errors.js +37 -56
  91. package/api/domain/errors.js.map +1 -1
  92. package/api/features/CognitoIdp/CognitoIdentityProvider.js +49 -51
  93. package/api/features/CognitoIdp/CognitoIdentityProvider.js.map +1 -1
  94. package/api/features/CognitoIdp/abstractions.js +2 -1
  95. package/api/features/CognitoIdp/abstractions.js.map +1 -1
  96. package/api/features/CognitoIdp/feature.js +6 -5
  97. package/api/features/CognitoIdp/feature.js.map +1 -1
  98. package/api/features/CognitoIdp/index.js +0 -2
  99. package/api/features/CognitoService/CognitoService.js +93 -83
  100. package/api/features/CognitoService/CognitoService.js.map +1 -1
  101. package/api/features/CognitoService/abstractions.js +3 -5
  102. package/api/features/CognitoService/abstractions.js.map +1 -1
  103. package/api/features/CognitoService/feature.js +7 -6
  104. package/api/features/CognitoService/feature.js.map +1 -1
  105. package/api/features/CognitoService/index.js +0 -2
  106. package/api/features/CreateUser/CreateUserUseCase.js +62 -88
  107. package/api/features/CreateUser/CreateUserUseCase.js.map +1 -1
  108. package/api/features/CreateUser/abstractions.js +2 -1
  109. package/api/features/CreateUser/abstractions.js.map +1 -1
  110. package/api/features/CreateUser/feature.js +6 -5
  111. package/api/features/CreateUser/feature.js.map +1 -1
  112. package/api/features/CreateUser/index.js +0 -2
  113. package/api/features/CreateUser/schema.js +14 -13
  114. package/api/features/CreateUser/schema.js.map +1 -1
  115. package/api/features/DeleteUser/DeleteUserUseCase.js +34 -41
  116. package/api/features/DeleteUser/DeleteUserUseCase.js.map +1 -1
  117. package/api/features/DeleteUser/abstractions.js +2 -1
  118. package/api/features/DeleteUser/abstractions.js.map +1 -1
  119. package/api/features/DeleteUser/feature.js +6 -5
  120. package/api/features/DeleteUser/feature.js.map +1 -1
  121. package/api/features/DeleteUser/index.js +0 -2
  122. package/api/features/UpdateUser/UpdateUserUseCase.js +49 -71
  123. package/api/features/UpdateUser/UpdateUserUseCase.js.map +1 -1
  124. package/api/features/UpdateUser/abstractions.js +2 -1
  125. package/api/features/UpdateUser/abstractions.js.map +1 -1
  126. package/api/features/UpdateUser/feature.js +6 -5
  127. package/api/features/UpdateUser/feature.js.map +1 -1
  128. package/api/features/UpdateUser/index.js +0 -2
  129. package/api/features/UpdateUser/schema.js +13 -12
  130. package/api/features/UpdateUser/schema.js.map +1 -1
  131. package/api/features/UserInstaller/UserInstaller.js +36 -36
  132. package/api/features/UserInstaller/UserInstaller.js.map +1 -1
  133. package/api/features/UserInstaller/feature.js +6 -5
  134. package/api/features/UserInstaller/feature.js.map +1 -1
  135. package/api/graphql/user.gql.js +83 -107
  136. package/api/graphql/user.gql.js.map +1 -1
  137. package/index.js +0 -2
  138. package/package.json +23 -24
  139. package/static/svg/search.43fa797c.svg +20 -0
  140. package/admin/ui/UserItem.js.map +0 -1
  141. package/admin/ui/components/AvatarImage/index.js.map +0 -1
  142. package/admin/ui/views/Account/index.js.map +0 -1
  143. package/api/features/CognitoIdp/index.js.map +0 -1
  144. package/api/features/CognitoService/index.js.map +0 -1
  145. package/api/features/CreateUser/index.js.map +0 -1
  146. package/api/features/DeleteUser/index.js.map +0 -1
  147. package/api/features/UpdateUser/index.js.map +0 -1
  148. package/index.js.map +0 -1
@@ -1,61 +1,59 @@
1
1
  import { OidcIdentityProvider } from "@webiny/api-core/idp";
2
2
  import { CognitoIdpConfig } from "./abstractions.js";
3
3
  class CognitoIdentityProviderImpl {
4
- constructor(config) {
5
- this.config = config;
6
- const region = String(process.env.COGNITO_REGION);
7
- const userPoolId = String(process.env.COGNITO_USER_POOL_ID);
8
- this.clientId = String(process.env.COGNITO_CLIENT_ID);
9
- this.issuer = `https://cognito-idp.${region}.amazonaws.com/${userPoolId}`;
10
- }
11
- isApplicable(token) {
12
- const issuer = token.iss;
13
- if (!issuer) {
14
- return false;
4
+ constructor(config){
5
+ this.config = config;
6
+ const region = String(process.env.COGNITO_REGION);
7
+ const userPoolId = String(process.env.COGNITO_USER_POOL_ID);
8
+ this.clientId = String(process.env.COGNITO_CLIENT_ID);
9
+ this.issuer = `https://cognito-idp.${region}.amazonaws.com/${userPoolId}`;
15
10
  }
16
- return issuer === this.issuer;
17
- }
18
- async getIdentity(token) {
19
- const customIdentity = this.config ? await this.config.getIdentity(token) : null;
20
- if (customIdentity) {
21
- return {
22
- ...customIdentity,
23
- type: "admin",
24
- profile: {
25
- ...customIdentity,
26
- external: false
27
- }
28
- };
11
+ isApplicable(token) {
12
+ const issuer = token.iss;
13
+ if (!issuer) return false;
14
+ return issuer === this.issuer;
29
15
  }
30
-
31
- // Default identity
32
- const customId = token["custom:id"];
33
- const givenName = token["given_name"];
34
- const familyName = token["family_name"];
35
- const email = token["email"];
36
- return {
37
- id: customId || token.sub || "",
38
- displayName: `${givenName || ""} ${familyName || ""}`.trim() || email || "Unknown User",
39
- type: "admin",
40
- profile: {
41
- email: email || "",
42
- firstName: givenName || "",
43
- lastName: familyName || "",
44
- external: false
45
- }
46
- };
47
- }
48
- async verifyTokenClaims(token) {
49
- if (this.config?.verifyTokenClaims) {
50
- await this.config.verifyTokenClaims(token);
16
+ async getIdentity(token) {
17
+ const customIdentity = this.config ? await this.config.getIdentity(token) : null;
18
+ if (customIdentity) return {
19
+ ...customIdentity,
20
+ type: "admin",
21
+ profile: {
22
+ ...customIdentity,
23
+ external: false
24
+ }
25
+ };
26
+ const customId = token["custom:id"];
27
+ const givenName = token["given_name"];
28
+ const familyName = token["family_name"];
29
+ const email = token["email"];
30
+ return {
31
+ id: customId || token.sub || "",
32
+ displayName: `${givenName || ""} ${familyName || ""}`.trim() || email || "Unknown User",
33
+ type: "admin",
34
+ profile: {
35
+ email: email || "",
36
+ firstName: givenName || "",
37
+ lastName: familyName || "",
38
+ external: false
39
+ }
40
+ };
41
+ }
42
+ async verifyTokenClaims(token) {
43
+ if (this.config?.verifyTokenClaims) await this.config.verifyTokenClaims(token);
51
44
  }
52
- }
53
45
  }
54
- export const CognitoIdentityProvider = OidcIdentityProvider.createImplementation({
55
- implementation: CognitoIdentityProviderImpl,
56
- dependencies: [[CognitoIdpConfig, {
57
- optional: true
58
- }]]
46
+ const CognitoIdentityProvider = OidcIdentityProvider.createImplementation({
47
+ implementation: CognitoIdentityProviderImpl,
48
+ dependencies: [
49
+ [
50
+ CognitoIdpConfig,
51
+ {
52
+ optional: true
53
+ }
54
+ ]
55
+ ]
59
56
  });
57
+ export { CognitoIdentityProvider };
60
58
 
61
59
  //# sourceMappingURL=CognitoIdentityProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["OidcIdentityProvider","CognitoIdpConfig","CognitoIdentityProviderImpl","constructor","config","region","String","process","env","COGNITO_REGION","userPoolId","COGNITO_USER_POOL_ID","clientId","COGNITO_CLIENT_ID","issuer","isApplicable","token","iss","getIdentity","customIdentity","type","profile","external","customId","givenName","familyName","email","id","sub","displayName","trim","firstName","lastName","verifyTokenClaims","CognitoIdentityProvider","createImplementation","implementation","dependencies","optional"],"sources":["CognitoIdentityProvider.ts"],"sourcesContent":["import { OidcIdentityProvider } from \"@webiny/api-core/idp\";\nimport { CognitoIdpConfig } from \"./abstractions.js\";\n\nclass CognitoIdentityProviderImpl implements OidcIdentityProvider.Interface {\n public clientId: string;\n public issuer: string;\n\n constructor(private config: CognitoIdpConfig.Interface | undefined) {\n const region = String(process.env.COGNITO_REGION);\n const userPoolId = String(process.env.COGNITO_USER_POOL_ID);\n this.clientId = String(process.env.COGNITO_CLIENT_ID);\n this.issuer = `https://cognito-idp.${region}.amazonaws.com/${userPoolId}`;\n }\n\n isApplicable(token: OidcIdentityProvider.JwtPayload) {\n const issuer = token.iss as string;\n if (!issuer) {\n return false;\n }\n\n return issuer === this.issuer;\n }\n\n async getIdentity(\n token: OidcIdentityProvider.JwtPayload\n ): Promise<OidcIdentityProvider.IdentityData> {\n const customIdentity = this.config ? await this.config.getIdentity(token) : null;\n\n if (customIdentity) {\n return {\n ...customIdentity,\n type: \"admin\",\n profile: {\n ...customIdentity,\n external: false\n }\n };\n }\n\n // Default identity\n const customId = token[\"custom:id\"] as string | undefined;\n const givenName = token[\"given_name\"] as string | undefined;\n const familyName = token[\"family_name\"] as string | undefined;\n const email = token[\"email\"] as string | undefined;\n\n return {\n id: customId || token.sub || \"\",\n displayName: `${givenName || \"\"} ${familyName || \"\"}`.trim() || email || \"Unknown User\",\n type: \"admin\",\n profile: {\n email: email || \"\",\n firstName: givenName || \"\",\n lastName: familyName || \"\",\n external: false\n }\n };\n }\n\n async verifyTokenClaims(token: OidcIdentityProvider.JwtPayload): Promise<void> {\n if (this.config?.verifyTokenClaims) {\n await this.config.verifyTokenClaims(token);\n }\n }\n}\n\nexport const CognitoIdentityProvider = OidcIdentityProvider.createImplementation({\n implementation: CognitoIdentityProviderImpl,\n dependencies: [[CognitoIdpConfig, { optional: true }]]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,sBAAsB;AAC3D,SAASC,gBAAgB;AAEzB,MAAMC,2BAA2B,CAA2C;EAIxEC,WAAWA,CAASC,MAA8C,EAAE;IAAA,KAAhDA,MAA8C,GAA9CA,MAA8C;IAC9D,MAAMC,MAAM,GAAGC,MAAM,CAACC,OAAO,CAACC,GAAG,CAACC,cAAc,CAAC;IACjD,MAAMC,UAAU,GAAGJ,MAAM,CAACC,OAAO,CAACC,GAAG,CAACG,oBAAoB,CAAC;IAC3D,IAAI,CAACC,QAAQ,GAAGN,MAAM,CAACC,OAAO,CAACC,GAAG,CAACK,iBAAiB,CAAC;IACrD,IAAI,CAACC,MAAM,GAAG,uBAAuBT,MAAM,kBAAkBK,UAAU,EAAE;EAC7E;EAEAK,YAAYA,CAACC,KAAsC,EAAE;IACjD,MAAMF,MAAM,GAAGE,KAAK,CAACC,GAAa;IAClC,IAAI,CAACH,MAAM,EAAE;MACT,OAAO,KAAK;IAChB;IAEA,OAAOA,MAAM,KAAK,IAAI,CAACA,MAAM;EACjC;EAEA,MAAMI,WAAWA,CACbF,KAAsC,EACI;IAC1C,MAAMG,cAAc,GAAG,IAAI,CAACf,MAAM,GAAG,MAAM,IAAI,CAACA,MAAM,CAACc,WAAW,CAACF,KAAK,CAAC,GAAG,IAAI;IAEhF,IAAIG,cAAc,EAAE;MAChB,OAAO;QACH,GAAGA,cAAc;QACjBC,IAAI,EAAE,OAAO;QACbC,OAAO,EAAE;UACL,GAAGF,cAAc;UACjBG,QAAQ,EAAE;QACd;MACJ,CAAC;IACL;;IAEA;IACA,MAAMC,QAAQ,GAAGP,KAAK,CAAC,WAAW,CAAuB;IACzD,MAAMQ,SAAS,GAAGR,KAAK,CAAC,YAAY,CAAuB;IAC3D,MAAMS,UAAU,GAAGT,KAAK,CAAC,aAAa,CAAuB;IAC7D,MAAMU,KAAK,GAAGV,KAAK,CAAC,OAAO,CAAuB;IAElD,OAAO;MACHW,EAAE,EAAEJ,QAAQ,IAAIP,KAAK,CAACY,GAAG,IAAI,EAAE;MAC/BC,WAAW,EAAE,GAAGL,SAAS,IAAI,EAAE,IAAIC,UAAU,IAAI,EAAE,EAAE,CAACK,IAAI,CAAC,CAAC,IAAIJ,KAAK,IAAI,cAAc;MACvFN,IAAI,EAAE,OAAO;MACbC,OAAO,EAAE;QACLK,KAAK,EAAEA,KAAK,IAAI,EAAE;QAClBK,SAAS,EAAEP,SAAS,IAAI,EAAE;QAC1BQ,QAAQ,EAAEP,UAAU,IAAI,EAAE;QAC1BH,QAAQ,EAAE;MACd;IACJ,CAAC;EACL;EAEA,MAAMW,iBAAiBA,CAACjB,KAAsC,EAAiB;IAC3E,IAAI,IAAI,CAACZ,MAAM,EAAE6B,iBAAiB,EAAE;MAChC,MAAM,IAAI,CAAC7B,MAAM,CAAC6B,iBAAiB,CAACjB,KAAK,CAAC;IAC9C;EACJ;AACJ;AAEA,OAAO,MAAMkB,uBAAuB,GAAGlC,oBAAoB,CAACmC,oBAAoB,CAAC;EAC7EC,cAAc,EAAElC,2BAA2B;EAC3CmC,YAAY,EAAE,CAAC,CAACpC,gBAAgB,EAAE;IAAEqC,QAAQ,EAAE;EAAK,CAAC,CAAC;AACzD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"api/features/CognitoIdp/CognitoIdentityProvider.js","sources":["../../../../src/api/features/CognitoIdp/CognitoIdentityProvider.ts"],"sourcesContent":["import { OidcIdentityProvider } from \"@webiny/api-core/idp\";\nimport { CognitoIdpConfig } from \"./abstractions.js\";\n\nclass CognitoIdentityProviderImpl implements OidcIdentityProvider.Interface {\n public clientId: string;\n public issuer: string;\n\n constructor(private config: CognitoIdpConfig.Interface | undefined) {\n const region = String(process.env.COGNITO_REGION);\n const userPoolId = String(process.env.COGNITO_USER_POOL_ID);\n this.clientId = String(process.env.COGNITO_CLIENT_ID);\n this.issuer = `https://cognito-idp.${region}.amazonaws.com/${userPoolId}`;\n }\n\n isApplicable(token: OidcIdentityProvider.JwtPayload) {\n const issuer = token.iss as string;\n if (!issuer) {\n return false;\n }\n\n return issuer === this.issuer;\n }\n\n async getIdentity(\n token: OidcIdentityProvider.JwtPayload\n ): Promise<OidcIdentityProvider.IdentityData> {\n const customIdentity = this.config ? await this.config.getIdentity(token) : null;\n\n if (customIdentity) {\n return {\n ...customIdentity,\n type: \"admin\",\n profile: {\n ...customIdentity,\n external: false\n }\n };\n }\n\n // Default identity\n const customId = token[\"custom:id\"] as string | undefined;\n const givenName = token[\"given_name\"] as string | undefined;\n const familyName = token[\"family_name\"] as string | undefined;\n const email = token[\"email\"] as string | undefined;\n\n return {\n id: customId || token.sub || \"\",\n displayName: `${givenName || \"\"} ${familyName || \"\"}`.trim() || email || \"Unknown User\",\n type: \"admin\",\n profile: {\n email: email || \"\",\n firstName: givenName || \"\",\n lastName: familyName || \"\",\n external: false\n }\n };\n }\n\n async verifyTokenClaims(token: OidcIdentityProvider.JwtPayload): Promise<void> {\n if (this.config?.verifyTokenClaims) {\n await this.config.verifyTokenClaims(token);\n }\n }\n}\n\nexport const CognitoIdentityProvider = OidcIdentityProvider.createImplementation({\n implementation: CognitoIdentityProviderImpl,\n dependencies: [[CognitoIdpConfig, { optional: true }]]\n});\n"],"names":["CognitoIdentityProviderImpl","config","region","String","process","userPoolId","token","issuer","customIdentity","customId","givenName","familyName","email","CognitoIdentityProvider","OidcIdentityProvider","CognitoIdpConfig"],"mappings":";;AAGA,MAAMA;IAIF,YAAoBC,MAA8C,CAAE;aAAhDA,MAAM,GAANA;QAChB,MAAMC,SAASC,OAAOC,QAAQ,GAAG,CAAC,cAAc;QAChD,MAAMC,aAAaF,OAAOC,QAAQ,GAAG,CAAC,oBAAoB;QAC1D,IAAI,CAAC,QAAQ,GAAGD,OAAOC,QAAQ,GAAG,CAAC,iBAAiB;QACpD,IAAI,CAAC,MAAM,GAAG,CAAC,oBAAoB,EAAEF,OAAO,eAAe,EAAEG,YAAY;IAC7E;IAEA,aAAaC,KAAsC,EAAE;QACjD,MAAMC,SAASD,MAAM,GAAG;QACxB,IAAI,CAACC,QACD,OAAO;QAGX,OAAOA,WAAW,IAAI,CAAC,MAAM;IACjC;IAEA,MAAM,YACFD,KAAsC,EACI;QAC1C,MAAME,iBAAiB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAACF,SAAS;QAE5E,IAAIE,gBACA,OAAO;YACH,GAAGA,cAAc;YACjB,MAAM;YACN,SAAS;gBACL,GAAGA,cAAc;gBACjB,UAAU;YACd;QACJ;QAIJ,MAAMC,WAAWH,KAAK,CAAC,YAAY;QACnC,MAAMI,YAAYJ,KAAK,CAAC,aAAa;QACrC,MAAMK,aAAaL,KAAK,CAAC,cAAc;QACvC,MAAMM,QAAQN,KAAK,CAAC,QAAQ;QAE5B,OAAO;YACH,IAAIG,YAAYH,MAAM,GAAG,IAAI;YAC7B,aAAa,GAAGI,aAAa,GAAG,CAAC,EAAEC,cAAc,IAAI,CAAC,IAAI,MAAMC,SAAS;YACzE,MAAM;YACN,SAAS;gBACL,OAAOA,SAAS;gBAChB,WAAWF,aAAa;gBACxB,UAAUC,cAAc;gBACxB,UAAU;YACd;QACJ;IACJ;IAEA,MAAM,kBAAkBL,KAAsC,EAAiB;QAC3E,IAAI,IAAI,CAAC,MAAM,EAAE,mBACb,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAACA;IAE5C;AACJ;AAEO,MAAMO,0BAA0BC,qBAAqB,oBAAoB,CAAC;IAC7E,gBAAgBd;IAChB,cAAc;QAAC;YAACe;YAAkB;gBAAE,UAAU;YAAK;SAAE;KAAC;AAC1D"}
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- export const CognitoIdpConfig = createAbstraction("CognitoIdpConfig");
2
+ const CognitoIdpConfig = createAbstraction("CognitoIdpConfig");
3
+ export { CognitoIdpConfig };
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","CognitoIdpConfig"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type jwt from \"jsonwebtoken\";\nimport type { IdentityData } from \"@webiny/api-core/idp\";\n\nexport type CognitoIdentity = Omit<IdentityData, \"type\"> & {\n profile: Omit<IdentityData[\"profile\"], \"external\">;\n};\n\nexport interface ICognitoIdpConfig {\n getIdentity(token: jwt.JwtPayload): Promise<CognitoIdentity> | CognitoIdentity;\n verifyTokenClaims?(token: jwt.JwtPayload): Promise<void> | void;\n}\n\nexport const CognitoIdpConfig = createAbstraction<ICognitoIdpConfig>(\"CognitoIdpConfig\");\n\nexport namespace CognitoIdpConfig {\n export type Interface = ICognitoIdpConfig;\n export type IdentityData = CognitoIdentity;\n export type JwtPayload = jwt.JwtPayload;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAavD,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"api/features/CognitoIdp/abstractions.js","sources":["../../../../src/api/features/CognitoIdp/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type jwt from \"jsonwebtoken\";\nimport type { IdentityData } from \"@webiny/api-core/idp\";\n\nexport type CognitoIdentity = Omit<IdentityData, \"type\"> & {\n profile: Omit<IdentityData[\"profile\"], \"external\">;\n};\n\nexport interface ICognitoIdpConfig {\n getIdentity(token: jwt.JwtPayload): Promise<CognitoIdentity> | CognitoIdentity;\n verifyTokenClaims?(token: jwt.JwtPayload): Promise<void> | void;\n}\n\nexport const CognitoIdpConfig = createAbstraction<ICognitoIdpConfig>(\"CognitoIdpConfig\");\n\nexport namespace CognitoIdpConfig {\n export type Interface = ICognitoIdpConfig;\n export type IdentityData = CognitoIdentity;\n export type JwtPayload = jwt.JwtPayload;\n}\n"],"names":["CognitoIdpConfig","createAbstraction"],"mappings":";AAaO,MAAMA,mBAAmBC,kBAAqC"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { CognitoIdentityProvider } from "./CognitoIdentityProvider.js";
3
- export const CognitoIdpFeature = createFeature({
4
- name: "CognitoIdp",
5
- register(container) {
6
- container.register(CognitoIdentityProvider).inSingletonScope();
7
- }
3
+ const CognitoIdpFeature = createFeature({
4
+ name: "CognitoIdp",
5
+ register (container) {
6
+ container.register(CognitoIdentityProvider).inSingletonScope();
7
+ }
8
8
  });
9
+ export { CognitoIdpFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","CognitoIdentityProvider","CognitoIdpFeature","name","register","container","inSingletonScope"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CognitoIdentityProvider } from \"./CognitoIdentityProvider.js\";\n\nexport const CognitoIdpFeature = createFeature({\n name: \"CognitoIdp\",\n register(container) {\n container.register(CognitoIdentityProvider).inSingletonScope();\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,uBAAuB;AAEhC,OAAO,MAAMC,iBAAiB,GAAGF,aAAa,CAAC;EAC3CG,IAAI,EAAE,YAAY;EAClBC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,uBAAuB,CAAC,CAACK,gBAAgB,CAAC,CAAC;EAClE;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"api/features/CognitoIdp/feature.js","sources":["../../../../src/api/features/CognitoIdp/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CognitoIdentityProvider } from \"./CognitoIdentityProvider.js\";\n\nexport const CognitoIdpFeature = createFeature({\n name: \"CognitoIdp\",\n register(container) {\n container.register(CognitoIdentityProvider).inSingletonScope();\n }\n});\n"],"names":["CognitoIdpFeature","createFeature","container","CognitoIdentityProvider"],"mappings":";;AAGO,MAAMA,oBAAoBC,cAAc;IAC3C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,yBAAyB,gBAAgB;IAChE;AACJ"}
@@ -1,4 +1,2 @@
1
1
  export { CognitoIdpConfig } from "./abstractions.js";
2
2
  export { CognitoIdpFeature } from "./feature.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -1,90 +1,100 @@
1
1
  import { CognitoIdentityProvider } from "@webiny/aws-sdk/client-cognito-identity-provider/index.js";
2
- import { CognitoConfig, CognitoService as ServiceAbstraction } from "./abstractions.js";
2
+ import { CognitoConfig, CognitoService } from "./abstractions.js";
3
3
  class CognitoServiceImpl {
4
- constructor(config) {
5
- this.config = config;
6
- this.cognito = new CognitoIdentityProvider({
7
- region: config.region
8
- });
9
- }
10
- async userExists(username) {
11
- try {
12
- await this.cognito.adminGetUser({
13
- Username: username,
14
- UserPoolId: this.config.userPoolId
15
- });
16
- return true;
17
- } catch {
18
- // User does not exist
19
- return false;
4
+ constructor(config){
5
+ this.config = config;
6
+ this.cognito = new CognitoIdentityProvider({
7
+ region: config.region
8
+ });
9
+ }
10
+ async userExists(username) {
11
+ try {
12
+ await this.cognito.adminGetUser({
13
+ Username: username,
14
+ UserPoolId: this.config.userPoolId
15
+ });
16
+ return true;
17
+ } catch {
18
+ return false;
19
+ }
20
+ }
21
+ async createUser(params) {
22
+ const createUserParams = {
23
+ UserPoolId: this.config.userPoolId,
24
+ Username: params.username,
25
+ DesiredDeliveryMediums: [],
26
+ ForceAliasCreation: false,
27
+ MessageAction: "SUPPRESS",
28
+ TemporaryPassword: params.temporaryPassword,
29
+ UserAttributes: [
30
+ {
31
+ Name: "given_name",
32
+ Value: params.attributes.givenName || ""
33
+ },
34
+ {
35
+ Name: "family_name",
36
+ Value: params.attributes.familyName || ""
37
+ },
38
+ {
39
+ Name: "preferred_username",
40
+ Value: params.attributes.preferredUsername
41
+ },
42
+ {
43
+ Name: "email",
44
+ Value: params.attributes.email
45
+ },
46
+ {
47
+ Name: "custom:id",
48
+ Value: params.attributes.customId
49
+ }
50
+ ]
51
+ };
52
+ await this.cognito.adminCreateUser(createUserParams);
53
+ }
54
+ async setEmailVerified(username) {
55
+ await this.cognito.adminUpdateUserAttributes({
56
+ UserPoolId: this.config.userPoolId,
57
+ Username: username,
58
+ UserAttributes: [
59
+ {
60
+ Name: "email_verified",
61
+ Value: "true"
62
+ }
63
+ ]
64
+ });
65
+ }
66
+ async setPermanentPassword(username, password) {
67
+ await this.cognito.adminSetUserPassword({
68
+ Permanent: true,
69
+ Password: password,
70
+ Username: username,
71
+ UserPoolId: this.config.userPoolId
72
+ });
73
+ }
74
+ async updateUserAttributes(username, attributes) {
75
+ const userAttributes = Object.entries(attributes).map(([name, value])=>({
76
+ Name: name,
77
+ Value: value
78
+ }));
79
+ await this.cognito.adminUpdateUserAttributes({
80
+ UserPoolId: this.config.userPoolId,
81
+ Username: username,
82
+ UserAttributes: userAttributes
83
+ });
84
+ }
85
+ async deleteUser(username) {
86
+ await this.cognito.adminDeleteUser({
87
+ UserPoolId: this.config.userPoolId,
88
+ Username: username
89
+ });
20
90
  }
21
- }
22
- async createUser(params) {
23
- const createUserParams = {
24
- UserPoolId: this.config.userPoolId,
25
- Username: params.username,
26
- DesiredDeliveryMediums: [],
27
- ForceAliasCreation: false,
28
- MessageAction: "SUPPRESS",
29
- TemporaryPassword: params.temporaryPassword,
30
- UserAttributes: [{
31
- Name: "given_name",
32
- Value: params.attributes.givenName || ""
33
- }, {
34
- Name: "family_name",
35
- Value: params.attributes.familyName || ""
36
- }, {
37
- Name: "preferred_username",
38
- Value: params.attributes.preferredUsername
39
- }, {
40
- Name: "email",
41
- Value: params.attributes.email
42
- }, {
43
- Name: "custom:id",
44
- Value: params.attributes.customId
45
- }]
46
- };
47
- await this.cognito.adminCreateUser(createUserParams);
48
- }
49
- async setEmailVerified(username) {
50
- await this.cognito.adminUpdateUserAttributes({
51
- UserPoolId: this.config.userPoolId,
52
- Username: username,
53
- UserAttributes: [{
54
- Name: "email_verified",
55
- Value: "true"
56
- }]
57
- });
58
- }
59
- async setPermanentPassword(username, password) {
60
- await this.cognito.adminSetUserPassword({
61
- Permanent: true,
62
- Password: password,
63
- Username: username,
64
- UserPoolId: this.config.userPoolId
65
- });
66
- }
67
- async updateUserAttributes(username, attributes) {
68
- const userAttributes = Object.entries(attributes).map(([name, value]) => ({
69
- Name: name,
70
- Value: value
71
- }));
72
- await this.cognito.adminUpdateUserAttributes({
73
- UserPoolId: this.config.userPoolId,
74
- Username: username,
75
- UserAttributes: userAttributes
76
- });
77
- }
78
- async deleteUser(username) {
79
- await this.cognito.adminDeleteUser({
80
- UserPoolId: this.config.userPoolId,
81
- Username: username
82
- });
83
- }
84
91
  }
85
- export const CognitoService = ServiceAbstraction.createImplementation({
86
- implementation: CognitoServiceImpl,
87
- dependencies: [CognitoConfig]
92
+ const CognitoService_CognitoService = CognitoService.createImplementation({
93
+ implementation: CognitoServiceImpl,
94
+ dependencies: [
95
+ CognitoConfig
96
+ ]
88
97
  });
98
+ export { CognitoService_CognitoService as CognitoService };
89
99
 
90
100
  //# sourceMappingURL=CognitoService.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CognitoIdentityProvider","CognitoConfig","CognitoService","ServiceAbstraction","CognitoServiceImpl","constructor","config","cognito","region","userExists","username","adminGetUser","Username","UserPoolId","userPoolId","createUser","params","createUserParams","DesiredDeliveryMediums","ForceAliasCreation","MessageAction","TemporaryPassword","temporaryPassword","UserAttributes","Name","Value","attributes","givenName","familyName","preferredUsername","email","customId","adminCreateUser","setEmailVerified","adminUpdateUserAttributes","setPermanentPassword","password","adminSetUserPassword","Permanent","Password","updateUserAttributes","userAttributes","Object","entries","map","name","value","deleteUser","adminDeleteUser","createImplementation","implementation","dependencies"],"sources":["CognitoService.ts"],"sourcesContent":["import type { AdminCreateUserRequest } from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { CognitoIdentityProvider } from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { CognitoConfig, CognitoService as ServiceAbstraction } from \"./abstractions.js\";\n\nclass CognitoServiceImpl implements ServiceAbstraction.Interface {\n private cognito: CognitoIdentityProvider;\n\n constructor(private config: CognitoConfig.Interface) {\n this.cognito = new CognitoIdentityProvider({ region: config.region });\n }\n\n async userExists(username: string): Promise<boolean> {\n try {\n await this.cognito.adminGetUser({\n Username: username,\n UserPoolId: this.config.userPoolId\n });\n return true;\n } catch {\n // User does not exist\n return false;\n }\n }\n\n async createUser(params: {\n username: string;\n temporaryPassword: string;\n attributes: ServiceAbstraction.UserAttributes;\n }): Promise<void> {\n const createUserParams: AdminCreateUserRequest = {\n UserPoolId: this.config.userPoolId,\n Username: params.username,\n DesiredDeliveryMediums: [],\n ForceAliasCreation: false,\n MessageAction: \"SUPPRESS\",\n TemporaryPassword: params.temporaryPassword,\n UserAttributes: [\n {\n Name: \"given_name\",\n Value: params.attributes.givenName || \"\"\n },\n {\n Name: \"family_name\",\n Value: params.attributes.familyName || \"\"\n },\n {\n Name: \"preferred_username\",\n Value: params.attributes.preferredUsername\n },\n {\n Name: \"email\",\n Value: params.attributes.email\n },\n {\n Name: \"custom:id\",\n Value: params.attributes.customId\n }\n ]\n };\n\n await this.cognito.adminCreateUser(createUserParams);\n }\n\n async setEmailVerified(username: string): Promise<void> {\n await this.cognito.adminUpdateUserAttributes({\n UserPoolId: this.config.userPoolId,\n Username: username,\n UserAttributes: [\n {\n Name: \"email_verified\",\n Value: \"true\"\n }\n ]\n });\n }\n\n async setPermanentPassword(username: string, password: string): Promise<void> {\n await this.cognito.adminSetUserPassword({\n Permanent: true,\n Password: password,\n Username: username,\n UserPoolId: this.config.userPoolId\n });\n }\n\n async updateUserAttributes(\n username: string,\n attributes: Record<string, string>\n ): Promise<void> {\n const userAttributes = Object.entries(attributes).map(([name, value]) => ({\n Name: name,\n Value: value\n }));\n\n await this.cognito.adminUpdateUserAttributes({\n UserPoolId: this.config.userPoolId,\n Username: username,\n UserAttributes: userAttributes\n });\n }\n\n async deleteUser(username: string): Promise<void> {\n await this.cognito.adminDeleteUser({\n UserPoolId: this.config.userPoolId,\n Username: username\n });\n }\n}\n\nexport const CognitoService = ServiceAbstraction.createImplementation({\n implementation: CognitoServiceImpl,\n dependencies: [CognitoConfig]\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"api/features/CognitoService/CognitoService.js","sources":["../../../../src/api/features/CognitoService/CognitoService.ts"],"sourcesContent":["import type { AdminCreateUserRequest } from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { CognitoIdentityProvider } from \"@webiny/aws-sdk/client-cognito-identity-provider/index.js\";\nimport { CognitoConfig, CognitoService as ServiceAbstraction } from \"./abstractions.js\";\n\nclass CognitoServiceImpl implements ServiceAbstraction.Interface {\n private cognito: CognitoIdentityProvider;\n\n constructor(private config: CognitoConfig.Interface) {\n this.cognito = new CognitoIdentityProvider({ region: config.region });\n }\n\n async userExists(username: string): Promise<boolean> {\n try {\n await this.cognito.adminGetUser({\n Username: username,\n UserPoolId: this.config.userPoolId\n });\n return true;\n } catch {\n // User does not exist\n return false;\n }\n }\n\n async createUser(params: {\n username: string;\n temporaryPassword: string;\n attributes: ServiceAbstraction.UserAttributes;\n }): Promise<void> {\n const createUserParams: AdminCreateUserRequest = {\n UserPoolId: this.config.userPoolId,\n Username: params.username,\n DesiredDeliveryMediums: [],\n ForceAliasCreation: false,\n MessageAction: \"SUPPRESS\",\n TemporaryPassword: params.temporaryPassword,\n UserAttributes: [\n {\n Name: \"given_name\",\n Value: params.attributes.givenName || \"\"\n },\n {\n Name: \"family_name\",\n Value: params.attributes.familyName || \"\"\n },\n {\n Name: \"preferred_username\",\n Value: params.attributes.preferredUsername\n },\n {\n Name: \"email\",\n Value: params.attributes.email\n },\n {\n Name: \"custom:id\",\n Value: params.attributes.customId\n }\n ]\n };\n\n await this.cognito.adminCreateUser(createUserParams);\n }\n\n async setEmailVerified(username: string): Promise<void> {\n await this.cognito.adminUpdateUserAttributes({\n UserPoolId: this.config.userPoolId,\n Username: username,\n UserAttributes: [\n {\n Name: \"email_verified\",\n Value: \"true\"\n }\n ]\n });\n }\n\n async setPermanentPassword(username: string, password: string): Promise<void> {\n await this.cognito.adminSetUserPassword({\n Permanent: true,\n Password: password,\n Username: username,\n UserPoolId: this.config.userPoolId\n });\n }\n\n async updateUserAttributes(\n username: string,\n attributes: Record<string, string>\n ): Promise<void> {\n const userAttributes = Object.entries(attributes).map(([name, value]) => ({\n Name: name,\n Value: value\n }));\n\n await this.cognito.adminUpdateUserAttributes({\n UserPoolId: this.config.userPoolId,\n Username: username,\n UserAttributes: userAttributes\n });\n }\n\n async deleteUser(username: string): Promise<void> {\n await this.cognito.adminDeleteUser({\n UserPoolId: this.config.userPoolId,\n Username: username\n });\n }\n}\n\nexport const CognitoService = ServiceAbstraction.createImplementation({\n implementation: CognitoServiceImpl,\n dependencies: [CognitoConfig]\n});\n"],"names":["CognitoServiceImpl","config","CognitoIdentityProvider","username","params","createUserParams","password","attributes","userAttributes","Object","name","value","CognitoService","ServiceAbstraction","CognitoConfig"],"mappings":";;AAIA,MAAMA;IAGF,YAAoBC,MAA+B,CAAE;aAAjCA,MAAM,GAANA;QAChB,IAAI,CAAC,OAAO,GAAG,IAAIC,wBAAwB;YAAE,QAAQD,OAAO,MAAM;QAAC;IACvE;IAEA,MAAM,WAAWE,QAAgB,EAAoB;QACjD,IAAI;YACA,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC5B,UAAUA;gBACV,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU;YACtC;YACA,OAAO;QACX,EAAE,OAAM;YAEJ,OAAO;QACX;IACJ;IAEA,MAAM,WAAWC,MAIhB,EAAiB;QACd,MAAMC,mBAA2C;YAC7C,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,UAAUD,OAAO,QAAQ;YACzB,wBAAwB,EAAE;YAC1B,oBAAoB;YACpB,eAAe;YACf,mBAAmBA,OAAO,iBAAiB;YAC3C,gBAAgB;gBACZ;oBACI,MAAM;oBACN,OAAOA,OAAO,UAAU,CAAC,SAAS,IAAI;gBAC1C;gBACA;oBACI,MAAM;oBACN,OAAOA,OAAO,UAAU,CAAC,UAAU,IAAI;gBAC3C;gBACA;oBACI,MAAM;oBACN,OAAOA,OAAO,UAAU,CAAC,iBAAiB;gBAC9C;gBACA;oBACI,MAAM;oBACN,OAAOA,OAAO,UAAU,CAAC,KAAK;gBAClC;gBACA;oBACI,MAAM;oBACN,OAAOA,OAAO,UAAU,CAAC,QAAQ;gBACrC;aACH;QACL;QAEA,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAACC;IACvC;IAEA,MAAM,iBAAiBF,QAAgB,EAAiB;QACpD,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YACzC,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,UAAUA;YACV,gBAAgB;gBACZ;oBACI,MAAM;oBACN,OAAO;gBACX;aACH;QACL;IACJ;IAEA,MAAM,qBAAqBA,QAAgB,EAAEG,QAAgB,EAAiB;QAC1E,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACpC,WAAW;YACX,UAAUA;YACV,UAAUH;YACV,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU;QACtC;IACJ;IAEA,MAAM,qBACFA,QAAgB,EAChBI,UAAkC,EACrB;QACb,MAAMC,iBAAiBC,OAAO,OAAO,CAACF,YAAY,GAAG,CAAC,CAAC,CAACG,MAAMC,MAAM,GAAM;gBACtE,MAAMD;gBACN,OAAOC;YACX;QAEA,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;YACzC,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,UAAUR;YACV,gBAAgBK;QACpB;IACJ;IAEA,MAAM,WAAWL,QAAgB,EAAiB;QAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YAC/B,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,UAAUA;QACd;IACJ;AACJ;AAEO,MAAMS,gCAAiBC,eAAAA,oBAAuC,CAAC;IAClE,gBAAgBb;IAChB,cAAc;QAACc;KAAc;AACjC"}
@@ -1,8 +1,6 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- export const CognitoConfig = createAbstraction("CognitoConfig");
3
-
4
- // Cognito Service
5
-
6
- export const CognitoService = createAbstraction("CognitoService");
2
+ const CognitoConfig = createAbstraction("CognitoConfig");
3
+ const CognitoService = createAbstraction("CognitoService");
4
+ export { CognitoConfig, CognitoService };
7
5
 
8
6
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","CognitoConfig","CognitoService"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { BaseUserAttributes } from \"@webiny/api-core/types/users.js\";\n\nexport interface AttributeGetter {\n (user: BaseUserAttributes): string;\n}\n\nexport interface ICognitoConfig {\n region: string;\n userPoolId: string;\n}\n\nexport const CognitoConfig = createAbstraction<ICognitoConfig>(\"CognitoConfig\");\n\nexport namespace CognitoConfig {\n export type Interface = ICognitoConfig;\n}\n\n// Cognito Service\n\nexport interface CognitoUserAttributes {\n givenName?: string;\n familyName?: string;\n preferredUsername: string;\n email: string;\n customId: string;\n}\n\nexport interface ICognitoService {\n /**\n * Check if a user exists in Cognito User Pool\n */\n userExists(username: string): Promise<boolean>;\n\n /**\n * Create a new user in Cognito User Pool\n */\n createUser(params: {\n username: string;\n temporaryPassword: string;\n attributes: CognitoUserAttributes;\n }): Promise<void>;\n\n /**\n * Set email as verified for a user\n */\n setEmailVerified(username: string): Promise<void>;\n\n /**\n * Set a permanent password for a user\n */\n setPermanentPassword(username: string, password: string): Promise<void>;\n\n /**\n * Update user attributes in Cognito\n */\n updateUserAttributes(username: string, attributes: Record<string, string>): Promise<void>;\n\n /**\n * Delete a user from Cognito User Pool\n */\n deleteUser(username: string): Promise<void>;\n}\n\nexport const CognitoService = createAbstraction<ICognitoService>(\"CognitoService\");\nexport namespace CognitoService {\n export type Interface = ICognitoService;\n export type UserAttributes = CognitoUserAttributes;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAYvD,OAAO,MAAMC,aAAa,GAAGD,iBAAiB,CAAiB,eAAe,CAAC;;AAM/E;;AA8CA,OAAO,MAAME,cAAc,GAAGF,iBAAiB,CAAkB,gBAAgB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"api/features/CognitoService/abstractions.js","sources":["../../../../src/api/features/CognitoService/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { BaseUserAttributes } from \"@webiny/api-core/types/users.js\";\n\nexport interface AttributeGetter {\n (user: BaseUserAttributes): string;\n}\n\nexport interface ICognitoConfig {\n region: string;\n userPoolId: string;\n}\n\nexport const CognitoConfig = createAbstraction<ICognitoConfig>(\"CognitoConfig\");\n\nexport namespace CognitoConfig {\n export type Interface = ICognitoConfig;\n}\n\n// Cognito Service\n\nexport interface CognitoUserAttributes {\n givenName?: string;\n familyName?: string;\n preferredUsername: string;\n email: string;\n customId: string;\n}\n\nexport interface ICognitoService {\n /**\n * Check if a user exists in Cognito User Pool\n */\n userExists(username: string): Promise<boolean>;\n\n /**\n * Create a new user in Cognito User Pool\n */\n createUser(params: {\n username: string;\n temporaryPassword: string;\n attributes: CognitoUserAttributes;\n }): Promise<void>;\n\n /**\n * Set email as verified for a user\n */\n setEmailVerified(username: string): Promise<void>;\n\n /**\n * Set a permanent password for a user\n */\n setPermanentPassword(username: string, password: string): Promise<void>;\n\n /**\n * Update user attributes in Cognito\n */\n updateUserAttributes(username: string, attributes: Record<string, string>): Promise<void>;\n\n /**\n * Delete a user from Cognito User Pool\n */\n deleteUser(username: string): Promise<void>;\n}\n\nexport const CognitoService = createAbstraction<ICognitoService>(\"CognitoService\");\nexport namespace CognitoService {\n export type Interface = ICognitoService;\n export type UserAttributes = CognitoUserAttributes;\n}\n"],"names":["CognitoConfig","createAbstraction","CognitoService"],"mappings":";AAYO,MAAMA,gBAAgBC,kBAAkC;AAoDxD,MAAMC,iBAAiBD,kBAAmC"}
@@ -1,12 +1,13 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { CognitoService } from "./CognitoService.js";
3
3
  import { CognitoConfig } from "./abstractions.js";
4
- export const CognitoServiceFeature = createFeature({
5
- name: "cognitoService",
6
- register(container, config) {
7
- container.register(CognitoService).inSingletonScope();
8
- container.registerInstance(CognitoConfig, config);
9
- }
4
+ const CognitoServiceFeature = createFeature({
5
+ name: "cognitoService",
6
+ register (container, config) {
7
+ container.register(CognitoService).inSingletonScope();
8
+ container.registerInstance(CognitoConfig, config);
9
+ }
10
10
  });
11
+ export { CognitoServiceFeature };
11
12
 
12
13
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","CognitoService","CognitoConfig","CognitoServiceFeature","name","register","container","config","inSingletonScope","registerInstance"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CognitoService } from \"./CognitoService.js\";\nimport { CognitoConfig } from \"./abstractions.js\";\n\nexport type UserPoolConfig = {\n region: string;\n userPoolId: string;\n};\n\nexport const CognitoServiceFeature = createFeature<UserPoolConfig>({\n name: \"cognitoService\",\n register(container, config) {\n container.register(CognitoService).inSingletonScope();\n\n container.registerInstance(CognitoConfig, config);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,cAAc;AACvB,SAASC,aAAa;AAOtB,OAAO,MAAMC,qBAAqB,GAAGH,aAAa,CAAiB;EAC/DI,IAAI,EAAE,gBAAgB;EACtBC,QAAQA,CAACC,SAAS,EAAEC,MAAM,EAAE;IACxBD,SAAS,CAACD,QAAQ,CAACJ,cAAc,CAAC,CAACO,gBAAgB,CAAC,CAAC;IAErDF,SAAS,CAACG,gBAAgB,CAACP,aAAa,EAAEK,MAAM,CAAC;EACrD;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"api/features/CognitoService/feature.js","sources":["../../../../src/api/features/CognitoService/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CognitoService } from \"./CognitoService.js\";\nimport { CognitoConfig } from \"./abstractions.js\";\n\nexport type UserPoolConfig = {\n region: string;\n userPoolId: string;\n};\n\nexport const CognitoServiceFeature = createFeature<UserPoolConfig>({\n name: \"cognitoService\",\n register(container, config) {\n container.register(CognitoService).inSingletonScope();\n\n container.registerInstance(CognitoConfig, config);\n }\n});\n"],"names":["CognitoServiceFeature","createFeature","container","config","CognitoService","CognitoConfig"],"mappings":";;;AASO,MAAMA,wBAAwBC,cAA8B;IAC/D,MAAM;IACN,UAASC,SAAS,EAAEC,MAAM;QACtBD,UAAU,QAAQ,CAACE,gBAAgB,gBAAgB;QAEnDF,UAAU,gBAAgB,CAACG,eAAeF;IAC9C;AACJ"}
@@ -1,3 +1 @@
1
1
  export * from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map