@webiny/cognito 6.4.11 → 6.6.0-alpha.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 (164) hide show
  1. package/Cognito.d.ts +4 -4
  2. package/admin/Cognito.d.ts +3 -1
  3. package/admin/Cognito.js +8 -2
  4. package/admin/Cognito.js.map +1 -1
  5. package/admin/Extension.js +21 -0
  6. package/admin/Extension.js.map +1 -1
  7. package/admin/features/account/getCurrentUser/GetCurrentUserGateway.d.ts +11 -0
  8. package/admin/features/account/getCurrentUser/GetCurrentUserGateway.js +44 -0
  9. package/admin/features/account/getCurrentUser/GetCurrentUserGateway.js.map +1 -0
  10. package/admin/features/account/getCurrentUser/GetCurrentUserUseCase.d.ts +10 -0
  11. package/admin/features/account/getCurrentUser/GetCurrentUserUseCase.js +19 -0
  12. package/admin/features/account/getCurrentUser/GetCurrentUserUseCase.js.map +1 -0
  13. package/admin/features/account/getCurrentUser/abstractions/GetCurrentUserGateway.d.ts +16 -0
  14. package/admin/features/account/getCurrentUser/abstractions/GetCurrentUserGateway.js +5 -0
  15. package/admin/features/account/getCurrentUser/abstractions/GetCurrentUserGateway.js.map +1 -0
  16. package/admin/features/account/getCurrentUser/abstractions/GetCurrentUserUseCase.d.ts +10 -0
  17. package/admin/features/account/getCurrentUser/abstractions/GetCurrentUserUseCase.js +5 -0
  18. package/admin/features/account/getCurrentUser/abstractions/GetCurrentUserUseCase.js.map +1 -0
  19. package/admin/features/account/getCurrentUser/abstractions/index.d.ts +6 -0
  20. package/admin/features/account/getCurrentUser/abstractions/index.js +2 -0
  21. package/admin/features/account/getCurrentUser/feature.d.ts +3 -0
  22. package/admin/features/account/getCurrentUser/feature.js +19 -0
  23. package/admin/features/account/getCurrentUser/feature.js.map +1 -0
  24. package/admin/features/account/getCurrentUser/index.d.ts +1 -0
  25. package/admin/features/account/getCurrentUser/index.js +1 -0
  26. package/admin/features/account/updateCurrentUser/UpdateCurrentUserGateway.d.ts +11 -0
  27. package/admin/features/account/updateCurrentUser/UpdateCurrentUserGateway.js +48 -0
  28. package/admin/features/account/updateCurrentUser/UpdateCurrentUserGateway.js.map +1 -0
  29. package/admin/features/account/updateCurrentUser/UpdateCurrentUserUseCase.d.ts +10 -0
  30. package/admin/features/account/updateCurrentUser/UpdateCurrentUserUseCase.js +19 -0
  31. package/admin/features/account/updateCurrentUser/UpdateCurrentUserUseCase.js.map +1 -0
  32. package/admin/features/account/updateCurrentUser/abstractions/UpdateCurrentUserGateway.d.ts +26 -0
  33. package/admin/features/account/updateCurrentUser/abstractions/UpdateCurrentUserGateway.js +5 -0
  34. package/admin/features/account/updateCurrentUser/abstractions/UpdateCurrentUserGateway.js.map +1 -0
  35. package/admin/features/account/updateCurrentUser/abstractions/UpdateCurrentUserUseCase.d.ts +13 -0
  36. package/admin/features/account/updateCurrentUser/abstractions/UpdateCurrentUserUseCase.js +5 -0
  37. package/admin/features/account/updateCurrentUser/abstractions/UpdateCurrentUserUseCase.js.map +1 -0
  38. package/admin/features/account/updateCurrentUser/abstractions/index.d.ts +8 -0
  39. package/admin/features/account/updateCurrentUser/abstractions/index.js +2 -0
  40. package/admin/features/account/updateCurrentUser/feature.d.ts +3 -0
  41. package/admin/features/account/updateCurrentUser/feature.js +19 -0
  42. package/admin/features/account/updateCurrentUser/feature.js.map +1 -0
  43. package/admin/features/account/updateCurrentUser/index.d.ts +1 -0
  44. package/admin/features/account/updateCurrentUser/index.js +1 -0
  45. package/admin/features/permissions/feature.d.ts +1 -1
  46. package/admin/features/users/createUser/CreateUserGateway.d.ts +11 -0
  47. package/admin/features/users/createUser/CreateUserGateway.js +49 -0
  48. package/admin/features/users/createUser/CreateUserGateway.js.map +1 -0
  49. package/admin/features/users/createUser/CreateUserUseCase.d.ts +10 -0
  50. package/admin/features/users/createUser/CreateUserUseCase.js +18 -0
  51. package/admin/features/users/createUser/CreateUserUseCase.js.map +1 -0
  52. package/admin/features/users/createUser/abstractions/CreateUserGateway.d.ts +21 -0
  53. package/admin/features/users/createUser/abstractions/CreateUserGateway.js +5 -0
  54. package/admin/features/users/createUser/abstractions/CreateUserGateway.js.map +1 -0
  55. package/admin/features/users/createUser/abstractions/CreateUserUseCase.d.ts +14 -0
  56. package/admin/features/users/createUser/abstractions/CreateUserUseCase.js +5 -0
  57. package/admin/features/users/createUser/abstractions/CreateUserUseCase.js.map +1 -0
  58. package/admin/features/users/createUser/abstractions/index.d.ts +2 -0
  59. package/admin/features/users/createUser/abstractions/index.js +2 -0
  60. package/admin/features/users/createUser/feature.d.ts +3 -0
  61. package/admin/features/users/createUser/feature.js +19 -0
  62. package/admin/features/users/createUser/feature.js.map +1 -0
  63. package/admin/features/users/createUser/index.d.ts +2 -0
  64. package/admin/features/users/createUser/index.js +2 -0
  65. package/admin/features/users/deleteUser/DeleteUserGateway.d.ts +11 -0
  66. package/admin/features/users/deleteUser/DeleteUserGateway.js +40 -0
  67. package/admin/features/users/deleteUser/DeleteUserGateway.js.map +1 -0
  68. package/admin/features/users/deleteUser/DeleteUserUseCase.d.ts +10 -0
  69. package/admin/features/users/deleteUser/DeleteUserUseCase.js +18 -0
  70. package/admin/features/users/deleteUser/DeleteUserUseCase.js.map +1 -0
  71. package/admin/features/users/deleteUser/abstractions/DeleteUserGateway.d.ts +11 -0
  72. package/admin/features/users/deleteUser/abstractions/DeleteUserGateway.js +5 -0
  73. package/admin/features/users/deleteUser/abstractions/DeleteUserGateway.js.map +1 -0
  74. package/admin/features/users/deleteUser/abstractions/DeleteUserUseCase.d.ts +11 -0
  75. package/admin/features/users/deleteUser/abstractions/DeleteUserUseCase.js +5 -0
  76. package/admin/features/users/deleteUser/abstractions/DeleteUserUseCase.js.map +1 -0
  77. package/admin/features/users/deleteUser/abstractions/index.d.ts +2 -0
  78. package/admin/features/users/deleteUser/abstractions/index.js +2 -0
  79. package/admin/features/users/deleteUser/feature.d.ts +3 -0
  80. package/admin/features/users/deleteUser/feature.js +19 -0
  81. package/admin/features/users/deleteUser/feature.js.map +1 -0
  82. package/admin/features/users/deleteUser/index.d.ts +2 -0
  83. package/admin/features/users/deleteUser/index.js +2 -0
  84. package/admin/features/users/getUser/GetUserGateway.d.ts +11 -0
  85. package/admin/features/users/getUser/GetUserGateway.js +57 -0
  86. package/admin/features/users/getUser/GetUserGateway.js.map +1 -0
  87. package/admin/features/users/getUser/GetUserUseCase.d.ts +10 -0
  88. package/admin/features/users/getUser/GetUserUseCase.js +18 -0
  89. package/admin/features/users/getUser/GetUserUseCase.js.map +1 -0
  90. package/admin/features/users/getUser/abstractions/GetUserGateway.d.ts +32 -0
  91. package/admin/features/users/getUser/abstractions/GetUserGateway.js +5 -0
  92. package/admin/features/users/getUser/abstractions/GetUserGateway.js.map +1 -0
  93. package/admin/features/users/getUser/abstractions/GetUserUseCase.d.ts +14 -0
  94. package/admin/features/users/getUser/abstractions/GetUserUseCase.js +5 -0
  95. package/admin/features/users/getUser/abstractions/GetUserUseCase.js.map +1 -0
  96. package/admin/features/users/getUser/abstractions/index.d.ts +2 -0
  97. package/admin/features/users/getUser/abstractions/index.js +2 -0
  98. package/admin/features/users/getUser/feature.d.ts +3 -0
  99. package/admin/features/users/getUser/feature.js +19 -0
  100. package/admin/features/users/getUser/feature.js.map +1 -0
  101. package/admin/features/users/getUser/index.d.ts +2 -0
  102. package/admin/features/users/getUser/index.js +2 -0
  103. package/admin/features/users/listUsers/ListUsersGateway.d.ts +11 -0
  104. package/admin/features/users/listUsers/ListUsersGateway.js +39 -0
  105. package/admin/features/users/listUsers/ListUsersGateway.js.map +1 -0
  106. package/admin/features/users/listUsers/ListUsersUseCase.d.ts +10 -0
  107. package/admin/features/users/listUsers/ListUsersUseCase.js +18 -0
  108. package/admin/features/users/listUsers/ListUsersUseCase.js.map +1 -0
  109. package/admin/features/users/listUsers/abstractions/ListUsersGateway.d.ts +17 -0
  110. package/admin/features/users/listUsers/abstractions/ListUsersGateway.js +5 -0
  111. package/admin/features/users/listUsers/abstractions/ListUsersGateway.js.map +1 -0
  112. package/admin/features/users/listUsers/abstractions/ListUsersUseCase.d.ts +10 -0
  113. package/admin/features/users/listUsers/abstractions/ListUsersUseCase.js +5 -0
  114. package/admin/features/users/listUsers/abstractions/ListUsersUseCase.js.map +1 -0
  115. package/admin/features/users/listUsers/abstractions/index.d.ts +2 -0
  116. package/admin/features/users/listUsers/abstractions/index.js +2 -0
  117. package/admin/features/users/listUsers/feature.d.ts +3 -0
  118. package/admin/features/users/listUsers/feature.js +19 -0
  119. package/admin/features/users/listUsers/feature.js.map +1 -0
  120. package/admin/features/users/listUsers/index.d.ts +2 -0
  121. package/admin/features/users/listUsers/index.js +2 -0
  122. package/admin/features/users/updateUser/UpdateUserGateway.d.ts +11 -0
  123. package/admin/features/users/updateUser/UpdateUserGateway.js +59 -0
  124. package/admin/features/users/updateUser/UpdateUserGateway.js.map +1 -0
  125. package/admin/features/users/updateUser/UpdateUserUseCase.d.ts +10 -0
  126. package/admin/features/users/updateUser/UpdateUserUseCase.js +18 -0
  127. package/admin/features/users/updateUser/UpdateUserUseCase.js.map +1 -0
  128. package/admin/features/users/updateUser/abstractions/UpdateUserGateway.d.ts +33 -0
  129. package/admin/features/users/updateUser/abstractions/UpdateUserGateway.js +5 -0
  130. package/admin/features/users/updateUser/abstractions/UpdateUserGateway.js.map +1 -0
  131. package/admin/features/users/updateUser/abstractions/UpdateUserUseCase.d.ts +15 -0
  132. package/admin/features/users/updateUser/abstractions/UpdateUserUseCase.js +5 -0
  133. package/admin/features/users/updateUser/abstractions/UpdateUserUseCase.js.map +1 -0
  134. package/admin/features/users/updateUser/abstractions/index.d.ts +2 -0
  135. package/admin/features/users/updateUser/abstractions/index.js +2 -0
  136. package/admin/features/users/updateUser/feature.d.ts +3 -0
  137. package/admin/features/users/updateUser/feature.js +19 -0
  138. package/admin/features/users/updateUser/feature.js.map +1 -0
  139. package/admin/features/users/updateUser/index.d.ts +2 -0
  140. package/admin/features/users/updateUser/index.js +2 -0
  141. package/admin/presentation/Cognito/CognitoLoginScreen.d.ts +2 -2
  142. package/admin/presentation/Cognito/components/View.d.ts +1 -1
  143. package/admin/presentation/Cognito/components/index.d.ts +1 -1
  144. package/admin/ui/views/Account/Account.js +42 -34
  145. package/admin/ui/views/Account/Account.js.map +1 -1
  146. package/admin/ui/views/Users/UsersDataList.js +44 -26
  147. package/admin/ui/views/Users/UsersDataList.js.map +1 -1
  148. package/admin/ui/views/Users/UsersForm.js +1 -1
  149. package/admin/ui/views/Users/UsersForm.js.map +1 -1
  150. package/admin/ui/views/Users/UsersView.js +3 -3
  151. package/admin/ui/views/Users/UsersView.js.map +1 -1
  152. package/admin/ui/views/Users/hooks/useUserForm.d.ts +2 -2
  153. package/admin/ui/views/Users/hooks/useUserForm.js +60 -78
  154. package/admin/ui/views/Users/hooks/useUserForm.js.map +1 -1
  155. package/api/graphql/user.gql.d.ts +2 -2
  156. package/api/graphql/user.gql.js +2 -2
  157. package/api/graphql/user.gql.js.map +1 -1
  158. package/package.json +21 -24
  159. package/admin/ui/views/Account/graphql.d.ts +0 -2
  160. package/admin/ui/views/Account/graphql.js +0 -41
  161. package/admin/ui/views/Account/graphql.js.map +0 -1
  162. package/admin/ui/views/Users/graphql.d.ts +0 -5
  163. package/admin/ui/views/Users/graphql.js +0 -98
  164. package/admin/ui/views/Users/graphql.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { ErrorResponse, NotFoundResponse, Response } from "@webiny/handler-graphql/responses.js";
2
- import { CoreGraphQLSchemaFactory } from "@webiny/handler-graphql/graphql/abstractions.js";
1
+ import { ErrorResponse, NotFoundResponse, Response } from "@webiny/api-graphql/responses.js";
2
+ import { CoreGraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.js";
3
3
  import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
4
4
  import { GetUserUseCase } from "@webiny/api-core/features/users/GetUser/index.js";
5
5
  import NotAuthorizedResponse from "@webiny/api-core/graphql/security/NotAuthorizedResponse.js";
@@ -1 +1 @@
1
- {"version":3,"file":"api/graphql/user.gql.js","sources":["../../../src/api/graphql/user.gql.ts"],"sourcesContent":["import { ErrorResponse, NotFoundResponse, Response } from \"@webiny/handler-graphql/responses.js\";\nimport { CoreGraphQLSchemaFactory } from \"@webiny/handler-graphql/graphql/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetUserUseCase } from \"@webiny/api-core/features/users/GetUser/index.js\";\nimport NotAuthorizedResponse from \"@webiny/api-core/graphql/security/NotAuthorizedResponse.js\";\nimport { CreateUserUseCase } from \"~/api/features/CreateUser/index.js\";\nimport { UpdateUserUseCase } from \"~/api/features/UpdateUser/index.js\";\nimport { DeleteUserUseCase } from \"~/api/features/DeleteUser/index.js\";\n\nclass AdminUserSchemaImpl implements CoreGraphQLSchemaFactory.Interface {\n async execute(\n builder: CoreGraphQLSchemaFactory.SchemaBuilder\n ): CoreGraphQLSchemaFactory.Return {\n builder.addTypeDefs(/* GraphQL */ `\n \"\"\"\n This input type is used by administrators to create other user's accounts within the same tenant.\n \"\"\"\n input AdminUsersCreateInput {\n email: String!\n firstName: String!\n lastName: String!\n password: String!\n avatar: JSON\n roles: [RefInput!]\n teams: [RefInput!]\n }\n\n \"\"\"\n This input type is used by administrators to update other user's accounts within the same tenant.\n \"\"\"\n input AdminUsersUpdateInput {\n email: String\n firstName: String\n lastName: String\n password: String\n avatar: JSON\n roles: [RefInput!]\n teams: [RefInput!]\n }\n\n \"\"\"\n This input type is used by the user who is updating his own account\n \"\"\"\n input AdminUsersCurrentUserInput {\n email: String\n firstName: String\n lastName: String\n password: String\n avatar: JSON\n }\n\n extend type AdminUsersMutation {\n updateCurrentUser(data: AdminUsersCurrentUserInput!): AdminUsersResponse\n\n createUser(data: AdminUsersCreateInput!): AdminUsersResponse\n\n updateUser(id: ID!, data: AdminUsersUpdateInput!): AdminUsersResponse\n\n deleteUser(id: ID!): AdminUsersBooleanResponse\n }\n `);\n\n builder.addResolver({\n path: \"AdminUsersMutation.updateCurrentUser\",\n dependencies: [IdentityContext, GetUserUseCase, UpdateUserUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n getUserUseCase: GetUserUseCase.Interface,\n updateUserUseCase: UpdateUserUseCase.Interface\n ) => {\n return async ({ args }) => {\n const identity = identityContext.getIdentity();\n if (!identity.isAdmin()) {\n return new NotAuthorizedResponse();\n }\n\n // Current user might not have permissions for `adminUsers`.\n return await identityContext.withoutAuthorization(async () => {\n const getUserResult = await getUserUseCase.execute({ id: identity.id });\n if (getUserResult.isFail()) {\n // TODO: check if current identity belongs to a different tenant.\n // TODO: If so, switch to that other tenant, and update his profile there.\n return new NotFoundResponse(\"User not found!\");\n }\n\n const user = getUserResult.value;\n\n // TODO: UpdateCurrentUser should be a dedicated use case\n const updateResult = await updateUserUseCase.execute(user.id, args.data);\n if (updateResult.isFail()) {\n return new ErrorResponse({\n message: updateResult.error.message,\n code: updateResult.error.code,\n data: updateResult.error.data\n });\n }\n\n return new Response(updateResult.value);\n });\n };\n }\n });\n\n builder.addResolver({\n path: \"AdminUsersMutation.createUser\",\n dependencies: [CreateUserUseCase],\n resolver: (createUserUseCase: CreateUserUseCase.Interface) => {\n return async ({ args }) => {\n const result = await createUserUseCase.execute(args.data);\n if (result.isFail()) {\n return new ErrorResponse({\n message: result.error.message,\n code: result.error.code,\n data: result.error.data\n });\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"AdminUsersMutation.updateUser\",\n dependencies: [UpdateUserUseCase, IdentityContext],\n resolver: (\n updateUserUseCase: UpdateUserUseCase.Interface,\n identityContext: IdentityContext.Interface\n ) => {\n return async ({ args }) => {\n if (args.id === identityContext.getIdentity().id) {\n return new ErrorResponse({\n message:\n \"You're not allowed to update your own account using this API.\",\n code: \"AdminUser/GraphQL/UpdateSelf\"\n });\n }\n\n const result = await updateUserUseCase.execute(args.id, args.data);\n if (result.isFail()) {\n return new ErrorResponse({\n message: result.error.message,\n code: result.error.code\n });\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"AdminUsersMutation.deleteUser\",\n dependencies: [DeleteUserUseCase],\n resolver: (deleteUserUseCase: DeleteUserUseCase.Interface) => {\n return async ({ args }) => {\n const result = await deleteUserUseCase.execute(args.id);\n if (result.isFail()) {\n return new ErrorResponse({\n message: result.error.message,\n code: result.error.code,\n data: result.error.data\n });\n }\n\n return new Response(true);\n };\n }\n });\n\n return builder;\n }\n}\n\nexport const AdminUsersSchema = CoreGraphQLSchemaFactory.createImplementation({\n implementation: AdminUserSchemaImpl,\n dependencies: []\n});\n"],"names":["AdminUserSchemaImpl","builder","IdentityContext","GetUserUseCase","UpdateUserUseCase","identityContext","getUserUseCase","updateUserUseCase","args","identity","NotAuthorizedResponse","getUserResult","NotFoundResponse","user","updateResult","ErrorResponse","Response","CreateUserUseCase","createUserUseCase","result","DeleteUserUseCase","deleteUserUseCase","AdminUsersSchema","CoreGraphQLSchemaFactory"],"mappings":"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"}
1
+ {"version":3,"file":"api/graphql/user.gql.js","sources":["../../../src/api/graphql/user.gql.ts"],"sourcesContent":["import { ErrorResponse, NotFoundResponse, Response } from \"@webiny/api-graphql/responses.js\";\nimport { CoreGraphQLSchemaFactory } from \"@webiny/api-graphql/graphql/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetUserUseCase } from \"@webiny/api-core/features/users/GetUser/index.js\";\nimport NotAuthorizedResponse from \"@webiny/api-core/graphql/security/NotAuthorizedResponse.js\";\nimport { CreateUserUseCase } from \"~/api/features/CreateUser/index.js\";\nimport { UpdateUserUseCase } from \"~/api/features/UpdateUser/index.js\";\nimport { DeleteUserUseCase } from \"~/api/features/DeleteUser/index.js\";\n\nclass AdminUserSchemaImpl implements CoreGraphQLSchemaFactory.Interface {\n async execute(\n builder: CoreGraphQLSchemaFactory.SchemaBuilder\n ): CoreGraphQLSchemaFactory.Return {\n builder.addTypeDefs(/* GraphQL */ `\n \"\"\"\n This input type is used by administrators to create other user's accounts within the same tenant.\n \"\"\"\n input AdminUsersCreateInput {\n email: String!\n firstName: String!\n lastName: String!\n password: String!\n avatar: JSON\n roles: [RefInput!]\n teams: [RefInput!]\n }\n\n \"\"\"\n This input type is used by administrators to update other user's accounts within the same tenant.\n \"\"\"\n input AdminUsersUpdateInput {\n email: String\n firstName: String\n lastName: String\n password: String\n avatar: JSON\n roles: [RefInput!]\n teams: [RefInput!]\n }\n\n \"\"\"\n This input type is used by the user who is updating his own account\n \"\"\"\n input AdminUsersCurrentUserInput {\n email: String\n firstName: String\n lastName: String\n password: String\n avatar: JSON\n }\n\n extend type AdminUsersMutation {\n updateCurrentUser(data: AdminUsersCurrentUserInput!): AdminUsersResponse\n\n createUser(data: AdminUsersCreateInput!): AdminUsersResponse\n\n updateUser(id: ID!, data: AdminUsersUpdateInput!): AdminUsersResponse\n\n deleteUser(id: ID!): AdminUsersBooleanResponse\n }\n `);\n\n builder.addResolver({\n path: \"AdminUsersMutation.updateCurrentUser\",\n dependencies: [IdentityContext, GetUserUseCase, UpdateUserUseCase],\n resolver: (\n identityContext: IdentityContext.Interface,\n getUserUseCase: GetUserUseCase.Interface,\n updateUserUseCase: UpdateUserUseCase.Interface\n ) => {\n return async ({ args }) => {\n const identity = identityContext.getIdentity();\n if (!identity.isAdmin()) {\n return new NotAuthorizedResponse();\n }\n\n // Current user might not have permissions for `adminUsers`.\n return await identityContext.withoutAuthorization(async () => {\n const getUserResult = await getUserUseCase.execute({ id: identity.id });\n if (getUserResult.isFail()) {\n // TODO: check if current identity belongs to a different tenant.\n // TODO: If so, switch to that other tenant, and update his profile there.\n return new NotFoundResponse(\"User not found!\");\n }\n\n const user = getUserResult.value;\n\n // TODO: UpdateCurrentUser should be a dedicated use case\n const updateResult = await updateUserUseCase.execute(user.id, args.data);\n if (updateResult.isFail()) {\n return new ErrorResponse({\n message: updateResult.error.message,\n code: updateResult.error.code,\n data: updateResult.error.data\n });\n }\n\n return new Response(updateResult.value);\n });\n };\n }\n });\n\n builder.addResolver({\n path: \"AdminUsersMutation.createUser\",\n dependencies: [CreateUserUseCase],\n resolver: (createUserUseCase: CreateUserUseCase.Interface) => {\n return async ({ args }) => {\n const result = await createUserUseCase.execute(args.data);\n if (result.isFail()) {\n return new ErrorResponse({\n message: result.error.message,\n code: result.error.code,\n data: result.error.data\n });\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"AdminUsersMutation.updateUser\",\n dependencies: [UpdateUserUseCase, IdentityContext],\n resolver: (\n updateUserUseCase: UpdateUserUseCase.Interface,\n identityContext: IdentityContext.Interface\n ) => {\n return async ({ args }) => {\n if (args.id === identityContext.getIdentity().id) {\n return new ErrorResponse({\n message:\n \"You're not allowed to update your own account using this API.\",\n code: \"AdminUser/GraphQL/UpdateSelf\"\n });\n }\n\n const result = await updateUserUseCase.execute(args.id, args.data);\n if (result.isFail()) {\n return new ErrorResponse({\n message: result.error.message,\n code: result.error.code\n });\n }\n\n return new Response(result.value);\n };\n }\n });\n\n builder.addResolver({\n path: \"AdminUsersMutation.deleteUser\",\n dependencies: [DeleteUserUseCase],\n resolver: (deleteUserUseCase: DeleteUserUseCase.Interface) => {\n return async ({ args }) => {\n const result = await deleteUserUseCase.execute(args.id);\n if (result.isFail()) {\n return new ErrorResponse({\n message: result.error.message,\n code: result.error.code,\n data: result.error.data\n });\n }\n\n return new Response(true);\n };\n }\n });\n\n return builder;\n }\n}\n\nexport const AdminUsersSchema = CoreGraphQLSchemaFactory.createImplementation({\n implementation: AdminUserSchemaImpl,\n dependencies: []\n});\n"],"names":["AdminUserSchemaImpl","builder","IdentityContext","GetUserUseCase","UpdateUserUseCase","identityContext","getUserUseCase","updateUserUseCase","args","identity","NotAuthorizedResponse","getUserResult","NotFoundResponse","user","updateResult","ErrorResponse","Response","CreateUserUseCase","createUserUseCase","result","DeleteUserUseCase","deleteUserUseCase","AdminUsersSchema","CoreGraphQLSchemaFactory"],"mappings":"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"}
package/package.json CHANGED
@@ -1,48 +1,45 @@
1
1
  {
2
2
  "name": "@webiny/cognito",
3
- "version": "6.4.11",
3
+ "version": "6.6.0-alpha.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
7
  "exports": {
8
8
  ".": "./index.js",
9
+ "./*": "./*",
9
10
  "./api": "./api/index.js",
10
11
  "./admin": "./admin/index.js"
11
12
  },
12
13
  "description": "Security plugins for Cognito",
13
14
  "author": "Webiny Ltd.",
14
15
  "dependencies": {
15
- "@apollo/react-hooks": "3.1.5",
16
- "@webiny/admin-ui": "6.4.11",
17
- "@webiny/api-core": "6.4.11",
18
- "@webiny/app": "6.4.11",
19
- "@webiny/app-admin": "6.4.11",
20
- "@webiny/aws-sdk": "6.4.11",
21
- "@webiny/di": "1.0.2",
22
- "@webiny/feature": "6.4.11",
23
- "@webiny/form": "6.4.11",
24
- "@webiny/handler-graphql": "6.4.11",
25
- "@webiny/icons": "6.4.11",
26
- "@webiny/project": "6.4.11",
27
- "@webiny/project-aws": "6.4.11",
28
- "@webiny/react-properties": "6.4.11",
29
- "@webiny/validation": "6.4.11",
30
- "aws-amplify": "6.18.0",
16
+ "@webiny/admin-ui": "6.6.0-alpha.1",
17
+ "@webiny/api-core": "6.6.0-alpha.1",
18
+ "@webiny/api-graphql": "6.6.0-alpha.1",
19
+ "@webiny/app": "6.6.0-alpha.1",
20
+ "@webiny/app-admin": "6.6.0-alpha.1",
21
+ "@webiny/aws-sdk": "6.6.0-alpha.1",
22
+ "@webiny/feature": "6.6.0-alpha.1",
23
+ "@webiny/form": "6.6.0-alpha.1",
24
+ "@webiny/icons": "6.6.0-alpha.1",
25
+ "@webiny/project": "6.6.0-alpha.1",
26
+ "@webiny/project-aws": "6.6.0-alpha.1",
27
+ "@webiny/react-properties": "6.6.0-alpha.1",
28
+ "@webiny/validation": "6.6.0-alpha.1",
29
+ "aws-amplify": "6.20.0",
31
30
  "graphql": "16.14.2",
32
- "graphql-tag": "2.12.7",
33
31
  "jsonwebtoken": "9.0.3",
34
32
  "lodash": "4.18.1",
35
- "mobx": "6.16.1",
36
- "mobx-react-lite": "4.1.1",
33
+ "mobx": "7.0.3",
34
+ "mobx-react-lite": "5.0.3",
37
35
  "react": "18.3.1",
38
36
  "zod": "4.4.3"
39
37
  },
40
38
  "devDependencies": {
41
39
  "@types/react": "18.3.31",
42
- "@webiny/build-tools": "6.4.11",
43
- "@webiny/project-utils": "6.4.11",
44
- "@webiny/wcp": "6.4.11",
45
- "vitest": "4.1.10"
40
+ "@webiny/build-tools": "6.6.0-alpha.1",
41
+ "@webiny/wcp": "6.6.0-alpha.1",
42
+ "vitest": "4.1.11"
46
43
  },
47
44
  "publishConfig": {
48
45
  "access": "public"
@@ -1,2 +0,0 @@
1
- export declare const GET_CURRENT_USER: import("graphql").DocumentNode;
2
- export declare const UPDATE_CURRENT_USER: import("graphql").DocumentNode;
@@ -1,41 +0,0 @@
1
- import graphql_tag from "graphql-tag";
2
- const currentUserFields = `
3
- {
4
- id
5
- email
6
- firstName
7
- lastName
8
- avatar
9
- external
10
- }
11
- `;
12
- const GET_CURRENT_USER = graphql_tag`
13
- query GetCurrentUser {
14
- adminUsers {
15
- user: getCurrentUser {
16
- data ${currentUserFields}
17
- error {
18
- code
19
- message
20
- }
21
- }
22
- }
23
- }
24
- `;
25
- const UPDATE_CURRENT_USER = graphql_tag`
26
- mutation UpdateCurrentUser($data: AdminUsersCurrentUserInput!) {
27
- adminUsers {
28
- updateCurrentUser(data: $data) {
29
- data ${currentUserFields}
30
- error {
31
- code
32
- message
33
- data
34
- }
35
- }
36
- }
37
- }
38
- `;
39
- export { GET_CURRENT_USER, UPDATE_CURRENT_USER };
40
-
41
- //# sourceMappingURL=graphql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin/ui/views/Account/graphql.js","sources":["../../../../../src/admin/ui/views/Account/graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nconst currentUserFields = /* GraphQL */ `\n {\n id\n email\n firstName\n lastName\n avatar\n external\n }\n`;\n\nexport const GET_CURRENT_USER = gql`\n query GetCurrentUser {\n adminUsers {\n user: getCurrentUser {\n data ${currentUserFields}\n error {\n code\n message\n }\n }\n }\n }\n`;\n\nexport const UPDATE_CURRENT_USER = gql`\n mutation UpdateCurrentUser($data: AdminUsersCurrentUserInput!) {\n adminUsers {\n updateCurrentUser(data: $data) {\n data ${currentUserFields}\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n"],"names":["currentUserFields","GET_CURRENT_USER","gql","UPDATE_CURRENT_USER"],"mappings":";AAEA,MAAMA,oBAAkC,CAAC;;;;;;;;;AASzC,CAAC;AAEM,MAAMC,mBAAmBC,WAAG,CAAC;;;;qBAIf,EAAEF,kBAAkB;;;;;;;;AAQzC,CAAC;AAEM,MAAMG,sBAAsBD,WAAG,CAAC;;;;qBAIlB,EAAEF,kBAAkB;;;;;;;;;AASzC,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare const LIST_USERS: any;
2
- export declare const READ_USER: any;
3
- export declare const CREATE_USER: any;
4
- export declare const UPDATE_USER: any;
5
- export declare const DELETE_USER: any;
@@ -1,98 +0,0 @@
1
- import graphql_tag from "graphql-tag";
2
- const listUserFields = `
3
- {
4
- id
5
- email
6
- firstName
7
- lastName
8
- avatar
9
- createdOn
10
- external
11
- }
12
- `;
13
- const userFormFields = ()=>`
14
- {
15
- id
16
- email
17
- firstName
18
- lastName
19
- avatar
20
- external
21
- roles {
22
- id
23
- slug
24
- name
25
- }
26
- teams {
27
- id
28
- slug
29
- name
30
- }
31
- }
32
- `;
33
- const LIST_USERS = graphql_tag`
34
- query ListUsers {
35
- adminUsers {
36
- users: listUsers {
37
- data ${listUserFields}
38
- }
39
- }
40
- }
41
- `;
42
- const READ_USER = ()=>graphql_tag`
43
- query GetUser($id: ID!) {
44
- adminUsers {
45
- user: getUser(where: { id: $id }){
46
- data ${userFormFields()}
47
- error {
48
- code
49
- message
50
- }
51
- }
52
- }
53
- }
54
- `;
55
- const CREATE_USER = graphql_tag`
56
- mutation CreateUser($data: AdminUsersCreateInput!){
57
- adminUsers {
58
- user: createUser(data: $data) {
59
- data ${listUserFields}
60
- error {
61
- code
62
- message
63
- data
64
- }
65
- }
66
- }
67
- }
68
- `;
69
- const UPDATE_USER = ()=>graphql_tag`
70
- mutation UpdateUser($id: ID!, $data: AdminUsersUpdateInput!){
71
- adminUsers {
72
- user: updateUser(id: $id, data: $data) {
73
- data ${userFormFields()}
74
- error {
75
- code
76
- message
77
- data
78
- }
79
- }
80
- }
81
- }
82
- `;
83
- const DELETE_USER = graphql_tag`
84
- mutation DeleteUser($id: ID!) {
85
- adminUsers {
86
- deleteUser(id: $id) {
87
- data
88
- error {
89
- code
90
- message
91
- }
92
- }
93
- }
94
- }
95
- `;
96
- export { CREATE_USER, DELETE_USER, LIST_USERS, READ_USER, UPDATE_USER };
97
-
98
- //# sourceMappingURL=graphql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin/ui/views/Users/graphql.js","sources":["../../../../../src/admin/ui/views/Users/graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nconst listUserFields = /* GraphQL */ `\n {\n id\n email\n firstName\n lastName\n avatar\n createdOn\n external\n }\n`;\n\nconst userFormFields = () => {\n return /* GraphQL */ `\n {\n id\n email\n firstName\n lastName\n avatar\n external\n roles {\n id\n slug\n name\n }\n teams {\n id\n slug\n name\n }\n }\n `;\n};\n\nexport const LIST_USERS: any = gql`\n query ListUsers {\n adminUsers {\n users: listUsers {\n data ${listUserFields}\n }\n }\n }\n`;\n\nexport const READ_USER: any = () => gql`\n query GetUser($id: ID!) {\n adminUsers {\n user: getUser(where: { id: $id }){\n data ${userFormFields()}\n error {\n code\n message\n }\n }\n }\n }\n`;\n\nexport const CREATE_USER: any = gql`\n mutation CreateUser($data: AdminUsersCreateInput!){\n adminUsers {\n user: createUser(data: $data) {\n data ${listUserFields}\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\nexport const UPDATE_USER: any = () => gql`\n mutation UpdateUser($id: ID!, $data: AdminUsersUpdateInput!){\n adminUsers {\n user: updateUser(id: $id, data: $data) {\n data ${userFormFields()}\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\nexport const DELETE_USER: any = gql`\n mutation DeleteUser($id: ID!) {\n adminUsers {\n deleteUser(id: $id) {\n data\n error {\n code\n message\n }\n }\n }\n }\n`;\n"],"names":["listUserFields","userFormFields","LIST_USERS","gql","READ_USER","CREATE_USER","UPDATE_USER","DELETE_USER"],"mappings":";AAEA,MAAMA,iBAA+B,CAAC;;;;;;;;;;AAUtC,CAAC;AAED,MAAMC,iBAAiB,IACE,CAAC;;;;;;;;;;;;;;;;;;;IAmBtB,CAAC;AAGE,MAAMC,aAAkBC,WAAG,CAAC;;;;qBAId,EAAEH,eAAe;;;;AAItC,CAAC;AAEM,MAAMI,YAAiB,IAAMD,WAAG,CAAC;;;;qBAInB,EAAEF,iBAAiB;;;;;;;;AAQxC,CAAC;AAEM,MAAMI,cAAmBF,WAAG,CAAC;;;;qBAIf,EAAEH,eAAe;;;;;;;;;AAStC,CAAC;AAEM,MAAMM,cAAmB,IAAMH,WAAG,CAAC;;;;qBAIrB,EAAEF,iBAAiB;;;;;;;;;AASxC,CAAC;AAEM,MAAMM,cAAmBJ,WAAG,CAAC;;;;;;;;;;;;AAYpC,CAAC"}