@3sixty/node 0.0.0-stage → 0.20.0-next.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 (47) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +34 -2
  3. package/bin/index.js +4 -0
  4. package/dist/locales/en.json +18011 -0
  5. package/docs/changelog.md +0 -0
  6. package/docs/commands/bootstrap-dev.md +51 -0
  7. package/docs/commands/help.md +61 -0
  8. package/docs/commands/identity-create.md +67 -0
  9. package/docs/commands/identity-import.md +37 -0
  10. package/docs/commands/identity-list.md +31 -0
  11. package/docs/commands/identity-remove.md +46 -0
  12. package/docs/commands/identity-resolve.md +38 -0
  13. package/docs/commands/identity-verifiable-credential-create.md +58 -0
  14. package/docs/commands/identity-verification-method-create.md +55 -0
  15. package/docs/commands/identity-verification-method-import.md +46 -0
  16. package/docs/commands/node-identity-get.md +31 -0
  17. package/docs/commands/node-identity-set.md +36 -0
  18. package/docs/commands/node-org-id-get.md +32 -0
  19. package/docs/commands/node-org-id-set.md +37 -0
  20. package/docs/commands/org-users-list.md +40 -0
  21. package/docs/commands/tenant-create.md +55 -0
  22. package/docs/commands/tenant-get.md +34 -0
  23. package/docs/commands/tenant-import.md +46 -0
  24. package/docs/commands/tenant-list-by-org.md +34 -0
  25. package/docs/commands/tenant-list.md +31 -0
  26. package/docs/commands/tenant-org-alias-remove.md +39 -0
  27. package/docs/commands/tenant-org-id-set.md +39 -0
  28. package/docs/commands/tenant-remove.md +34 -0
  29. package/docs/commands/tenant-update.md +46 -0
  30. package/docs/commands/user-create.md +73 -0
  31. package/docs/commands/user-get.md +43 -0
  32. package/docs/commands/user-remove.md +43 -0
  33. package/docs/commands/user-update-password.md +58 -0
  34. package/docs/commands/user-update.md +58 -0
  35. package/docs/commands/vault-key-create.md +58 -0
  36. package/docs/commands/vault-key-import.md +43 -0
  37. package/docs/commands/vault-key-remove.md +37 -0
  38. package/docs/commands/vault-key-update.md +40 -0
  39. package/docs/configuration.md +234 -0
  40. package/docs/deployment-docker.md +142 -0
  41. package/docs/deployment-ec2.md +193 -0
  42. package/docs/deployment.md +4 -0
  43. package/docs/open-api/spec.json +24802 -0
  44. package/docs/usage.md +239 -0
  45. package/locales/en.json +1 -0
  46. package/package.json +39 -5
  47. package/src/index.js +12 -0
@@ -0,0 +1,55 @@
1
+ # tenant-create
2
+
3
+ Create a tenant with associated api key.
4
+
5
+ ## Tenancy
6
+
7
+ Multi-tenant mode only. In single-tenant mode the command fails because the tenant admin component is not registered.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ tenant-create: Create a tenant with associated api key
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ tenant-id: (string, hex(32), optional)
18
+ The tenant ID to add. If not provided a random tenant id will be generated.
19
+
20
+ api-key: (string, hex(32), optional)
21
+ The API key to associate with the tenant id. If not provided, a random key will be generated.
22
+
23
+ organization-id: (string, did, required)
24
+ The organization DID to associate with the tenant.
25
+
26
+ public-origin: (string, url, optional)
27
+ The public URL origin for the tenant e.g. https://example.com:1234
28
+
29
+ label: (string, optional)
30
+ A descriptive label for the tenant.
31
+
32
+ load-env: (string, optional)
33
+ Comma separated list of paths to .env files to read input parameters from.
34
+
35
+ output-json: (string, optional)
36
+ Path to a .json file to store the command output.
37
+
38
+ output-env: (string, optional)
39
+ Path to a .env file to store the command output.
40
+
41
+ output-env-prefix: (string, optional)
42
+ Prefix to use for variables in the output .env file.
43
+
44
+ Example: tenant-create --tenant-id="0011..aabb" --api-key="aabb..0099" --organization-id="did:iota:..." --label="My Tenant" --public-origin="https://example.com:1234"
45
+ ```
46
+
47
+ ## Examples
48
+
49
+ Create the node tenant for an organisation:
50
+
51
+ ```shell
52
+ 3sixty-node tenant-create --load-env="organization-identity.env" --organization-id=!ORGANIZATION_DID --label="Node" --output-json="node-tenant.json" --output-env="node-tenant.env" --output-env-prefix=node
53
+ ```
54
+
55
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,34 @@
1
+ # tenant-get
2
+
3
+ Get the full configuration record for a single tenant.
4
+
5
+ ## Tenancy
6
+
7
+ Multi-tenant mode only. In single-tenant mode the command fails because the tenant admin component is not registered.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ tenant-get: Get the full configuration record for a single tenant
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ tenant-id: (string, hex(32), required)
18
+ The tenant ID to retrieve.
19
+
20
+ load-env: (string, optional)
21
+ Comma separated list of paths to .env files to read input parameters from.
22
+
23
+ Example: tenant-get --tenant-id="0011..aabb"
24
+ ```
25
+
26
+ ## Examples
27
+
28
+ Get the full record for a tenant:
29
+
30
+ ```shell
31
+ 3sixty-node tenant-get --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID
32
+ ```
33
+
34
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,46 @@
1
+ # tenant-import
2
+
3
+ Import a tenant with associated api key.
4
+
5
+ ## Tenancy
6
+
7
+ Multi-tenant mode only. In single-tenant mode the command fails because the tenant admin component is not registered.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ tenant-import: Import a tenant with associated api key
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ tenant-id: (string, hex(32), required)
18
+ The tenant ID to import.
19
+
20
+ api-key: (string, hex(32), required)
21
+ The API key to associate with the tenant id.
22
+
23
+ organization-id: (string, did, required)
24
+ The organization DID to associate with the tenant.
25
+
26
+ label: (string, optional)
27
+ A descriptive label for the tenant.
28
+
29
+ public-origin: (string, url, optional)
30
+ The public URL origin for the tenant e.g. https://example.com:1234
31
+
32
+ load-env: (string, optional)
33
+ Comma separated list of paths to .env files to read input parameters from.
34
+
35
+ Example: tenant-import --tenant-id="0011..aabb" --api-key="aabb..0099" --organization-id="did:iota:..." --label="My Tenant" --public-origin="https://example.com:1234"
36
+ ```
37
+
38
+ ## Examples
39
+
40
+ Import an existing tenant:
41
+
42
+ ```shell
43
+ 3sixty-node tenant-import --load-env="node-tenant.env,organization-identity.env" --tenant-id=!NODE_TENANT_ID --api-key=!NODE_API_KEY --organization-id=!ORGANIZATION_DID --label="Node" --public-origin="https://api.example.com"
44
+ ```
45
+
46
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,34 @@
1
+ # tenant-list-by-org
2
+
3
+ List all tenants associated with a given organization DID.
4
+
5
+ ## Tenancy
6
+
7
+ Multi-tenant mode only. In single-tenant mode the command fails because the tenant admin component is not registered.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ tenant-list-by-org: List all tenants associated with a given organization DID
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ org-id: (string, did, required)
18
+ The organization DID to filter tenants by.
19
+
20
+ load-env: (string, optional)
21
+ Comma separated list of paths to .env files to read input parameters from.
22
+
23
+ Example: tenant-list-by-org --org-id="did:iota:..."
24
+ ```
25
+
26
+ ## Examples
27
+
28
+ List the tenants for an organisation:
29
+
30
+ ```shell
31
+ 3sixty-node tenant-list-by-org --load-env="organization-identity.env" --org-id=!ORGANIZATION_DID
32
+ ```
33
+
34
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,31 @@
1
+ # tenant-list
2
+
3
+ List all tenants.
4
+
5
+ ## Tenancy
6
+
7
+ Multi-tenant mode only. In single-tenant mode the command fails because the tenant admin component is not registered.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ tenant-list: List all tenants
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ load-env: (string, optional)
18
+ Comma separated list of paths to .env files to read input parameters from.
19
+
20
+ Example: tenant-list
21
+ ```
22
+
23
+ ## Examples
24
+
25
+ List all tenants:
26
+
27
+ ```shell
28
+ 3sixty-node tenant-list
29
+ ```
30
+
31
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,39 @@
1
+ # tenant-org-alias-remove
2
+
3
+ Remove an alias from the tenant organization ID legacy list.
4
+
5
+ ## Tenancy
6
+
7
+ Multi-tenant mode only. In single-tenant mode the command fails because the tenant admin component is not registered.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ tenant-org-alias-remove: Remove an alias from the tenant organization ID legacy list
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ tenant-id: (string, hex(32), required)
18
+ The tenant ID to update.
19
+
20
+ alias: (string, did, required)
21
+ The organization DID alias to remove from the legacy list.
22
+
23
+ load-env: (string, optional)
24
+ Comma separated list of paths to .env files to read input parameters from.
25
+
26
+ Deprecated aliases: remove-tenant-org-alias
27
+
28
+ Example: tenant-org-alias-remove --tenant-id="0011..aabb" --alias="did:iota:..."
29
+ ```
30
+
31
+ ## Examples
32
+
33
+ Remove a stale organisation alias from a tenant:
34
+
35
+ ```shell
36
+ 3sixty-node tenant-org-alias-remove --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID --alias=!OLD_ORGANIZATION_DID
37
+ ```
38
+
39
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,39 @@
1
+ # tenant-org-id-set
2
+
3
+ Set the organization ID for a tenant.
4
+
5
+ ## Tenancy
6
+
7
+ Multi-tenant mode only. In single-tenant mode the command fails because the tenant admin component is not registered.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ tenant-org-id-set: Set the organization ID for a tenant
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ tenant-id: (string, hex(32), required)
18
+ The tenant ID to update.
19
+
20
+ organization-id: (string, did, required)
21
+ The organization DID to set as the tenant organization ID.
22
+
23
+ load-env: (string, optional)
24
+ Comma separated list of paths to .env files to read input parameters from.
25
+
26
+ Deprecated aliases: set-tenant-org-id
27
+
28
+ Example: tenant-org-id-set --tenant-id="0011..aabb" --organization-id="did:iota:..."
29
+ ```
30
+
31
+ ## Examples
32
+
33
+ Associate an organisation with the node tenant:
34
+
35
+ ```shell
36
+ 3sixty-node tenant-org-id-set --load-env="node-tenant.env,organization-identity.env" --tenant-id=!NODE_TENANT_ID --organization-id=!ORGANIZATION_DID
37
+ ```
38
+
39
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,34 @@
1
+ # tenant-remove
2
+
3
+ Remove a tenant.
4
+
5
+ ## Tenancy
6
+
7
+ Multi-tenant mode only. In single-tenant mode the command fails because the tenant admin component is not registered.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ tenant-remove: Remove a tenant
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ tenant-id: (string, hex(32), required)
18
+ The tenant ID to remove.
19
+
20
+ load-env: (string, optional)
21
+ Comma separated list of paths to .env files to read input parameters from.
22
+
23
+ Example: tenant-remove --tenant-id="0011..aabb"
24
+ ```
25
+
26
+ ## Examples
27
+
28
+ Remove a tenant:
29
+
30
+ ```shell
31
+ 3sixty-node tenant-remove --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID
32
+ ```
33
+
34
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,46 @@
1
+ # tenant-update
2
+
3
+ Update a tenant with associated api key.
4
+
5
+ ## Tenancy
6
+
7
+ Multi-tenant mode only. In single-tenant mode the command fails because the tenant admin component is not registered.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ tenant-update: Update a tenant with associated api key
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ tenant-id: (string, hex(32), required)
18
+ The tenant ID to update.
19
+
20
+ api-key: (string, hex(32), optional)
21
+ The API key to associate with the tenant id.
22
+
23
+ organization-id: (string, did, optional)
24
+ The organization DID to associate with the tenant.
25
+
26
+ label: (string, optional)
27
+ A descriptive label for the tenant.
28
+
29
+ public-origin: (string, url, optional)
30
+ The public URL origin for the tenant e.g. https://example.com:1234
31
+
32
+ load-env: (string, optional)
33
+ Comma separated list of paths to .env files to read input parameters from.
34
+
35
+ Example: tenant-update --tenant-id="0011..aabb" --api-key="aabb..0099" --label="My Tenant" --public-origin="https://example.com:1234"
36
+ ```
37
+
38
+ ## Examples
39
+
40
+ Update the label of a tenant:
41
+
42
+ ```shell
43
+ 3sixty-node tenant-update --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID --label="New Label"
44
+ ```
45
+
46
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,73 @@
1
+ # user-create
2
+
3
+ Create a user.
4
+
5
+ ## Tenancy
6
+
7
+ Available in single-tenant and multi-tenant mode. In multi-tenant mode `--tenant-id` is required, in single-tenant mode it must not be supplied.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ user-create: Create a user
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ user-identity: (string, DID, required)
18
+ The DID to associate the user with.
19
+
20
+ organization-identity: (string, DID, required)
21
+ The organization DID to associate the user with.
22
+
23
+ tenant-id: (string, hex(32), optional)
24
+ The tenant ID to associate the user with (multi-tenant mode only).
25
+
26
+ email: (string, email, required)
27
+ The email address of the user.
28
+
29
+ password: (string, optional)
30
+ The password for the user.
31
+
32
+ scope: (string, optional)
33
+ List of scopes to associate with the user, comma separated.
34
+
35
+ given-name: (string, optional)
36
+ The given name of the user.
37
+
38
+ family-name: (string, optional)
39
+ The family name of the user.
40
+
41
+ overwrite-mode: (string, default: 'skip', optional, options: [skip, overwrite, error])
42
+ The mode to use when a user with the same identity already exists.
43
+
44
+ load-env: (string, optional)
45
+ Comma separated list of paths to .env files to read input parameters from.
46
+
47
+ output-json: (string, optional)
48
+ Path to a .json file to store the command output.
49
+
50
+ output-env: (string, optional)
51
+ Path to a .env file to store the command output.
52
+
53
+ output-env-prefix: (string, optional)
54
+ Prefix to use for variables in the output .env file.
55
+
56
+ Example: user-create --user-identity="did:iota:...." --organization-identity="did:iota:...." --email="bob@examples.com" --password="pass1234" --scope="tenant-admin" --givenName="Bob" --familyName="Smith"
57
+ ```
58
+
59
+ ## Examples
60
+
61
+ Create a user in single-tenant mode:
62
+
63
+ ```shell
64
+ 3sixty-node user-create --load-env="organization-identity.env,admin-user-identity.env" --user-identity=!ADMIN_USER_DID --organization-identity=!ORGANIZATION_DID --email="admin@node" --given-name="Node" --family-name="Admin" --scope="user-admin" --output-json="user-account-admin.json" --output-env="user-account-admin.env" --output-env-prefix=admin
65
+ ```
66
+
67
+ Create a user in multi-tenant mode:
68
+
69
+ ```shell
70
+ 3sixty-node user-create --load-env="organization-identity.env,admin-user-identity.env,node-tenant.env" --user-identity=!ADMIN_USER_DID --organization-identity=!ORGANIZATION_DID --tenant-id=!NODE_TENANT_ID --email="admin@tenant" --scope="tenant-admin,user-admin" --output-json="user-account-admin.json"
71
+ ```
72
+
73
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,43 @@
1
+ # user-get
2
+
3
+ Get a user by email address.
4
+
5
+ ## Tenancy
6
+
7
+ Available in single-tenant and multi-tenant mode. In multi-tenant mode `--tenant-id` is required, in single-tenant mode it must not be supplied.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ user-get: Get a user by email address
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ email: (string, email, required)
18
+ The email address of the user to retrieve.
19
+
20
+ tenant-id: (string, hex(32), optional)
21
+ The tenant ID to retrieve the user from (multi-tenant mode only).
22
+
23
+ load-env: (string, optional)
24
+ Comma separated list of paths to .env files to read input parameters from.
25
+
26
+ Example: user-get --email="bob@example.com"
27
+ ```
28
+
29
+ ## Examples
30
+
31
+ Get a user in single-tenant mode:
32
+
33
+ ```shell
34
+ 3sixty-node user-get --email="admin@node"
35
+ ```
36
+
37
+ Get a user in multi-tenant mode:
38
+
39
+ ```shell
40
+ 3sixty-node user-get --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID --email="admin@tenant"
41
+ ```
42
+
43
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,43 @@
1
+ # user-remove
2
+
3
+ Remove a user and their identity profile.
4
+
5
+ ## Tenancy
6
+
7
+ Available in single-tenant and multi-tenant mode. In multi-tenant mode `--tenant-id` is required, in single-tenant mode it must not be supplied.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ user-remove: Remove a user and their identity profile
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ email: (string, email, required)
18
+ The email address of the user to remove.
19
+
20
+ tenant-id: (string, hex(32), optional)
21
+ The tenant ID the user belongs to (multi-tenant mode only).
22
+
23
+ load-env: (string, optional)
24
+ Comma separated list of paths to .env files to read input parameters from.
25
+
26
+ Example: user-remove --email="user@example.com" --tenant-id="0011..aabb"
27
+ ```
28
+
29
+ ## Examples
30
+
31
+ Remove a user and their identity profile in single-tenant mode:
32
+
33
+ ```shell
34
+ 3sixty-node user-remove --email="bob@example.com"
35
+ ```
36
+
37
+ Remove a user in multi-tenant mode:
38
+
39
+ ```shell
40
+ 3sixty-node user-remove --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID --email="bob@example.com"
41
+ ```
42
+
43
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,58 @@
1
+ # user-update-password
2
+
3
+ Update the password of a user.
4
+
5
+ ## Tenancy
6
+
7
+ Available in single-tenant and multi-tenant mode. In multi-tenant mode `--tenant-id` is required, in single-tenant mode it must not be supplied. The new password must satisfy the password policy of the authentication service.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ user-update-password: Update the password of a user
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ email: (string, email, required)
18
+ The email address of the user to update.
19
+
20
+ password: (string, optional)
21
+ The new password. If not provided a random password will be generated.
22
+
23
+ current-password: (string, optional)
24
+ The current password, verified before the change when provided.
25
+
26
+ tenant-id: (string, hex(32), optional)
27
+ The tenant ID the user belongs to (multi-tenant mode only).
28
+
29
+ load-env: (string, optional)
30
+ Comma separated list of paths to .env files to read input parameters from.
31
+
32
+ output-json: (string, optional)
33
+ Output the details of the password update to a JSON file.
34
+
35
+ output-env: (string, optional)
36
+ Output the details of the password update to an .env file.
37
+
38
+ output-env-prefix: (string, optional)
39
+ Prefix to use for variables in the output .env file.
40
+
41
+ Example: user-update-password --email="user@example.com" --tenant-id="0011..aabb" --output-env="user-password.env"
42
+ ```
43
+
44
+ ## Examples
45
+
46
+ Generate a new password for a user and store it in an .env file:
47
+
48
+ ```shell
49
+ 3sixty-node user-update-password --email="bob@example.com" --output-env="bob-password.env"
50
+ ```
51
+
52
+ Set a specific password in multi-tenant mode, verifying the current password first:
53
+
54
+ ```shell
55
+ 3sixty-node user-update-password --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID --email="bob@example.com" --current-password="..." --password="..."
56
+ ```
57
+
58
+ See the [usage guide](../usage.md) for running the node and the full list of commands.
@@ -0,0 +1,58 @@
1
+ # user-update
2
+
3
+ Update a user.
4
+
5
+ ## Tenancy
6
+
7
+ Available in single-tenant and multi-tenant mode. In multi-tenant mode `--tenant-id` is required, in single-tenant mode it must not be supplied.
8
+
9
+ ## Usage
10
+
11
+ ```text
12
+ user-update: Update a user
13
+
14
+ env-prefix: (string, optional)
15
+ Prefix to use for standard .env files e.g. TWIN_.
16
+
17
+ user-identity: (string, DID, optional)
18
+ The DID to associate the user with.
19
+
20
+ organization-identity: (string, DID, optional)
21
+ The organization DID to associate the user with.
22
+
23
+ tenant-id: (string, hex(32), optional)
24
+ The tenant ID to associate the user with (multi-tenant mode only).
25
+
26
+ email: (string, email, required)
27
+ The email address of the user.
28
+
29
+ scope: (string, optional)
30
+ List of scopes to associate with the user, comma separated.
31
+
32
+ given-name: (string, optional)
33
+ The given name of the user.
34
+
35
+ family-name: (string, optional)
36
+ The family name of the user.
37
+
38
+ load-env: (string, optional)
39
+ Comma separated list of paths to .env files to read input parameters from.
40
+
41
+ Example: user-update --email="bob@examples.com" --user-identity="did:iota:...." --organization-identity="did:iota:...." --scope="tenant-admin" --givenName="Bob" --familyName="Smith"
42
+ ```
43
+
44
+ ## Examples
45
+
46
+ Update the scope of a user in single-tenant mode:
47
+
48
+ ```shell
49
+ 3sixty-node user-update --email="admin@node" --scope="user-admin,foo"
50
+ ```
51
+
52
+ Update a user in multi-tenant mode:
53
+
54
+ ```shell
55
+ 3sixty-node user-update --load-env="node-tenant.env" --tenant-id=!NODE_TENANT_ID --email="admin@tenant" --given-name="Tenant" --family-name="Admin"
56
+ ```
57
+
58
+ See the [usage guide](../usage.md) for running the node and the full list of commands.