@fonderie/workspaces 5.3.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/brain/outcomes.md +14 -14
- package/brain/signatures.md +3 -0
- package/dist/index.cjs +220 -118
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -4
- package/dist/index.d.ts +9 -4
- package/dist/index.js +220 -119
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/brain/outcomes.md
CHANGED
|
@@ -84,25 +84,25 @@ INSERT INTO fonderie_roles (name, workspace_id, is_system, description) VALUES (
|
|
|
84
84
|
|---|---|---|
|
|
85
85
|
| GET | `/workspaces` | `requireAuth → workspace.list` |
|
|
86
86
|
| POST | `/workspaces` | `requireAuth → validate(createWorkspaceSchema) → workspace.create` |
|
|
87
|
-
| PUT | `/workspaces` | `requireAuth → wsCtx → validate(updateWorkspaceSchema) → workspace.update` |
|
|
87
|
+
| PUT | `/workspaces` | `requireAuth → wsCtx → manager → validate(updateWorkspaceSchema) → workspace.update` |
|
|
88
88
|
| GET | `/workspaces/:id` | `requireAuth → wsCtx → workspace.get` |
|
|
89
|
-
| POST | `/workspaces/archive` | `requireAuth → wsCtx → workspace.archive` |
|
|
89
|
+
| POST | `/workspaces/archive` | `requireAuth → wsCtx → manager → workspace.archive` |
|
|
90
90
|
| GET | `/workspaces/invitations` | `requireAuth → wsCtx → invitation.list` |
|
|
91
|
-
| POST | `/workspaces/invitations` | `requireAuth → wsCtx → validate(createInvitationsSchema) → invitation.invite` |
|
|
92
|
-
| DELETE | `/workspaces/invitations/:inviteId` | `requireAuth → wsCtx → invitation.cancel` |
|
|
93
|
-
| POST | `/workspaces/invitations/accept` | `requireAuth → validate(acceptInvitationSchema) → invitation.accept` |
|
|
91
|
+
| POST | `/workspaces/invitations` | `requireAuth → wsCtx → manager → validate(createInvitationsSchema) → invitation.invite` |
|
|
92
|
+
| DELETE | `/workspaces/invitations/:inviteId` | `requireAuth → wsCtx → manager → invitation.cancel` |
|
|
93
|
+
| POST | `/workspaces/invitations/accept` | `acceptLimit → requireAuth → validate(acceptInvitationSchema) → invitation.accept` |
|
|
94
94
|
| GET | `/workspaces/members` | `requireAuth → wsCtx → member.list` |
|
|
95
|
-
| DELETE | `/workspaces/members/:userId` | `requireAuth → wsCtx → member.remove` |
|
|
95
|
+
| DELETE | `/workspaces/members/:userId` | `requireAuth → wsCtx → manager → member.remove` |
|
|
96
96
|
| GET | `/workspaces/members/:userId/roles` | `requireAuth → wsCtx → member.getUserRoles` |
|
|
97
|
-
| POST | `/workspaces/members/:userId/roles` | `requireAuth → wsCtx → validate(addMemberRoleSchema) → member.addRole` |
|
|
98
|
-
| DELETE | `/workspaces/members/:userId/roles/:roleId` | `requireAuth → wsCtx → member.removeRole` |
|
|
99
|
-
| POST | `/workspaces/restore` | `requireAuth → wsCtx → workspace.restore` |
|
|
97
|
+
| POST | `/workspaces/members/:userId/roles` | `requireAuth → wsCtx → manager → validate(addMemberRoleSchema) → member.addRole` |
|
|
98
|
+
| DELETE | `/workspaces/members/:userId/roles/:roleId` | `requireAuth → wsCtx → manager → member.removeRole` |
|
|
99
|
+
| POST | `/workspaces/restore` | `requireAuth → wsCtx → manager → workspace.restore` |
|
|
100
100
|
| GET | `/workspaces/roles` | `requireAuth → wsCtx → role.list` |
|
|
101
|
-
| POST | `/workspaces/roles` | `requireAuth → wsCtx → validate(createRoleSchema) → role.create` |
|
|
102
|
-
| DELETE | `/workspaces/roles/:roleId` | `requireAuth → wsCtx → role.remove` |
|
|
101
|
+
| POST | `/workspaces/roles` | `requireAuth → wsCtx → manager → validate(createRoleSchema) → role.create` |
|
|
102
|
+
| DELETE | `/workspaces/roles/:roleId` | `requireAuth → wsCtx → manager → role.remove` |
|
|
103
103
|
| GET | `/workspaces/roles/:roleId` | `requireAuth → wsCtx → role.get` |
|
|
104
|
-
| PUT | `/workspaces/roles/:roleId` | `requireAuth → wsCtx → validate(updateRoleSchema) → role.update` |
|
|
104
|
+
| PUT | `/workspaces/roles/:roleId` | `requireAuth → wsCtx → manager → validate(updateRoleSchema) → role.update` |
|
|
105
105
|
| GET | `/workspaces/roles/:roleId/permissions` | `requireAuth → wsCtx → role.getPermissions` |
|
|
106
|
-
| POST | `/workspaces/roles/:roleId/permissions` | `requireAuth → wsCtx → validate(setRolePermissionsSchema) → role.setPermissions` |
|
|
106
|
+
| POST | `/workspaces/roles/:roleId/permissions` | `requireAuth → wsCtx → manager → validate(setRolePermissionsSchema) → role.setPermissions` |
|
|
107
107
|
| GET | `/workspaces/settings` | `requireAuth → wsCtx → workspace.getSettings` |
|
|
108
|
-
| PUT | `/workspaces/settings` | `requireAuth → wsCtx → validate(updateSettingsSchema) → workspace.updateSettings` |
|
|
108
|
+
| PUT | `/workspaces/settings` | `requireAuth → wsCtx → manager → validate(updateSettingsSchema) → workspace.updateSettings` |
|
package/brain/signatures.md
CHANGED
|
@@ -14,6 +14,7 @@ new WorkspacesModule(store: IStoreAdapter, config?: IWorkspacesConfig, bus?: Eve
|
|
|
14
14
|
|
|
15
15
|
interface IWorkspacesConfig {
|
|
16
16
|
invitationTtl?: string;
|
|
17
|
+
management?: 'owner-or-admin' | 'any-member';
|
|
17
18
|
personalWorkspace?: boolean;
|
|
18
19
|
routes?: Partial<Record<WorkspaceRouteId, WorkspaceRouteOverride>>;
|
|
19
20
|
}
|
|
@@ -168,6 +169,8 @@ function withWorkspace(store: IStoreAdapter): Middleware
|
|
|
168
169
|
|
|
169
170
|
function requireWorkspace(ctx: IFonderieContext, next: () => Promise<Response>): Promise<Response>
|
|
170
171
|
|
|
172
|
+
function requireManager(store: IStoreAdapter, config: IWorkspacesConfig): Middleware
|
|
173
|
+
|
|
171
174
|
namespace schemas — exports: acceptInvitationSchema, addMemberRoleSchema, createInvitationsSchema, createRoleSchema, createWorkspaceSchema, setRolePermissionsSchema, updateRoleSchema, updateSettingsSchema, updateWorkspaceSchema
|
|
172
175
|
|
|
173
176
|
function importWorkspace(store: IStoreAdapter, ws: IImportWorkspace): Promise<{ id: string; }>
|