@webiny/api-core-ddb 6.3.0-beta.4 → 6.4.0-beta.0

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 (36) hide show
  1. package/adminUsers/definitions/entities.js +5 -6
  2. package/adminUsers/definitions/entities.js.map +1 -1
  3. package/adminUsers/definitions/types.js +0 -3
  4. package/adminUsers/index.js +135 -156
  5. package/adminUsers/index.js.map +1 -1
  6. package/adminUsers/types.js +5 -4
  7. package/adminUsers/types.js.map +1 -1
  8. package/createApiCoreDdb.js +19 -22
  9. package/createApiCoreDdb.js.map +1 -1
  10. package/index.js +0 -2
  11. package/keyValueStore/KeyValueStoreDynamoTable.js +24 -25
  12. package/keyValueStore/KeyValueStoreDynamoTable.js.map +1 -1
  13. package/keyValueStore/KeyValueStoreStorageOperations.d.ts +2 -1
  14. package/keyValueStore/KeyValueStoreStorageOperations.js +72 -72
  15. package/keyValueStore/KeyValueStoreStorageOperations.js.map +1 -1
  16. package/keyValueStore/index.js +2 -3
  17. package/keyValueStore/index.js.map +1 -1
  18. package/package.json +9 -9
  19. package/security/definitions/entities.js +19 -24
  20. package/security/definitions/entities.js.map +1 -1
  21. package/security/definitions/types.js +0 -3
  22. package/security/index.js +389 -464
  23. package/security/index.js.map +1 -1
  24. package/security/types.js +6 -5
  25. package/security/types.js.map +1 -1
  26. package/tenancy/definitions/tenantEntity.js +5 -9
  27. package/tenancy/definitions/tenantEntity.js.map +1 -1
  28. package/tenancy/definitions/types.js +0 -3
  29. package/tenancy/index.js +107 -127
  30. package/tenancy/index.js.map +1 -1
  31. package/tenancy/types.js +4 -3
  32. package/tenancy/types.js.map +1 -1
  33. package/adminUsers/definitions/types.js.map +0 -1
  34. package/index.js.map +0 -1
  35. package/security/definitions/types.js.map +0 -1
  36. package/tenancy/definitions/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["WebinyError","createApiKeyEntity","createRoleEntity","createTeamEntity","createTable","sortItems","createStorageOperations","params","table","tableName","documentClient","name","process","env","DB_TABLE","entities","apiKeys","roles","teams","createApiKeyKeys","id","tenant","PK","SK","GSI_TENANT","TYPE","createApiKeyGsiKeys","slug","token","GSI1_PK","GSI1_SK","GSI2_PK","GSI2_SK","createRoleKeys","role","createRoleGsiKeys","createTeamKeys","team","createTeamGsiKeys","createApiKey","apiKey","keys","put","data","err","from","message","code","createRole","createTeam","deleteApiKey","delete","deleteRole","deleteTeam","getApiKey","response","get","getApiKeyByToken","queryParams","partitionKey","options","eq","index","result","queryOne","getApiKeyBySlug","getRole","where","getTeam","listApiKeys","sort","items","queryAll","map","item","listRoles","id_in","slug_in","ddbItems","Array","isArray","filter","includes","listTeams","ddbRecords","updateApiKey","updateRole","updateTeam"],"sources":["index.ts"],"sourcesContent":["import type { SecurityStorageParams } from \"./types.js\";\nimport type {\n StorageApiKey,\n StorageRole,\n SecurityStorageOperations,\n StorageTeam\n} from \"@webiny/api-core/types/security.js\";\nimport WebinyError from \"@webiny/error\";\nimport { createApiKeyEntity, createRoleEntity, createTeamEntity } from \"./definitions/entities.js\";\nimport { createTable, type IEntityQueryOneParams, sortItems } from \"@webiny/db-dynamodb\";\n\nexport const createStorageOperations = (\n params: SecurityStorageParams\n): SecurityStorageOperations => {\n const { table: tableName, documentClient } = params;\n\n const table = createTable({\n name: tableName || (process.env.DB_TABLE as string),\n documentClient\n });\n\n const entities = {\n apiKeys: createApiKeyEntity(table.table),\n roles: createRoleEntity(table.table),\n teams: createTeamEntity(table.table)\n };\n\n const createApiKeyKeys = ({ id, tenant }: Pick<StorageApiKey, \"id\" | \"tenant\">) => ({\n PK: `T#${tenant}#API_KEY#${id}`,\n SK: `A`,\n GSI_TENANT: tenant,\n TYPE: \"security.apiKey\"\n });\n\n const createApiKeyGsiKeys = ({\n slug,\n token,\n tenant\n }: Pick<StorageApiKey, \"slug\" | \"tenant\" | \"token\">) => ({\n GSI1_PK: `T#${tenant}#API_KEYS`,\n GSI1_SK: token,\n GSI2_PK: `T#${tenant}#API_KEYS`,\n GSI2_SK: slug\n });\n\n const createRoleKeys = (role: Pick<StorageRole, \"tenant\" | \"id\">) => ({\n PK: `T#${role.tenant}#ROLE#${role.id}`,\n SK: `A`\n });\n\n const createRoleGsiKeys = (role: Pick<StorageRole, \"tenant\" | \"slug\">) => ({\n GSI1_PK: `T#${role.tenant}#ROLES`,\n GSI1_SK: role.slug,\n GSI_TENANT: role.tenant as string,\n TYPE: \"security.role\"\n });\n\n const createTeamKeys = (team: Pick<StorageTeam, \"tenant\" | \"id\">) => ({\n PK: `T#${team.tenant}#TEAM#${team.id}`,\n SK: `A`\n });\n\n const createTeamGsiKeys = (team: Pick<StorageTeam, \"tenant\" | \"slug\">) => ({\n GSI1_PK: `T#${team.tenant}#TEAMS`,\n GSI1_SK: team.slug,\n GSI_TENANT: team.tenant as string,\n TYPE: \"security.team\"\n });\n\n return {\n async createApiKey({ apiKey }): Promise<void> {\n const keys = {\n ...createApiKeyKeys(apiKey),\n ...createApiKeyGsiKeys(apiKey)\n };\n\n try {\n await entities.apiKeys.put({\n data: apiKey,\n ...keys\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not create api key.\",\n code: \"CREATE_API_KEY_ERROR\",\n data: { keys }\n });\n }\n },\n async createRole({ role }): Promise<void> {\n const keys = {\n ...createRoleKeys(role),\n ...createRoleGsiKeys(role)\n };\n\n try {\n await entities.roles.put({\n data: role,\n ...keys\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not create role.\",\n code: \"CREATE_ROLE_ERROR\",\n data: { keys }\n });\n }\n },\n async createTeam({ team }): Promise<void> {\n const keys = {\n ...createTeamKeys(team),\n ...createTeamGsiKeys(team)\n };\n\n try {\n await entities.teams.put({\n data: team,\n ...keys\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not create team.\",\n code: \"CREATE_TEAM_ERROR\",\n data: { keys }\n });\n }\n },\n async deleteApiKey({ apiKey }) {\n const keys = createApiKeyKeys(apiKey);\n\n try {\n await entities.apiKeys.delete(keys);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update api key.\",\n code: \"UPDATE_API_KEY_ERROR\",\n data: { keys }\n });\n }\n },\n async deleteRole({ role }) {\n const keys = createRoleKeys(role);\n\n try {\n await entities.roles.delete(keys);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not delete role.\",\n code: \"CREATE_DELETE_ERROR\",\n data: { keys, role }\n });\n }\n },\n async deleteTeam({ team }) {\n const keys = createTeamKeys(team);\n\n try {\n await entities.teams.delete(keys);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not delete team.\",\n code: \"CREATE_DELETE_ERROR\",\n data: { keys, team }\n });\n }\n },\n async getApiKey({ id, tenant }) {\n const keys = createApiKeyKeys({ id, tenant });\n\n try {\n const response = await entities.apiKeys.get(keys);\n\n return response?.data || null;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load api key.\",\n code: \"GET_API_KEY_ERROR\",\n data: { id, keys }\n });\n }\n },\n async getApiKeyByToken({ tenant, token }) {\n const queryParams: IEntityQueryOneParams = {\n partitionKey: `T#${tenant}#API_KEYS`,\n options: {\n eq: token,\n index: \"GSI1\"\n }\n };\n\n try {\n const result = await entities.apiKeys.queryOne(queryParams);\n return result?.data || null;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load api key by token.\",\n code: \"GET_BY_TOKEN_API_KEY_ERROR\",\n data: { partitionKey: queryParams.partitionKey, options: queryParams.options }\n });\n }\n },\n async getApiKeyBySlug({ tenant, slug }) {\n const queryParams: IEntityQueryOneParams = {\n partitionKey: `T#${tenant}#API_KEYS`,\n options: {\n eq: slug,\n index: \"GSI2\"\n }\n };\n\n try {\n const result = await entities.apiKeys.queryOne(queryParams);\n return result?.data || null;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load api key by slug.\",\n code: \"GET_BY_SLUG_API_KEY_ERROR\",\n data: { partitionKey: queryParams.partitionKey, options: queryParams.options }\n });\n }\n },\n async getRole({ where: { tenant, id, slug } }) {\n try {\n if (id) {\n const result = await entities.roles.get(createRoleKeys({ tenant, id }));\n return result?.data || null;\n }\n const result = await entities.roles.queryOne({\n partitionKey: `T#${tenant}#ROLES`,\n options: {\n index: \"GSI1\",\n eq: slug\n }\n });\n\n return result?.data || null;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load role.\",\n code: \"GET_ROLE_ERROR\",\n data: { id, slug }\n });\n }\n },\n async getTeam({ where: { tenant, id, slug } }) {\n try {\n if (id) {\n const result = await entities.teams.get(createTeamKeys({ tenant, id }));\n\n return result?.data || null;\n }\n\n const result = await entities.teams.queryOne({\n partitionKey: `T#${tenant}#TEAMS`,\n options: {\n index: \"GSI1\",\n eq: slug\n }\n });\n\n return result?.data || null;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load team.\",\n code: \"GET_TEAM_ERROR\",\n data: { id, slug }\n });\n }\n },\n async listApiKeys({ where: { tenant }, sort }): Promise<StorageApiKey[]> {\n let items;\n try {\n items = await entities.apiKeys.queryAll({\n partitionKey: `T#${tenant}#API_KEYS`,\n options: {\n index: \"GSI1\"\n }\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not list api keys.\",\n code: \"LIST_API_KEY_ERROR\"\n });\n }\n\n return sortItems({ items, sort }).map(item => item.data);\n },\n async listRoles({ where: { tenant, id_in, slug_in }, sort }): Promise<StorageRole[]> {\n let items: StorageRole[];\n try {\n const ddbItems = await entities.roles.queryAll({\n partitionKey: `T#${tenant}#ROLES`,\n options: {\n index: \"GSI1\"\n }\n });\n items = ddbItems.map(item => item.data);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not list roles.\",\n code: \"LIST_ROLE_ERROR\"\n });\n }\n\n items = sortItems({ items, sort });\n\n if (Array.isArray(id_in)) {\n return items.filter(item => id_in.includes(item.id));\n }\n\n if (Array.isArray(slug_in)) {\n return items.filter(item => slug_in.includes(item.slug));\n }\n\n return items;\n },\n async listTeams({ where: { tenant, id_in, slug_in }, sort }): Promise<StorageTeam[]> {\n let items: StorageTeam[];\n try {\n const ddbRecords = await entities.teams.queryAll({\n partitionKey: `T#${tenant}#TEAMS`,\n options: {\n index: \"GSI1\"\n }\n });\n\n items = ddbRecords.map(item => item.data);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not list teams.\",\n code: \"LIST_TEAM_ERROR\"\n });\n }\n\n items = sortItems({ items, sort });\n\n if (Array.isArray(id_in)) {\n return items.filter(item => id_in.includes(item.id));\n }\n\n if (Array.isArray(slug_in)) {\n return items.filter(item => slug_in.includes(item.slug));\n }\n return items;\n },\n async updateApiKey({ apiKey }): Promise<void> {\n const keys = {\n ...createApiKeyKeys(apiKey),\n ...createApiKeyGsiKeys(apiKey)\n };\n\n try {\n await entities.apiKeys.put({\n data: apiKey,\n ...keys\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update api key.\",\n code: \"UPDATE_API_KEY_ERROR\",\n data: { keys }\n });\n }\n },\n async updateRole({ role }): Promise<void> {\n const keys = createRoleKeys(role);\n\n try {\n await entities.roles.put({\n data: role,\n ...keys,\n ...createRoleGsiKeys(role)\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update role.\",\n code: \"UPDATE_ROLE_ERROR\",\n data: { keys, role }\n });\n }\n },\n async updateTeam({ team }): Promise<void> {\n const keys = createTeamKeys(team);\n\n try {\n await entities.teams.put({\n data: team,\n ...keys,\n ...createTeamGsiKeys(team)\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update team.\",\n code: \"UPDATE_TEAM_ERROR\",\n data: { keys, team }\n });\n }\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"security/index.js","sources":["../../src/security/index.ts"],"sourcesContent":["import type { SecurityStorageParams } from \"./types.js\";\nimport type {\n StorageApiKey,\n StorageRole,\n SecurityStorageOperations,\n StorageTeam\n} from \"@webiny/api-core/types/security.js\";\nimport WebinyError from \"@webiny/error\";\nimport { createApiKeyEntity, createRoleEntity, createTeamEntity } from \"./definitions/entities.js\";\nimport { createTable, type IEntityQueryOneParams, sortItems } from \"@webiny/db-dynamodb\";\n\nexport const createStorageOperations = (\n params: SecurityStorageParams\n): SecurityStorageOperations => {\n const { table: tableName, documentClient } = params;\n\n const table = createTable({\n name: tableName || (process.env.DB_TABLE as string),\n documentClient\n });\n\n const entities = {\n apiKeys: createApiKeyEntity(table.table),\n roles: createRoleEntity(table.table),\n teams: createTeamEntity(table.table)\n };\n\n const createApiKeyKeys = ({ id, tenant }: Pick<StorageApiKey, \"id\" | \"tenant\">) => ({\n PK: `T#${tenant}#API_KEY#${id}`,\n SK: `A`,\n GSI_TENANT: tenant,\n TYPE: \"security.apiKey\"\n });\n\n const createApiKeyGsiKeys = ({\n slug,\n token,\n tenant\n }: Pick<StorageApiKey, \"slug\" | \"tenant\" | \"token\">) => ({\n GSI1_PK: `T#${tenant}#API_KEYS`,\n GSI1_SK: token,\n GSI2_PK: `T#${tenant}#API_KEYS`,\n GSI2_SK: slug\n });\n\n const createRoleKeys = (role: Pick<StorageRole, \"tenant\" | \"id\">) => ({\n PK: `T#${role.tenant}#ROLE#${role.id}`,\n SK: `A`\n });\n\n const createRoleGsiKeys = (role: Pick<StorageRole, \"tenant\" | \"slug\">) => ({\n GSI1_PK: `T#${role.tenant}#ROLES`,\n GSI1_SK: role.slug,\n GSI_TENANT: role.tenant as string,\n TYPE: \"security.role\"\n });\n\n const createTeamKeys = (team: Pick<StorageTeam, \"tenant\" | \"id\">) => ({\n PK: `T#${team.tenant}#TEAM#${team.id}`,\n SK: `A`\n });\n\n const createTeamGsiKeys = (team: Pick<StorageTeam, \"tenant\" | \"slug\">) => ({\n GSI1_PK: `T#${team.tenant}#TEAMS`,\n GSI1_SK: team.slug,\n GSI_TENANT: team.tenant as string,\n TYPE: \"security.team\"\n });\n\n return {\n async createApiKey({ apiKey }): Promise<void> {\n const keys = {\n ...createApiKeyKeys(apiKey),\n ...createApiKeyGsiKeys(apiKey)\n };\n\n try {\n await entities.apiKeys.put({\n data: apiKey,\n ...keys\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not create api key.\",\n code: \"CREATE_API_KEY_ERROR\",\n data: { keys }\n });\n }\n },\n async createRole({ role }): Promise<void> {\n const keys = {\n ...createRoleKeys(role),\n ...createRoleGsiKeys(role)\n };\n\n try {\n await entities.roles.put({\n data: role,\n ...keys\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not create role.\",\n code: \"CREATE_ROLE_ERROR\",\n data: { keys }\n });\n }\n },\n async createTeam({ team }): Promise<void> {\n const keys = {\n ...createTeamKeys(team),\n ...createTeamGsiKeys(team)\n };\n\n try {\n await entities.teams.put({\n data: team,\n ...keys\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not create team.\",\n code: \"CREATE_TEAM_ERROR\",\n data: { keys }\n });\n }\n },\n async deleteApiKey({ apiKey }) {\n const keys = createApiKeyKeys(apiKey);\n\n try {\n await entities.apiKeys.delete(keys);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update api key.\",\n code: \"UPDATE_API_KEY_ERROR\",\n data: { keys }\n });\n }\n },\n async deleteRole({ role }) {\n const keys = createRoleKeys(role);\n\n try {\n await entities.roles.delete(keys);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not delete role.\",\n code: \"CREATE_DELETE_ERROR\",\n data: { keys, role }\n });\n }\n },\n async deleteTeam({ team }) {\n const keys = createTeamKeys(team);\n\n try {\n await entities.teams.delete(keys);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not delete team.\",\n code: \"CREATE_DELETE_ERROR\",\n data: { keys, team }\n });\n }\n },\n async getApiKey({ id, tenant }) {\n const keys = createApiKeyKeys({ id, tenant });\n\n try {\n const response = await entities.apiKeys.get(keys);\n\n return response?.data || null;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load api key.\",\n code: \"GET_API_KEY_ERROR\",\n data: { id, keys }\n });\n }\n },\n async getApiKeyByToken({ tenant, token }) {\n const queryParams: IEntityQueryOneParams = {\n partitionKey: `T#${tenant}#API_KEYS`,\n options: {\n eq: token,\n index: \"GSI1\"\n }\n };\n\n try {\n const result = await entities.apiKeys.queryOne(queryParams);\n return result?.data || null;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load api key by token.\",\n code: \"GET_BY_TOKEN_API_KEY_ERROR\",\n data: { partitionKey: queryParams.partitionKey, options: queryParams.options }\n });\n }\n },\n async getApiKeyBySlug({ tenant, slug }) {\n const queryParams: IEntityQueryOneParams = {\n partitionKey: `T#${tenant}#API_KEYS`,\n options: {\n eq: slug,\n index: \"GSI2\"\n }\n };\n\n try {\n const result = await entities.apiKeys.queryOne(queryParams);\n return result?.data || null;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load api key by slug.\",\n code: \"GET_BY_SLUG_API_KEY_ERROR\",\n data: { partitionKey: queryParams.partitionKey, options: queryParams.options }\n });\n }\n },\n async getRole({ where: { tenant, id, slug } }) {\n try {\n if (id) {\n const result = await entities.roles.get(createRoleKeys({ tenant, id }));\n return result?.data || null;\n }\n const result = await entities.roles.queryOne({\n partitionKey: `T#${tenant}#ROLES`,\n options: {\n index: \"GSI1\",\n eq: slug\n }\n });\n\n return result?.data || null;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load role.\",\n code: \"GET_ROLE_ERROR\",\n data: { id, slug }\n });\n }\n },\n async getTeam({ where: { tenant, id, slug } }) {\n try {\n if (id) {\n const result = await entities.teams.get(createTeamKeys({ tenant, id }));\n\n return result?.data || null;\n }\n\n const result = await entities.teams.queryOne({\n partitionKey: `T#${tenant}#TEAMS`,\n options: {\n index: \"GSI1\",\n eq: slug\n }\n });\n\n return result?.data || null;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not load team.\",\n code: \"GET_TEAM_ERROR\",\n data: { id, slug }\n });\n }\n },\n async listApiKeys({ where: { tenant }, sort }): Promise<StorageApiKey[]> {\n let items;\n try {\n items = await entities.apiKeys.queryAll({\n partitionKey: `T#${tenant}#API_KEYS`,\n options: {\n index: \"GSI1\"\n }\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not list api keys.\",\n code: \"LIST_API_KEY_ERROR\"\n });\n }\n\n return sortItems({ items, sort }).map(item => item.data);\n },\n async listRoles({ where: { tenant, id_in, slug_in }, sort }): Promise<StorageRole[]> {\n let items: StorageRole[];\n try {\n const ddbItems = await entities.roles.queryAll({\n partitionKey: `T#${tenant}#ROLES`,\n options: {\n index: \"GSI1\"\n }\n });\n items = ddbItems.map(item => item.data);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not list roles.\",\n code: \"LIST_ROLE_ERROR\"\n });\n }\n\n items = sortItems({ items, sort });\n\n if (Array.isArray(id_in)) {\n return items.filter(item => id_in.includes(item.id));\n }\n\n if (Array.isArray(slug_in)) {\n return items.filter(item => slug_in.includes(item.slug));\n }\n\n return items;\n },\n async listTeams({ where: { tenant, id_in, slug_in }, sort }): Promise<StorageTeam[]> {\n let items: StorageTeam[];\n try {\n const ddbRecords = await entities.teams.queryAll({\n partitionKey: `T#${tenant}#TEAMS`,\n options: {\n index: \"GSI1\"\n }\n });\n\n items = ddbRecords.map(item => item.data);\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not list teams.\",\n code: \"LIST_TEAM_ERROR\"\n });\n }\n\n items = sortItems({ items, sort });\n\n if (Array.isArray(id_in)) {\n return items.filter(item => id_in.includes(item.id));\n }\n\n if (Array.isArray(slug_in)) {\n return items.filter(item => slug_in.includes(item.slug));\n }\n return items;\n },\n async updateApiKey({ apiKey }): Promise<void> {\n const keys = {\n ...createApiKeyKeys(apiKey),\n ...createApiKeyGsiKeys(apiKey)\n };\n\n try {\n await entities.apiKeys.put({\n data: apiKey,\n ...keys\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update api key.\",\n code: \"UPDATE_API_KEY_ERROR\",\n data: { keys }\n });\n }\n },\n async updateRole({ role }): Promise<void> {\n const keys = createRoleKeys(role);\n\n try {\n await entities.roles.put({\n data: role,\n ...keys,\n ...createRoleGsiKeys(role)\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update role.\",\n code: \"UPDATE_ROLE_ERROR\",\n data: { keys, role }\n });\n }\n },\n async updateTeam({ team }): Promise<void> {\n const keys = createTeamKeys(team);\n\n try {\n await entities.teams.put({\n data: team,\n ...keys,\n ...createTeamGsiKeys(team)\n });\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update team.\",\n code: \"UPDATE_TEAM_ERROR\",\n data: { keys, team }\n });\n }\n }\n };\n};\n"],"names":["createStorageOperations","params","tableName","documentClient","table","createTable","process","entities","createApiKeyEntity","createRoleEntity","createTeamEntity","createApiKeyKeys","id","tenant","createApiKeyGsiKeys","slug","token","createRoleKeys","role","createRoleGsiKeys","createTeamKeys","team","createTeamGsiKeys","apiKey","keys","err","WebinyError","response","queryParams","result","sort","items","sortItems","item","id_in","slug_in","ddbItems","Array","ddbRecords"],"mappings":"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"}
package/security/types.js CHANGED
@@ -1,8 +1,9 @@
1
- export let ENTITIES = /*#__PURE__*/function (ENTITIES) {
2
- ENTITIES["API_KEY"] = "SecurityApiKey";
3
- ENTITIES["ROLE"] = "SecurityRole";
4
- ENTITIES["TEAM"] = "SecurityTeam";
5
- return ENTITIES;
1
+ var types_ENTITIES = /*#__PURE__*/ function(ENTITIES) {
2
+ ENTITIES["API_KEY"] = "SecurityApiKey";
3
+ ENTITIES["ROLE"] = "SecurityRole";
4
+ ENTITIES["TEAM"] = "SecurityTeam";
5
+ return ENTITIES;
6
6
  }({});
7
+ export { types_ENTITIES as ENTITIES };
7
8
 
8
9
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ENTITIES"],"sources":["types.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\n\nexport enum ENTITIES {\n API_KEY = \"SecurityApiKey\",\n ROLE = \"SecurityRole\",\n TEAM = \"SecurityTeam\"\n}\n\nexport interface SecurityStorageParams {\n documentClient: DynamoDBDocument;\n table?: string;\n}\n"],"mappings":"AAEA,WAAYA,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"security/types.js","sources":["../../src/security/types.ts"],"sourcesContent":["import type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\n\nexport enum ENTITIES {\n API_KEY = \"SecurityApiKey\",\n ROLE = \"SecurityRole\",\n TEAM = \"SecurityTeam\"\n}\n\nexport interface SecurityStorageParams {\n documentClient: DynamoDBDocument;\n table?: string;\n}\n"],"names":["ENTITIES"],"mappings":"AAEO,IAAKA,iBAAQA,WAAAA,GAAAA,SAARA,QAAQ;;;;WAARA"}
@@ -1,12 +1,8 @@
1
1
  import { createStandardEntity } from "@webiny/db-dynamodb";
2
- export const createTenantEntity = ({
3
- entityName,
4
- table
5
- }) => {
6
- return createStandardEntity({
7
- name: entityName,
8
- table
9
- });
10
- };
2
+ const createTenantEntity = ({ entityName, table })=>createStandardEntity({
3
+ name: entityName,
4
+ table
5
+ });
6
+ export { createTenantEntity };
11
7
 
12
8
  //# sourceMappingURL=tenantEntity.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createStandardEntity","createTenantEntity","entityName","table","name"],"sources":["tenantEntity.ts"],"sourcesContent":["import type { Table } from \"@webiny/db-dynamodb/toolbox.js\";\nimport { createStandardEntity } from \"@webiny/db-dynamodb\";\nimport type { ITenantEntity } from \"~/tenancy/definitions/types.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\ninterface Params {\n entityName: string;\n table: Table<string, string, string>;\n}\nexport const createTenantEntity = ({ entityName, table }: Params): ITenantEntity => {\n return createStandardEntity<Tenant>({\n name: entityName,\n table\n });\n};\n"],"mappings":"AACA,SAASA,oBAAoB,QAAQ,qBAAqB;AAQ1D,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EAAEC,UAAU;EAAEC;AAAc,CAAC,KAAoB;EAChF,OAAOH,oBAAoB,CAAS;IAChCI,IAAI,EAAEF,UAAU;IAChBC;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"tenancy/definitions/tenantEntity.js","sources":["../../../src/tenancy/definitions/tenantEntity.ts"],"sourcesContent":["import type { Table } from \"@webiny/db-dynamodb/toolbox.js\";\nimport { createStandardEntity } from \"@webiny/db-dynamodb\";\nimport type { ITenantEntity } from \"~/tenancy/definitions/types.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\ninterface Params {\n entityName: string;\n table: Table<string, string, string>;\n}\nexport const createTenantEntity = ({ entityName, table }: Params): ITenantEntity => {\n return createStandardEntity<Tenant>({\n name: entityName,\n table\n });\n};\n"],"names":["createTenantEntity","entityName","table","createStandardEntity"],"mappings":";AASO,MAAMA,qBAAqB,CAAC,EAAEC,UAAU,EAAEC,KAAK,EAAU,GACrDC,qBAA6B;QAChC,MAAMF;QACNC;IACJ"}
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=types.js.map
package/tenancy/index.js CHANGED
@@ -1,135 +1,115 @@
1
1
  import { createTable } from "@webiny/db-dynamodb";
2
- import WebinyError from "@webiny/error";
2
+ import error from "@webiny/error";
3
3
  import { createTenantEntity } from "./definitions/tenantEntity.js";
4
4
  import { ENTITIES } from "./types.js";
5
- const setTenantDefaults = item => {
6
- if (!item.tags) {
7
- item.tags = [];
8
- }
9
- if (!item.description) {
10
- item.description = "";
11
- }
12
- return item;
5
+ const setTenantDefaults = (item)=>{
6
+ if (!item.tags) item.tags = [];
7
+ if (!item.description) item.description = "";
8
+ return item;
13
9
  };
14
- export const createStorageOperations = params => {
15
- const {
16
- documentClient
17
- } = params;
18
- const tableInstance = createTable({
19
- name: process.env.DB_TABLE_TENANCY || process.env.DB_TABLE,
20
- documentClient
21
- });
22
- const entities = {
23
- tenants: createTenantEntity({
24
- entityName: ENTITIES.TENANT,
25
- table: tableInstance.table
26
- })
27
- };
28
- return {
29
- getTable() {
30
- return tableInstance;
31
- },
32
- getEntities() {
33
- return entities;
34
- },
35
- async getTenantsByIds(ids) {
36
- const batchReader = entities.tenants.createEntityReader({
37
- read: ids.map(id => {
38
- return {
39
- PK: `T#${id}`,
40
- SK: "A"
41
- };
10
+ const createStorageOperations = (params)=>{
11
+ const { documentClient } = params;
12
+ const tableInstance = createTable({
13
+ name: process.env.DB_TABLE_TENANCY || process.env.DB_TABLE,
14
+ documentClient
15
+ });
16
+ const entities = {
17
+ tenants: createTenantEntity({
18
+ entityName: ENTITIES.TENANT,
19
+ table: tableInstance.table
42
20
  })
43
- });
44
- const tenants = await batchReader.execute();
45
- return tenants.map(item => {
46
- return item.data;
47
- }).map(item => {
48
- return setTenantDefaults(item);
49
- });
50
- },
51
- async listTenants(params = {}) {
52
- const {
53
- parent
54
- } = params;
55
- const options = {
56
- index: "GSI1"
57
- };
58
- if (parent) {
59
- options.beginsWith = `T#${parent}#`;
60
- } else {
61
- options.gt = " ";
62
- }
63
- const tenants = await entities.tenants.queryAll({
64
- partitionKey: `TENANTS`,
65
- options
66
- });
67
- return tenants.map(item => {
68
- return item.data;
69
- }).map(item => {
70
- return setTenantDefaults(item);
71
- });
72
- },
73
- async createTenant(data) {
74
- const keys = {
75
- PK: `T#${data.id}`,
76
- SK: "A",
77
- GSI1_PK: "TENANTS",
78
- GSI1_SK: `T#${data.parent}#${data.createdOn}`,
79
- GSI_TENANT: data.id
80
- };
81
- try {
82
- await entities.tenants.put({
83
- TYPE: "tenancy.tenant",
84
- ...keys,
85
- data
86
- });
87
- return data;
88
- } catch (err) {
89
- throw WebinyError.from(err, {
90
- message: "Could not create tenant record.",
91
- code: "CREATE_TENANT_ERROR",
92
- data: {
93
- keys,
94
- data
95
- }
96
- });
97
- }
98
- },
99
- async updateTenant(data) {
100
- const tenantPK = `T#${data.id}`;
101
- const keys = {
102
- PK: tenantPK,
103
- SK: "A",
104
- GSI1_PK: "TENANTS",
105
- GSI1_SK: `T#${data.parent}#${data.createdOn}`,
106
- GSI_TENANT: data.id,
107
- TYPE: "tenancy.tenant"
108
- };
109
- try {
110
- await entities.tenants.put({
111
- ...keys,
112
- data
113
- });
114
- return data;
115
- } catch (err) {
116
- throw WebinyError.from(err, {
117
- message: "Could not update tenant record.",
118
- code: "CREATE_TENANT_ERROR",
119
- data: {
120
- keys,
121
- data
122
- }
123
- });
124
- }
125
- },
126
- async deleteTenant(id) {
127
- await entities.tenants.delete({
128
- PK: `T#${id}`,
129
- SK: "A"
130
- });
131
- }
132
- };
21
+ };
22
+ return {
23
+ getTable () {
24
+ return tableInstance;
25
+ },
26
+ getEntities () {
27
+ return entities;
28
+ },
29
+ async getTenantsByIds (ids) {
30
+ const batchReader = entities.tenants.createEntityReader({
31
+ read: ids.map((id)=>({
32
+ PK: `T#${id}`,
33
+ SK: "A"
34
+ }))
35
+ });
36
+ const tenants = await batchReader.execute();
37
+ return tenants.map((item)=>item.data).map((item)=>setTenantDefaults(item));
38
+ },
39
+ async listTenants (params = {}) {
40
+ const { parent } = params;
41
+ const options = {
42
+ index: "GSI1"
43
+ };
44
+ if (parent) options.beginsWith = `T#${parent}#`;
45
+ else options.gt = " ";
46
+ const tenants = await entities.tenants.queryAll({
47
+ partitionKey: "TENANTS",
48
+ options
49
+ });
50
+ return tenants.map((item)=>item.data).map((item)=>setTenantDefaults(item));
51
+ },
52
+ async createTenant (data) {
53
+ const keys = {
54
+ PK: `T#${data.id}`,
55
+ SK: "A",
56
+ GSI1_PK: "TENANTS",
57
+ GSI1_SK: `T#${data.parent}#${data.createdOn}`,
58
+ GSI_TENANT: data.id
59
+ };
60
+ try {
61
+ await entities.tenants.put({
62
+ TYPE: "tenancy.tenant",
63
+ ...keys,
64
+ data
65
+ });
66
+ return data;
67
+ } catch (err) {
68
+ throw error.from(err, {
69
+ message: "Could not create tenant record.",
70
+ code: "CREATE_TENANT_ERROR",
71
+ data: {
72
+ keys,
73
+ data
74
+ }
75
+ });
76
+ }
77
+ },
78
+ async updateTenant (data) {
79
+ const tenantPK = `T#${data.id}`;
80
+ const keys = {
81
+ PK: tenantPK,
82
+ SK: "A",
83
+ GSI1_PK: "TENANTS",
84
+ GSI1_SK: `T#${data.parent}#${data.createdOn}`,
85
+ GSI_TENANT: data.id,
86
+ TYPE: "tenancy.tenant"
87
+ };
88
+ try {
89
+ await entities.tenants.put({
90
+ ...keys,
91
+ data
92
+ });
93
+ return data;
94
+ } catch (err) {
95
+ throw error.from(err, {
96
+ message: "Could not update tenant record.",
97
+ code: "CREATE_TENANT_ERROR",
98
+ data: {
99
+ keys,
100
+ data
101
+ }
102
+ });
103
+ }
104
+ },
105
+ async deleteTenant (id) {
106
+ await entities.tenants.delete({
107
+ PK: `T#${id}`,
108
+ SK: "A"
109
+ });
110
+ }
111
+ };
133
112
  };
113
+ export { createStorageOperations };
134
114
 
135
115
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createTable","WebinyError","createTenantEntity","ENTITIES","setTenantDefaults","item","tags","description","createStorageOperations","params","documentClient","tableInstance","name","process","env","DB_TABLE_TENANCY","DB_TABLE","entities","tenants","entityName","TENANT","table","getTable","getEntities","getTenantsByIds","ids","batchReader","createEntityReader","read","map","id","PK","SK","execute","data","listTenants","parent","options","index","beginsWith","gt","queryAll","partitionKey","createTenant","keys","GSI1_PK","GSI1_SK","createdOn","GSI_TENANT","put","TYPE","err","from","message","code","updateTenant","tenantPK","deleteTenant","delete"],"sources":["index.ts"],"sourcesContent":["import { createTable, type IEntityQueryAllParams } from \"@webiny/db-dynamodb\";\nimport WebinyError from \"@webiny/error\";\nimport { createTenantEntity } from \"./definitions/tenantEntity.js\";\nimport type { CreateTenancyStorageOperations } from \"./types.js\";\nimport { ENTITIES } from \"./types.js\";\nimport type { ListTenantsParams, Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\nconst setTenantDefaults = (item: Tenant) => {\n if (!item.tags) {\n item.tags = [];\n }\n\n if (!item.description) {\n item.description = \"\";\n }\n\n return item;\n};\n\nexport const createStorageOperations: CreateTenancyStorageOperations = params => {\n const { documentClient } = params;\n\n const tableInstance = createTable({\n name: (process.env.DB_TABLE_TENANCY || process.env.DB_TABLE) as string,\n documentClient\n });\n\n const entities = {\n tenants: createTenantEntity({\n entityName: ENTITIES.TENANT,\n table: tableInstance.table\n })\n };\n\n return {\n getTable() {\n return tableInstance;\n },\n getEntities() {\n return entities;\n },\n\n async getTenantsByIds(ids: string[]): Promise<Tenant[]> {\n const batchReader = entities.tenants.createEntityReader({\n read: ids.map(id => {\n return {\n PK: `T#${id}`,\n SK: \"A\"\n };\n })\n });\n const tenants = await batchReader.execute();\n\n return tenants\n .map(item => {\n return item.data;\n })\n .map(item => {\n return setTenantDefaults(item);\n });\n },\n\n async listTenants(params: ListTenantsParams = {}): Promise<Tenant[]> {\n const { parent } = params;\n\n const options: IEntityQueryAllParams[\"options\"] = {\n index: \"GSI1\"\n };\n\n if (parent) {\n options.beginsWith = `T#${parent}#`;\n } else {\n options.gt = \" \";\n }\n\n const tenants = await entities.tenants.queryAll({\n partitionKey: `TENANTS`,\n options\n });\n\n return tenants\n .map(item => {\n return item.data;\n })\n .map(item => {\n return setTenantDefaults(item);\n });\n },\n\n async createTenant(data: Tenant): Promise<Tenant> {\n const keys = {\n PK: `T#${data.id}`,\n SK: \"A\",\n GSI1_PK: \"TENANTS\",\n GSI1_SK: `T#${data.parent}#${data.createdOn}`,\n GSI_TENANT: data.id\n };\n\n try {\n await entities.tenants.put({\n TYPE: \"tenancy.tenant\",\n ...keys,\n data\n });\n\n return data;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not create tenant record.\",\n code: \"CREATE_TENANT_ERROR\",\n data: {\n keys,\n data\n }\n });\n }\n },\n\n async updateTenant(data: Tenant): Promise<Tenant> {\n const tenantPK = `T#${data.id}`;\n\n const keys = {\n PK: tenantPK,\n SK: \"A\",\n GSI1_PK: \"TENANTS\",\n GSI1_SK: `T#${data.parent}#${data.createdOn}`,\n GSI_TENANT: data.id,\n TYPE: \"tenancy.tenant\"\n };\n\n try {\n await entities.tenants.put({\n ...keys,\n data\n });\n return data;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update tenant record.\",\n code: \"CREATE_TENANT_ERROR\",\n data: { keys, data }\n });\n }\n },\n\n async deleteTenant(id: string): Promise<void> {\n await entities.tenants.delete({\n PK: `T#${id}`,\n SK: \"A\"\n });\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"tenancy/index.js","sources":["../../src/tenancy/index.ts"],"sourcesContent":["import { createTable, type IEntityQueryAllParams } from \"@webiny/db-dynamodb\";\nimport WebinyError from \"@webiny/error\";\nimport { createTenantEntity } from \"./definitions/tenantEntity.js\";\nimport type { CreateTenancyStorageOperations } from \"./types.js\";\nimport { ENTITIES } from \"./types.js\";\nimport type { ListTenantsParams, Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\nconst setTenantDefaults = (item: Tenant) => {\n if (!item.tags) {\n item.tags = [];\n }\n\n if (!item.description) {\n item.description = \"\";\n }\n\n return item;\n};\n\nexport const createStorageOperations: CreateTenancyStorageOperations = params => {\n const { documentClient } = params;\n\n const tableInstance = createTable({\n name: (process.env.DB_TABLE_TENANCY || process.env.DB_TABLE) as string,\n documentClient\n });\n\n const entities = {\n tenants: createTenantEntity({\n entityName: ENTITIES.TENANT,\n table: tableInstance.table\n })\n };\n\n return {\n getTable() {\n return tableInstance;\n },\n getEntities() {\n return entities;\n },\n\n async getTenantsByIds(ids: string[]): Promise<Tenant[]> {\n const batchReader = entities.tenants.createEntityReader({\n read: ids.map(id => {\n return {\n PK: `T#${id}`,\n SK: \"A\"\n };\n })\n });\n const tenants = await batchReader.execute();\n\n return tenants\n .map(item => {\n return item.data;\n })\n .map(item => {\n return setTenantDefaults(item);\n });\n },\n\n async listTenants(params: ListTenantsParams = {}): Promise<Tenant[]> {\n const { parent } = params;\n\n const options: IEntityQueryAllParams[\"options\"] = {\n index: \"GSI1\"\n };\n\n if (parent) {\n options.beginsWith = `T#${parent}#`;\n } else {\n options.gt = \" \";\n }\n\n const tenants = await entities.tenants.queryAll({\n partitionKey: `TENANTS`,\n options\n });\n\n return tenants\n .map(item => {\n return item.data;\n })\n .map(item => {\n return setTenantDefaults(item);\n });\n },\n\n async createTenant(data: Tenant): Promise<Tenant> {\n const keys = {\n PK: `T#${data.id}`,\n SK: \"A\",\n GSI1_PK: \"TENANTS\",\n GSI1_SK: `T#${data.parent}#${data.createdOn}`,\n GSI_TENANT: data.id\n };\n\n try {\n await entities.tenants.put({\n TYPE: \"tenancy.tenant\",\n ...keys,\n data\n });\n\n return data;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not create tenant record.\",\n code: \"CREATE_TENANT_ERROR\",\n data: {\n keys,\n data\n }\n });\n }\n },\n\n async updateTenant(data: Tenant): Promise<Tenant> {\n const tenantPK = `T#${data.id}`;\n\n const keys = {\n PK: tenantPK,\n SK: \"A\",\n GSI1_PK: \"TENANTS\",\n GSI1_SK: `T#${data.parent}#${data.createdOn}`,\n GSI_TENANT: data.id,\n TYPE: \"tenancy.tenant\"\n };\n\n try {\n await entities.tenants.put({\n ...keys,\n data\n });\n return data;\n } catch (err) {\n throw WebinyError.from(err, {\n message: \"Could not update tenant record.\",\n code: \"CREATE_TENANT_ERROR\",\n data: { keys, data }\n });\n }\n },\n\n async deleteTenant(id: string): Promise<void> {\n await entities.tenants.delete({\n PK: `T#${id}`,\n SK: \"A\"\n });\n }\n };\n};\n"],"names":["setTenantDefaults","item","createStorageOperations","params","documentClient","tableInstance","createTable","process","entities","createTenantEntity","ENTITIES","ids","batchReader","id","tenants","parent","options","data","keys","err","WebinyError","tenantPK"],"mappings":"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"}
package/tenancy/types.js CHANGED
@@ -1,6 +1,7 @@
1
- export let ENTITIES = /*#__PURE__*/function (ENTITIES) {
2
- ENTITIES["TENANT"] = "TenancyTenant";
3
- return ENTITIES;
1
+ var types_ENTITIES = /*#__PURE__*/ function(ENTITIES) {
2
+ ENTITIES["TENANT"] = "TenancyTenant";
3
+ return ENTITIES;
4
4
  }({});
5
+ export { types_ENTITIES as ENTITIES };
5
6
 
6
7
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ENTITIES"],"sources":["types.ts"],"sourcesContent":["import type { TenancyStorageOperations } from \"@webiny/api-core/types/tenancy.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\n\nexport enum ENTITIES {\n TENANT = \"TenancyTenant\"\n}\n\nexport interface CreateTenancyStorageOperations {\n (params: { documentClient: DynamoDBDocument }): TenancyStorageOperations;\n}\n"],"mappings":"AAGA,WAAYA,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"tenancy/types.js","sources":["../../src/tenancy/types.ts"],"sourcesContent":["import type { TenancyStorageOperations } from \"@webiny/api-core/types/tenancy.js\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\n\nexport enum ENTITIES {\n TENANT = \"TenancyTenant\"\n}\n\nexport interface CreateTenancyStorageOperations {\n (params: { documentClient: DynamoDBDocument }): TenancyStorageOperations;\n}\n"],"names":["ENTITIES"],"mappings":"AAGO,IAAKA,iBAAQA,WAAAA,GAAAA,SAARA,QAAQ;;WAARA"}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { IEntity, IStandardEntityAttributes } from \"@webiny/db-dynamodb\";\nimport type { AdminUser } from \"@webiny/api-core/types/users.js\";\n\nexport interface IAdminUserEntityAttributes extends IStandardEntityAttributes<AdminUser> {}\n\nexport type IAdminUserEntity = IEntity<IAdminUserEntityAttributes>;\n"],"mappings":"","ignoreList":[]}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./createApiCoreDdb.js\";\n"],"mappings":"AAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { IEntity, IStandardEntityAttributes } from \"@webiny/db-dynamodb\";\nimport type { StorageApiKey, StorageRole, StorageTeam } from \"@webiny/api-core/types/security.js\";\n\nexport interface IRoleEntityAttributes extends IStandardEntityAttributes<StorageRole> {\n TYPE: string;\n}\nexport type IRoleEntity = IEntity<IRoleEntityAttributes>;\n\nexport interface ITeamEntityAttributes extends IStandardEntityAttributes<StorageTeam> {\n TYPE: string;\n}\nexport type ITeamEntity = IEntity<ITeamEntityAttributes>;\n\nexport interface IApiKeyEntityAttributes extends IStandardEntityAttributes<StorageApiKey> {\n TYPE: string;\n}\nexport type IApiKeyEntity = IEntity<IApiKeyEntityAttributes>;\n"],"mappings":"","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { IEntity, IStandardEntityAttributes } from \"@webiny/db-dynamodb\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\n\nexport interface ITenantEntityAttributes extends IStandardEntityAttributes<Tenant> {\n TYPE: string;\n}\n\nexport type ITenantEntity = IEntity<ITenantEntityAttributes>;\n"],"mappings":"","ignoreList":[]}