@api-client/core 0.4.4 → 0.5.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.
Files changed (42) hide show
  1. package/build/browser.d.ts +5 -2
  2. package/build/browser.js +3 -1
  3. package/build/browser.js.map +1 -1
  4. package/build/index.d.ts +5 -2
  5. package/build/index.js +3 -1
  6. package/build/index.js.map +1 -1
  7. package/build/src/mocking/ProjectMock.d.ts +1 -1
  8. package/build/src/mocking/lib/User.d.ts +1 -6
  9. package/build/src/mocking/lib/User.js +1 -15
  10. package/build/src/mocking/lib/User.js.map +1 -1
  11. package/build/src/models/Backend.d.ts +10 -2
  12. package/build/src/models/Workspace.d.ts +5 -35
  13. package/build/src/models/Workspace.js +13 -35
  14. package/build/src/models/Workspace.js.map +1 -1
  15. package/build/src/models/store/File.d.ts +88 -0
  16. package/build/src/models/store/File.js +82 -0
  17. package/build/src/models/store/File.js.map +1 -0
  18. package/build/src/models/store/Group.d.ts +21 -0
  19. package/build/src/models/store/Group.js +2 -0
  20. package/build/src/models/store/Group.js.map +1 -0
  21. package/build/src/models/store/Permission.d.ts +189 -0
  22. package/build/src/models/store/Permission.js +211 -0
  23. package/build/src/models/store/Permission.js.map +1 -0
  24. package/build/src/models/{User.d.ts → store/User.d.ts} +12 -59
  25. package/build/src/models/{User.js → store/User.js} +0 -0
  26. package/build/src/models/store/User.js.map +1 -0
  27. package/build/src/runtime/store/SpacesSdk.d.ts +4 -4
  28. package/build/src/runtime/store/SpacesSdk.js.map +1 -1
  29. package/build/src/runtime/store/UsersSdk.d.ts +1 -1
  30. package/package.json +1 -1
  31. package/src/mocking/ProjectMock.ts +1 -1
  32. package/src/mocking/lib/User.ts +1 -21
  33. package/src/models/Backend.ts +10 -2
  34. package/src/models/Workspace.ts +16 -54
  35. package/src/models/store/File.ts +135 -0
  36. package/src/models/store/Group.ts +21 -0
  37. package/src/models/store/Permission.ts +318 -0
  38. package/src/models/store/User.ts +83 -0
  39. package/src/runtime/store/SpacesSdk.ts +5 -5
  40. package/src/runtime/store/UsersSdk.ts +1 -1
  41. package/build/src/models/User.js.map +0 -1
  42. package/src/models/User.ts +0 -138
@@ -0,0 +1,189 @@
1
+ export declare const Kind = "Core#Permission";
2
+ export declare type PermissionType = 'user' | 'group' | 'anyone';
3
+ export declare type PermissionRole = 'owner' | 'reader' | 'commenter' | 'writer';
4
+ /**
5
+ * A schema describing a permission to a store object.
6
+ */
7
+ export interface IPermission {
8
+ kind: typeof Kind;
9
+ /**
10
+ * The data store key of the permission.
11
+ * This property is generated by the store and is not writable.
12
+ */
13
+ key: string;
14
+ /**
15
+ * The type of the permission.
16
+ *
17
+ * - `user` can access the file by a specific user
18
+ * - `group` can access the file by a group of users
19
+ * - `anyone` the object can be searched by anyone who has access to the store.
20
+ *
21
+ * Note, the `anyone` object does not mean that the end-user sees the file when
22
+ * listing objects in the store. It means the file can be searched for.
23
+ */
24
+ type: PermissionType;
25
+ /**
26
+ * The id of the owner of the permission.
27
+ * The value depends on the `type`. For the `user` type it is the user id.
28
+ * The `group` means the group id. It is not set when the role is `anyone`.
29
+ */
30
+ owner?: string;
31
+ /**
32
+ * The role granted by this permission.
33
+ */
34
+ role: PermissionRole;
35
+ /**
36
+ * The "pretty" name to render with the permission.
37
+ *
38
+ * - `user` type - user's full name
39
+ * - `group` type - the name of the group
40
+ * - `anyone` type - no render name
41
+ */
42
+ displayName?: string;
43
+ /**
44
+ * Optional expiration date of the permission. This is the timestamp when the permission expires.
45
+ * When creating / updating the permission the expiration date must:
46
+ *
47
+ * - be used on a user or a group
48
+ * - the time must be in the future
49
+ */
50
+ expirationTime?: number;
51
+ /**
52
+ * The store id of the user that added this permission.
53
+ */
54
+ addingUser: string;
55
+ /**
56
+ * Whether the permission object is deleted.
57
+ */
58
+ deleted?: boolean;
59
+ /**
60
+ * The timestamp of when the permission was deleted.
61
+ */
62
+ deletedTime?: number;
63
+ /**
64
+ * The id of the user that has deleted the permission.
65
+ */
66
+ deletingUser?: string;
67
+ }
68
+ export declare class Permission {
69
+ kind: string;
70
+ /**
71
+ * The data store key of the permission.
72
+ * This property is generated by the store and is not writable.
73
+ */
74
+ key: string;
75
+ /**
76
+ * The type of the permission.
77
+ *
78
+ * - `user` can access the file by a specific user
79
+ * - `group` can access the file by a group of users
80
+ * - `anyone` the object can be searched by anyone who has access to the store.
81
+ *
82
+ * Note, the `anyone` object does not mean that the end-user sees the file when
83
+ * listing objects in the store. It means the file can be searched for.
84
+ */
85
+ type: PermissionType;
86
+ /**
87
+ * The id of the owner of the permission.
88
+ * The value depends on the `type`. For the `user` type it is the user id.
89
+ * The `group` means the group id. It is not set when the role is `anyone`.
90
+ */
91
+ owner?: string;
92
+ /**
93
+ * The role granted by this permission.
94
+ */
95
+ role: PermissionRole;
96
+ /**
97
+ * The "pretty" name to render with the permission.
98
+ *
99
+ * - `user` type - user's full name
100
+ * - `group` type - the name of the group
101
+ * - `anyone` type - no render name
102
+ */
103
+ displayName?: string;
104
+ /**
105
+ * Optional expiration date of the permission. This is the timestamp when the permission expires.
106
+ * When creating / updating the permission the expiration date must:
107
+ *
108
+ * - be used on a user or a group
109
+ * - the time must be in the future
110
+ */
111
+ expirationTime?: number;
112
+ /**
113
+ * The store id of the user that added this permission.
114
+ */
115
+ addingUser: string;
116
+ /**
117
+ * Whether the file object is deleted.
118
+ */
119
+ deleted?: boolean;
120
+ /**
121
+ * The timestamp of when the file was deleted.
122
+ */
123
+ deletedTime?: number;
124
+ /**
125
+ * The id of the user that has deleted the file.
126
+ */
127
+ deletingUser?: string;
128
+ /**
129
+ * Creates a Permission object for a user.
130
+ *
131
+ * @param role The user role to set.
132
+ * @param user The user id that has the role.
133
+ */
134
+ static fromUserRole(role: PermissionRole, user: string, addingUser: string): Permission;
135
+ /**
136
+ * Creates a Permission object for a group.
137
+ *
138
+ * @param role The group role to set.
139
+ * @param group The group id that has the role.
140
+ */
141
+ static fromGroupRole(role: PermissionRole, group: string, addingUser: string): Permission;
142
+ /**
143
+ * Creates a Permission object for a group.
144
+ *
145
+ * @param role The group role to set.
146
+ * @param group The group id that has the role.
147
+ */
148
+ static fromAnyoneRole(role: PermissionRole, addingUser: string): Permission;
149
+ constructor(input?: string | IPermission);
150
+ /**
151
+ * Creates a new environment clearing anything that is so far defined.
152
+ *
153
+ * Note, this throws an error when the environment is not a space.
154
+ */
155
+ new(init: IPermission): void;
156
+ /**
157
+ * Checks whether the input is a definition of an user space.
158
+ */
159
+ static isPermission(input: unknown): boolean;
160
+ toJSON(): IPermission;
161
+ }
162
+ /**
163
+ * This is used in the communication with the backend to add/change user's access to the resource.
164
+ */
165
+ export interface IAccessOperation {
166
+ /**
167
+ * The user or group id. Not populated for `anyone` type.
168
+ */
169
+ id?: string;
170
+ /**
171
+ * The permission type
172
+ */
173
+ type: PermissionType;
174
+ }
175
+ export interface IAccessAddOperation extends IAccessOperation {
176
+ op: "add";
177
+ /**
178
+ * The level that the user or the group has access to.
179
+ */
180
+ value: PermissionRole;
181
+ /**
182
+ * The timestamp when the permission expires.
183
+ */
184
+ expirationTime?: number;
185
+ }
186
+ export interface IAccessRemoveOperation extends IAccessOperation {
187
+ op: "remove";
188
+ }
189
+ export declare type AccessOperation = IAccessAddOperation | IAccessRemoveOperation;
@@ -0,0 +1,211 @@
1
+ import v4 from '../../lib/uuid.js';
2
+ export const Kind = 'Core#Permission';
3
+ export class Permission {
4
+ kind = Kind;
5
+ /**
6
+ * The data store key of the permission.
7
+ * This property is generated by the store and is not writable.
8
+ */
9
+ key = '';
10
+ /**
11
+ * The type of the permission.
12
+ *
13
+ * - `user` can access the file by a specific user
14
+ * - `group` can access the file by a group of users
15
+ * - `anyone` the object can be searched by anyone who has access to the store.
16
+ *
17
+ * Note, the `anyone` object does not mean that the end-user sees the file when
18
+ * listing objects in the store. It means the file can be searched for.
19
+ */
20
+ type = 'user';
21
+ /**
22
+ * The id of the owner of the permission.
23
+ * The value depends on the `type`. For the `user` type it is the user id.
24
+ * The `group` means the group id. It is not set when the role is `anyone`.
25
+ */
26
+ owner;
27
+ /**
28
+ * The role granted by this permission.
29
+ */
30
+ role = 'reader';
31
+ /**
32
+ * The "pretty" name to render with the permission.
33
+ *
34
+ * - `user` type - user's full name
35
+ * - `group` type - the name of the group
36
+ * - `anyone` type - no render name
37
+ */
38
+ displayName;
39
+ /**
40
+ * Optional expiration date of the permission. This is the timestamp when the permission expires.
41
+ * When creating / updating the permission the expiration date must:
42
+ *
43
+ * - be used on a user or a group
44
+ * - the time must be in the future
45
+ */
46
+ expirationTime;
47
+ /**
48
+ * The store id of the user that added this permission.
49
+ */
50
+ addingUser = '';
51
+ /**
52
+ * Whether the file object is deleted.
53
+ */
54
+ deleted;
55
+ /**
56
+ * The timestamp of when the file was deleted.
57
+ */
58
+ deletedTime;
59
+ /**
60
+ * The id of the user that has deleted the file.
61
+ */
62
+ deletingUser;
63
+ /**
64
+ * Creates a Permission object for a user.
65
+ *
66
+ * @param role The user role to set.
67
+ * @param user The user id that has the role.
68
+ */
69
+ static fromUserRole(role, user, addingUser) {
70
+ const init = {
71
+ key: v4(),
72
+ kind: Kind,
73
+ owner: user,
74
+ role,
75
+ type: 'user',
76
+ addingUser,
77
+ };
78
+ return new Permission(init);
79
+ }
80
+ /**
81
+ * Creates a Permission object for a group.
82
+ *
83
+ * @param role The group role to set.
84
+ * @param group The group id that has the role.
85
+ */
86
+ static fromGroupRole(role, group, addingUser) {
87
+ const init = {
88
+ key: v4(),
89
+ kind: Kind,
90
+ owner: group,
91
+ role,
92
+ type: 'group',
93
+ addingUser,
94
+ };
95
+ return new Permission(init);
96
+ }
97
+ /**
98
+ * Creates a Permission object for a group.
99
+ *
100
+ * @param role The group role to set.
101
+ * @param group The group id that has the role.
102
+ */
103
+ static fromAnyoneRole(role, addingUser) {
104
+ const init = {
105
+ key: v4(),
106
+ kind: Kind,
107
+ role,
108
+ type: 'anyone',
109
+ addingUser,
110
+ };
111
+ return new Permission(init);
112
+ }
113
+ constructor(input) {
114
+ let init;
115
+ if (typeof input === 'string') {
116
+ init = JSON.parse(input);
117
+ }
118
+ else if (typeof input === 'object') {
119
+ init = input;
120
+ }
121
+ else {
122
+ init = {
123
+ kind: Kind,
124
+ key: v4(),
125
+ owner: '',
126
+ role: 'reader',
127
+ type: 'user',
128
+ addingUser: '',
129
+ };
130
+ }
131
+ this.new(init);
132
+ }
133
+ /**
134
+ * Creates a new environment clearing anything that is so far defined.
135
+ *
136
+ * Note, this throws an error when the environment is not a space.
137
+ */
138
+ new(init) {
139
+ if (!Permission.isPermission(init)) {
140
+ throw new Error(`Not a permission.`);
141
+ }
142
+ const { key = v4(), owner, role, type, displayName, expirationTime, addingUser, deleted, deletedTime, deletingUser } = init;
143
+ this.kind = Kind;
144
+ this.key = key;
145
+ this.owner = owner;
146
+ this.role = role;
147
+ this.type = type;
148
+ this.addingUser = addingUser;
149
+ if (displayName) {
150
+ this.displayName = displayName;
151
+ }
152
+ else {
153
+ this.displayName = undefined;
154
+ }
155
+ if (typeof expirationTime === 'number') {
156
+ this.expirationTime = expirationTime;
157
+ }
158
+ else {
159
+ this.expirationTime = undefined;
160
+ }
161
+ if (typeof deleted === 'boolean') {
162
+ this.deleted = deleted;
163
+ this.deletedTime = deletedTime;
164
+ this.deletingUser = deletingUser;
165
+ }
166
+ else {
167
+ this.deleted = undefined;
168
+ this.deletedTime = undefined;
169
+ this.deletingUser = undefined;
170
+ }
171
+ }
172
+ /**
173
+ * Checks whether the input is a definition of an user space.
174
+ */
175
+ static isPermission(input) {
176
+ const typed = input;
177
+ if (!input || typed.kind !== Kind) {
178
+ return false;
179
+ }
180
+ return true;
181
+ }
182
+ toJSON() {
183
+ const result = {
184
+ kind: Kind,
185
+ key: this.key,
186
+ role: this.role,
187
+ type: this.type,
188
+ addingUser: this.addingUser,
189
+ };
190
+ if (this.owner) {
191
+ result.owner = this.owner;
192
+ }
193
+ if (this.displayName) {
194
+ result.displayName = this.displayName;
195
+ }
196
+ if (this.expirationTime) {
197
+ result.expirationTime = this.expirationTime;
198
+ }
199
+ if (typeof this.deleted === 'boolean') {
200
+ result.deleted = this.deleted;
201
+ if (this.deletedTime) {
202
+ result.deletedTime = this.deletedTime;
203
+ }
204
+ if (this.deletingUser) {
205
+ result.deletingUser = this.deletingUser;
206
+ }
207
+ }
208
+ return result;
209
+ }
210
+ }
211
+ //# sourceMappingURL=Permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/models/store/Permission.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,3 @@
1
- export declare type AccessControlLevel = 'read' | 'comment' | 'write' | 'admin' | 'owner';
2
- /**
3
- * This is used in the communication with the backend to add/change user's access to the resource.
4
- */
5
- export interface IUserAccessOperation {
6
- /**
7
- * The user id.
8
- */
9
- uid: string;
10
- }
11
- export interface IUserAccessAddOperation extends IUserAccessOperation {
12
- op: "add";
13
- /**
14
- * The level that the user has access to.
15
- */
16
- value: AccessControlLevel;
17
- }
18
- export interface IUserAccessRemoveOperation extends IUserAccessOperation {
19
- op: "remove";
20
- }
21
- export declare type UserAccessOperation = IUserAccessAddOperation | IUserAccessRemoveOperation;
22
- /**
23
- * The definition of an access control.
24
- * The user may have access to a workspace so this is the object describing the level of the workspace.
25
- */
26
- export interface IAccessControl {
27
- /**
28
- * The data store key of the referenced object the user has access to.
29
- */
30
- key: string;
31
- /**
32
- * The level that the user has access to.
33
- */
34
- level: AccessControlLevel;
35
- }
36
1
  export interface IEmail {
37
2
  /**
38
3
  * When available the email of the user.
@@ -85,6 +50,18 @@ interface BaseUser {
85
50
  * Optional metadata related to the auth provider.
86
51
  */
87
52
  provider?: unknown;
53
+ /**
54
+ * Whether the user is deleted from the system.
55
+ */
56
+ deleted?: boolean;
57
+ /**
58
+ * The timestamp of when the user was deleted.
59
+ */
60
+ deletedTime?: number;
61
+ /**
62
+ * The id of the user that deleted the user.
63
+ */
64
+ deletingUser?: string;
88
65
  }
89
66
  /**
90
67
  * Represents a user in the system.
@@ -100,28 +77,4 @@ export interface IUser extends BaseUser {
100
77
  */
101
78
  provider?: unknown;
102
79
  }
103
- /**
104
- * This object may be created for each user in the system.
105
- * It describes to which spaces user has access to.
106
- */
107
- export interface IUserSpaces {
108
- /**
109
- * The list of access to the spaces for the user.
110
- */
111
- spaces: IAccessControl[];
112
- /**
113
- * The data store key of the user that has access to the space.
114
- * This is also the key of the entry.
115
- */
116
- user: string;
117
- }
118
- /**
119
- * An abstract user object that contains access information to a space.
120
- */
121
- export interface ISpaceUser extends BaseUser {
122
- /**
123
- * The level that the user has access to.
124
- */
125
- level: AccessControlLevel;
126
- }
127
80
  export {};
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/models/store/User.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { JsonPatch } from 'json8-patch';
2
2
  import { SdkBase } from './SdkBase.js';
3
3
  import { IListOptions, IListResponse } from '../../models/Backend.js';
4
- import { IWorkspace, IUserWorkspace, Workspace } from '../../models/Workspace.js';
5
- import { UserAccessOperation } from '../../models/User.js';
4
+ import { IWorkspace, Workspace } from '../../models/Workspace.js';
5
+ import { AccessOperation } from '../../models/store/Permission.js';
6
6
  export declare class SpacesSdk extends SdkBase {
7
7
  /**
8
8
  * Lists spaces in the store.
@@ -20,7 +20,7 @@ export declare class SpacesSdk extends SdkBase {
20
20
  * @param key The user space key
21
21
  * @returns The definition of the user space.
22
22
  */
23
- read(key: string): Promise<IUserWorkspace>;
23
+ read(key: string): Promise<IWorkspace>;
24
24
  /**
25
25
  * Patches a user space in the store.
26
26
  * @param key The key of the user space to patch
@@ -40,7 +40,7 @@ export declare class SpacesSdk extends SdkBase {
40
40
  * @param key The user space key
41
41
  * @param value The patch operation on the space's ACL
42
42
  */
43
- patchUsers(key: string, value: UserAccessOperation[]): Promise<void>;
43
+ patchUsers(key: string, value: AccessOperation[]): Promise<void>;
44
44
  /**
45
45
  * Lists uses having access to the user space.
46
46
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SpacesSdk.js","sourceRoot":"","sources":["../../../../src/runtime/store/SpacesSdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpacesSdk.js","sourceRoot":"","sources":["../../../../src/runtime/store/SpacesSdk.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { SdkBase } from './SdkBase.js';
2
2
  import { IListOptions, IListResponse } from '../../models/Backend.js';
3
- import { IUser } from '../../models/User.js';
3
+ import { IUser } from '../../models/store/User.js';
4
4
  export declare class UsersSdk extends SdkBase {
5
5
  me(): Promise<IUser>;
6
6
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@api-client/core",
3
3
  "description": "The API Client's core client library. Works in NodeJS and in a ES enabled browser.",
4
- "version": "0.4.4",
4
+ "version": "0.5.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "build/index.js",
7
7
  "module": "build/index.js",
@@ -6,7 +6,7 @@ import { History } from './lib/History.js';
6
6
 
7
7
  export { IRequestLogInit } from './lib/Request.js';
8
8
  export { IResponseInit } from './lib/Response.js';
9
- export { ISpaceUserInit, IUserInit } from './lib/User.js';
9
+ export { IUserInit } from './lib/User.js';
10
10
  export { IHttpHistoryInit, IHttpHistoryListInit } from './lib/History.js';
11
11
 
12
12
  export class ProjectMock extends DataMock {
@@ -1,7 +1,6 @@
1
1
  import { Internet, Types, DataMockInit, Person, Random } from '@pawel-up/data-mock';
2
2
  // import { randomValue } from '@pawel-up/data-mock/src/lib/Http.js';
3
- import { IUser, ISpaceUser, AccessControlLevel, Kind as UserKind } from '../../models/User.js';
4
-
3
+ import { IUser, Kind as UserKind } from '../../models/store/User.js';
5
4
 
6
5
  export interface IUserInit {
7
6
  noEmail?: boolean;
@@ -9,13 +8,6 @@ export interface IUserInit {
9
8
  noProvider?: boolean;
10
9
  }
11
10
 
12
- export interface ISpaceUserInit extends IUserInit {
13
- level?: AccessControlLevel;
14
- levelPool?: AccessControlLevel[];
15
- }
16
-
17
- const accessPool: AccessControlLevel[] = ['read', 'comment', 'write', 'admin', 'owner'];
18
-
19
11
  export class User {
20
12
  person: Person;
21
13
  types: Types;
@@ -53,16 +45,4 @@ export class User {
53
45
  }
54
46
  return result;
55
47
  }
56
-
57
- spaceUser(init: ISpaceUserInit = {}): ISpaceUser {
58
- const user = this.user(init) as ISpaceUser;
59
- if (init.level) {
60
- user.level = init.level;
61
- } else if (Array.isArray(init.levelPool)) {
62
- user.level = this.random.pickOne(init.levelPool);
63
- } else {
64
- user.level = this.random.pickOne(accessPool);
65
- }
66
- return user;
67
- }
68
48
  }
@@ -72,7 +72,7 @@ export interface IBackendEvent extends IBackendMessage {
72
72
  id?: string;
73
73
  }
74
74
 
75
- export interface IListResponse {
75
+ export interface IListResponse<T = unknown> {
76
76
  /**
77
77
  * The cursor to use with the next query.
78
78
  * Not set when no more results.
@@ -81,7 +81,7 @@ export interface IListResponse {
81
81
  /**
82
82
  * The list of objects returned from the store.
83
83
  */
84
- data: unknown[];
84
+ data: T[];
85
85
  }
86
86
 
87
87
  export interface IListOptions {
@@ -105,7 +105,15 @@ export interface IListOptions {
105
105
  * Only with the `query` property. Tells the system in which fields to search for the query term.
106
106
  */
107
107
  queryField?: string[];
108
+ /**
109
+ * @deprecated Not sure what this is.
110
+ */
108
111
  type?: string;
112
+ /**
113
+ * Whether the list should contain children of a parent.
114
+ * This is a key of the parent.
115
+ */
116
+ parent?: string;
109
117
  }
110
118
 
111
119
  export interface ICursorOptions {