@arcote.tech/arc-workspace 0.4.6 → 0.4.7

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@arcote.tech/arc-workspace",
3
3
  "type": "module",
4
- "version": "0.4.6",
4
+ "version": "0.4.7",
5
5
  "private": false,
6
6
  "description": "Reusable workspace module for Arc framework — multi-workspace with dual token architecture",
7
7
  "main": "./src/index.ts",
@@ -10,8 +10,8 @@
10
10
  "type-check": "tsc --noEmit"
11
11
  },
12
12
  "peerDependencies": {
13
- "@arcote.tech/arc": "^0.4.6",
14
- "@arcote.tech/arc-auth": "^0.4.6",
13
+ "@arcote.tech/arc": "^0.4.7",
14
+ "@arcote.tech/arc-auth": "^0.4.7",
15
15
  "typescript": "^5.0.0"
16
16
  },
17
17
  "devDependencies": {
@@ -2,7 +2,7 @@ import {
2
2
  aggregate,
3
3
  date,
4
4
  string,
5
- type AggregateConstructorAny,
5
+ type ArcAggregateElement,
6
6
  type ArcId,
7
7
  } from "@arcote.tech/arc";
8
8
  import type { Token } from "@arcote.tech/arc-auth";
@@ -15,7 +15,7 @@ export type WorkspaceMemberAggregateData = {
15
15
  accountId: ArcId<any>;
16
16
  workspaceToken: WorkspaceToken;
17
17
  userToken: Token;
18
- WorkspaceAggregate: AggregateConstructorAny;
18
+ WorkspaceAggregate: ArcAggregateElement<any, any, any, any, any, any>;
19
19
  };
20
20
 
21
21
  export const createWorkspaceMemberAggregate = <
@@ -206,11 +206,9 @@ export const createWorkspaceMemberAggregate = <
206
206
 
207
207
  .protectBy(userToken, (params: any) => ({ accountId: params.accountId }))
208
208
  .clientQuery("getAll", async (ctx) => ctx.$query.find({}))
209
- .build();
209
+ ;
210
210
 
211
- class WorkspaceMember extends Constructor {}
212
-
213
- return WorkspaceMember;
211
+ return Constructor;
214
212
  };
215
213
 
216
214
  export type WorkspaceMemberAggregate<
@@ -115,7 +115,7 @@ export const createWorkspaceAggregate = <
115
115
  )
116
116
 
117
117
  .clientQuery("getAll", async (ctx) => ctx.$query.find({}))
118
- .build();
118
+ ;
119
119
  };
120
120
 
121
121
  export type WorkspaceAggregate<
@@ -1,9 +1,7 @@
1
1
  import {
2
- aggregateContextElement,
3
2
  context,
4
3
  type ArcAggregateElement,
5
4
  type ArcContextElement,
6
- type AggregateConstructorAny,
7
5
  } from "@arcote.tech/arc";
8
6
  import type { AccountId, Token } from "@arcote.tech/arc-auth";
9
7
  import { createWorkspaceId } from "./ids/workspace";
@@ -16,10 +14,8 @@ export class WorkspaceBuilder<
16
14
  WsId,
17
15
  WsMemberId,
18
16
  WsToken,
19
- Workspace extends AggregateConstructorAny,
20
- WorkspaceEl extends ArcAggregateElement<Workspace>,
21
- WorkspaceMember extends AggregateConstructorAny,
22
- WorkspaceMemberEl extends ArcAggregateElement<WorkspaceMember>,
17
+ Workspace extends ArcAggregateElement,
18
+ WorkspaceMember extends ArcAggregateElement,
23
19
  Types extends readonly string[],
24
20
  Elements extends ArcContextElement<any>[],
25
21
  > {
@@ -29,9 +25,7 @@ export class WorkspaceBuilder<
29
25
  readonly workspaceMemberId: WsMemberId,
30
26
  readonly workspaceToken: WsToken,
31
27
  readonly Workspace: Workspace,
32
- readonly workspaceElement: WorkspaceEl,
33
28
  readonly WorkspaceMember: WorkspaceMember,
34
- readonly workspaceMemberElement: WorkspaceMemberEl,
35
29
  readonly types: Types,
36
30
  readonly elements: Elements,
37
31
  ) {}
@@ -45,7 +39,6 @@ export class WorkspaceBuilder<
45
39
  Workspace: this.Workspace,
46
40
  WorkspaceMember: this.WorkspaceMember,
47
41
  types: this.types,
48
- // Protection helpers
49
42
  isOwner: (params: { role: string }) => params.role === "owner",
50
43
  isMember: (params: { role: string }) =>
51
44
  params.role === "member" || params.role === "owner",
@@ -80,7 +73,6 @@ export function workspace<
80
73
  accountId: config.accountId,
81
74
  workspaceToken,
82
75
  });
83
- const workspaceElement = aggregateContextElement(Workspace);
84
76
 
85
77
  const WorkspaceMember = createWorkspaceMemberAggregate({
86
78
  name: config.name,
@@ -91,9 +83,6 @@ export function workspace<
91
83
  userToken: config.userToken,
92
84
  WorkspaceAggregate: Workspace,
93
85
  });
94
- const workspaceMemberElement = aggregateContextElement(WorkspaceMember);
95
-
96
- const elements = [workspaceElement, workspaceMemberElement];
97
86
 
98
87
  return new WorkspaceBuilder(
99
88
  config.name,
@@ -101,10 +90,8 @@ export function workspace<
101
90
  workspaceMemberId,
102
91
  workspaceToken,
103
92
  Workspace,
104
- workspaceElement,
105
93
  WorkspaceMember,
106
- workspaceMemberElement,
107
94
  config.types,
108
- elements,
95
+ [Workspace, WorkspaceMember],
109
96
  );
110
97
  }