@3sixty/api-tenant-processor 0.0.0-stage → 0.20.0-next.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 (122) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +24 -2
  3. package/dist/es/entities/tenant.js +77 -0
  4. package/dist/es/entities/tenant.js.map +1 -0
  5. package/dist/es/entities/tenantV0.js +61 -0
  6. package/dist/es/entities/tenantV0.js.map +1 -0
  7. package/dist/es/entities/tenantV1.js +77 -0
  8. package/dist/es/entities/tenantV1.js.map +1 -0
  9. package/dist/es/index.js +30 -0
  10. package/dist/es/index.js.map +1 -0
  11. package/dist/es/models/ISingleTenantProcessorConfig.js +4 -0
  12. package/dist/es/models/ISingleTenantProcessorConfig.js.map +1 -0
  13. package/dist/es/models/ISingleTenantProcessorConstructorOptions.js +2 -0
  14. package/dist/es/models/ISingleTenantProcessorConstructorOptions.js.map +1 -0
  15. package/dist/es/models/ITenantAdminServiceConfig.js +4 -0
  16. package/dist/es/models/ITenantAdminServiceConfig.js.map +1 -0
  17. package/dist/es/models/ITenantAdminServiceConstructorOptions.js +2 -0
  18. package/dist/es/models/ITenantAdminServiceConstructorOptions.js.map +1 -0
  19. package/dist/es/models/ITenantProcessorConfig.js +4 -0
  20. package/dist/es/models/ITenantProcessorConfig.js.map +1 -0
  21. package/dist/es/models/ITenantProcessorConstructorOptions.js +2 -0
  22. package/dist/es/models/ITenantProcessorConstructorOptions.js.map +1 -0
  23. package/dist/es/models/api/ITenantCreateRequest.js +2 -0
  24. package/dist/es/models/api/ITenantCreateRequest.js.map +1 -0
  25. package/dist/es/models/api/ITenantGetByApiKeyRequest.js +4 -0
  26. package/dist/es/models/api/ITenantGetByApiKeyRequest.js.map +1 -0
  27. package/dist/es/models/api/ITenantGetByIdRequest.js +4 -0
  28. package/dist/es/models/api/ITenantGetByIdRequest.js.map +1 -0
  29. package/dist/es/models/api/ITenantGetByPublicOriginRequest.js +4 -0
  30. package/dist/es/models/api/ITenantGetByPublicOriginRequest.js.map +1 -0
  31. package/dist/es/models/api/ITenantGetResponse.js +2 -0
  32. package/dist/es/models/api/ITenantGetResponse.js.map +1 -0
  33. package/dist/es/models/api/ITenantListRequest.js +4 -0
  34. package/dist/es/models/api/ITenantListRequest.js.map +1 -0
  35. package/dist/es/models/api/ITenantListResponse.js +2 -0
  36. package/dist/es/models/api/ITenantListResponse.js.map +1 -0
  37. package/dist/es/models/api/ITenantRemoveRequest.js +4 -0
  38. package/dist/es/models/api/ITenantRemoveRequest.js.map +1 -0
  39. package/dist/es/models/api/ITenantUpdateRequest.js +2 -0
  40. package/dist/es/models/api/ITenantUpdateRequest.js.map +1 -0
  41. package/dist/es/restEntryPoints.js +13 -0
  42. package/dist/es/restEntryPoints.js.map +1 -0
  43. package/dist/es/schema.js +64 -0
  44. package/dist/es/schema.js.map +1 -0
  45. package/dist/es/singleTenantProcessor.js +81 -0
  46. package/dist/es/singleTenantProcessor.js.map +1 -0
  47. package/dist/es/tenantAdminService.js +510 -0
  48. package/dist/es/tenantAdminService.js.map +1 -0
  49. package/dist/es/tenantIdContextIdHandler.js +47 -0
  50. package/dist/es/tenantIdContextIdHandler.js.map +1 -0
  51. package/dist/es/tenantProcessor.js +164 -0
  52. package/dist/es/tenantProcessor.js.map +1 -0
  53. package/dist/es/tenantRoutes.js +417 -0
  54. package/dist/es/tenantRoutes.js.map +1 -0
  55. package/dist/es/utils/tenantIdHelper.js +23 -0
  56. package/dist/es/utils/tenantIdHelper.js.map +1 -0
  57. package/dist/types/entities/tenant.d.ts +37 -0
  58. package/dist/types/entities/tenantV0.d.ts +29 -0
  59. package/dist/types/entities/tenantV1.d.ts +37 -0
  60. package/dist/types/index.d.ts +26 -0
  61. package/dist/types/models/ISingleTenantProcessorConfig.d.ts +9 -0
  62. package/dist/types/models/ISingleTenantProcessorConstructorOptions.d.ts +10 -0
  63. package/dist/types/models/ITenantAdminServiceConfig.d.ts +24 -0
  64. package/dist/types/models/ITenantAdminServiceConstructorOptions.d.ts +20 -0
  65. package/dist/types/models/ITenantProcessorConfig.d.ts +18 -0
  66. package/dist/types/models/ITenantProcessorConstructorOptions.d.ts +15 -0
  67. package/dist/types/models/api/ITenantCreateRequest.d.ts +12 -0
  68. package/dist/types/models/api/ITenantGetByApiKeyRequest.d.ts +14 -0
  69. package/dist/types/models/api/ITenantGetByIdRequest.d.ts +14 -0
  70. package/dist/types/models/api/ITenantGetByPublicOriginRequest.d.ts +14 -0
  71. package/dist/types/models/api/ITenantGetResponse.d.ts +10 -0
  72. package/dist/types/models/api/ITenantListRequest.d.ts +27 -0
  73. package/dist/types/models/api/ITenantListResponse.d.ts +17 -0
  74. package/dist/types/models/api/ITenantRemoveRequest.d.ts +14 -0
  75. package/dist/types/models/api/ITenantUpdateRequest.d.ts +19 -0
  76. package/dist/types/restEntryPoints.d.ts +5 -0
  77. package/dist/types/schema.d.ts +5 -0
  78. package/dist/types/singleTenantProcessor.d.ts +41 -0
  79. package/dist/types/tenantAdminService.d.ts +109 -0
  80. package/dist/types/tenantIdContextIdHandler.d.ts +33 -0
  81. package/dist/types/tenantProcessor.d.ts +34 -0
  82. package/dist/types/tenantRoutes.d.ts +78 -0
  83. package/dist/types/utils/tenantIdHelper.d.ts +15 -0
  84. package/docs/changelog.md +17 -0
  85. package/docs/examples.md +81 -0
  86. package/docs/reference/classes/SingleTenantProcessor.md +130 -0
  87. package/docs/reference/classes/Tenant.md +77 -0
  88. package/docs/reference/classes/TenantAdminService.md +393 -0
  89. package/docs/reference/classes/TenantIdContextIdHandler.md +123 -0
  90. package/docs/reference/classes/TenantIdHelper.md +41 -0
  91. package/docs/reference/classes/TenantProcessor.md +103 -0
  92. package/docs/reference/classes/TenantV0.md +61 -0
  93. package/docs/reference/classes/TenantV1.md +77 -0
  94. package/docs/reference/functions/generateRestRoutesTenants.md +25 -0
  95. package/docs/reference/functions/initSchema.md +10 -0
  96. package/docs/reference/functions/tenantByApiKey.md +31 -0
  97. package/docs/reference/functions/tenantById.md +31 -0
  98. package/docs/reference/functions/tenantByPublicOrigin.md +31 -0
  99. package/docs/reference/functions/tenantCreate.md +37 -0
  100. package/docs/reference/functions/tenantList.md +31 -0
  101. package/docs/reference/functions/tenantRemove.md +31 -0
  102. package/docs/reference/functions/tenantUpdate.md +31 -0
  103. package/docs/reference/index.md +47 -0
  104. package/docs/reference/interfaces/ISingleTenantProcessorConfig.md +11 -0
  105. package/docs/reference/interfaces/ISingleTenantProcessorConstructorOptions.md +11 -0
  106. package/docs/reference/interfaces/ITenantAdminServiceConfig.md +49 -0
  107. package/docs/reference/interfaces/ITenantAdminServiceConstructorOptions.md +39 -0
  108. package/docs/reference/interfaces/ITenantCreateRequest.md +17 -0
  109. package/docs/reference/interfaces/ITenantGetByApiKeyRequest.md +17 -0
  110. package/docs/reference/interfaces/ITenantGetByIdRequest.md +17 -0
  111. package/docs/reference/interfaces/ITenantGetByPublicOriginRequest.md +17 -0
  112. package/docs/reference/interfaces/ITenantGetResponse.md +11 -0
  113. package/docs/reference/interfaces/ITenantListRequest.md +36 -0
  114. package/docs/reference/interfaces/ITenantListResponse.md +23 -0
  115. package/docs/reference/interfaces/ITenantProcessorConfig.md +33 -0
  116. package/docs/reference/interfaces/ITenantProcessorConstructorOptions.md +25 -0
  117. package/docs/reference/interfaces/ITenantRemoveRequest.md +17 -0
  118. package/docs/reference/interfaces/ITenantUpdateRequest.md +25 -0
  119. package/docs/reference/variables/restEntryPoints.md +5 -0
  120. package/docs/reference/variables/tagsTenants.md +5 -0
  121. package/locales/en.json +20 -0
  122. package/package.json +57 -5
@@ -0,0 +1,25 @@
1
+ # Interface: ITenantProcessorConstructorOptions
2
+
3
+ Options for the Tenant Processor constructor.
4
+
5
+ ## Properties
6
+
7
+ ### tenantAdminComponentType? {#tenantadmincomponenttype}
8
+
9
+ > `optional` **tenantAdminComponentType?**: `string`
10
+
11
+ The component used to resolve tenants, which also provides the lookup caching.
12
+
13
+ #### Default
14
+
15
+ ```ts
16
+ tenant-admin
17
+ ```
18
+
19
+ ***
20
+
21
+ ### config? {#config}
22
+
23
+ > `optional` **config?**: [`ITenantProcessorConfig`](ITenantProcessorConfig.md)
24
+
25
+ Configuration for the processor.
@@ -0,0 +1,17 @@
1
+ # Interface: ITenantRemoveRequest
2
+
3
+ The tenant to remove by id.
4
+
5
+ ## Properties
6
+
7
+ ### pathParams {#pathparams}
8
+
9
+ > **pathParams**: `object`
10
+
11
+ The path parameters.
12
+
13
+ #### id
14
+
15
+ > **id**: `string`
16
+
17
+ The id of the tenant to remove.
@@ -0,0 +1,25 @@
1
+ # Interface: ITenantUpdateRequest
2
+
3
+ The tenant to update.
4
+
5
+ ## Properties
6
+
7
+ ### pathParams {#pathparams}
8
+
9
+ > **pathParams**: `object`
10
+
11
+ The path parameters.
12
+
13
+ #### id
14
+
15
+ > **id**: `string`
16
+
17
+ The id of the tenant to update.
18
+
19
+ ***
20
+
21
+ ### body {#body}
22
+
23
+ > **body**: `Omit`\<`ITenant`, `"id"` \| `"dateCreated"` \| `"dateModified"`\>
24
+
25
+ The tenant to update.
@@ -0,0 +1,5 @@
1
+ # Variable: restEntryPoints
2
+
3
+ > `const` **restEntryPoints**: `IRestRouteEntryPoint`[]
4
+
5
+ REST entry points for the tenant administration service.
@@ -0,0 +1,5 @@
1
+ # Variable: tagsTenants
2
+
3
+ > `const` **tagsTenants**: `ITag`[]
4
+
5
+ The tag to associate with the routes.
@@ -0,0 +1,20 @@
1
+ {
2
+ "error": {
3
+ "tenantProcessor": {
4
+ "missingApiKey": "API key \"{keyName}\" is missing",
5
+ "missingOrganizationId": "Organization ID query parameter \"{paramName}\" is missing",
6
+ "apiKeyNotFound": "No tenant found for API key \"{key}\".",
7
+ "organizationIdNotFound": "No tenant found for organization ID \"{organizationId}\"."
8
+ },
9
+ "singleTenantProcessor": {
10
+ "invalidOrganizationId": "Organization ID query parameter \"{paramName}\" value \"{value}\" is not valid for this node"
11
+ },
12
+ "tenantAdminService": {
13
+ "apiKeyAlreadyInUse": "The provided API key is already in use by another tenant.",
14
+ "tenantAlreadyExists": "Tenant with ID \"{existingId}\" already exists.",
15
+ "tenantNotFound": "Tenant with ID \"{notFoundId}\" not found.",
16
+ "organizationIdAlreadyExists": "A tenant with organization ID \"{existingId}\" already exists.",
17
+ "publicOriginAlreadyExists": "A tenant with public origin \"{existingId}\" already exists."
18
+ }
19
+ }
20
+ }
package/package.json CHANGED
@@ -1,6 +1,58 @@
1
1
  {
2
- "name": "@3sixty/api-tenant-processor",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
2
+ "name": "@3sixty/api-tenant-processor",
3
+ "version": "0.20.0-next.1",
4
+ "description": "Tenant resolution services and route handlers that derive tenant context from API keys.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/3sixtyglobal/api.git",
8
+ "directory": "packages/api-tenant-processor"
9
+ },
10
+ "author": "martyn.janes@iota.org",
11
+ "license": "Apache-2.0",
12
+ "type": "module",
13
+ "engines": {
14
+ "node": ">=24.0.0"
15
+ },
16
+ "dependencies": {
17
+ "@3sixty/api-models": "0.20.0-next.1",
18
+ "@3sixty/context": "next",
19
+ "@3sixty/core": "next",
20
+ "@3sixty/crypto": "next",
21
+ "@3sixty/entity": "next",
22
+ "@3sixty/entity-storage-models": "next",
23
+ "@3sixty/nameof": "next",
24
+ "@3sixty/vault-models": "next",
25
+ "@3sixty/web": "next"
26
+ },
27
+ "main": "./dist/es/index.js",
28
+ "types": "./dist/types/index.d.ts",
29
+ "exports": {
30
+ ".": {
31
+ "types": "./dist/types/index.d.ts",
32
+ "import": "./dist/es/index.js",
33
+ "default": "./dist/es/index.js"
34
+ },
35
+ "./locales/*.json": "./locales/*.json"
36
+ },
37
+ "files": [
38
+ "dist/es",
39
+ "dist/types",
40
+ "locales",
41
+ "docs"
42
+ ],
43
+ "keywords": [
44
+ "twin",
45
+ "trade",
46
+ "iota",
47
+ "framework",
48
+ "blockchain",
49
+ "node",
50
+ "tenant",
51
+ "foundation",
52
+ "utilities"
53
+ ],
54
+ "bugs": {
55
+ "url": "git+https://github.com/3sixtyglobal/api/issues"
56
+ },
57
+ "homepage": "https://3sixty.global"
58
+ }