@kubun/server 0.1.0 → 0.2.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 (55) hide show
  1. package/lib/data/automerge.d.ts +5 -0
  2. package/lib/data/automerge.d.ts.map +1 -0
  3. package/lib/data/automerge.js +8 -0
  4. package/lib/data/graphql.d.ts +4 -4
  5. package/lib/data/graphql.d.ts.map +1 -1
  6. package/lib/data/graphql.js +7 -4
  7. package/lib/data/mutations.d.ts +12 -3
  8. package/lib/data/mutations.d.ts.map +1 -1
  9. package/lib/data/mutations.js +65 -29
  10. package/lib/handlers/document.d.ts +8 -0
  11. package/lib/handlers/document.d.ts.map +1 -0
  12. package/lib/handlers/document.js +30 -0
  13. package/lib/handlers/graph.d.ts +4 -4
  14. package/lib/handlers/graph.d.ts.map +1 -1
  15. package/lib/handlers/graph.js +47 -23
  16. package/lib/handlers/index.d.ts +4 -4
  17. package/lib/handlers/index.d.ts.map +1 -1
  18. package/lib/handlers/index.js +5 -1
  19. package/lib/index.d.ts +2 -2
  20. package/lib/index.d.ts.map +1 -1
  21. package/lib/index.js +1 -1
  22. package/lib/server.d.ts +11 -9
  23. package/lib/server.d.ts.map +1 -1
  24. package/lib/server.js +15 -16
  25. package/package.json +16 -16
  26. package/lib/data/cursor.d.ts +0 -8
  27. package/lib/data/cursor.d.ts.map +0 -1
  28. package/lib/data/cursor.js +0 -7
  29. package/lib/data/db.d.ts +0 -31
  30. package/lib/data/db.d.ts.map +0 -1
  31. package/lib/data/db.js +0 -192
  32. package/lib/data/engines/engine.d.ts +0 -6
  33. package/lib/data/engines/engine.d.ts.map +0 -1
  34. package/lib/data/engines/engine.js +0 -12
  35. package/lib/data/engines/postgres.d.ts +0 -25
  36. package/lib/data/engines/postgres.d.ts.map +0 -1
  37. package/lib/data/engines/postgres.js +0 -30
  38. package/lib/data/engines/sqlite.d.ts +0 -24
  39. package/lib/data/engines/sqlite.d.ts.map +0 -1
  40. package/lib/data/engines/sqlite.js +0 -29
  41. package/lib/data/engines/types.d.ts +0 -19
  42. package/lib/data/engines/types.d.ts.map +0 -1
  43. package/lib/data/engines/types.js +0 -1
  44. package/lib/data/migrations/0-init.d.ts +0 -4
  45. package/lib/data/migrations/0-init.d.ts.map +0 -1
  46. package/lib/data/migrations/0-init.js +0 -22
  47. package/lib/data/migrations/migrations.d.ts +0 -4
  48. package/lib/data/migrations/migrations.d.ts.map +0 -1
  49. package/lib/data/migrations/migrations.js +0 -6
  50. package/lib/data/query-builder.d.ts +0 -12
  51. package/lib/data/query-builder.d.ts.map +0 -1
  52. package/lib/data/query-builder.js +0 -218
  53. package/lib/data/types.d.ts +0 -134
  54. package/lib/data/types.d.ts.map +0 -1
  55. package/lib/data/types.js +0 -1
@@ -1,218 +0,0 @@
1
- import { parseCursor } from './cursor.js';
2
- const DEFAULT_LIMIT = 50;
3
- const MAX_LIMIT = 100;
4
- function getLimit(value = DEFAULT_LIMIT) {
5
- return Math.min(value, MAX_LIMIT);
6
- }
7
- function getKeyPath(eb, keys) {
8
- let keyPath = eb.ref('data', '->>');
9
- for (const key of keys){
10
- keyPath = keyPath.key(key);
11
- }
12
- return keyPath;
13
- }
14
- function getOrderByFieldEntry(field) {
15
- const keys = [];
16
- let current = field;
17
- do {
18
- const [key, value] = Object.entries(current)[0];
19
- keys.push(key);
20
- if (typeof value === 'string') {
21
- return {
22
- keys,
23
- direction: value
24
- };
25
- }
26
- current = value;
27
- }while (current != null)
28
- throw new Error('Could not extract field entry');
29
- }
30
- function orderByDirection(direction, isReversed = false) {
31
- return isReversed ? direction === 'asc' ? 'desc' : 'asc' : direction;
32
- }
33
- export function applyPagination(query, args, orderBy = []) {
34
- const { first, last, before, after } = args;
35
- if (first != null) {
36
- const limit = getLimit(first);
37
- return [
38
- applyForwardPagination(query, limit + 1, after, orderBy),
39
- limit
40
- ];
41
- }
42
- if (last != null) {
43
- const limit = getLimit(last);
44
- return [
45
- applyBackwardPagination(query, limit + 1, before, orderBy),
46
- limit
47
- ];
48
- }
49
- const limit = getLimit();
50
- return [
51
- query.orderBy('created_at', 'asc').limit(limit + 1),
52
- limit
53
- ];
54
- }
55
- function applyForwardPagination(queryBuilder, limit, after, orderBy) {
56
- let query = queryBuilder;
57
- if (after != null) {
58
- const { id, ts, values } = parseCursor(after);
59
- if (ts != null) {
60
- const date = new Date(ts);
61
- query = query.where((eb)=>{
62
- return eb.or([
63
- eb('created_at', '>', date),
64
- eb('created_at', '=', date).and('id', '>', id)
65
- ]);
66
- });
67
- } else if (values != null) {
68
- query = query.where((eb)=>{
69
- const entries = [];
70
- for (const orderByField of orderBy){
71
- const entry = getOrderByFieldEntry(orderByField);
72
- const value = values[entry.keys.join('.')];
73
- if (value == null) {
74
- continue;
75
- }
76
- const keyPath = getKeyPath(eb, entry.keys);
77
- entries.push(eb.or([
78
- eb(keyPath, entry.direction === 'asc' ? '>' : '<', value),
79
- eb(keyPath, '=', value).and('id', '>', id)
80
- ]));
81
- }
82
- return eb.and(entries);
83
- });
84
- }
85
- }
86
- return query.orderBy('created_at', 'asc').limit(limit);
87
- }
88
- function applyBackwardPagination(queryBuilder, limit, before, orderBy) {
89
- let query = queryBuilder;
90
- if (before != null) {
91
- const { id, ts, values } = parseCursor(before);
92
- if (ts != null) {
93
- const date = new Date(ts);
94
- query = query.where((eb)=>{
95
- return eb.or([
96
- eb('created_at', '<', date),
97
- eb('created_at', '=', date).and('id', '<', id)
98
- ]);
99
- });
100
- } else if (values != null) {
101
- query = query.where((eb)=>{
102
- const entries = [];
103
- for (const orderByField of orderBy){
104
- const entry = getOrderByFieldEntry(orderByField);
105
- const value = values[entry.keys.join('.')];
106
- if (value == null) {
107
- continue;
108
- }
109
- const keyPath = getKeyPath(eb, entry.keys);
110
- entries.push(eb.or([
111
- eb(keyPath, entry.direction === 'asc' ? '<' : '>', value),
112
- eb(keyPath, '=', value).and('id', '>', id)
113
- ]));
114
- }
115
- return eb.and(entries);
116
- });
117
- }
118
- }
119
- return query.orderBy('created_at', 'desc').limit(limit);
120
- }
121
- export function applyDocumentFilter(eb, filter, path = []) {
122
- const entries = Object.entries(filter);
123
- if (entries.length !== 1) {
124
- throw new Error('Invalid document filter');
125
- }
126
- const [type, value] = entries[0];
127
- switch(type){
128
- case 'where':
129
- return applyObjectFilter(eb, value, path);
130
- case 'and':
131
- return eb.and(value.map((filter)=>{
132
- return applyDocumentFilter(eb, filter, path);
133
- }));
134
- case 'or':
135
- return eb.or(value.map((filter)=>{
136
- return applyDocumentFilter(eb, filter, path);
137
- }));
138
- case 'not':
139
- return eb.not(applyDocumentFilter(eb, value, path));
140
- default:
141
- throw new Error(`Invalid document filter type: ${type}`);
142
- }
143
- }
144
- function applyObjectFilter(eb, filter, path) {
145
- const criteria = Object.entries(filter).map(([fieldName, valueFilter])=>{
146
- // TODO: check if value filter or nested object filter should be applied
147
- // for nested object, check if embedded or related object
148
- return applyValueFilter(eb, [
149
- ...path,
150
- fieldName
151
- ], valueFilter);
152
- });
153
- return eb.and(criteria);
154
- }
155
- export function applyValueFilter(eb, keys, filter) {
156
- const entries = Object.entries(filter);
157
- if (entries.length !== 1) {
158
- throw new Error('Invalid value filter');
159
- }
160
- const fieldName = getKeyPath(eb, keys);
161
- const [type, value] = entries[0];
162
- switch(type){
163
- case 'isNull':
164
- return eb(fieldName, value === true ? 'is' : 'is not', null);
165
- case 'equalTo':
166
- return eb(fieldName, '=', value);
167
- case 'notEqualTo':
168
- return eb(fieldName, '!=', value);
169
- case 'in':
170
- return eb(fieldName, 'in', value);
171
- case 'notIn':
172
- return eb(fieldName, 'not in', value);
173
- case 'lessThan':
174
- return eb(fieldName, '<', value);
175
- case 'lessThanOrEqualTo':
176
- return eb(fieldName, '<=', value);
177
- case 'greaterThan':
178
- return eb(fieldName, '>', value);
179
- case 'greaterThanOrEqualTo':
180
- return eb(fieldName, '>=', value);
181
- default:
182
- throw new Error(`Invalid value filter type: ${type}`);
183
- }
184
- }
185
- export function applyDocumentOrderBy(queryBuilder, orderBy = [], isReverse = false) {
186
- if (orderBy.length === 0) {
187
- return [
188
- queryBuilder.orderBy('created_at', orderByDirection('asc', isReverse)),
189
- null
190
- ];
191
- }
192
- let query = queryBuilder;
193
- const paths = [];
194
- for (const entry of orderBy){
195
- const [newQuery, path] = applyOrderByField(query, entry, isReverse);
196
- query = newQuery;
197
- paths.push(path);
198
- }
199
- return [
200
- query,
201
- paths
202
- ];
203
- }
204
- function applyOrderByField(query, orderBy, isReverse, path = []) {
205
- const entries = Object.entries(orderBy);
206
- if (entries.length !== 1) {
207
- throw new Error('Invalid order by field');
208
- }
209
- const [key, value] = entries[0];
210
- const keys = [
211
- ...path,
212
- key
213
- ];
214
- return typeof value === 'string' ? [
215
- query.orderBy((eb)=>getKeyPath(eb, keys), orderByDirection(value, isReverse)),
216
- keys
217
- ] : applyOrderByField(query, value, isReverse, keys);
218
- }
@@ -1,134 +0,0 @@
1
- import type { DocumentFieldsMeta, DocumentModelSchema } from '@kubun/protocol';
2
- import type { ConnectionArguments } from 'graphql-relay';
3
- import type { ColumnType, Generated, Insertable, JSONColumnType, Selectable, Updateable } from 'kysely';
4
- export type DocumentData = Record<string, unknown>;
5
- export type DocumentTable<Data extends DocumentData = DocumentData> = {
6
- id: string;
7
- owner: string;
8
- model: string;
9
- data: JSONColumnType<Data> | null;
10
- unique: Uint8Array;
11
- created_at: ColumnType<Date, string | undefined, never>;
12
- updated_at: ColumnType<Date, string | undefined, string | undefined>;
13
- };
14
- export type Document<Data extends DocumentData = DocumentData> = Selectable<DocumentTable<Data>>;
15
- export type InsertDocument<Data extends DocumentData = DocumentData> = Insertable<DocumentTable<Data>>;
16
- export type UpdateDocument<Data extends DocumentData = DocumentData> = Updateable<DocumentTable<Data>>;
17
- export type DocumentAttachmentTable = {
18
- id: string;
19
- data: Uint8Array;
20
- created_at: ColumnType<Date, string | undefined, never>;
21
- };
22
- export type DocumentAttachment = Selectable<DocumentAttachmentTable>;
23
- export type InsertDocumentAttachment = Insertable<DocumentAttachmentTable>;
24
- export type DocumentModelTable = {
25
- id: string;
26
- version: string;
27
- name: string;
28
- behavior: string;
29
- set_fields: JSONColumnType<Array<string>> | null;
30
- interfaces: JSONColumnType<Array<string>>;
31
- schema: JSONColumnType<DocumentModelSchema>;
32
- fields_meta: JSONColumnType<DocumentFieldsMeta>;
33
- created_at: ColumnType<Date, string | undefined, never>;
34
- updated_at: ColumnType<Date, string | undefined, string | undefined>;
35
- };
36
- export type DocumentModel = Selectable<DocumentModelTable>;
37
- export type InsertDocumentModel = Insertable<DocumentModelTable>;
38
- export type UpdateDocumentModel = Updateable<DocumentModelTable>;
39
- export type GraphModelTable = {
40
- id: Generated<string>;
41
- name: string;
42
- created_at: ColumnType<Date, string | undefined, never>;
43
- updated_at: ColumnType<Date, string | undefined, string | undefined>;
44
- };
45
- export type GraphModel = Selectable<GraphModelTable>;
46
- export type InsertGraphModel = Insertable<GraphModelTable>;
47
- export type UpdateGraphModel = Updateable<GraphModelTable>;
48
- export type GraphDocumentModelTable = {
49
- graph_model_id: string;
50
- document_model_id: string;
51
- };
52
- export type GraphDocumentModel = Selectable<GraphDocumentModelTable>;
53
- export type InsertGraphDocumentModel = Insertable<GraphDocumentModelTable>;
54
- export type DocumentTables<Models extends Record<string, DocumentData> = Record<string, DocumentData>, Keys = keyof Models> = {
55
- [K in string & Keys]: DocumentTable<Models[K]>;
56
- };
57
- export type Database = {
58
- document: DocumentTable;
59
- document_attachments: DocumentAttachmentTable;
60
- document_models: DocumentModelTable;
61
- graph_document_models: GraphDocumentModelTable;
62
- graph_models: GraphModelTable;
63
- };
64
- export type BooleanValueFilter = {
65
- isNull: boolean;
66
- } | {
67
- equalTo: boolean;
68
- };
69
- export type EnumValueFilter = {
70
- isNull: boolean;
71
- } | {
72
- equalTo: string;
73
- } | {
74
- notEqualTo: string;
75
- } | {
76
- in: Array<string>;
77
- } | {
78
- notIn: Array<string>;
79
- };
80
- export type ScalarValueFilter<T = string | number> = {
81
- isNull: boolean;
82
- } | {
83
- equalTo: T;
84
- } | {
85
- notEqualTo: T;
86
- } | {
87
- in: Array<T>;
88
- } | {
89
- notIn: Array<T>;
90
- } | {
91
- lessThan: T;
92
- } | {
93
- lessThanOrEqualTo: T;
94
- } | {
95
- greaterThan: T;
96
- } | {
97
- greaterThanOrEqualTo: T;
98
- };
99
- export type AnyValueFilter = BooleanValueFilter | EnumValueFilter | ScalarValueFilter;
100
- export type ObjectValuesFilter = {
101
- [key: string]: AnyValueFilter | ObjectValuesFilter;
102
- };
103
- export type DocumentFilter = {
104
- where: ObjectValuesFilter;
105
- } | {
106
- and: Array<DocumentFilter>;
107
- } | {
108
- or: Array<DocumentFilter>;
109
- } | {
110
- not: DocumentFilter;
111
- };
112
- export type OrderByDirection = 'asc' | 'desc';
113
- export type OrderByField = {
114
- [field: string]: OrderByDirection | OrderByField;
115
- };
116
- export type DocumentOrderBy = Array<OrderByField>;
117
- export type CursorDocument = {
118
- cursor: string;
119
- document: Document;
120
- };
121
- export type ListDocumentsParams = {
122
- modelIDs: Array<string>;
123
- docIDS: Array<string>;
124
- };
125
- export type QueryDocumentsParams = ConnectionArguments & {
126
- model: string | null;
127
- filter?: DocumentFilter;
128
- orderBy?: DocumentOrderBy;
129
- };
130
- export type QueryDocumentsResult = {
131
- entries: Array<CursorDocument>;
132
- hasMore: boolean;
133
- };
134
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/data/types.ts"],"names":[],"mappings":"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"}
package/lib/data/types.js DELETED
@@ -1 +0,0 @@
1
- export { };