adonis-workspaces

1.0.3 • Public • Published

Workspaces (Adonis 4.* Package)

A simple user and workspace management package for the adonis framework

Installation

adonis install adonis-workspaces

Checkout instructions.md for setup instructions

Usage

Add this in your controller.

const Workspaces = use('Workspaces')

Create a workspace.

const user = auth.user
await Workspaces.createWorkspace('My Creative Workspace', user)

Join the workspace. Creator of workspace will be joined automatically.

const user = auth.user
const workspace = await Workspace.find(id)
await Workspaces.joinWorkspace(workspace, user)

Invite others to the workspace.

const workspace = await Workspace.find(id)
const inviteFrom = await User.find(auth.user.id)
const inviteTo = await User.query().where('email', 'adam@example.com').first()

await Workspaces.inviteToWorkspace(workspace, inviteTo, inviteFrom)

Accept Invitation.

const invite = await Workspaces.getInviteFromAcceptToken(accept_token)
await Workspaces.acceptInvite(invite)

Deny Invitation.

const invite = await Workspaces.getInviteFromDenyToken(deny_token)
await Workspaces.denyInvite(invite)

Check in to a workspace. Check in to make workspace 'current workspace'.

await Workspaces.checkIntoWorkspace(workspace, user)

Check out from a workspace.

await Workspaces.checkOutFromWorkspace(workspace, user)

Leave a workspace.

await Workspaces.leaveWorkspace(workspace, user)

Delete a workspace. Only owner of workspace is allowed to do so.

await Workspaces.deleteWorkspace(workspace, user)

Other methods

await Workspaces.isOwnerOfWorkspace(workspace, user)
await Workspaces.getCurrentWorkspace(user)
await Workspaces.getWorkspaceOwner(workspace)
await Workspaces.getWorkspaces(user)
await Workspaces.hasPendingInvite(user, workspace)

Dependents (0)

Package Sidebar

Install

npm i adonis-workspaces

Weekly Downloads

5

Version

1.0.3

License

MIT

Unpacked Size

21.3 kB

Total Files

11

Last publish

Collaborators

  • kopahead007