488 changes: 179 additions & 309 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions site/__tests__/api/web5-js/dwn/record.test.js
Expand Up @@ -36,7 +36,7 @@ describe('record', () => {
test('readRecord reads the created record', async () => {
const result = await readRecord(record);

expect(result).toBe('Hello World!');
expect(result).toBe('Hello World!');
});

test('updateRecord updates the created record', async () => {
Expand All @@ -46,7 +46,7 @@ describe('record', () => {
});

test('deleteRecord deletes the updated record', async () => {
const result = await deleteRecord(record);
const result = await deleteRecord(web5, myDid, record.id);

expect.soft(result.status.code).toBe(202);
});
Expand Down
10 changes: 7 additions & 3 deletions site/__tests__/quickstart.test.js
Expand Up @@ -49,9 +49,13 @@ describe('/site/tests/quickstart.test.js', () => {
});

test('recordResult successfully deletes the record', async () => {
const deletedRecordResult = await deleteTextRecord(recordResult);
const deletedRecordResult = await deleteTextRecord(
web5,
aliceDid,
recordResult.id,
);
expect.soft(deletedRecordResult.status.code).toBe(202);

expect(recordResult.isDeleted).toBe(true);
});
});

function getFrontPageHtml(pariss) {}
14 changes: 8 additions & 6 deletions site/code-snippets/api/web5-js/dwn/record.js
@@ -1,8 +1,8 @@
export async function createRecordWithHighlight(web5, myDid) {
const { record } = await web5.dwn.records.create({
data: "Hello World!",
data: 'Hello World!',
message: {
dataFormat: "text/plain",
dataFormat: 'text/plain',
},
});

Expand All @@ -26,19 +26,21 @@ export async function createRecord(web5, myDid) {
return record;
}


export async function readRecord(textRecord) {
const recordText = await textRecord.data.text();
return recordText;
}

export async function deleteRecord(record) {
const response = await record.delete();
export async function deleteRecord(web5, did, recordId) {
const response = await web5.dwn.records.delete({
from: did,
message: { recordId },
});

return response;
}

export async function updateRecord(record) {
const response = await record.update({ data: "Hello', I'm updated" });
return response;
}

64 changes: 32 additions & 32 deletions site/code-snippets/api/web5-js/dwn/records.js
Expand Up @@ -59,9 +59,9 @@ export async function queryPlaylistFromDid(web5, myDid) {
},
});

response.records.forEach((record) => {
console.log(record.id);
});
// response.records.forEach((record) => {
// console.log(record.id);
// });

return response;
}
Expand All @@ -74,45 +74,45 @@ export async function sortQueriedRecordsByDate(web5) {
dataFormat: 'text/plain',
},
//highlight-start
dateSort: 'createdAscending'
dateSort: 'createdAscending',
//highlight-end
}
},
});

return response;
}

export async function readRecordFromId(web5, recordId) {
// Reads the indicated record from the user's DWNs
let { record } = await web5.dwn.records.read({
message: {
filter: {
recordId: recordId
}
}
});

// assuming the record has a text payload
const text = await record.data.text();
return text;
// Reads the indicated record from the user's DWNs
let { record } = await web5.dwn.records.read({
message: {
filter: {
recordId: recordId,
},
},
});

// assuming the record has a text payload
const text = await record.data.text();
return text;
}

export async function readRecordByIdFromDid(web5, bobDid, recordId) {
// Reads the indicated record from Bob's DWNs
const { record } = await web5.dwn.records.read({
//highlight-start
from: bobDid,
//highlight-end
message: {
filter:{
recordId: recordId
}
}
});

// assuming the record is a json payload
const data = await record.data.json();
return data;
// Reads the indicated record from Bob's DWNs
const { record } = await web5.dwn.records.read({
//highlight-start
from: bobDid,
//highlight-end
message: {
filter: {
recordId: recordId,
},
},
});

// assuming the record is a json payload
const data = await record.data.json();
return data;
}

export async function deleteRecordFromDid(web5, record, did) {
Expand Down
@@ -1,17 +1,22 @@
export async function deleteFromLocalDWN(web5, recordId) {
//Query records with plain text data format
const response = await web5.dwn.records.query({
message: {
filter: {
recordId: recordId,
//Query records with plain text data format
const response = await web5.dwn.records.query({
message: {
filter: {
recordId: recordId,
},
},
},
});
});

// Grab the first indexed record
const record = response.records[0];
// Grab the first indexed record
const record = response.records[0];

// Delete the record
const deleteResult = await record.delete();
return deleteResult;
}
// Delete the record
const deleteResult = await web5.dwn.records.delete({
message: {
recordId: recordId
},
});

return deleteResult;
}
8 changes: 6 additions & 2 deletions site/code-snippets/web5/quickstart.js
Expand Up @@ -31,8 +31,12 @@ export async function updateTextRecord(record) {
return updateResult;
}

export async function deleteTextRecord(record) {
const deleteResult = await record.delete();
export async function deleteTextRecord(web5, did, recordId) {
const deleteResult = await web5.dwn.records.delete({
message: {
recordId,
},
});

return deleteResult;
}
9 changes: 6 additions & 3 deletions site/docs/web5/quickstart.js
Expand Up @@ -90,7 +90,7 @@ function Web5Quickstart() {
const codeSnippetsUtils = await import('../../src/util/code-snippets');
didCreate = codeSnippetsUtils.didCreate;
createTextRecord = codeSnippetsUtils.createTextRecord;
}
};
loadWeb5();

// query selectors
Expand Down Expand Up @@ -263,7 +263,10 @@ function Web5Quickstart() {

dwnDeleteOutputSummary.innerHTML = '...';

const result = createRecordResult.delete();
const result = await web5.dwn.records.delete({
from: parseDid(),
message: { recordId: createRecordResult.id },
});

dwnDeleteOutputDetailsTextarea.value +=
JSON.stringify(result, null, 2) + '\n';
Expand Down Expand Up @@ -431,4 +434,4 @@ function Web5Quickstart() {
);
}

export default Web5Quickstart;
export default Web5Quickstart;
2 changes: 2 additions & 0 deletions site/package.json
Expand Up @@ -26,6 +26,7 @@
"@react-stately/tooltip": "3.4.1",
"@tailwindcss/typography": "0.5.9",
"autoprefixer": "10.4.13",
"buffer": "6.0.3",
"clsx": "1.2.1",
"crypto-browserify": "3.12.0",
"docusaurus-plugin-remote-content": "4.0.0",
Expand All @@ -35,6 +36,7 @@
"googleapis": "128.0.0",
"postcss": "8.4.31",
"prism-react-renderer": "1.3.5",
"process": "0.11.10",
"react": "17.0.2",
"react-dom": "17.0.2",
"react-markdown": "8.0.7",
Expand Down
16 changes: 8 additions & 8 deletions site/src/util/code-snippets-map.json
Expand Up @@ -7,18 +7,18 @@
"queryMusicProtocol": "const { protocols, status } = await web5.dwn.protocols.query({\n message: {\n filter: {\n protocol: 'https://music.org/protocol',\n },\n },\n });\n\n // logs an array of protocol configurations installed on the user's DWN\n console.log(protocols);",
"queryProtocolDescending": "// Sorting protocols by dateCreated in descending order\n\n const { protocols, status } = await web5.dwn.protocols.query({\n message: {\n filter: {\n protocol: 'http://social-media.xyz',\n },\n //highlight-start\n dateSort: 'createdDescending',\n //highlight-end\n },\n });",
"queryProtocolsFromDid": "//Query protocol on someone else's DWN\n \n const { protocols } = await web5.dwn.protocols.query({\n //highlight-start\n from: bobDid,\n //highlight-end\n message: {\n filter: {\n protocol: 'https://music.org/protocol',\n },\n },\n });\n\n // logs an array of protocol configurations installed on Bob's DWN\n console.log(protocols);",
"createRecordWithHighlight": "const { record } = await web5.dwn.records.create({\n data: \"Hello World!\",\n message: {\n dataFormat: \"text/plain\",\n },\n });\n\n //highlight-start\n const { status } = await record.send(myDid);\n //highlight-end",
"createRecordWithHighlight": "const { record } = await web5.dwn.records.create({\n data: 'Hello World!',\n message: {\n dataFormat: 'text/plain',\n },\n });\n\n //highlight-start\n const { status } = await record.send(myDid);\n //highlight-end",
"createRecord": "const { record } = await web5.dwn.records.create({\n data: 'Hello World!',\n message: {\n dataFormat: 'text/plain',\n },\n });\n\n const { status } = await record.send(myDid);",
"readRecord": "const recordText = await textRecord.data.text();",
"deleteRecord": "const response = await record.delete();",
"deleteRecord": "const response = await web5.dwn.records.delete({\n from: did,\n message: { recordId },\n });",
"updateRecord": "const response = await record.update({ data: \"Hello', I'm updated\" });",
"createRecordsWithPlaylist": "const { record } = await web5.dwn.records.create({\n data: playlistJson,\n message: {\n recipient: 'did:example:alice',\n schema: 'https://schema.org/Playlist',\n dataFormat: 'application/json',\n },\n });",
"createRecordWithoutStore": "// this creates a record, but does not store it in the user's local DWN\n const { record } = await web5.dwn.records.create({\n //highlight-start\n store: false,\n //highlight-end\n data: 'Hello again, World!',\n message: {\n recipient: 'did:example:alice',\n dataFormat: 'text/plain',\n },\n });",
"createRecordAndSend": "// this creates a record and stores it in the user's local DWN\n const { record } = await web5.dwn.records.create({\n data: 'Hello World!',\n message: {\n dataFormat: 'text/plain',\n },\n });\n\n /*\n send the record to the user's remote DWNs. Only needed\n if it's a record that cannot wait for sync to occur.\n */\n const { status: myDidStatus } = await record.send(myDid);\n\n // send the newly generated record to Bob's DWNs\n const { status: bobStatus } = await record.send(bobDid);",
"queryPlaylistFromDid": "const response = await web5.dwn.records.query({\n from: myDid,\n message: {\n filter: {\n schema: 'https://schema.org/Playlist',\n dataFormat: 'application/json',\n },\n },\n });\n\n response.records.forEach((record) => {\n console.log(record.id);\n });",
"sortQueriedRecordsByDate": "// Sorting records by dateCreated in ascending order\n const response = await web5.dwn.records.query({\n message: {\n filter: {\n dataFormat: 'text/plain',\n },\n //highlight-start\n dateSort: 'createdAscending'\n //highlight-end\n }\n });",
"readRecordFromId": "// Reads the indicated record from the user's DWNs\nlet { record } = await web5.dwn.records.read({\n message: {\n filter: {\n recordId: recordId\n }\n }\n});\n\n// assuming the record has a text payload\nconst text = await record.data.text();",
"readRecordByIdFromDid": "// Reads the indicated record from Bob's DWNs\nconst { record } = await web5.dwn.records.read({\n //highlight-start\n from: bobDid,\n //highlight-end\n message: {\n filter:{\n recordId: recordId\n }\n }\n});\n\n// assuming the record is a json payload\nconst data = await record.data.json();",
"queryPlaylistFromDid": "const response = await web5.dwn.records.query({\n from: myDid,\n message: {\n filter: {\n schema: 'https://schema.org/Playlist',\n dataFormat: 'application/json',\n },\n },\n });\n\n // response.records.forEach((record) => {\n // console.log(record.id);\n // });",
"sortQueriedRecordsByDate": "// Sorting records by dateCreated in ascending order\n const response = await web5.dwn.records.query({\n message: {\n filter: {\n dataFormat: 'text/plain',\n },\n //highlight-start\n dateSort: 'createdAscending',\n //highlight-end\n },\n });",
"readRecordFromId": "// Reads the indicated record from the user's DWNs\n let { record } = await web5.dwn.records.read({\n message: {\n filter: {\n recordId: recordId,\n },\n },\n });\n\n // assuming the record has a text payload\n const text = await record.data.text();",
"readRecordByIdFromDid": "// Reads the indicated record from Bob's DWNs\n const { record } = await web5.dwn.records.read({\n //highlight-start\n from: bobDid,\n //highlight-end\n message: {\n filter: {\n recordId: recordId,\n },\n },\n });\n\n // assuming the record is a json payload\n const data = await record.data.json();",
"deleteRecordFromDid": "const response = await web5.dwn.records.delete({\n //highlight-next-line\n from: did,\n message: {\n recordId: record.id,\n },\n });",
"connectWithDWNEndpoint": "const { web5, did } = await Web5.connect({\n techPreview: {\n dwnEndpoints: [\"https://dwn.your-domain.org/\"]\n },\n});",
"connectWithAgentAndConnectedDid": "const {web5, did} = await Web5.connect({\n agent: identityAgent,\n connectedDid: existingDid\n});",
Expand All @@ -27,7 +27,7 @@
"createAliceDid": "const { web5, did: aliceDid } = await Web5.connect();\n\n // Create the record\n const { record } = await web5.dwn.records.create({\n data: 'Hello Web5',\n message: {\n dataFormat: 'text/plain',\n },\n });\n\n // Read the record\n const readResult = await record.data.text();",
"createDidManually": "const myDid = await Web5.did.create('ion');",
"createDidAutomatically": "const { web5, did: myDid } = await Web5.connect();",
"deleteFromLocalDWN": "//Query records with plain text data format\nconst response = await web5.dwn.records.query({\n message: {\n filter: {\n recordId: recordId,\n },\n },\n});\n\n// Grab the first indexed record\nconst record = response.records[0];\n\n// Delete the record\nconst deleteResult = await record.delete();",
"deleteFromLocalDWN": "//Query records with plain text data format\n const response = await web5.dwn.records.query({\n message: {\n filter: {\n recordId: recordId,\n },\n },\n });\n\n // Grab the first indexed record\n const record = response.records[0];\n\n // Delete the record\n const deleteResult = await web5.dwn.records.delete({\n message: {\n recordId: recordId\n },\n });",
"createPublishedRecord": "const {record} = await web5.dwn.records.create({\n data: \"a published record\",\n message: {\n dataFormat: \"text/plain\",\n //highlight-start\n published: true\n //highlight-end\n }\n });",
"createRecordWithDatePublished": "// Create a new Date instance for tomorrow\nconst today = new Date();\nconst tomorrow = new Date(today);\ntomorrow.setDate(today.getDate() + 1);\n\n// Format the date and time in YYYY-MM-DDThh:mm:ss.ssssssZ format\nconst formattedDate = tomorrow.toISOString().replace(/\\.\\d{3}Z$/, '.000000Z');\n\n// Create a record today to be published tomorrow\nconst { record } = await web5.dwn.records.create({\n data: \"This record will be created now and published tomorrow\",\n message: {\n dataFormat: \"text/plain\",\n //highlight-start\n published: true,\n datePublished: formattedDate\n //highlight-end\n },\n});",
"queryProtocolsForMusic": "const { protocols } = await web5.dwn.protocols.query({\n message: {\n filter: {\n protocol: 'https://music.org/protocol',\n },\n },\n });",
Expand All @@ -53,5 +53,5 @@
"didCreate": "const { web5, did: aliceDid } = await Web5.connect();",
"readTextRecord": "const readResult = await record.data.text();",
"updateTextRecord": "const updateResult = await record.update({\n data: 'Hello, Web5! I am updated.',\n });",
"deleteTextRecord": "const deleteResult = await record.delete();"
"deleteTextRecord": "const deleteResult = await web5.dwn.records.delete({\n message: {\n recordId,\n },\n });"
}
2 changes: 1 addition & 1 deletion site/static/files/index.txt
Expand Up @@ -13,4 +13,4 @@ const readResult = await record.data.text();

const updateResult = await record.update({ data: "Hello, I'm updated!" });

const deleteResult = await record.delete();
const deleteResult = await web5.dwn.records.delete({ from: aliceDid, message: { recordId: record.id } });