@revisium/client 0.2.0 → 0.4.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/README.md +191 -125
- package/dist/branch-scope.d.ts +37 -0
- package/dist/branch-scope.d.ts.map +1 -0
- package/dist/data-operations.d.ts +108 -10
- package/dist/data-operations.d.ts.map +1 -1
- package/dist/index.cjs +799 -263
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +796 -263
- package/dist/index.mjs.map +1 -1
- package/dist/org-scope.d.ts +24 -0
- package/dist/org-scope.d.ts.map +1 -0
- package/dist/project-scope.d.ts +34 -0
- package/dist/project-scope.d.ts.map +1 -0
- package/dist/revision-scope.d.ts +122 -0
- package/dist/revision-scope.d.ts.map +1 -0
- package/dist/revisium-client.d.ts +15 -59
- package/dist/revisium-client.d.ts.map +1 -1
- package/dist/scope-owner.d.ts +7 -0
- package/dist/scope-owner.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/revisium-scope.d.ts +0 -76
- package/dist/revisium-scope.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -23,17 +23,18 @@ npm install @revisium/client
|
|
|
23
23
|
import { RevisiumClient } from '@revisium/client';
|
|
24
24
|
|
|
25
25
|
const client = new RevisiumClient({ baseUrl: 'http://localhost:8080' });
|
|
26
|
+
await client.login('admin', 'admin');
|
|
26
27
|
|
|
27
|
-
//
|
|
28
|
-
await client.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
revision: 'draft',
|
|
28
|
+
// Navigate to a revision scope
|
|
29
|
+
const scope = await client.revision({
|
|
30
|
+
org: 'admin',
|
|
31
|
+
project: 'my-project',
|
|
32
|
+
// branch: 'master', // default
|
|
33
|
+
// revision: 'draft', // default
|
|
33
34
|
});
|
|
34
35
|
|
|
35
36
|
// Create table with schema
|
|
36
|
-
await
|
|
37
|
+
await scope.createTable('posts', {
|
|
37
38
|
type: 'object',
|
|
38
39
|
properties: {
|
|
39
40
|
title: { type: 'string', default: '' },
|
|
@@ -44,32 +45,22 @@ await client.createTable('posts', {
|
|
|
44
45
|
});
|
|
45
46
|
|
|
46
47
|
// Create row
|
|
47
|
-
await
|
|
48
|
+
await scope.createRow('posts', 'post-1', {
|
|
48
49
|
title: 'Hello World',
|
|
49
50
|
published: true,
|
|
50
51
|
});
|
|
51
52
|
|
|
52
53
|
// Read data
|
|
53
|
-
const rows = await
|
|
54
|
-
const row = await
|
|
54
|
+
const rows = await scope.getRows('posts', { first: 100 });
|
|
55
|
+
const row = await scope.getRow('posts', 'post-1');
|
|
55
56
|
|
|
56
57
|
// Commit changes
|
|
57
|
-
await
|
|
58
|
-
|
|
59
|
-
// Read committed data (head revision)
|
|
60
|
-
await client.setContext({
|
|
61
|
-
organizationId: 'admin',
|
|
62
|
-
projectName: 'my-project',
|
|
63
|
-
revision: 'head',
|
|
64
|
-
});
|
|
65
|
-
const tables = await client.getTables();
|
|
58
|
+
await scope.commit('Initial content');
|
|
66
59
|
```
|
|
67
60
|
|
|
68
61
|
## API
|
|
69
62
|
|
|
70
|
-
### Authentication
|
|
71
|
-
|
|
72
|
-
Authentication is not required when the server runs in no-auth mode. If auth is enabled:
|
|
63
|
+
### Authentication
|
|
73
64
|
|
|
74
65
|
```typescript
|
|
75
66
|
await client.login('username', 'password');
|
|
@@ -77,165 +68,240 @@ await client.login('username', 'password');
|
|
|
77
68
|
client.loginWithToken('jwt-token');
|
|
78
69
|
|
|
79
70
|
client.isAuthenticated(); // boolean
|
|
71
|
+
const user = await client.me(); // { id, username, email, hasPassword }
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Scope Hierarchy
|
|
75
|
+
|
|
76
|
+
The client provides a hierarchical navigation model:
|
|
77
|
+
|
|
80
78
|
```
|
|
79
|
+
RevisiumClient
|
|
80
|
+
└── OrgScope — organization-level operations
|
|
81
|
+
└── ProjectScope — project-level operations
|
|
82
|
+
└── BranchScope — branch-level operations, holds head + draft revision IDs
|
|
83
|
+
└── RevisionScope — all data operations (tables, rows, migrations)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Each level is created synchronously except `BranchScope` (fetches head + draft revision IDs) and `RevisionScope` via `branch.revision(id)` (validates the revision exists).
|
|
81
87
|
|
|
82
|
-
###
|
|
88
|
+
### Shortcuts
|
|
89
|
+
|
|
90
|
+
For common cases, skip intermediate scopes with shortcuts on `RevisiumClient`:
|
|
83
91
|
|
|
84
92
|
```typescript
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
93
|
+
// Jump directly to a branch
|
|
94
|
+
const branch = await client.branch({
|
|
95
|
+
org: 'admin',
|
|
96
|
+
project: 'my-project',
|
|
97
|
+
branch: 'master', // default
|
|
90
98
|
});
|
|
91
99
|
|
|
92
|
-
|
|
93
|
-
client.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
100
|
+
// Jump directly to a revision scope
|
|
101
|
+
const scope = await client.revision({
|
|
102
|
+
org: 'admin',
|
|
103
|
+
project: 'my-project',
|
|
104
|
+
branch: 'master', // default
|
|
105
|
+
revision: 'draft', // 'draft' | 'head' | '<revisionId>', default: 'draft'
|
|
106
|
+
});
|
|
97
107
|
```
|
|
98
108
|
|
|
99
|
-
###
|
|
109
|
+
### Full Hierarchy Navigation
|
|
100
110
|
|
|
101
111
|
```typescript
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
await
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
112
|
+
const org = client.org('admin');
|
|
113
|
+
const project = org.project('my-project');
|
|
114
|
+
const branch = await project.branch('master');
|
|
115
|
+
|
|
116
|
+
const draft = branch.draft(); // RevisionScope for draft revision
|
|
117
|
+
const head = branch.head(); // RevisionScope for head revision
|
|
118
|
+
const rev = await branch.revision('some-revision-id'); // specific revision
|
|
108
119
|
```
|
|
109
120
|
|
|
110
|
-
###
|
|
121
|
+
### OrgScope
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
const org = client.org('admin');
|
|
111
125
|
|
|
112
|
-
|
|
126
|
+
await org.getProjects({ first: 100, after: 'cursor' });
|
|
127
|
+
await org.createProject({ projectName: 'new-project', branchName: 'master' });
|
|
128
|
+
await org.getUsers();
|
|
129
|
+
await org.addUser(userId, 'developer');
|
|
130
|
+
await org.removeUser(userId);
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### ProjectScope
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
const project = client.org('admin').project('my-project');
|
|
137
|
+
|
|
138
|
+
await project.get();
|
|
139
|
+
await project.update({ isPublic: true });
|
|
140
|
+
await project.delete();
|
|
141
|
+
await project.getBranches();
|
|
142
|
+
await project.getRootBranch();
|
|
143
|
+
await project.createBranch('feature', revisionId);
|
|
144
|
+
await project.getUsers();
|
|
145
|
+
await project.addUser(userId, 'editor');
|
|
146
|
+
await project.removeUser(userId);
|
|
147
|
+
await project.getEndpoints();
|
|
148
|
+
await project.createEndpoint({ type: 'GRAPHQL' });
|
|
149
|
+
await project.deleteEndpoint(endpointId);
|
|
150
|
+
await project.getEndpointRelatives(endpointId);
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### BranchScope
|
|
113
154
|
|
|
114
155
|
```typescript
|
|
156
|
+
const branch = await client.branch({ org: 'admin', project: 'my-project' });
|
|
157
|
+
|
|
158
|
+
branch.headRevisionId; // string
|
|
159
|
+
branch.draftRevisionId; // string
|
|
160
|
+
|
|
161
|
+
await branch.get();
|
|
162
|
+
await branch.delete();
|
|
163
|
+
await branch.getTouched();
|
|
164
|
+
await branch.getRevisions({ first: 100 });
|
|
165
|
+
await branch.getStartRevision();
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### RevisionScope — Read Operations
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
const scope = await client.revision({ org: 'admin', project: 'my-project' });
|
|
172
|
+
|
|
115
173
|
// Tables
|
|
116
|
-
await
|
|
117
|
-
await
|
|
118
|
-
await
|
|
119
|
-
await
|
|
174
|
+
await scope.getTables({ first: 100, after: 'cursor' });
|
|
175
|
+
await scope.getTable('posts');
|
|
176
|
+
await scope.getTableSchema('posts');
|
|
177
|
+
await scope.getTableCountRows('posts');
|
|
178
|
+
await scope.getTableForeignKeysBy('posts');
|
|
179
|
+
await scope.getTableForeignKeysTo('posts');
|
|
120
180
|
|
|
121
181
|
// Rows
|
|
122
|
-
await
|
|
123
|
-
await
|
|
124
|
-
await
|
|
125
|
-
await
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
await
|
|
129
|
-
await
|
|
182
|
+
await scope.getRows('posts', { first: 100 });
|
|
183
|
+
await scope.getRow('posts', 'post-1');
|
|
184
|
+
await scope.getRowForeignKeysBy('posts', 'post-1', 'comments');
|
|
185
|
+
await scope.getRowForeignKeysTo('posts', 'post-1', 'authors');
|
|
186
|
+
|
|
187
|
+
// Changes
|
|
188
|
+
await scope.getChanges();
|
|
189
|
+
await scope.getTableChanges({ changeTypes: ['ADDED', 'MODIFIED'] });
|
|
190
|
+
await scope.getRowChanges({ tableId: 'posts' });
|
|
191
|
+
|
|
192
|
+
// Migrations
|
|
193
|
+
await scope.getMigrations();
|
|
130
194
|
```
|
|
131
195
|
|
|
132
|
-
###
|
|
196
|
+
### RevisionScope — Endpoint Operations
|
|
197
|
+
|
|
198
|
+
Endpoint operations work on any revision (draft, head, or explicit).
|
|
133
199
|
|
|
134
200
|
```typescript
|
|
135
|
-
|
|
136
|
-
await
|
|
201
|
+
await scope.getEndpoints();
|
|
202
|
+
await scope.getEndpointRelatives(endpointId);
|
|
203
|
+
await scope.createEndpoint({ type: 'GRAPHQL' });
|
|
204
|
+
await scope.deleteEndpoint(endpointId);
|
|
137
205
|
```
|
|
138
206
|
|
|
139
|
-
###
|
|
207
|
+
### RevisionScope — Write Operations (draft only)
|
|
140
208
|
|
|
141
|
-
|
|
209
|
+
Write methods throw if the scope is not a draft revision.
|
|
142
210
|
|
|
143
211
|
```typescript
|
|
144
|
-
const
|
|
145
|
-
await client.login('admin', 'admin');
|
|
212
|
+
const draft = branch.draft();
|
|
146
213
|
|
|
147
|
-
//
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
});
|
|
214
|
+
// Tables
|
|
215
|
+
await draft.createTable('posts', schema);
|
|
216
|
+
await draft.updateTable('posts', patches);
|
|
217
|
+
await draft.deleteTable('posts');
|
|
218
|
+
await draft.renameTable('posts', 'articles');
|
|
153
219
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
220
|
+
// Rows
|
|
221
|
+
await draft.createRow('posts', 'row-1', data);
|
|
222
|
+
await draft.createRows('posts', [{ rowId: 'r1', data }, { rowId: 'r2', data }]);
|
|
223
|
+
await draft.createRows('posts', rows, { isRestore: true });
|
|
224
|
+
await draft.updateRow('posts', 'row-1', data);
|
|
225
|
+
await draft.updateRows('posts', [{ rowId: 'r1', data }]);
|
|
226
|
+
await draft.patchRow('posts', 'row-1', [{ op: 'replace', path: 'title', value: 'New' }]);
|
|
227
|
+
await draft.patchRows('posts', { rows: [...] });
|
|
228
|
+
await draft.deleteRow('posts', 'row-1');
|
|
229
|
+
await draft.deleteRows('posts', ['row-1', 'row-2']);
|
|
230
|
+
await draft.renameRow('posts', 'row-1', 'post-1');
|
|
231
|
+
|
|
232
|
+
// Migrations
|
|
233
|
+
await draft.applyMigrations([{ changeType: 'init', tableId: 'posts', ... }]);
|
|
234
|
+
const results = await draft.applyMigrationsWithStatus(migrations);
|
|
235
|
+
|
|
236
|
+
// File upload
|
|
237
|
+
await draft.uploadFile('posts', 'post-1', 'avatar', file);
|
|
238
|
+
```
|
|
159
239
|
|
|
160
|
-
|
|
161
|
-
await scopeA.createRow('posts', 'row-1', { title: 'Hello' });
|
|
162
|
-
await scopeB.getTables();
|
|
240
|
+
### Version Control (draft only)
|
|
163
241
|
|
|
164
|
-
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
242
|
+
```typescript
|
|
243
|
+
const revision = await draft.commit('my changes');
|
|
244
|
+
await draft.revertChanges();
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
After `commit`, `revertChanges`, or `applyMigrations`, the scope automatically refreshes its `revisionId` and marks sibling scopes on the same branch as stale.
|
|
248
|
+
|
|
249
|
+
### Stale Scopes
|
|
250
|
+
|
|
251
|
+
When one scope commits or reverts, all sibling scopes (created from the same `BranchScope`) on the same branch are marked stale.
|
|
252
|
+
|
|
253
|
+
```typescript
|
|
254
|
+
const branch = await client.branch({ org: 'admin', project: 'my-project' });
|
|
255
|
+
const scopeA = branch.draft();
|
|
256
|
+
const scopeB = branch.draft();
|
|
170
257
|
|
|
171
258
|
await scopeA.commit('changes');
|
|
172
|
-
//
|
|
259
|
+
// scopeB.isStale === true — auto-refreshes revisionId on next data access
|
|
173
260
|
|
|
174
|
-
//
|
|
175
|
-
scopeA.dispose();
|
|
261
|
+
scopeA.dispose(); // unregister from BranchScope tracking
|
|
176
262
|
scopeB.dispose();
|
|
177
|
-
scopeC.dispose();
|
|
178
263
|
```
|
|
179
264
|
|
|
180
|
-
|
|
265
|
+
- Stale scopes auto-refresh their `revisionId` on the next data method call
|
|
266
|
+
- Scopes with explicit `revisionId` (via `branch.revision(id)`) never go stale
|
|
267
|
+
- Concurrent reads on a stale scope share a single refresh call (promise dedup)
|
|
268
|
+
|
|
269
|
+
### RevisionScope Properties
|
|
181
270
|
|
|
182
271
|
```typescript
|
|
183
272
|
scope.organizationId; // string
|
|
184
273
|
scope.projectName; // string
|
|
185
274
|
scope.branchName; // string
|
|
186
|
-
scope.revisionId; // string
|
|
275
|
+
scope.revisionId; // string
|
|
187
276
|
scope.isDraft; // boolean
|
|
188
|
-
scope.isStale; // boolean
|
|
277
|
+
scope.isStale; // boolean
|
|
189
278
|
scope.isDisposed; // boolean
|
|
190
|
-
scope.client; // underlying HTTP client
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
#### Scope Methods
|
|
194
|
-
|
|
195
|
-
```typescript
|
|
196
|
-
// Same data methods as RevisiumClient
|
|
197
|
-
await scope.getTables();
|
|
198
|
-
await scope.createRow('posts', 'row-1', data);
|
|
199
|
-
await scope.commit('message');
|
|
200
|
-
// ... all other read/write/version-control methods
|
|
201
|
-
|
|
202
|
-
// Scope-specific
|
|
203
|
-
scope.markStale(); // manually mark as stale
|
|
204
|
-
await scope.refresh(); // manually refresh revisionId
|
|
205
|
-
scope.dispose(); // unregister from parent tracking
|
|
279
|
+
scope.client; // underlying HTTP client
|
|
206
280
|
```
|
|
207
281
|
|
|
208
|
-
#### Stale Behavior
|
|
209
|
-
|
|
210
|
-
- When one scope commits or reverts, all sibling scopes on the same branch are marked stale
|
|
211
|
-
- Stale scopes auto-refresh their `revisionId` on the next data method call
|
|
212
|
-
- Scopes with explicit `revisionId` (not `'draft'` or `'head'`) never go stale
|
|
213
|
-
- Concurrent reads on a stale scope share a single refresh API call (promise dedup)
|
|
214
|
-
|
|
215
282
|
## Error Handling
|
|
216
283
|
|
|
217
|
-
|
|
284
|
+
Methods throw on errors instead of returning `{ data, error }`:
|
|
218
285
|
|
|
219
286
|
```typescript
|
|
220
|
-
|
|
287
|
+
const branch = await client.branch({ org: 'admin', project: 'my-project' });
|
|
288
|
+
|
|
289
|
+
// Mutations in read-only revision
|
|
290
|
+
const head = branch.head();
|
|
221
291
|
try {
|
|
222
|
-
await
|
|
292
|
+
await head.createRow('posts', 'row-1', { title: 'Hello' });
|
|
223
293
|
} catch (err) {
|
|
224
|
-
console.error(err.message);
|
|
294
|
+
console.error(err.message);
|
|
295
|
+
// "Mutations are only allowed in draft revision."
|
|
225
296
|
}
|
|
226
297
|
|
|
227
|
-
//
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
projectName: 'my-project',
|
|
231
|
-
revision: 'head', // or explicit revisionId
|
|
232
|
-
});
|
|
233
|
-
|
|
298
|
+
// Disposed scope
|
|
299
|
+
const scope = branch.draft();
|
|
300
|
+
scope.dispose();
|
|
234
301
|
try {
|
|
235
|
-
await
|
|
302
|
+
await scope.getTables();
|
|
236
303
|
} catch (err) {
|
|
237
|
-
console.error(err.message);
|
|
238
|
-
// "Mutations are only allowed in draft revision. Use setContext({ revision: "draft" })."
|
|
304
|
+
console.error(err.message); // "Scope has been disposed."
|
|
239
305
|
}
|
|
240
306
|
```
|
|
241
307
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Client } from './generated/client/index.js';
|
|
2
|
+
import type { BranchModel, RevisionsConnection, RevisionModel, TouchedModelDto } from './generated/types.gen.js';
|
|
3
|
+
import type { BranchContext } from './data-operations.js';
|
|
4
|
+
import { RevisionScope } from './revision-scope.js';
|
|
5
|
+
import type { ScopeOwner } from './scope-owner.js';
|
|
6
|
+
export declare class BranchScope implements ScopeOwner {
|
|
7
|
+
private readonly _client;
|
|
8
|
+
private readonly _branch;
|
|
9
|
+
private _headRevisionId;
|
|
10
|
+
private _draftRevisionId;
|
|
11
|
+
private readonly _scopes;
|
|
12
|
+
private constructor();
|
|
13
|
+
static create(client: Client, branch: BranchContext): Promise<BranchScope>;
|
|
14
|
+
get organizationId(): string;
|
|
15
|
+
get projectName(): string;
|
|
16
|
+
get branchName(): string;
|
|
17
|
+
get headRevisionId(): string;
|
|
18
|
+
get draftRevisionId(): string;
|
|
19
|
+
get client(): Client;
|
|
20
|
+
draft(): RevisionScope;
|
|
21
|
+
head(): RevisionScope;
|
|
22
|
+
revision(revisionId: string): Promise<RevisionScope>;
|
|
23
|
+
get(): Promise<BranchModel>;
|
|
24
|
+
delete(): Promise<void>;
|
|
25
|
+
getTouched(): Promise<TouchedModelDto>;
|
|
26
|
+
getRevisions(options?: {
|
|
27
|
+
first?: number;
|
|
28
|
+
after?: string;
|
|
29
|
+
before?: string;
|
|
30
|
+
inclusive?: boolean;
|
|
31
|
+
}): Promise<RevisionsConnection>;
|
|
32
|
+
getStartRevision(): Promise<RevisionModel>;
|
|
33
|
+
notifyBranchChanged(branchKey: string, excludeScope?: RevisionScope): void;
|
|
34
|
+
unregisterScope(scope: RevisionScope): void;
|
|
35
|
+
refreshRevisionIds(): Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=branch-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-scope.d.ts","sourceRoot":"","sources":["../src/branch-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,qBAAa,WAAY,YAAW,UAAU;IAM1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD,OAAO;WAUM,MAAM,CACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,WAAW,CAAC;IAQvB,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,KAAK,IAAI,aAAa;IAatB,IAAI,IAAI,aAAa;IAaf,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBpD,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;IAI3B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC;IAItC,YAAY,CAAC,OAAO,CAAC,EAAE;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI1B,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAQhD,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,aAAa,GAAG,IAAI;IAY1E,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAIrC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ1C"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import type { Client } from './generated/client/index.js';
|
|
2
|
-
import type { CreateRowResponse, CreateRowsResponse, CreateTableResponse, GetTableRowsDto, PatchRow, PatchRowResponse, RenameRowResponse, RenameTableResponse, RevisionChangesResponse, RevisionModel, RowModel, RowsConnection, TableModel, TablesConnection, UpdateRowResponse, UpdateRowsResponse, UpdateTableResponse } from './generated/types.gen.js';
|
|
3
|
-
export interface
|
|
2
|
+
import type { ApplyMigrationsResponse, BranchesConnection, BranchModel, CountModelDto, CreateEndpointDto, CreateProjectDto, CreateRowResponse, CreateRowsResponse, CreateTableResponse, EndpointModel, GetEndpointResultDto, GetTableRowsDto, InitMigrationDto, MigrationsResponse, PatchRow, PatchRowResponse, PatchRowsDto, PatchRowsResponse, ProjectModel, ProjectsConnection, RemoveMigrationDto, RenameMigrationDto, RenameRowResponse, RenameTableResponse, RevisionChangesResponse, RevisionModel, RevisionsConnection, RowChangesConnection, RowModel, RowsConnection, TableChangesConnection, TableModel, TablesConnection, TouchedModelDto, UpdateMigrationDto, UpdateProjectDto, UpdateRowResponse, UpdateRowsResponse, UpdateTableResponse, UploadFileResponse, UsersOrganizationConnection, UsersProjectConnection, MeModel } from './generated/types.gen.js';
|
|
3
|
+
export interface OrgContext {
|
|
4
|
+
readonly client: Client;
|
|
4
5
|
readonly organizationId: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ProjectContext extends OrgContext {
|
|
5
8
|
readonly projectName: string;
|
|
9
|
+
}
|
|
10
|
+
export interface BranchContext extends ProjectContext {
|
|
6
11
|
readonly branchName: string;
|
|
7
12
|
}
|
|
8
13
|
export interface ScopeContext {
|
|
@@ -17,36 +22,129 @@ export declare function unwrap<T>(result: {
|
|
|
17
22
|
}): T;
|
|
18
23
|
export declare function assertDraft(ctx: ScopeContext): void;
|
|
19
24
|
export declare function assertContext(ctx: ScopeContext): void;
|
|
25
|
+
export declare function me(client: Client): Promise<MeModel>;
|
|
26
|
+
export declare function getProjects(ctx: OrgContext, options?: {
|
|
27
|
+
first?: number;
|
|
28
|
+
after?: string;
|
|
29
|
+
}): Promise<ProjectsConnection>;
|
|
30
|
+
export declare function createProject(ctx: OrgContext, body: CreateProjectDto): Promise<ProjectModel>;
|
|
31
|
+
export declare function getOrgUsers(ctx: OrgContext, options?: {
|
|
32
|
+
first?: number;
|
|
33
|
+
after?: string;
|
|
34
|
+
}): Promise<UsersOrganizationConnection>;
|
|
35
|
+
export declare function addOrgUser(ctx: OrgContext, userId: string, roleId: 'organizationOwner' | 'organizationAdmin' | 'developer' | 'editor' | 'reader'): Promise<void>;
|
|
36
|
+
export declare function removeOrgUser(ctx: OrgContext, userId: string): Promise<void>;
|
|
37
|
+
export declare function getProject(ctx: ProjectContext): Promise<ProjectModel>;
|
|
38
|
+
export declare function updateProject(ctx: ProjectContext, body: UpdateProjectDto): Promise<void>;
|
|
39
|
+
export declare function deleteProject(ctx: ProjectContext): Promise<void>;
|
|
40
|
+
export declare function getBranches(ctx: ProjectContext, options?: {
|
|
41
|
+
first?: number;
|
|
42
|
+
after?: string;
|
|
43
|
+
}): Promise<BranchesConnection>;
|
|
44
|
+
export declare function getRootBranch(ctx: ProjectContext): Promise<BranchModel>;
|
|
45
|
+
export declare function getProjectUsers(ctx: ProjectContext, options?: {
|
|
46
|
+
first?: number;
|
|
47
|
+
after?: string;
|
|
48
|
+
}): Promise<UsersProjectConnection>;
|
|
49
|
+
export declare function addProjectUser(ctx: ProjectContext, userId: string, roleId: 'developer' | 'editor' | 'reader'): Promise<void>;
|
|
50
|
+
export declare function removeProjectUser(ctx: ProjectContext, userId: string): Promise<void>;
|
|
51
|
+
export declare function getBranch(client: Client, branch: BranchContext): Promise<BranchModel>;
|
|
52
|
+
export declare function createBranch(client: Client, revisionId: string, branchName: string): Promise<BranchModel>;
|
|
53
|
+
export declare function deleteBranch(client: Client, branch: BranchContext): Promise<void>;
|
|
54
|
+
export declare function getBranchTouched(client: Client, branch: BranchContext): Promise<TouchedModelDto>;
|
|
55
|
+
export declare function getRevisions(client: Client, branch: BranchContext, options?: {
|
|
56
|
+
first?: number;
|
|
57
|
+
after?: string;
|
|
58
|
+
before?: string;
|
|
59
|
+
inclusive?: boolean;
|
|
60
|
+
}): Promise<RevisionsConnection>;
|
|
61
|
+
export declare function getRevision(client: Client, revisionId: string): Promise<RevisionModel>;
|
|
62
|
+
export declare function getParentRevision(client: Client, revisionId: string): Promise<RevisionModel>;
|
|
63
|
+
export declare function getChildRevision(client: Client, revisionId: string): Promise<RevisionModel>;
|
|
64
|
+
export declare function getStartRevision(client: Client, branch: BranchContext): Promise<RevisionModel>;
|
|
65
|
+
export declare function fetchDraftRevisionId(client: Client, branch: BranchContext): Promise<string>;
|
|
66
|
+
export declare function fetchHeadRevisionId(client: Client, branch: BranchContext): Promise<string>;
|
|
67
|
+
export declare function validateRevisionId(client: Client, revisionId: string): Promise<void>;
|
|
68
|
+
export declare function getMigrations(ctx: ScopeContext): Promise<MigrationsResponse>;
|
|
69
|
+
export declare function applyMigrations(ctx: ScopeContext, migrations: Array<InitMigrationDto | UpdateMigrationDto | RenameMigrationDto | RemoveMigrationDto>): Promise<void>;
|
|
70
|
+
export declare function applyMigrationsWithStatus(ctx: ScopeContext, migrations: Array<InitMigrationDto | UpdateMigrationDto | RenameMigrationDto | RemoveMigrationDto>): Promise<ApplyMigrationsResponse>;
|
|
20
71
|
export declare function getTables(ctx: ScopeContext, options?: {
|
|
21
72
|
first?: number;
|
|
22
73
|
after?: string;
|
|
23
74
|
}): Promise<TablesConnection>;
|
|
24
75
|
export declare function getTable(ctx: ScopeContext, tableId: string): Promise<TableModel>;
|
|
25
76
|
export declare function getTableSchema(ctx: ScopeContext, tableId: string): Promise<object>;
|
|
26
|
-
export declare function
|
|
27
|
-
export declare function
|
|
28
|
-
|
|
77
|
+
export declare function getTableCountRows(ctx: ScopeContext, tableId: string): Promise<CountModelDto>;
|
|
78
|
+
export declare function getTableForeignKeysBy(ctx: ScopeContext, tableId: string, options?: {
|
|
79
|
+
first?: number;
|
|
80
|
+
after?: string;
|
|
81
|
+
}): Promise<TablesConnection>;
|
|
82
|
+
export declare function getTableForeignKeysTo(ctx: ScopeContext, tableId: string, options?: {
|
|
83
|
+
first?: number;
|
|
84
|
+
after?: string;
|
|
85
|
+
}): Promise<TablesConnection>;
|
|
86
|
+
export declare function getTableCountForeignKeysBy(ctx: ScopeContext, tableId: string): Promise<CountModelDto>;
|
|
87
|
+
export declare function getTableCountForeignKeysTo(ctx: ScopeContext, tableId: string): Promise<CountModelDto>;
|
|
29
88
|
export declare function createTable(ctx: ScopeContext, tableId: string, schema: object): Promise<CreateTableResponse>;
|
|
30
89
|
export declare function updateTable(ctx: ScopeContext, tableId: string, patches: object[]): Promise<UpdateTableResponse>;
|
|
31
90
|
export declare function deleteTable(ctx: ScopeContext, tableId: string): Promise<void>;
|
|
32
91
|
export declare function renameTable(ctx: ScopeContext, tableId: string, nextTableId: string): Promise<RenameTableResponse>;
|
|
92
|
+
export declare function getRows(ctx: ScopeContext, tableId: string, options?: GetTableRowsDto): Promise<RowsConnection>;
|
|
93
|
+
export declare function getRow(ctx: ScopeContext, tableId: string, rowId: string): Promise<RowModel>;
|
|
94
|
+
export declare function getRowForeignKeysBy(ctx: ScopeContext, tableId: string, rowId: string, foreignKeyByTableId: string, options?: {
|
|
95
|
+
first?: number;
|
|
96
|
+
after?: string;
|
|
97
|
+
}): Promise<RowsConnection>;
|
|
98
|
+
export declare function getRowForeignKeysTo(ctx: ScopeContext, tableId: string, rowId: string, foreignKeyToTableId: string, options?: {
|
|
99
|
+
first?: number;
|
|
100
|
+
after?: string;
|
|
101
|
+
}): Promise<RowsConnection>;
|
|
102
|
+
export declare function getRowCountForeignKeysBy(ctx: ScopeContext, tableId: string, rowId: string): Promise<CountModelDto>;
|
|
103
|
+
export declare function getRowCountForeignKeysTo(ctx: ScopeContext, tableId: string, rowId: string): Promise<CountModelDto>;
|
|
33
104
|
export declare function createRow(ctx: ScopeContext, tableId: string, rowId: string, data: object): Promise<CreateRowResponse>;
|
|
34
105
|
export declare function createRows(ctx: ScopeContext, tableId: string, rows: Array<{
|
|
35
106
|
rowId: string;
|
|
36
107
|
data: object;
|
|
37
|
-
}
|
|
108
|
+
}>, options?: {
|
|
109
|
+
isRestore?: boolean;
|
|
110
|
+
}): Promise<CreateRowsResponse>;
|
|
38
111
|
export declare function updateRow(ctx: ScopeContext, tableId: string, rowId: string, data: object): Promise<UpdateRowResponse>;
|
|
39
112
|
export declare function updateRows(ctx: ScopeContext, tableId: string, rows: Array<{
|
|
40
113
|
rowId: string;
|
|
41
114
|
data: object;
|
|
42
|
-
}
|
|
115
|
+
}>, options?: {
|
|
116
|
+
isRestore?: boolean;
|
|
117
|
+
}): Promise<UpdateRowsResponse>;
|
|
43
118
|
export declare function patchRow(ctx: ScopeContext, tableId: string, rowId: string, patches: PatchRow[]): Promise<PatchRowResponse>;
|
|
119
|
+
export declare function patchRows(ctx: ScopeContext, tableId: string, body: PatchRowsDto): Promise<PatchRowsResponse>;
|
|
44
120
|
export declare function deleteRow(ctx: ScopeContext, tableId: string, rowId: string): Promise<void>;
|
|
45
121
|
export declare function deleteRows(ctx: ScopeContext, tableId: string, rowIds: string[]): Promise<void>;
|
|
46
122
|
export declare function renameRow(ctx: ScopeContext, tableId: string, rowId: string, nextRowId: string): Promise<RenameRowResponse>;
|
|
123
|
+
export declare function getChanges(ctx: ScopeContext): Promise<RevisionChangesResponse>;
|
|
124
|
+
export declare function getTableChanges(ctx: ScopeContext, options?: {
|
|
125
|
+
first?: number;
|
|
126
|
+
after?: string;
|
|
127
|
+
compareWithRevisionId?: string;
|
|
128
|
+
changeTypes?: Array<'ADDED' | 'MODIFIED' | 'REMOVED' | 'RENAMED' | 'RENAMED_AND_MODIFIED'>;
|
|
129
|
+
search?: string;
|
|
130
|
+
withSchemaMigrations?: boolean;
|
|
131
|
+
includeSystem?: boolean;
|
|
132
|
+
}): Promise<TableChangesConnection>;
|
|
133
|
+
export declare function getRowChanges(ctx: ScopeContext, options?: {
|
|
134
|
+
first?: number;
|
|
135
|
+
after?: string;
|
|
136
|
+
compareWithRevisionId?: string;
|
|
137
|
+
tableId?: string;
|
|
138
|
+
changeTypes?: Array<'ADDED' | 'MODIFIED' | 'REMOVED' | 'RENAMED' | 'RENAMED_AND_MODIFIED'>;
|
|
139
|
+
search?: string;
|
|
140
|
+
includeSystem?: boolean;
|
|
141
|
+
}): Promise<RowChangesConnection>;
|
|
47
142
|
export declare function commit(ctx: ScopeContext, comment?: string): Promise<RevisionModel>;
|
|
48
143
|
export declare function revertChanges(ctx: ScopeContext): Promise<void>;
|
|
49
|
-
export declare function
|
|
50
|
-
export declare function
|
|
51
|
-
export declare function
|
|
144
|
+
export declare function getEndpoints(ctx: ScopeContext): Promise<EndpointModel[]>;
|
|
145
|
+
export declare function createEndpoint(ctx: ScopeContext, body: CreateEndpointDto): Promise<EndpointModel>;
|
|
146
|
+
export declare function deleteEndpoint(client: Client, endpointId: string): Promise<void>;
|
|
147
|
+
export declare function getEndpointRelatives(client: Client, endpointId: string): Promise<GetEndpointResultDto>;
|
|
148
|
+
export declare function uploadFile(ctx: ScopeContext, tableId: string, rowId: string, fileId: string, file: Blob | File): Promise<UploadFileResponse>;
|
|
149
|
+
export type { MeModel } from './generated/types.gen.js';
|
|
52
150
|
//# sourceMappingURL=data-operations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-operations.d.ts","sourceRoot":"","sources":["../src/data-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,QAAQ,EACR,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"data-operations.d.ts","sourceRoot":"","sources":["../src/data-operations.ts"],"names":[],"mappings":"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"}
|