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)

Package Sidebar

Install

npm i adonis-workspaces

Weekly Downloads

1

Version

1.0.3

License

MIT

Unpacked Size

21.3 kB

Total Files

11

Last publish

Collaborators

  • kopahead007