@eluvio/elv-client-js 4.0.77 → 4.0.79

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.
@@ -0,0 +1,87 @@
1
+ /* eslint-disable no-console */
2
+ const {ElvClient} = require("../src/ElvClient");
3
+
4
+ const yargs = require("yargs");
5
+ const argv = yargs
6
+ .option("configUrl", {
7
+ description: "Fabric configuration URL (e.g. https://main.net955210.contentfabric.io/config)"
8
+ })
9
+ .option("tenantContractId", {
10
+ description: "tenant Contract Id to set for the user"
11
+ })
12
+ .demandOption(
13
+ ["configUrl", "tenantContractId"],
14
+ "\nUsage: PRIVATE_KEY=<private-key> node CreateUserWithTenantId --configUrl <config-url> --tenantContractId <tenant_id>\n"
15
+ )
16
+ .argv;
17
+
18
+ const TestAddTenantContractId = async ({configUrl, tenantContractId}) => {
19
+ try {
20
+ if(!process.env.PRIVATE_KEY) {
21
+ console.log("ERROR: 'PRIVATE_KEY' environment variable must be set");
22
+ }
23
+
24
+ console.log(`\nAdd tenant to User, tenant contract : ${tenantContractId}\n`);
25
+
26
+ // create user wallet
27
+ const client = await ElvClient.FromConfigurationUrl({configUrl});
28
+ const wallet = client.GenerateWallet();
29
+ const signer = wallet.AddAccount({privateKey: process.env.PRIVATE_KEY});
30
+ client.SetSigner({signer});
31
+
32
+ // set tenant contract ID for user
33
+ await client.userProfileClient.SetTenantContractId({tenantContractId});
34
+ console.log(`tenant contract ${await client.userProfileClient.TenantContractId()} set for user ${client.signer.address}`);
35
+ // console.log(await client.userProfileClient.UserMetadata());
36
+
37
+ // tenant contract ID set during creation of library
38
+ libraryId = await client.CreateContentLibrary({name: "library_with_tenant_contract_id"});
39
+ libraryAddress = client.utils.HashToAddress(libraryId);
40
+ console.log(`library created: ${libraryId}`);
41
+ let actualTenantContractId = await client.TenantContractId({contractAddress:libraryAddress});
42
+ if(tenantContractId !== actualTenantContractId){
43
+ throw Error(`tenant mismatch, actual: ${actualTenantContractId}, expected: ${tenantContractId}`);
44
+ }
45
+ // console.log(await client.ContentObjectMetadata({libraryId, objectId: client.utils.AddressToObjectId(libraryAddress)}));
46
+
47
+ // tenant contract ID set during creation of content type
48
+ const typeMetadata = {
49
+ bitcode_flags: "abrmaster",
50
+ bitcode_format: "builtin",
51
+ public: {
52
+ "eluv.displayApp": "default",
53
+ "eluv.manageApp": "default",
54
+ }
55
+ };
56
+
57
+ const contentTypeId = await client.CreateContentType({
58
+ name: `${tenantContractId} - Title`,
59
+ metadata: {...typeMetadata}
60
+ });
61
+ contentTypeAddress = client.utils.HashToAddress(contentTypeId);
62
+ console.log(`content type - title created: ${contentTypeId}`);
63
+ actualTenantContractId = await client.TenantContractId({contractAddress:contentTypeAddress});
64
+ if(tenantContractId !== actualTenantContractId){
65
+ throw Error(`tenant mismatch, actual: ${actualTenantContractId}, expected: ${tenantContractId}`);
66
+ }
67
+ // console.log(await client.ContentObjectMetadata({
68
+ // libraryId: client.contentSpaceLibraryId,
69
+ // objectId: client.utils.AddressToObjectId(contentTypeAddress)}));
70
+
71
+ // tenant contract ID set during creation of access group
72
+ const groupAddress = await client.CreateAccessGroup({name: "Test Group"});
73
+ console.log(`group created: ${groupAddress}`);
74
+ actualTenantContractId = await client.TenantContractId({contractAddress:groupAddress});
75
+ if(tenantContractId !== actualTenantContractId){
76
+ throw Error(`tenant mismatch, actual: ${actualTenantContractId}, expected: ${tenantContractId}`);
77
+ }
78
+ // console.log(await client.ContentObjectMetadata({
79
+ // libraryId: client.contentSpaceLibraryId,
80
+ // objectId: client.utils.AddressToObjectId(groupAddress)}));
81
+
82
+ } catch(e){
83
+ console.error(e);
84
+ }
85
+ };
86
+
87
+ TestAddTenantContractId(argv);