Aspen is currently in private beta to get a client id please request one here
$ yarn add @aspen.cloud/aspen-sdk
or
$ npm i @aspen.cloud/aspen-sdk
- Request a client ID here
- Initiate the client
import { createClient } from "@aspen.cloud/aspen-sdk";
const aspen = createClient({
clientId: "your-client-id",
});
- Start login for user
aspen.login(); // Redirects user to authentication page and returns with token
- Save data to the user's database
const notes = aspen.currentUser().collection("notes");
await notes.add({
text: "I should buy a giftcards to my favorite restaurants",
type: "TODO",
isDone: false,
});
For all methods you can use on collections check here
- Send a document from the current user to another
const docForJane = {
title: 'Vacation ideas'
text: 'How about a stay-cation?'
type: 'normal'
}
await aspen.currentUser().sendDocTo(docFormJane, 'jane.doe');
- Listen to new changes or received docs for user
/**
* Here we take a message from another user and add it to a comment our note list.
*/
aspen.currentUser().onNewMessage(async (receivedDoc) => {
if (receivedDoc.type === "comment") {
await aspen.collection("notes").upsert(receivedDoc.noteId, (note) => {
return {
...note,
comments: note.comments ? note.comments.append(comment) : [comment],
};
});
}
});