@twin.org/node 0.9.1-next.3 → 0.9.1-next.4
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.
- package/dist/locales/en.json +229 -14
- package/docs/changelog.md +14 -0
- package/docs/usage.md +240 -5
- package/package.json +2 -2
package/dist/locales/en.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"error": {
|
|
3
3
|
"node": {
|
|
4
|
-
"nodeIdentityNotSet": "The node identity is enabled in config but is not set, please set it using the \"node-set
|
|
5
|
-
"nodeOrganizationIdNotSet": "The node organization is not set, please set it using the \"
|
|
6
|
-
"tenantsWithoutOrganizationId": "The following tenants have no organization ID assigned. Use the \"
|
|
4
|
+
"nodeIdentityNotSet": "The node identity is enabled in config but is not set, please set it using the \"node-identity-set\" CLI command.",
|
|
5
|
+
"nodeOrganizationIdNotSet": "The node organization is not set, please set it using the \"node-org-id-set\".",
|
|
6
|
+
"tenantsWithoutOrganizationId": "The following tenants have no organization ID assigned. Use the \"tenant-org-id-set\" command to assign one before starting the node: {tenantIds}",
|
|
7
7
|
"storageFileRootNotSet": "{storageFileRoot} is not set, the server will not start without it, please set it in the shell or create a .env file",
|
|
8
8
|
"extensionLoadingError": "Failed to load extension \"{extension}\"",
|
|
9
9
|
"insecureProtocol": "Cannot load extension from insecure protocol: {protocol}. Only HTTPS is allowed for remote extensions.",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"bootstrapLegacy": {
|
|
20
20
|
"noFeaturesEnabled": "No features are enabled in legacy bootstrap mode, at least one feature must be enabled.",
|
|
21
|
-
"organizationNotSet": "The organisation identity has not been set. Run \"
|
|
21
|
+
"organizationNotSet": "The organisation identity has not been set. Run \"node-org-id-set\"."
|
|
22
22
|
},
|
|
23
23
|
"identityCreate": {
|
|
24
24
|
"invalidMnemonic": "The mnemonic is invalid, it should be 24 words from the standard wordlist.",
|
|
@@ -49,17 +49,27 @@
|
|
|
49
49
|
"userAlreadyExists": "The user with ID already exists and overwriteMode is set to \"error\".",
|
|
50
50
|
"tenantIdRequired": "The tenant ID is required when multi-tenancy is enabled."
|
|
51
51
|
},
|
|
52
|
+
"userGet": {
|
|
53
|
+
"tenantIdRequired": "The tenant ID is required when multi-tenancy is enabled."
|
|
54
|
+
},
|
|
52
55
|
"userUpdate": {
|
|
53
56
|
"tenantIdRequired": "The tenant ID is required when multi-tenancy is enabled."
|
|
54
57
|
},
|
|
58
|
+
"orgUsersList": {
|
|
59
|
+
"orgDidRequired": "The organization DID is required in multi-tenant mode. Provide --org-did or switch to single-tenant mode."
|
|
60
|
+
},
|
|
55
61
|
"vaultKeyCreate": {
|
|
56
62
|
"vaultKeyAlreadyExists": "The vault key with ID already exists and overwriteMode is set to \"error\"."
|
|
57
63
|
},
|
|
58
|
-
"
|
|
64
|
+
"nodeIdentitySet": {
|
|
59
65
|
"identityNotFound": "The identity with DID \"{notFoundId}\" was not found in the system."
|
|
60
66
|
},
|
|
61
|
-
"
|
|
62
|
-
"notAvailableInMultiTenantMode": "The
|
|
67
|
+
"nodeOrgIdGet": {
|
|
68
|
+
"notAvailableInMultiTenantMode": "The node-org-id-get command is not available in multi-tenant mode, use tenant-org-id-set instead.",
|
|
69
|
+
"nodeOrganizationIdNotSet": "The node organization ID is not set. Use \"node-org-id-set\" to set it first."
|
|
70
|
+
},
|
|
71
|
+
"nodeOrgIdSet": {
|
|
72
|
+
"notAvailableInMultiTenantMode": "The node-org-id-set command is not available in multi-tenant mode, use tenant-org-id-set instead."
|
|
63
73
|
},
|
|
64
74
|
"applyOrganizationIdToTenant": {
|
|
65
75
|
"tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
|
|
@@ -68,6 +78,21 @@
|
|
|
68
78
|
"tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command.",
|
|
69
79
|
"aliasNotFound": "The alias \"{alias}\" was not found in the tenant organization legacy list."
|
|
70
80
|
},
|
|
81
|
+
"tenantList": {
|
|
82
|
+
"tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
|
|
83
|
+
},
|
|
84
|
+
"tenantGet": {
|
|
85
|
+
"tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
|
|
86
|
+
},
|
|
87
|
+
"tenantListByOrg": {
|
|
88
|
+
"tenantAdminComponentNotRegistered": "Multi-tenant support must be enabled to use this command."
|
|
89
|
+
},
|
|
90
|
+
"nodeIdentityGet": {
|
|
91
|
+
"nodeIdentityNotSet": "The node identity is not set. Use \"node-identity-set\" to set it first."
|
|
92
|
+
},
|
|
93
|
+
"identityResolve": {
|
|
94
|
+
"identityNotFound": "The identity \"{identity}\" was not found."
|
|
95
|
+
},
|
|
71
96
|
"entityStorageAuthenticationService": {
|
|
72
97
|
"loginFailed": "Login failed",
|
|
73
98
|
"userNotFound": "The user with the specified e-mail could not be found",
|
|
@@ -353,7 +378,10 @@
|
|
|
353
378
|
},
|
|
354
379
|
"entityStorageHelper": {
|
|
355
380
|
"sortNotIndexed": "The property \"{property}\" is not indexed and cannot be used for sorting",
|
|
356
|
-
"propertyNotInSchema": "The property \"{property}\" does not exist in the schema and cannot be used for projection"
|
|
381
|
+
"propertyNotInSchema": "The property \"{property}\" does not exist in the schema and cannot be used for projection",
|
|
382
|
+
"unknownPropertyInConditionProperty": "The property \"{property}\" is not a recognised schema property and cannot be used as a condition property",
|
|
383
|
+
"unknownPropertyInConditions": "The property \"{property}\" is not a recognised schema property and cannot be used in conditions",
|
|
384
|
+
"invalidConditionPropertyPath": "The property \"{property}\" has an invalid path: the root must be an object or array type, segments must not exceed 128 characters, and must not contain SQL metacharacters or control characters"
|
|
357
385
|
},
|
|
358
386
|
"migrationHelper": {
|
|
359
387
|
"migrateSchemaFailed": "Migration failed for schema \"{schemaName}\".",
|
|
@@ -1433,11 +1461,13 @@
|
|
|
1433
1461
|
"cli": {
|
|
1434
1462
|
"commands": {
|
|
1435
1463
|
"command": "Command",
|
|
1464
|
+
"deprecatedAlias": "\"{alias}\" is a deprecated alias, please use \"{command}\" instead.",
|
|
1436
1465
|
"help": {
|
|
1437
1466
|
"description": "Display help information about CLI commands",
|
|
1438
1467
|
"labels": {
|
|
1439
1468
|
"commands": "All the commands available are listed below, for more information use the --help option with a specific command.",
|
|
1440
1469
|
"example": "Example",
|
|
1470
|
+
"aliases": "Deprecated aliases",
|
|
1441
1471
|
"optional": "optional",
|
|
1442
1472
|
"required": "required",
|
|
1443
1473
|
"default": "default",
|
|
@@ -1682,9 +1712,9 @@
|
|
|
1682
1712
|
"publicKeyHex": "Public Key Hex"
|
|
1683
1713
|
}
|
|
1684
1714
|
},
|
|
1685
|
-
"node-set
|
|
1715
|
+
"node-identity-set": {
|
|
1686
1716
|
"description": "Set the node identity",
|
|
1687
|
-
"example": "node-set
|
|
1717
|
+
"example": "node-identity-set --identity=\"did:iota...\"",
|
|
1688
1718
|
"params": {
|
|
1689
1719
|
"env-prefix": {
|
|
1690
1720
|
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
@@ -1808,6 +1838,31 @@
|
|
|
1808
1838
|
"updated": "Updated tenant"
|
|
1809
1839
|
}
|
|
1810
1840
|
},
|
|
1841
|
+
"user-get": {
|
|
1842
|
+
"description": "Get a user by email address",
|
|
1843
|
+
"example": "user-get --email=\"bob@example.com\"",
|
|
1844
|
+
"params": {
|
|
1845
|
+
"env-prefix": {
|
|
1846
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
1847
|
+
},
|
|
1848
|
+
"email": {
|
|
1849
|
+
"description": "The email address of the user to retrieve."
|
|
1850
|
+
},
|
|
1851
|
+
"tenant-id": {
|
|
1852
|
+
"description": "The tenant ID to retrieve the user from (multi-tenant mode only)."
|
|
1853
|
+
},
|
|
1854
|
+
"load-env": {
|
|
1855
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
1856
|
+
}
|
|
1857
|
+
},
|
|
1858
|
+
"labels": {
|
|
1859
|
+
"retrieving": "Retrieving user",
|
|
1860
|
+
"email": "Email",
|
|
1861
|
+
"identity": "Identity",
|
|
1862
|
+
"organization": "Organization",
|
|
1863
|
+
"scope": "Scope"
|
|
1864
|
+
}
|
|
1865
|
+
},
|
|
1811
1866
|
"user-create": {
|
|
1812
1867
|
"description": "Create a user",
|
|
1813
1868
|
"example": "user-create --user-identity=\"did:iota:....\" --organization-identity=\"did:iota:....\" --email=\"bob@examples.com\" --password=\"pass1234\" --scope=\"tenant-admin\" --givenName=\"Bob\" --familyName=\"Smith\"",
|
|
@@ -1950,9 +2005,24 @@
|
|
|
1950
2005
|
"publicKeyHex": "Public Key Hex"
|
|
1951
2006
|
}
|
|
1952
2007
|
},
|
|
1953
|
-
"
|
|
2008
|
+
"node-org-id-get": {
|
|
2009
|
+
"description": "Get the organization ID currently assigned to the node",
|
|
2010
|
+
"example": "node-org-id-get",
|
|
2011
|
+
"params": {
|
|
2012
|
+
"env-prefix": {
|
|
2013
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2014
|
+
},
|
|
2015
|
+
"load-env": {
|
|
2016
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2017
|
+
}
|
|
2018
|
+
},
|
|
2019
|
+
"labels": {
|
|
2020
|
+
"organizationId": "Organization ID"
|
|
2021
|
+
}
|
|
2022
|
+
},
|
|
2023
|
+
"node-org-id-set": {
|
|
1954
2024
|
"description": "Set the node organization ID",
|
|
1955
|
-
"example": "
|
|
2025
|
+
"example": "node-org-id-set --organization-id=\"did:iota:...\"",
|
|
1956
2026
|
"params": {
|
|
1957
2027
|
"env-prefix": {
|
|
1958
2028
|
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
@@ -1968,9 +2038,9 @@
|
|
|
1968
2038
|
"stored": "The node organization ID has been stored"
|
|
1969
2039
|
}
|
|
1970
2040
|
},
|
|
1971
|
-
"
|
|
2041
|
+
"tenant-org-id-set": {
|
|
1972
2042
|
"description": "Set the organization ID for a tenant",
|
|
1973
|
-
"example": "
|
|
2043
|
+
"example": "tenant-org-id-set --tenant-id=\"0011..aabb\" --organization-id=\"did:iota:...\"",
|
|
1974
2044
|
"params": {
|
|
1975
2045
|
"env-prefix": {
|
|
1976
2046
|
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
@@ -2040,6 +2110,151 @@
|
|
|
2040
2110
|
"importing": "Importing key",
|
|
2041
2111
|
"imported": "Imported key"
|
|
2042
2112
|
}
|
|
2113
|
+
},
|
|
2114
|
+
"tenant-list": {
|
|
2115
|
+
"description": "List all tenants",
|
|
2116
|
+
"example": "tenant-list",
|
|
2117
|
+
"params": {
|
|
2118
|
+
"env-prefix": {
|
|
2119
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2120
|
+
},
|
|
2121
|
+
"load-env": {
|
|
2122
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2123
|
+
}
|
|
2124
|
+
},
|
|
2125
|
+
"labels": {
|
|
2126
|
+
"listing": "Listing tenants",
|
|
2127
|
+
"tenantId": "Tenant ID",
|
|
2128
|
+
"apiKey": "API Key",
|
|
2129
|
+
"organizationId": "Organization ID",
|
|
2130
|
+
"label": "Label",
|
|
2131
|
+
"count": "Total tenants"
|
|
2132
|
+
}
|
|
2133
|
+
},
|
|
2134
|
+
"tenant-get": {
|
|
2135
|
+
"description": "Get the full configuration record for a single tenant",
|
|
2136
|
+
"example": "tenant-get --tenant-id=\"0011..aabb\"",
|
|
2137
|
+
"params": {
|
|
2138
|
+
"env-prefix": {
|
|
2139
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2140
|
+
},
|
|
2141
|
+
"tenant-id": {
|
|
2142
|
+
"description": "The tenant ID to retrieve."
|
|
2143
|
+
},
|
|
2144
|
+
"load-env": {
|
|
2145
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2146
|
+
}
|
|
2147
|
+
},
|
|
2148
|
+
"labels": {
|
|
2149
|
+
"retrieving": "Retrieving tenant",
|
|
2150
|
+
"tenantId": "Tenant ID",
|
|
2151
|
+
"apiKey": "API Key",
|
|
2152
|
+
"organizationId": "Organization ID",
|
|
2153
|
+
"label": "Label",
|
|
2154
|
+
"publicOrigin": "Public Origin",
|
|
2155
|
+
"dateCreated": "Date Created",
|
|
2156
|
+
"dateModified": "Date Modified"
|
|
2157
|
+
}
|
|
2158
|
+
},
|
|
2159
|
+
"tenant-list-by-org": {
|
|
2160
|
+
"description": "List all tenants associated with a given organization DID",
|
|
2161
|
+
"example": "tenant-list-by-org --org-id=\"did:iota:...\"",
|
|
2162
|
+
"params": {
|
|
2163
|
+
"env-prefix": {
|
|
2164
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2165
|
+
},
|
|
2166
|
+
"org-id": {
|
|
2167
|
+
"description": "The organization DID to filter tenants by."
|
|
2168
|
+
},
|
|
2169
|
+
"load-env": {
|
|
2170
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2171
|
+
}
|
|
2172
|
+
},
|
|
2173
|
+
"labels": {
|
|
2174
|
+
"listing": "Listing tenants for organization",
|
|
2175
|
+
"tenantId": "Tenant ID",
|
|
2176
|
+
"apiKey": "API Key",
|
|
2177
|
+
"organizationId": "Organization ID",
|
|
2178
|
+
"label": "Label",
|
|
2179
|
+
"count": "Total tenants"
|
|
2180
|
+
}
|
|
2181
|
+
},
|
|
2182
|
+
"node-identity-get": {
|
|
2183
|
+
"description": "Get the identity currently assigned to the node",
|
|
2184
|
+
"example": "node-identity-get",
|
|
2185
|
+
"params": {
|
|
2186
|
+
"env-prefix": {
|
|
2187
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2188
|
+
},
|
|
2189
|
+
"load-env": {
|
|
2190
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2191
|
+
}
|
|
2192
|
+
},
|
|
2193
|
+
"labels": {
|
|
2194
|
+
"resolving": "Resolving node identity",
|
|
2195
|
+
"did": "DID",
|
|
2196
|
+
"verificationMethods": "Verification Methods"
|
|
2197
|
+
}
|
|
2198
|
+
},
|
|
2199
|
+
"identity-list": {
|
|
2200
|
+
"description": "List all identities held in custody by the node",
|
|
2201
|
+
"example": "identity-list",
|
|
2202
|
+
"params": {
|
|
2203
|
+
"env-prefix": {
|
|
2204
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2205
|
+
},
|
|
2206
|
+
"load-env": {
|
|
2207
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2208
|
+
}
|
|
2209
|
+
},
|
|
2210
|
+
"labels": {
|
|
2211
|
+
"listing": "Listing identities",
|
|
2212
|
+
"did": "DID",
|
|
2213
|
+
"controller": "Controller",
|
|
2214
|
+
"count": "Total identities"
|
|
2215
|
+
}
|
|
2216
|
+
},
|
|
2217
|
+
"identity-resolve": {
|
|
2218
|
+
"description": "Resolve an identity DID to its full document",
|
|
2219
|
+
"example": "identity-resolve --identity=\"did:iota:...\"",
|
|
2220
|
+
"params": {
|
|
2221
|
+
"env-prefix": {
|
|
2222
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2223
|
+
},
|
|
2224
|
+
"identity": {
|
|
2225
|
+
"description": "The DID to resolve."
|
|
2226
|
+
},
|
|
2227
|
+
"load-env": {
|
|
2228
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2229
|
+
}
|
|
2230
|
+
},
|
|
2231
|
+
"labels": {
|
|
2232
|
+
"resolving": "Resolving identity",
|
|
2233
|
+
"did": "DID",
|
|
2234
|
+
"verificationMethods": "Verification Methods"
|
|
2235
|
+
}
|
|
2236
|
+
},
|
|
2237
|
+
"org-users-list": {
|
|
2238
|
+
"description": "List all users belonging to an organization DID",
|
|
2239
|
+
"example": "org-users-list --org-did=\"did:iota:...\"",
|
|
2240
|
+
"params": {
|
|
2241
|
+
"env-prefix": {
|
|
2242
|
+
"description": "Prefix to use for standard .env files e.g. TWIN_."
|
|
2243
|
+
},
|
|
2244
|
+
"org-did": {
|
|
2245
|
+
"description": "The organization DID to list users for. Defaults to the node organization ID in single-tenant mode."
|
|
2246
|
+
},
|
|
2247
|
+
"load-env": {
|
|
2248
|
+
"description": "Comma separated list of paths to .env files to read input parameters from."
|
|
2249
|
+
}
|
|
2250
|
+
},
|
|
2251
|
+
"labels": {
|
|
2252
|
+
"listing": "Listing organization users",
|
|
2253
|
+
"email": "Email",
|
|
2254
|
+
"identity": "Identity",
|
|
2255
|
+
"scope": "Scope",
|
|
2256
|
+
"count": "Total users"
|
|
2257
|
+
}
|
|
2043
2258
|
}
|
|
2044
2259
|
}
|
|
2045
2260
|
}
|
package/docs/changelog.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.9.1-next.4](https://github.com/iotaledger/twin-node/compare/node-v0.9.1-next.3...node-v0.9.1-next.4) (2026-07-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* additional cli commands ([#269](https://github.com/iotaledger/twin-node/issues/269)) ([c9e7c93](https://github.com/iotaledger/twin-node/commit/c9e7c939aedfceed9cbe501f2dc936e84289ed62))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @twin.org/node-core bumped from 0.9.1-next.3 to 0.9.1-next.4
|
|
16
|
+
|
|
3
17
|
## [0.9.1-next.3](https://github.com/iotaledger/twin-node/compare/node-v0.9.1-next.2...node-v0.9.1-next.3) (2026-06-30)
|
|
4
18
|
|
|
5
19
|
|
package/docs/usage.md
CHANGED
|
@@ -28,17 +28,26 @@ All the commands available are listed below, for more information use the --help
|
|
|
28
28
|
bootstrap-legacy: Bootstrap in legacy mode for backwards compatibility, **will be deprecated in future versions**
|
|
29
29
|
identity-create: Create an identity
|
|
30
30
|
identity-import: Import an identity
|
|
31
|
+
identity-list: List all identities held in custody by the node
|
|
32
|
+
identity-resolve: Resolve an identity DID to its full document
|
|
31
33
|
identity-verification-method-create: Create an identity verification method
|
|
32
34
|
identity-verification-method-import: Import an identity verification method
|
|
33
35
|
identity-verifiable-credential-create: Create a verifiable credential
|
|
34
|
-
node-
|
|
36
|
+
node-identity-get: Get the identity currently assigned to the node
|
|
37
|
+
node-identity-set: Set the node identity
|
|
38
|
+
org-users-list: List all users belonging to an organization DID
|
|
35
39
|
remove-tenant-org-alias: Remove an alias from the tenant organization ID legacy list
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
node-org-id-get: Get the organization ID currently assigned to the node
|
|
41
|
+
node-org-id-set: Set the node organization ID
|
|
42
|
+
tenant-org-id-set: Set the organization ID for a tenant
|
|
38
43
|
tenant-create: Create a tenant with associated api key
|
|
44
|
+
tenant-get: Get the full configuration record for a single tenant
|
|
39
45
|
tenant-import: Import a tenant with associated api key
|
|
46
|
+
tenant-list: List all tenants
|
|
47
|
+
tenant-list-by-org: List all tenants associated with a given organization DID
|
|
40
48
|
tenant-update: Update a tenant with associated api key
|
|
41
49
|
user-create: Create a user
|
|
50
|
+
user-get: Get a user by email address
|
|
42
51
|
user-update: Update a user
|
|
43
52
|
vault-key-create: Create a vault key for an identity
|
|
44
53
|
vault-key-import: Import a vault key for an identity
|
|
@@ -127,6 +136,150 @@ The tenant ID to set the created identity DID as the organization ID for (requir
|
|
|
127
136
|
Example: identity-create --mnemonic="..." --fund-wallet=true
|
|
128
137
|
```
|
|
129
138
|
|
|
139
|
+
## identity-list --help
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
identity-list: List all identities held in custody by the node
|
|
143
|
+
|
|
144
|
+
env-prefix: (string, optional)
|
|
145
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
146
|
+
|
|
147
|
+
load-env: (string, optional)
|
|
148
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
149
|
+
|
|
150
|
+
Example: identity-list
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## identity-resolve --help
|
|
154
|
+
|
|
155
|
+
```text
|
|
156
|
+
identity-resolve: Resolve an identity DID to its full document
|
|
157
|
+
|
|
158
|
+
env-prefix: (string, optional)
|
|
159
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
160
|
+
|
|
161
|
+
identity: (string, did, required)
|
|
162
|
+
The DID to resolve.
|
|
163
|
+
|
|
164
|
+
load-env: (string, optional)
|
|
165
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
166
|
+
|
|
167
|
+
Example: identity-resolve --identity="did:iota:..."
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## node-identity-get --help
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
node-identity-get: Get the identity currently assigned to the node
|
|
174
|
+
|
|
175
|
+
env-prefix: (string, optional)
|
|
176
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
177
|
+
|
|
178
|
+
load-env: (string, optional)
|
|
179
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
180
|
+
|
|
181
|
+
Example: node-identity-get
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## node-org-id-get --help
|
|
185
|
+
|
|
186
|
+
```text
|
|
187
|
+
node-org-id-get: Get the organization ID currently assigned to the node
|
|
188
|
+
|
|
189
|
+
env-prefix: (string, optional)
|
|
190
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
191
|
+
|
|
192
|
+
load-env: (string, optional)
|
|
193
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
194
|
+
|
|
195
|
+
Example: node-org-id-get
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## org-users-list --help
|
|
199
|
+
|
|
200
|
+
```text
|
|
201
|
+
org-users-list: List all users belonging to an organization DID
|
|
202
|
+
|
|
203
|
+
env-prefix: (string, optional)
|
|
204
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
205
|
+
|
|
206
|
+
org-did: (string, did, optional)
|
|
207
|
+
The organization DID to list users for. Defaults to the node organization ID in single-tenant mode.
|
|
208
|
+
|
|
209
|
+
load-env: (string, optional)
|
|
210
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
211
|
+
|
|
212
|
+
Example: org-users-list --org-did="did:iota:..."
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## user-get --help
|
|
216
|
+
|
|
217
|
+
```text
|
|
218
|
+
user-get: Get a user by email address
|
|
219
|
+
|
|
220
|
+
env-prefix: (string, optional)
|
|
221
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
222
|
+
|
|
223
|
+
email: (string, email, required)
|
|
224
|
+
The email address of the user to retrieve.
|
|
225
|
+
|
|
226
|
+
tenant-id: (string, hex(32), optional)
|
|
227
|
+
The tenant ID to retrieve the user from (multi-tenant mode only).
|
|
228
|
+
|
|
229
|
+
load-env: (string, optional)
|
|
230
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
231
|
+
|
|
232
|
+
Example: user-get --email="bob@example.com"
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## tenant-get --help
|
|
236
|
+
|
|
237
|
+
```text
|
|
238
|
+
tenant-get: Get the full configuration record for a single tenant
|
|
239
|
+
|
|
240
|
+
env-prefix: (string, optional)
|
|
241
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
242
|
+
|
|
243
|
+
tenant-id: (string, hex(32), required)
|
|
244
|
+
The tenant ID to retrieve.
|
|
245
|
+
|
|
246
|
+
load-env: (string, optional)
|
|
247
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
248
|
+
|
|
249
|
+
Example: tenant-get --tenant-id="0011..aabb"
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## tenant-list --help
|
|
253
|
+
|
|
254
|
+
```text
|
|
255
|
+
tenant-list: List all tenants
|
|
256
|
+
|
|
257
|
+
env-prefix: (string, optional)
|
|
258
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
259
|
+
|
|
260
|
+
load-env: (string, optional)
|
|
261
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
262
|
+
|
|
263
|
+
Example: tenant-list
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## tenant-list-by-org --help
|
|
267
|
+
|
|
268
|
+
```text
|
|
269
|
+
tenant-list-by-org: List all tenants associated with a given organization DID
|
|
270
|
+
|
|
271
|
+
env-prefix: (string, optional)
|
|
272
|
+
Prefix to use for standard .env files e.g. TWIN_.
|
|
273
|
+
|
|
274
|
+
org-id: (string, did, required)
|
|
275
|
+
The organization DID to filter tenants by.
|
|
276
|
+
|
|
277
|
+
load-env: (string, optional)
|
|
278
|
+
Comma separated list of paths to .env files to read input parameters from.
|
|
279
|
+
|
|
280
|
+
Example: tenant-list-by-org --org-id="did:iota:..."
|
|
281
|
+
```
|
|
282
|
+
|
|
130
283
|
## Example
|
|
131
284
|
|
|
132
285
|
### Bootstrap legacy (single command)
|
|
@@ -176,7 +329,7 @@ twin-node identity-verification-method-create --load-env="node-identity.env,orga
|
|
|
176
329
|
### Step 5 - Set the organisation identity on the node (single-tenant)
|
|
177
330
|
|
|
178
331
|
```shell
|
|
179
|
-
twin-node
|
|
332
|
+
twin-node node-org-id-set --load-env="organization-identity.env" --organization-id=!ORGANIZATION_DID
|
|
180
333
|
```
|
|
181
334
|
|
|
182
335
|
### Step 6 - Create the node tenant and associate the organisation (multi-tenant only)
|
|
@@ -186,7 +339,7 @@ twin-node tenant-create --load-env="node-identity.env" --label="Node" --output-j
|
|
|
186
339
|
```
|
|
187
340
|
|
|
188
341
|
```shell
|
|
189
|
-
twin-node
|
|
342
|
+
twin-node tenant-org-id-set --load-env="node-tenant.env,organization-identity.env" --tenant-id=!NODE_TENANT_ID --organization-id=!ORGANIZATION_DID
|
|
190
343
|
```
|
|
191
344
|
|
|
192
345
|
To import an existing tenant instead:
|
|
@@ -258,3 +411,85 @@ To update an existing user:
|
|
|
258
411
|
```shell
|
|
259
412
|
twin-node user-update --load-env="organization-identity.env,admin-user-identity.env,node-tenant.env" --email="admin@node" --scope="tenant-admin,user-admin,foo"
|
|
260
413
|
```
|
|
414
|
+
|
|
415
|
+
---
|
|
416
|
+
|
|
417
|
+
## Inspection commands
|
|
418
|
+
|
|
419
|
+
The following commands are read-only and can be run at any time to inspect the state of the node.
|
|
420
|
+
|
|
421
|
+
### Get the node identity
|
|
422
|
+
|
|
423
|
+
Resolves and displays the DID document currently assigned as the node identity:
|
|
424
|
+
|
|
425
|
+
```shell
|
|
426
|
+
twin-node node-identity-get
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### Get the node organization ID
|
|
430
|
+
|
|
431
|
+
Displays the organization DID currently assigned to the node (single-tenant only):
|
|
432
|
+
|
|
433
|
+
```shell
|
|
434
|
+
twin-node node-org-id-get
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
### Resolve an identity
|
|
438
|
+
|
|
439
|
+
Resolve any DID to its full document, including its verification methods:
|
|
440
|
+
|
|
441
|
+
```shell
|
|
442
|
+
twin-node identity-resolve --identity="did:iota:..."
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### List all identities
|
|
446
|
+
|
|
447
|
+
List every identity held in custody by the node, showing each DID and its controller:
|
|
448
|
+
|
|
449
|
+
```shell
|
|
450
|
+
twin-node identity-list
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
### List all tenants (multi-tenant only)
|
|
454
|
+
|
|
455
|
+
```shell
|
|
456
|
+
twin-node tenant-list
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
### Get a single tenant (multi-tenant only)
|
|
460
|
+
|
|
461
|
+
```shell
|
|
462
|
+
twin-node tenant-get --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
### List tenants for an organization (multi-tenant only)
|
|
466
|
+
|
|
467
|
+
```shell
|
|
468
|
+
twin-node tenant-list-by-org --load-env="organization-identity.env" --org-id=!ORGANIZATION_DID
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
### List users for an organization
|
|
472
|
+
|
|
473
|
+
In single-tenant mode, `--org-did` can be omitted and the node organization ID is used automatically:
|
|
474
|
+
|
|
475
|
+
```shell
|
|
476
|
+
twin-node org-users-list
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
To list users for a specific organization:
|
|
480
|
+
|
|
481
|
+
```shell
|
|
482
|
+
twin-node org-users-list --load-env="organization-identity.env" --org-did=!ORGANIZATION_DID
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
### Get a single user
|
|
486
|
+
|
|
487
|
+
```shell
|
|
488
|
+
twin-node user-get --email="admin@node"
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
In multi-tenant mode supply the tenant ID:
|
|
492
|
+
|
|
493
|
+
```shell
|
|
494
|
+
twin-node user-get --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID --email="admin@node"
|
|
495
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/node",
|
|
3
|
-
"version": "0.9.1-next.
|
|
3
|
+
"version": "0.9.1-next.4",
|
|
4
4
|
"description": "TWIN Node serving APIs using the specified configuration",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"node": ">=20.0.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@twin.org/node-core": "0.9.1-next.
|
|
17
|
+
"@twin.org/node-core": "0.9.1-next.4"
|
|
18
18
|
},
|
|
19
19
|
"bugs": {
|
|
20
20
|
"url": "git+https://github.com/iotaledger/twin-node/issues"
|