Skip to content

Commit

Permalink
Merge pull request #23 from Akord-com/get-list-node
Browse files Browse the repository at this point in the history
feat: get & list methods for each node
  • Loading branch information
wkolod authored Oct 5, 2022
2 parents 9c7c753 + 5443b1d commit a6c090c
Show file tree
Hide file tree
Showing 15 changed files with 504 additions and 357 deletions.
392 changes: 283 additions & 109 deletions README.md

Large diffs are not rendered by default.

28 changes: 13 additions & 15 deletions src/__tests__/batch.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ async function vaultCreate() {
const termsOfAccess = faker.lorem.sentences();
const { vaultId, membershipId } = await akord.vault.create(name, termsOfAccess);

const membership = await akord.api.getObject(membershipId, "Membership");
const membership = await akord.membership.get(membershipId);
expect(membership.status).toEqual("ACCEPTED");
expect(membership.state.role).toEqual("OWNER");

const vault = await akord.decryptObject(vaultId, "Vault");
const vault = await akord.vault.get(vaultId);
expect(vault.status).toEqual("ACTIVE");
expect(vault.state.title).toEqual(name);
return { vaultId };
Expand All @@ -54,12 +54,10 @@ describe("Testing batch actions", () => {
const name = faker.random.words();
folderId = (await akord.folder.create(vaultId, name)).folderId;

const folder = await akord.api.getObject(folderId, "Folder");
const folder = await akord.folder.get(folderId);
expect(folder.status).toEqual("ACTIVE");
expect(folder.folderId).toEqual(null);

const decryptedState = await akord.service.processReadObject(folder.state, ["title"]);
expect(decryptedState.title).toEqual(name);
expect(folder.state.title).toEqual(name);
});

it("should create note", async () => {
Expand All @@ -68,7 +66,7 @@ describe("Testing batch actions", () => {

noteId = (await akord.note.create(vaultId, name, content)).noteId;

const note = await akord.api.getObject(noteId, "Note");
const note = await akord.note.get(noteId);
expect(note.state.revisions.length).toEqual(1);
});

Expand All @@ -78,10 +76,10 @@ describe("Testing batch actions", () => {
{ id: noteId, objectType: "Note" },
])

const folder = await akord.api.getObject(folderId, "Folder");
const folder = await akord.folder.get(folderId);
expect(folder.status).toEqual("REVOKED");

const note = await akord.api.getObject(noteId, "Note");
const note = await akord.note.get(noteId);
expect(note.status).toEqual("REVOKED");
});

Expand All @@ -91,10 +89,10 @@ describe("Testing batch actions", () => {
{ id: noteId, objectType: "Note" },
])

const folder = await akord.api.getObject(folderId, "Folder");
const folder = await akord.folder.get(folderId);
expect(folder.status).toEqual("ACTIVE");

const note = await akord.api.getObject(noteId, "Note");
const note = await akord.note.get(noteId);
expect(note.status).toEqual("ACTIVE");
});
});
Expand All @@ -114,7 +112,7 @@ describe("Testing batch actions", () => {
const response = await akord.batchStackCreate(vaultId, items);

for (let index in items) {
const stack = await akord.decryptObject(response[index].stackId, "Stack");
const stack = await akord.stack.get(response[index].stackId);
expect(stack.status).toEqual("ACTIVE");
expect(stack.state.files.length).toEqual(1);
expect(stack.state.files[0].title).toEqual("logo.png");
Expand All @@ -131,7 +129,7 @@ describe("Testing batch actions", () => {
]
));
for (let item of response) {
const membership = await akord.api.getObject(item.membershipId, "Membership");
const membership = await akord.membership.get(item.membershipId);
if (membership.email === email2) {
membershipId1 = item.membershipId;
expect(membership.status).toEqual("PENDING");
Expand All @@ -150,10 +148,10 @@ describe("Testing batch actions", () => {
{ id: membershipId2, role: "CONTRIBUTOR" }
])

const membership1 = await akord.api.getObject(membershipId1, "Membership");
const membership1 = await akord.membership.get(membershipId1);
expect(membership1.state.role).toEqual("VIEWER");

const membership2 = await akord.api.getObject(membershipId2, "Membership");
const membership2 = await akord.membership.get(membershipId2);
expect(membership2.state.role).toEqual("CONTRIBUTOR");
});
});
Expand Down
24 changes: 10 additions & 14 deletions src/__tests__/folder.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ async function vaultCreate() {
const termsOfAccess = faker.lorem.sentences();
const { vaultId, membershipId } = await akord.vault.create(name, termsOfAccess);

const membership = await akord.api.getObject(membershipId, "Membership");
const membership = await akord.membership.get(membershipId);
expect(membership.status).toEqual("ACCEPTED");
expect(membership.state.role).toEqual("OWNER");

const vault = await akord.decryptObject(vaultId, "Vault");
const vault = await akord.vault.get(vaultId);
expect(vault.status).toEqual("ACTIVE");
expect(vault.state.title).toEqual(name);
return { vaultId };
Expand All @@ -38,12 +38,10 @@ describe("Testing folder commands", () => {

rootFolderId = folderId;

const rootFolder = await akord.api.getObject(rootFolderId, "Folder");
const rootFolder = await akord.folder.get(rootFolderId);
expect(rootFolder.status).toEqual("ACTIVE");
expect(rootFolder.folderId).toEqual(null);

const decryptedState = await akord.service.processReadObject(rootFolder.state, ["title"]);
expect(decryptedState.title).toEqual(name);
expect(rootFolder.state.title).toEqual(name);
});

it("should create a sub folder", async () => {
Expand All @@ -52,21 +50,19 @@ describe("Testing folder commands", () => {

subFolderId = folderId;

const subFolder = await akord.api.getObject(subFolderId, "Folder");
const subFolder = await akord.folder.get(subFolderId);
expect(subFolder.status).toEqual("ACTIVE");
expect(subFolder.folderId).toEqual(rootFolderId);

const decryptedState = await akord.service.processReadObject(subFolder.state, ["title"]);
expect(decryptedState.title).toEqual(name);
expect(subFolder.state.title).toEqual(name);
});

it("should revoke root folder", async () => {
await akord.folder.revoke(rootFolderId);

const rootFolder = await akord.api.getObject(rootFolderId, "Folder");
const rootFolder = await akord.folder.get(rootFolderId);
expect(rootFolder.status).toEqual("REVOKED");

const subFolder = await akord.api.getObject(subFolderId, "Folder");
const subFolder = await akord.folder.get(subFolderId);
expect(subFolder.status).toEqual("REVOKED");
});

Expand All @@ -80,10 +76,10 @@ describe("Testing folder commands", () => {
it("should restore root folder", async () => {
await akord.folder.restore(rootFolderId);

const rootFolder = await akord.api.getObject(rootFolderId, "Folder");
const rootFolder = await akord.folder.get(rootFolderId);
expect(rootFolder.status).toEqual("ACTIVE");

const subFolder = await akord.api.getObject(subFolderId, "Folder");
const subFolder = await akord.folder.get(subFolderId);
expect(subFolder.status).toEqual("ACTIVE");
});
});
14 changes: 7 additions & 7 deletions src/__tests__/membership.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ async function vaultCreate() {
const termsOfAccess = faker.lorem.sentences();
const { vaultId, membershipId } = await akord1.vault.create(name, termsOfAccess);

const membership = await akord1.api.getObject(membershipId, "Membership");
const membership = await akord1.membership.get(membershipId);
expect(membership.status).toEqual("ACCEPTED");
expect(membership.state.role).toEqual("OWNER");

const vault = await akord1.decryptObject(vaultId, "Vault");
const vault = await akord1.vault.get(vaultId);
expect(vault.status).toEqual("ACTIVE");
expect(vault.state.title).toEqual(name);
return { vaultId };
Expand All @@ -36,19 +36,19 @@ describe("Testing membership commands", () => {
it("should invite new member", async () => {
membershipId = (await akord1.membership.invite(vaultId, email2, "CONTRIBUTOR")).membershipId;

const membership = await akord1.api.getObject(membershipId, "Membership");
const membership = await akord1.membership.get(membershipId);
expect(membership.status).toEqual("PENDING");
expect(membership.state.role).toEqual("CONTRIBUTOR");
});

it("should accept the invite", async () => {
await akord2.membership.accept(membershipId);

const membership = await akord2.api.getObject(membershipId, "Membership");
const membership = await akord2.membership.get(membershipId);
expect(membership.status).toEqual("ACCEPTED");

// should be able to decrypt the vault name by the new member
await akord2.decryptObject(vaultId, "Vault");
await akord2.vault.get(vaultId);
});

it("should fail inviting the same member twice", async () => {
Expand All @@ -60,14 +60,14 @@ describe("Testing membership commands", () => {
it("should change access", async () => {
await akord1.membership.changeRole(membershipId, "VIEWER");

const membership = await akord1.api.getObject(membershipId, "Membership");
const membership = await akord1.membership.get(membershipId);
expect(membership.state.role).toEqual("VIEWER");
});

it("should revoke the invite", async () => {
await akord1.membership.revoke(membershipId);

const membership = await akord1.api.getObject(membershipId, "Membership");
const membership = await akord1.membership.get(membershipId);
expect(membership.status).toEqual("REVOKED");
});
});
12 changes: 6 additions & 6 deletions src/__tests__/memo.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ async function vaultCreate() {
const termsOfAccess = faker.lorem.sentences();
const { vaultId, membershipId } = await akord.vault.create(name, termsOfAccess);

const membership = await akord.api.getObject(membershipId, "Membership");
const membership = await akord.membership.get(membershipId);
expect(membership.status).toEqual("ACCEPTED");
expect(membership.state.role).toEqual("OWNER");

const vault = await akord.decryptObject(vaultId, "Vault");
const vault = await akord.vault.get(vaultId);
expect(vault.status).toEqual("ACTIVE");
expect(vault.state.title).toEqual(name);
return { vaultId };
Expand All @@ -36,30 +36,30 @@ describe("Testing memo commands", () => {
const message = faker.lorem.sentences(50);
memoId = (await akord.memo.create(vaultId, message)).memoId;

const memo = await akord.decryptObject(memoId, "Memo");
const memo = await akord.memo.get(memoId);
expect(memo.state.message).toEqual(message);
});

it("should add JOY reaction emoji", async () => {
await akord.memo.addReaction(memoId, reactionEmoji.JOY);

const memo = await akord.decryptObject(memoId, "Memo");
const memo = await akord.memo.get(memoId);
expect(memo.state.reactions.length).toEqual(1);
expect(memo.state.reactions[0].reaction).toEqual(reactionEmoji.JOY);
});

it("should add FIRE reaction emoji", async () => {
await akord.memo.addReaction(memoId, reactionEmoji.FIRE);

const memo = await akord.decryptObject(memoId, "Memo");
const memo = await akord.memo.get(memoId);
expect(memo.state.reactions.length).toEqual(2);
expect(memo.state.reactions[1].reaction).toEqual(reactionEmoji.FIRE);
});

it("should remove JOY reaction emoji", async () => {
await akord.memo.removeReaction(memoId, reactionEmoji.JOY);

const memo = await akord.decryptObject(memoId, "Memo");
const memo = await akord.memo.get(memoId);
expect(memo.state.reactions.length).toEqual(1);
expect(memo.state.reactions[0].reaction).toEqual(reactionEmoji.FIRE);
});
Expand Down
12 changes: 6 additions & 6 deletions src/__tests__/note.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ async function vaultCreate() {
const termsOfAccess = faker.lorem.sentences();
const { vaultId, membershipId } = await akord.vault.create(name, termsOfAccess);

const membership = await akord.api.getObject(membershipId, "Membership");
const membership = await akord.membership.get(membershipId);
expect(membership.status).toEqual("ACCEPTED");
expect(membership.state.role).toEqual("OWNER");

const vault = await akord.decryptObject(vaultId, "Vault");
const vault = await akord.vault.get(vaultId);
expect(vault.status).toEqual("ACTIVE");
expect(vault.state.title).toEqual(name);
return { vaultId };
Expand All @@ -37,7 +37,7 @@ describe("Testing note commands", () => {

noteId = (await akord.note.create(vaultId, name, content)).noteId;

const note = await akord.decryptObject(noteId, "Note");
const note = await akord.note.get(noteId);
expect(note.state.revisions.length).toEqual(1);
expect(JSON.parse(note.state.content)).toEqual(content);
});
Expand All @@ -48,21 +48,21 @@ describe("Testing note commands", () => {

await akord.note.uploadRevision(noteId, name, content);

const note = await akord.api.getObject(noteId, "Note");
const note = await akord.note.get(noteId);
expect(note.state.revisions.length).toEqual(2);
});

it("should revoke the note", async () => {
await akord.note.revoke(noteId);

const note = await akord.api.getObject(noteId, "Note");
const note = await akord.note.get(noteId);
expect(note.status).toEqual("REVOKED");
});

it("should restore the note", async () => {
await akord.note.restore(noteId);

const note = await akord.api.getObject(noteId, "Note");
const note = await akord.note.get(noteId);
expect(note.status).toEqual("ACTIVE");
expect(note.state.revisions.length).toEqual(2);
});
Expand Down
6 changes: 3 additions & 3 deletions src/__tests__/queries.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ describe("Testing querying directly from permaweb", () => {
});

it("Query all vaults from Akord API", async () => {
const result = await clientWithAkordApi.getVaults();
const result = await clientWithAkordApi.vault.list();
expect(result).toEqual(vaults);
});

Expand All @@ -57,12 +57,12 @@ describe("Testing querying directly from permaweb", () => {
});

it("Query all vaults from Arweave API", async () => {
const result = await clientWithArweaveApi.getVaults();
const result = await clientWithArweaveApi.vault.list();
expect(result).toEqual(vaults);
});

it("Query memos from Arweave API", async () => {
const result = await clientWithArweaveApi.getNodes(vaults[0].id, 'Memo');
const result = await clientWithArweaveApi.memo.list(vaults[0].id);
expect(result.length).toEqual(1);
expect(result[0].message).toEqual(message);
});
Expand Down
Loading

0 comments on commit a6c090c

Please sign in to comment.