@ceramicnetwork/indexing 1.4.0-rc.1 → 1.5.0-rc.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.
@@ -34,6 +34,7 @@ declare type IndexedData<DateType> = {
34
34
  updated_at: DateType;
35
35
  };
36
36
  export declare abstract class DatabaseIndexApi<DateType = Date | number> {
37
+ #private;
37
38
  protected readonly dbConnection: Knex;
38
39
  private readonly allowQueriesBeforeHistoricalSync;
39
40
  private readonly logger;
@@ -51,6 +52,7 @@ export declare abstract class DatabaseIndexApi<DateType = Date | number> {
51
52
  abstract now(): DateType;
52
53
  abstract parseIndices(indices: unknown): Array<FieldsIndex>;
53
54
  setSyncQueryApi(api: ISyncQueryApi): void;
55
+ addModelImplements(modelID: string, interfaceID: string): void;
54
56
  indexModels(models: Array<IndexModelArgs>): Promise<void>;
55
57
  private indexModelsInDatabase;
56
58
  stopIndexingModels(models: Array<ModelData>): Promise<void>;
@@ -61,11 +63,14 @@ export declare abstract class DatabaseIndexApi<DateType = Date | number> {
61
63
  }): Promise<void>;
62
64
  getIndexedModels(): Array<ModelData>;
63
65
  private getIndexedModelsFromDatabase;
66
+ _getInterfacesModelsFromDataBase(): Promise<Record<string, Set<string>>>;
64
67
  getModelsNoLongerIndexed(): Promise<Array<ModelData>>;
65
68
  assertModelQueryable(modelStreamId: StreamID): Promise<void>;
69
+ _getIndexedModel(id: StreamID): ModelData | undefined;
66
70
  assertModelIsIndexed(modelStreamId: StreamID): Promise<void>;
67
71
  assertNoOngoingSyncForModel(modelStreamId: StreamID): Promise<void>;
68
72
  abstract getCountFromResult(response: Array<Record<string, string | number>>): number;
73
+ getQueryModels(query: BaseQuery): Promise<Set<string>>;
69
74
  count(query: BaseQuery): Promise<number>;
70
75
  page(query: BaseQuery & Pagination): Promise<Page<StreamID>>;
71
76
  init(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"database-index-api.d.ts","sourceRoot":"","sources":["../src/database-index-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,IAAI,EACJ,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAIvE,OAAO,EAAE,aAAa,EAA8C,MAAM,qBAAqB,CAAA;AAE/F,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAI5D,eAAO,MAAM,+BAA+B,mBAAmB,CAAA;AAC/D,eAAO,MAAM,2BAA2B,6BAA6B,CAAA;AAErE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3C,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;CAClC;AAOD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMvE;AAQD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,SAAS,CAAC,EAAE,wBAAwB,CAAA;IACpC,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAC3B;AAED,aAAK,WAAW,CAAC,QAAQ,IAAI;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAA;IAC5C,GAAG,EAAE,MAAM,CAAA;IACX,gBAAgB,EAAE,QAAQ,GAAG,IAAI,CAAA;IACjC,iBAAiB,EAAE,QAAQ,GAAG,IAAI,CAAA;IAClC,UAAU,CAAC,EAAE,QAAQ,CAAA;IACrB,UAAU,EAAE,QAAQ,CAAA;CACrB,CAAA;AAKD,8BAAsB,gBAAgB,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM;IAU3D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI;IACrC,OAAO,CAAC,QAAQ,CAAC,gCAAgC;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,aAAa,CAAuB;IAG5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmC;IAClE,aAAa,EAAG,aAAa,CAAA;IAC7B,OAAO,EAAG,aAAa,CAAA;IAEvB,SAAS,aACY,YAAY,EAAE,IAAI,EACpB,gCAAgC,EAAE,OAAO,EACzC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,QAAQ;IAKpC,QAAQ,CAAC,cAAc,CACrB,YAAY,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GACrE,WAAW,CAAC,QAAQ,CAAC;IACxB,QAAQ,CAAC,GAAG,IAAI,QAAQ;IACxB,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC;IAE3D,eAAe,CAAC,GAAG,EAAE,aAAa;IAS5B,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAmBjD,qBAAqB;IA2C7B,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAOnD,4BAA4B;IA2BpC,WAAW,CACf,YAAY,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GACrE,OAAO,CAAC,IAAI,CAAC;IAeT,gBAAgB,IAAI,KAAK,CAAC,SAAS,CAAC;YAS7B,4BAA4B;IAapC,wBAAwB,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAgBrD,oBAAoB,CAAC,aAAa,EAAE,QAAQ;IAS5C,oBAAoB,CAAC,aAAa,EAAE,QAAQ;IAiB5C,2BAA2B,CAAC,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IASzE,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM;IAK/E,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAexC,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAS5D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB,CAAC,IAAI,CAAC;gBAExD,YAAY,EAAE,IAAI,EAClB,gCAAgC,EAAE,OAAO,EACzC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,QAAQ;IAMnB,GAAG,IAAI,IAAI;IAKX,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM;IAI5E,cAAc,CACZ,YAAY,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GACrE,WAAW,CAAC,IAAI,CAAC;IAcpB,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;CAG9D;AAKD,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAMzE;AAED,qBAAa,cAAe,SAAQ,gBAAgB,CAAC,MAAM,CAAC;gBAExD,YAAY,EAAE,IAAI,EAClB,gCAAgC,EAAE,OAAO,EACzC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,QAAQ;IAMnB,GAAG,IAAI,MAAM;IAIb,kBAAkB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM;IAIvE,cAAc,CACZ,YAAY,EAAE,eAAe,GAAG;QAAE,SAAS,CAAC,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GACrE,WAAW,CAAC,MAAM,CAAC;IActB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;CAGlD"}
1
+ {"version":3,"file":"database-index-api.d.ts","sourceRoot":"","sources":["../src/database-index-api.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,15 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
+ if (kind === "m") throw new TypeError("Private method is not writable");
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
+ };
12
+ var _DatabaseIndexApi_interfacesModels;
1
13
  import { StreamID } from '@ceramicnetwork/streamid';
2
14
  import { InsertionOrder } from './insertion-order.js';
3
15
  import { asTableName } from './as-table-name.util.js';
@@ -23,11 +35,17 @@ export class DatabaseIndexApi {
23
35
  this.network = network;
24
36
  this.indexedModels = [];
25
37
  this.modelRelations = new Map();
38
+ _DatabaseIndexApi_interfacesModels.set(this, {});
26
39
  this.insertionOrder = new InsertionOrder(dbConnection);
27
40
  }
28
41
  setSyncQueryApi(api) {
29
42
  this.syncApi = api;
30
43
  }
44
+ addModelImplements(modelID, interfaceID) {
45
+ const models = __classPrivateFieldGet(this, _DatabaseIndexApi_interfacesModels, "f")[interfaceID] ?? new Set();
46
+ models.add(modelID);
47
+ __classPrivateFieldGet(this, _DatabaseIndexApi_interfacesModels, "f")[interfaceID] = models;
48
+ }
31
49
  async indexModels(models) {
32
50
  await this.indexModelsInDatabase(models);
33
51
  for (const modelArgs of models) {
@@ -69,6 +87,7 @@ export class DatabaseIndexApi {
69
87
  const modelImplements = models.flatMap((args) => {
70
88
  const modelID = args.model.toString();
71
89
  return (args.implements ?? []).map((interfaceID) => {
90
+ this.addModelImplements(modelID, interfaceID);
72
91
  return { interface_id: interfaceID, implemented_by_id: modelID };
73
92
  });
74
93
  });
@@ -124,6 +143,18 @@ export class DatabaseIndexApi {
124
143
  };
125
144
  });
126
145
  }
146
+ async _getInterfacesModelsFromDataBase() {
147
+ const interfacesModels = {};
148
+ const results = await this.dbConnection(MODEL_IMPLEMENTS_TABLE_NAME).select('interface_id', 'implemented_by_id');
149
+ for (const result of results) {
150
+ const interfaceID = result.interface_id;
151
+ if (interfacesModels[interfaceID] == null) {
152
+ interfacesModels[interfaceID] = new Set();
153
+ }
154
+ interfacesModels[interfaceID].add(result.implemented_by_id);
155
+ }
156
+ return interfacesModels;
157
+ }
127
158
  async getModelsNoLongerIndexed() {
128
159
  return (await this.dbConnection(INDEXED_MODEL_CONFIG_TABLE_NAME).select('model', 'indices').where({
129
160
  is_indexed: false,
@@ -138,8 +169,11 @@ export class DatabaseIndexApi {
138
169
  await this.assertModelIsIndexed(modelStreamId);
139
170
  await this.assertNoOngoingSyncForModel(modelStreamId);
140
171
  }
172
+ _getIndexedModel(id) {
173
+ return this.indexedModels.find((indexedModel) => id.equals(indexedModel.streamID));
174
+ }
141
175
  async assertModelIsIndexed(modelStreamId) {
142
- const foundModelToIndex = this.indexedModels.find((indexedModel) => modelStreamId.equals(indexedModel.streamID));
176
+ const foundModelToIndex = this._getIndexedModel(modelStreamId);
143
177
  if (foundModelToIndex == undefined) {
144
178
  const err = new Error(`Query failed: Model ${modelStreamId.toString()} is not indexed on this node`);
145
179
  this.logger.debug(err);
@@ -152,27 +186,73 @@ export class DatabaseIndexApi {
152
186
  throw new IndexQueryNotAvailableError(modelStreamId);
153
187
  }
154
188
  }
189
+ async getQueryModels(query) {
190
+ let ids = [];
191
+ if (Array.isArray(query.models) && query.models.length !== 0) {
192
+ ids = query.models;
193
+ }
194
+ else if (query.model != null) {
195
+ ids = [query.model];
196
+ }
197
+ else {
198
+ throw new Error(`Missing "models" values to execute query`);
199
+ }
200
+ const models = new Set();
201
+ for (const modelID of ids) {
202
+ const id = modelID.toString();
203
+ const interfaceModels = __classPrivateFieldGet(this, _DatabaseIndexApi_interfacesModels, "f")[id];
204
+ if (interfaceModels == null) {
205
+ models.add(id);
206
+ }
207
+ else {
208
+ for (const model of interfaceModels) {
209
+ if (this._getIndexedModel(StreamID.fromString(model)) != null) {
210
+ models.add(model);
211
+ }
212
+ }
213
+ }
214
+ }
215
+ await Promise.all(Array.from(models).map(async (id) => {
216
+ await this.assertModelQueryable(StreamID.fromString(id));
217
+ }));
218
+ return models;
219
+ }
155
220
  async count(query) {
156
- const model = StreamID.fromString(query.model.toString());
157
- await this.assertModelQueryable(model);
158
- const tableName = asTableName(query.model);
159
- let dbQuery = this.dbConnection(tableName).count('*');
160
- dbQuery = this.insertionOrder.applyFilters(dbQuery, query);
161
- return dbQuery.then((response) => this.getCountFromResult(response));
221
+ const models = await this.getQueryModels(query);
222
+ if (models.size === 0) {
223
+ return 0;
224
+ }
225
+ return this.dbConnection
226
+ .count('*')
227
+ .from((qb) => {
228
+ const subQueries = Array.from(models).map((model) => {
229
+ return this.insertionOrder.applyFilters(this.dbConnection.from(asTableName(model)).select('stream_id'), query);
230
+ });
231
+ return qb.unionAll(subQueries).as('models');
232
+ })
233
+ .then((response) => this.getCountFromResult(response));
162
234
  }
163
235
  async page(query) {
164
- const model = StreamID.fromString(query.model.toString());
165
- await this.assertModelQueryable(model);
166
- return this.insertionOrder.page(query);
236
+ const models = await this.getQueryModels(query);
237
+ if (models.size === 0) {
238
+ return { edges: [], pageInfo: { hasNextPage: false, hasPreviousPage: false } };
239
+ }
240
+ return this.insertionOrder.page(models, query);
167
241
  }
168
242
  async init() {
169
243
  await this.tablesManager.initConfigTables(this.network);
170
- this.indexedModels = await this.getIndexedModelsFromDatabase();
244
+ const [indexedModels, interfacesModels] = await Promise.all([
245
+ this.getIndexedModelsFromDatabase(),
246
+ this._getInterfacesModelsFromDataBase(),
247
+ ]);
248
+ this.indexedModels = indexedModels;
249
+ __classPrivateFieldSet(this, _DatabaseIndexApi_interfacesModels, interfacesModels, "f");
171
250
  }
172
251
  async close() {
173
252
  await this.dbConnection.destroy();
174
253
  }
175
254
  }
255
+ _DatabaseIndexApi_interfacesModels = new WeakMap();
176
256
  export class PostgresIndexApi extends DatabaseIndexApi {
177
257
  constructor(dbConnection, allowQueriesBeforeHistoricalSync, logger, network) {
178
258
  super(dbConnection, allowQueriesBeforeHistoricalSync, logger, network);
@@ -1 +1 @@
1
- {"version":3,"file":"database-index-api.js","sourceRoot":"","sources":["../src/database-index-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-index-api.js","sourceRoot":"","sources":["../src/database-index-api.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,20 @@
1
1
  import { type Knex } from 'knex';
2
2
  import { StreamID } from '@ceramicnetwork/streamid';
3
3
  import type { BaseQuery, Page, Pagination } from '@ceramicnetwork/common';
4
+ export declare type StreamContent = Record<string, unknown>;
5
+ export declare type QueryResult = {
6
+ stream_id: string;
7
+ last_anchored_at?: number;
8
+ created_at: number;
9
+ stream_content: string;
10
+ };
11
+ export declare type QueryBuilder = Knex.QueryBuilder<any, Array<QueryResult>>;
12
+ declare type InternalQuery = Omit<BaseQuery, 'model' | 'models'>;
13
+ declare type PageQuery = InternalQuery & Pagination;
4
14
  export declare class InsertionOrder {
5
15
  private readonly dbConnection;
6
16
  constructor(dbConnection: Knex);
7
- page(query: BaseQuery & Pagination): Promise<Page<StreamID>>;
17
+ page(models: Set<string>, query: PageQuery): Promise<Page<StreamID>>;
8
18
  private forwardQuery;
9
19
  private backwardQuery;
10
20
  private query;
@@ -12,4 +22,5 @@ export declare class InsertionOrder {
12
22
  private applyCursor;
13
23
  private applySorting;
14
24
  }
25
+ export {};
15
26
  //# sourceMappingURL=insertion-order.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"insertion-order.d.ts","sourceRoot":"","sources":["../src/insertion-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAsB,MAAM,wBAAwB,CAAA;AA0G7F,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,IAAI;IAEzC,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAuDpD,YAAY;YAYZ,aAAa;IAY3B,OAAO,CAAC,KAAK;IAiBb,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY;IAuB7E,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,YAAY;CAoBrB"}
1
+ {"version":3,"file":"insertion-order.d.ts","sourceRoot":"","sources":["../src/insertion-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAsB,MAAM,wBAAwB,CAAA;AAa7F,oBAAY,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACnD,oBAAY,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AACD,oBAAY,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;AAErE,aAAK,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAA;AACxD,aAAK,SAAS,GAAG,aAAa,GAAG,UAAU,CAAA;AAsF3C,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,IAAI;IAEzC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAuD5D,YAAY;YAaZ,aAAa;IAa3B,OAAO,CAAC,KAAK;IAgCb,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,YAAY;IAuB7E,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,YAAY;CAoBrB"}
@@ -49,14 +49,14 @@ export class InsertionOrder {
49
49
  constructor(dbConnection) {
50
50
  this.dbConnection = dbConnection;
51
51
  }
52
- async page(query) {
52
+ async page(models, query) {
53
53
  const orderByKeys = Object.keys(query.sorting ?? {});
54
54
  const pagination = parsePagination(query);
55
55
  const paginationKind = pagination.kind;
56
56
  switch (paginationKind) {
57
57
  case PaginationKind.FORWARD: {
58
58
  const limit = pagination.first;
59
- const response = await this.forwardQuery(query, pagination);
59
+ const response = await this.forwardQuery(models, query, pagination);
60
60
  const entries = response.slice(0, limit);
61
61
  const firstEntry = entries[0];
62
62
  const lastEntry = entries[entries.length - 1];
@@ -77,7 +77,7 @@ export class InsertionOrder {
77
77
  }
78
78
  case PaginationKind.BACKWARD: {
79
79
  const limit = pagination.last;
80
- const response = await this.backwardQuery(query, pagination);
80
+ const response = await this.backwardQuery(models, query, pagination);
81
81
  const entries = response.slice(-limit);
82
82
  const firstEntry = entries[0];
83
83
  const lastEntry = entries[entries.length - 1];
@@ -100,20 +100,28 @@ export class InsertionOrder {
100
100
  throw new UnsupportedOrderingError(paginationKind);
101
101
  }
102
102
  }
103
- async forwardQuery(query, pagination) {
104
- return await this.query(query, false, Cursor.parse(pagination.after)).limit(pagination.first + 1);
103
+ async forwardQuery(models, query, pagination) {
104
+ return await this.query(models, query, false, Cursor.parse(pagination.after)).limit(pagination.first + 1);
105
105
  }
106
- async backwardQuery(query, pagination) {
107
- const response = await this.query(query, true, Cursor.parse(pagination.before)).limit(pagination.last + 1);
106
+ async backwardQuery(models, query, pagination) {
107
+ const response = await this.query(models, query, true, Cursor.parse(pagination.before)).limit(pagination.last + 1);
108
108
  response.reverse();
109
109
  return response;
110
110
  }
111
- query(query, isReverseOrder, cursor) {
111
+ query(models, query, isReverseOrder, cursor) {
112
112
  let builder = this.dbConnection
113
- .from(asTableName(query.model))
113
+ .from((qb) => {
114
+ const subQueries = Array.from(models).map((model) => {
115
+ const subQuery = this.dbConnection
116
+ .from(asTableName(model))
117
+ .columns(['stream_id', 'last_anchored_at', 'created_at', DATA_FIELD])
118
+ .select();
119
+ return this.applyFilters(subQuery, query);
120
+ });
121
+ return qb.unionAll(subQueries).as('models');
122
+ })
114
123
  .columns(['stream_id', 'last_anchored_at', 'created_at', DATA_FIELD])
115
124
  .select();
116
- builder = this.applyFilters(builder, query);
117
125
  const sorting = query.sorting ?? {};
118
126
  if (cursor != null) {
119
127
  builder = this.applyCursor(builder, cursor, isReverseOrder, sorting);
@@ -1 +1 @@
1
- {"version":3,"file":"insertion-order.js","sourceRoot":"","sources":["../src/insertion-order.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insertion-order.js","sourceRoot":"","sources":["../src/insertion-order.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ceramicnetwork/indexing",
3
- "version": "1.4.0-rc.1",
3
+ "version": "1.5.0-rc.0",
4
4
  "description": "Ceramic indexing and querying logic",
5
5
  "keywords": [
6
6
  "ceramic",
@@ -30,11 +30,11 @@
30
30
  "author": "3Box Labs",
31
31
  "license": "(Apache-2.0 OR MIT)",
32
32
  "dependencies": {
33
- "@ceramicnetwork/anchor-listener": "^1.23.0-rc.0",
34
- "@ceramicnetwork/anchor-utils": "^1.21.0-rc.0",
35
- "@ceramicnetwork/common": "^2.38.0-rc.0",
36
- "@ceramicnetwork/job-queue": "^1.5.0-rc.0",
37
- "@ceramicnetwork/stream-model": "^1.20.0-rc.0",
33
+ "@ceramicnetwork/anchor-listener": "^1.24.0-rc.0",
34
+ "@ceramicnetwork/anchor-utils": "^1.22.0-rc.0",
35
+ "@ceramicnetwork/common": "^2.39.0-rc.0",
36
+ "@ceramicnetwork/job-queue": "^1.6.0-rc.0",
37
+ "@ceramicnetwork/stream-model": "^1.21.0-rc.0",
38
38
  "@ceramicnetwork/streamid": "^2.17.0",
39
39
  "@ethersproject/providers": "^5.5.1",
40
40
  "knex": "^2.5.1",
@@ -46,10 +46,10 @@
46
46
  "uint8arrays": "^4.0.6"
47
47
  },
48
48
  "devDependencies": {
49
- "@ceramicnetwork/3id-did-resolver": "^2.31.0-rc.0",
50
- "@ceramicnetwork/ipfs-daemon": "^2.31.0-rc.1",
51
- "@ceramicnetwork/stream-model-instance": "^1.20.0-rc.0",
52
- "@ceramicnetwork/stream-tile": "^2.34.0-rc.0",
49
+ "@ceramicnetwork/3id-did-resolver": "^2.32.0-rc.0",
50
+ "@ceramicnetwork/ipfs-daemon": "^2.32.0-rc.0",
51
+ "@ceramicnetwork/stream-model-instance": "^1.21.0-rc.0",
52
+ "@ceramicnetwork/stream-tile": "^2.35.0-rc.0",
53
53
  "@stablelib/sha256": "^1.0.1",
54
54
  "did-resolver": "^4.0.1",
55
55
  "dids": "^4.0.0",
@@ -60,5 +60,5 @@
60
60
  "publishConfig": {
61
61
  "access": "public"
62
62
  },
63
- "gitHead": "4457ad9ce71ade781f7164e122d435a070c162fd"
63
+ "gitHead": "4b46db81744f7ef7017ca1fc06fb53d71a8b1a4c"
64
64
  }