proto.io 0.0.217 → 0.0.219

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 (50) hide show
  1. package/dist/adapters/file/aliyun-oss.d.ts +3 -3
  2. package/dist/adapters/file/database.d.ts +2 -2
  3. package/dist/adapters/file/database.js +2 -2
  4. package/dist/adapters/file/database.mjs +2 -2
  5. package/dist/adapters/file/filesystem.d.ts +3 -3
  6. package/dist/adapters/file/google-cloud-storage.d.ts +3 -3
  7. package/dist/adapters/storage/progres.d.ts +1 -1
  8. package/dist/adapters/storage/progres.js +38 -38
  9. package/dist/adapters/storage/progres.js.map +1 -1
  10. package/dist/adapters/storage/progres.mjs +38 -38
  11. package/dist/adapters/storage/progres.mjs.map +1 -1
  12. package/dist/client.d.ts +3 -3
  13. package/dist/client.js +2 -2
  14. package/dist/client.mjs +3 -3
  15. package/dist/index.d.ts +3 -3
  16. package/dist/index.js +27 -27
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.mjs +28 -28
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/internals/{base-CWnOBKD5.d.ts → base-C1uAg1dD.d.ts} +2 -2
  21. package/dist/internals/base-C1uAg1dD.d.ts.map +1 -0
  22. package/dist/internals/{chunk-CNNSQpRF.d.ts → chunk-CpgqvFNO.d.ts} +3 -3
  23. package/dist/internals/chunk-CpgqvFNO.d.ts.map +1 -0
  24. package/dist/internals/{index-Bs8n7Q8f.d.ts → index-82GLvDiN.d.ts} +18 -18
  25. package/dist/internals/index-82GLvDiN.d.ts.map +1 -0
  26. package/dist/internals/{index-B8TESzd9.js → index-CLKTEIj0.js} +2 -2
  27. package/dist/internals/index-CLKTEIj0.js.map +1 -0
  28. package/dist/internals/{index-BRIlS3mY.d.ts → index-CWhqANZM.d.ts} +3 -3
  29. package/dist/internals/index-CWhqANZM.d.ts.map +1 -0
  30. package/dist/internals/{index-DfqABzjr.mjs → index-CZ5fKgiJ.mjs} +26 -26
  31. package/dist/internals/index-CZ5fKgiJ.mjs.map +1 -0
  32. package/dist/internals/{index-BzDsTt4R.mjs → index-gWcE22mf.mjs} +2 -2
  33. package/dist/internals/index-gWcE22mf.mjs.map +1 -0
  34. package/dist/internals/{index-DylUjD_1.js → index-xHeu-AjT.js} +26 -26
  35. package/dist/internals/index-xHeu-AjT.js.map +1 -0
  36. package/dist/internals/{validator-mcBCJP4P.js → validator-B5yHpyvb.js} +10 -10
  37. package/dist/internals/validator-B5yHpyvb.js.map +1 -0
  38. package/dist/internals/{validator-CEcBF4Cn.mjs → validator-DX2nXeQo.mjs} +10 -10
  39. package/dist/internals/validator-DX2nXeQo.mjs.map +1 -0
  40. package/package.json +2 -2
  41. package/dist/internals/base-CWnOBKD5.d.ts.map +0 -1
  42. package/dist/internals/chunk-CNNSQpRF.d.ts.map +0 -1
  43. package/dist/internals/index-B8TESzd9.js.map +0 -1
  44. package/dist/internals/index-BRIlS3mY.d.ts.map +0 -1
  45. package/dist/internals/index-Bs8n7Q8f.d.ts.map +0 -1
  46. package/dist/internals/index-BzDsTt4R.mjs.map +0 -1
  47. package/dist/internals/index-DfqABzjr.mjs.map +0 -1
  48. package/dist/internals/index-DylUjD_1.js.map +0 -1
  49. package/dist/internals/validator-CEcBF4Cn.mjs.map +0 -1
  50. package/dist/internals/validator-mcBCJP4P.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { P as ProtoService } from '../../internals/index-Bs8n7Q8f.js';
1
+ import { P as ProtoService } from '../../internals/index-82GLvDiN.js';
2
2
  import OSS from 'ali-oss';
3
- import { a as FileStorageOptions } from '../../internals/base-CWnOBKD5.js';
4
- import { F as FileChunkStorageBase } from '../../internals/chunk-CNNSQpRF.js';
3
+ import { a as FileStorageOptions } from '../../internals/base-C1uAg1dD.js';
4
+ import { F as FileChunkStorageBase } from '../../internals/chunk-CpgqvFNO.js';
5
5
  import '@o2ter/utils-js';
6
6
  import 'jsonwebtoken';
7
7
  import '@o2ter/server-js';
@@ -1,5 +1,5 @@
1
- import { T as TSchema, P as ProtoService } from '../../internals/index-Bs8n7Q8f.js';
2
- import { F as FileStorageBase, a as FileStorageOptions } from '../../internals/base-CWnOBKD5.js';
1
+ import { T as TSchema, P as ProtoService } from '../../internals/index-82GLvDiN.js';
2
+ import { F as FileStorageBase, a as FileStorageOptions } from '../../internals/base-C1uAg1dD.js';
3
3
  import '@o2ter/utils-js';
4
4
  import 'jsonwebtoken';
5
5
  import '@o2ter/server-js';
@@ -5,11 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _ = require('lodash');
6
6
  var base = require('../../internals/base-NsJYo2MG.js');
7
7
  var utilsJs = require('@o2ter/utils-js');
8
- var validator = require('../../internals/validator-mcBCJP4P.js');
8
+ var validator = require('../../internals/validator-B5yHpyvb.js');
9
9
  require('util');
10
10
  require('zlib');
11
11
  require('../../internals/private-Ciddhure.js');
12
- require('../../internals/index-B8TESzd9.js');
12
+ require('../../internals/index-CLKTEIj0.js');
13
13
  require('decimal.js');
14
14
 
15
15
  //
@@ -1,11 +1,11 @@
1
1
  import _ from 'lodash';
2
2
  import { F as FileStorageBase } from '../../internals/base-DYc1_peK.mjs';
3
3
  import { bufferToBase64, base64ToBuffer } from '@o2ter/utils-js';
4
- import { c as QuerySelector } from '../../internals/validator-CEcBF4Cn.mjs';
4
+ import { c as QuerySelector } from '../../internals/validator-DX2nXeQo.mjs';
5
5
  import 'util';
6
6
  import 'zlib';
7
7
  import '../../internals/private-CNw40LZ7.mjs';
8
- import '../../internals/index-BzDsTt4R.mjs';
8
+ import '../../internals/index-gWcE22mf.mjs';
9
9
  import 'decimal.js';
10
10
 
11
11
  //
@@ -1,6 +1,6 @@
1
- import { P as ProtoService } from '../../internals/index-Bs8n7Q8f.js';
2
- import { a as FileStorageOptions } from '../../internals/base-CWnOBKD5.js';
3
- import { F as FileChunkStorageBase } from '../../internals/chunk-CNNSQpRF.js';
1
+ import { P as ProtoService } from '../../internals/index-82GLvDiN.js';
2
+ import { a as FileStorageOptions } from '../../internals/base-C1uAg1dD.js';
3
+ import { F as FileChunkStorageBase } from '../../internals/chunk-CpgqvFNO.js';
4
4
  import '@o2ter/utils-js';
5
5
  import 'jsonwebtoken';
6
6
  import '@o2ter/server-js';
@@ -1,8 +1,8 @@
1
1
  import * as _google_cloud_storage from '@google-cloud/storage';
2
2
  import { File, Storage } from '@google-cloud/storage';
3
- import { P as ProtoService } from '../../internals/index-Bs8n7Q8f.js';
4
- import { a as FileStorageOptions } from '../../internals/base-CWnOBKD5.js';
5
- import { F as FileChunkStorageBase } from '../../internals/chunk-CNNSQpRF.js';
3
+ import { P as ProtoService } from '../../internals/index-82GLvDiN.js';
4
+ import { a as FileStorageOptions } from '../../internals/base-C1uAg1dD.js';
5
+ import { F as FileChunkStorageBase } from '../../internals/chunk-CpgqvFNO.js';
6
6
  import '@o2ter/utils-js';
7
7
  import 'jsonwebtoken';
8
8
  import '@o2ter/server-js';
@@ -1,5 +1,5 @@
1
1
  import { Pool, PoolClient, PoolConfig } from 'pg';
2
- import { a as TValueWithoutObject, T as TSchema, q as TValueWithUndefined, r as TValue, t as TUpdateOp, F as FieldSelectorExpression, Q as QueryExpression, R as RelationOptions, u as QueryAccumulator, v as QuerySelector, w as DecodedSortOption, x as DecodedQuery, y as FindOptions, I as InsertOptions, z as TStorage, A as TransactionOptions, k as TObject, B as QueryRandomOptions, C as TPubSub } from '../../internals/index-Bs8n7Q8f.js';
2
+ import { a as TValueWithoutObject, T as TSchema, q as TValueWithUndefined, r as TValue, t as TUpdateOp, F as FieldSelectorExpression, Q as QueryExpression, R as RelationOptions, u as QueryAccumulator, v as QuerySelector, w as DecodedSortOption, x as DecodedQuery, y as FindOptions, I as InsertOptions, z as TStorage, A as TransactionOptions, k as TObject, B as QueryRandomOptions, C as TPubSub } from '../../internals/index-82GLvDiN.js';
3
3
  import * as _o2ter_utils_js from '@o2ter/utils-js';
4
4
  import { asyncStream } from '@o2ter/utils-js';
5
5
  import 'jsonwebtoken';
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _ = require('lodash');
6
- var index = require('../../internals/index-B8TESzd9.js');
6
+ var index = require('../../internals/index-CLKTEIj0.js');
7
7
  var pg = require('pg');
8
8
  var QueryStream = require('pg-query-stream');
9
9
  var utilsJs = require('@o2ter/utils-js');
10
10
  var Decimal = require('decimal.js');
11
11
  var utils = require('pg/lib/utils');
12
- var validator = require('../../internals/validator-mcBCJP4P.js');
12
+ var validator = require('../../internals/validator-B5yHpyvb.js');
13
13
  require('@o2ter/crypto-js');
14
14
  var _const = require('../../internals/const-C3I6cfav.js');
15
15
  var random$1 = require('../../internals/random-nkOQ9U6S.js');
@@ -189,12 +189,12 @@ const _encodeSorting = (includes, populates, sort) => {
189
189
  return sorting;
190
190
  };
191
191
  const _defaultInsertOpts = (options) => {
192
- const objectId = random$1.generateId(options.objectIdSize);
192
+ const id = random$1.generateId(options.objectIdSize);
193
193
  return {
194
- _id: sql `${{ value: objectId }}`,
194
+ _id: sql `${{ value: id }}`,
195
195
  ...options.className === 'User' ? {
196
- _rperm: sql `${{ value: [objectId] }}`,
197
- _wperm: sql `${{ value: [objectId] }}`,
196
+ _rperm: sql `${{ value: [id] }}`,
197
+ _wperm: sql `${{ value: [id] }}`,
198
198
  } : {},
199
199
  };
200
200
  };
@@ -632,12 +632,12 @@ const encodeType = (colname, dataType, value) => {
632
632
  break;
633
633
  return sql `ARRAY[${_.map(value, x => _encodeJsonValue(index._encodeValue(x)))}]::JSONB[]`;
634
634
  case 'pointer':
635
- if (value instanceof index.TObject && value.objectId)
636
- return sql `${{ value: `${value.className}$${value.objectId}` }}`;
635
+ if (value instanceof index.TObject && value.id)
636
+ return sql `${{ value: `${value.className}$${value.id}` }}`;
637
637
  break;
638
638
  case 'relation':
639
- if (_.isArray(value) && _.every(value, x => x instanceof index.TObject && x.objectId)) {
640
- return sql `${{ value: _.uniq(_.map(value, (x) => `${x.className}$${x.objectId}`)) }}`;
639
+ if (_.isArray(value) && _.every(value, x => x instanceof index.TObject && x.id)) {
640
+ return sql `${{ value: _.uniq(_.map(value, (x) => `${x.className}$${x.id}`)) }}`;
641
641
  }
642
642
  break;
643
643
  }
@@ -1317,7 +1317,7 @@ class SqlStorage {
1317
1317
  const _value = _.get(value, path);
1318
1318
  if (_.isPlainObject(_value)) {
1319
1319
  const decoded = this._decodeObject(type.target, _value, matchType);
1320
- if (decoded.objectId)
1320
+ if (decoded.id)
1321
1321
  _.set(result, path, decoded);
1322
1322
  }
1323
1323
  }
@@ -1357,7 +1357,7 @@ class SqlStorage {
1357
1357
  else if (index.isPointer(dataType)) {
1358
1358
  if (_.isPlainObject(value)) {
1359
1359
  const decoded = this._decodeObject(dataType.target, value, matchType);
1360
- if (decoded.objectId)
1360
+ if (decoded.id)
1361
1361
  obj[_private.PVK].attributes[key] = decoded;
1362
1362
  }
1363
1363
  }
@@ -1450,7 +1450,7 @@ class SqlStorage {
1450
1450
  const self = this;
1451
1451
  const query = sql `
1452
1452
  SELECT *
1453
- FROM (${this._refs(_.pick(this.schema, classNames), object.className, index.TObject.defaultKeys, sql `${{ value: `${object.className}$${object.objectId}` }}`)}) AS "$"
1453
+ FROM (${this._refs(_.pick(this.schema, classNames), object.className, index.TObject.defaultKeys, sql `${{ value: `${object.className}$${object.id}` }}`)}) AS "$"
1454
1454
  ${_.isNil(roles) ? sql `` : sql `WHERE ${{ identifier: '$' }}.${{ identifier: '_rperm' }} && ${{ value: roles }}`}
1455
1455
  `;
1456
1456
  return (async function* () {
@@ -2041,25 +2041,25 @@ const updateOperation = (paths, dataType, operation) => {
2041
2041
  case '$addToSet':
2042
2042
  case '$push':
2043
2043
  {
2044
- if (!_.isArray(value) || !_.every(value, x => x instanceof index.TObject && x.objectId))
2044
+ if (!_.isArray(value) || !_.every(value, x => x instanceof index.TObject && x.id))
2045
2045
  break;
2046
- const objectIds = _.uniq(_.map(value, (x) => `${x.className}$${x.objectId}`));
2046
+ const ids = _.uniq(_.map(value, (x) => `${x.className}$${x.id}`));
2047
2047
  return sql `ARRAY(
2048
2048
  SELECT DISTINCT "$"
2049
- FROM UNNEST(${{ identifier: column }} || ARRAY[${_.map(objectIds, (x) => sql `${{ value: x }}`)}]) "$"
2049
+ FROM UNNEST(${{ identifier: column }} || ARRAY[${_.map(ids, (x) => sql `${{ value: x }}`)}]) "$"
2050
2050
  RIGHT JOIN ${{ identifier: dataType.target }} ON "$" = (${{ quote: dataType.target + '$' }} || ${{ identifier: dataType.target }}._id)
2051
2051
  )`;
2052
2052
  }
2053
2053
  case '$removeAll':
2054
2054
  {
2055
- if (!_.isArray(value) || !_.every(value, x => x instanceof index.TObject && x.objectId))
2055
+ if (!_.isArray(value) || !_.every(value, x => x instanceof index.TObject && x.id))
2056
2056
  break;
2057
- const objectIds = _.uniq(_.map(value, (x) => `${x.className}$${x.objectId}`));
2057
+ const ids = _.uniq(_.map(value, (x) => `${x.className}$${x.id}`));
2058
2058
  return sql `ARRAY(
2059
2059
  SELECT "$"
2060
2060
  FROM UNNEST(${{ identifier: column }}) "$"
2061
2061
  RIGHT JOIN ${{ identifier: dataType.target }} ON "$" = (${{ quote: dataType.target + '$' }} || ${{ identifier: dataType.target }}._id)
2062
- WHERE "$" NOT IN (${_.map(objectIds, (x) => sql `${{ value: x }}`)})
2062
+ WHERE "$" NOT IN (${_.map(ids, (x) => sql `${{ value: x }}`)})
2063
2063
  )`;
2064
2064
  }
2065
2065
  }
@@ -2559,9 +2559,9 @@ const encodeFieldExpression = (compiler, parent, field, expr) => {
2559
2559
  if (_.isNil(expr.value))
2560
2560
  return sql `${element} IS NULL`;
2561
2561
  if (!_.isString(dataType) && dataType?.type === 'pointer') {
2562
- if (!(expr.value instanceof index.TObject) || dataType.target !== expr.value.className || !expr.value.objectId)
2562
+ if (!(expr.value instanceof index.TObject) || dataType.target !== expr.value.className || !expr.value.id)
2563
2563
  break;
2564
- return sql `${element} ${nullSafeEqual()} ${{ value: expr.value.objectId }}`;
2564
+ return sql `${element} ${nullSafeEqual()} ${{ value: expr.value.id }}`;
2565
2565
  }
2566
2566
  return sql `${element} ${nullSafeEqual()} ${encodeValue(expr.value)}`;
2567
2567
  }
@@ -2572,9 +2572,9 @@ const encodeFieldExpression = (compiler, parent, field, expr) => {
2572
2572
  if (_.isNil(expr.value))
2573
2573
  return sql `${element} IS NOT NULL`;
2574
2574
  if (!_.isString(dataType) && dataType?.type === 'pointer') {
2575
- if (!(expr.value instanceof index.TObject) || dataType.target !== expr.value.className || !expr.value.objectId)
2575
+ if (!(expr.value instanceof index.TObject) || dataType.target !== expr.value.className || !expr.value.id)
2576
2576
  break;
2577
- return sql `${element} ${nullSafeNotEqual()} ${{ value: expr.value.objectId }}`;
2577
+ return sql `${element} ${nullSafeNotEqual()} ${{ value: expr.value.id }}`;
2578
2578
  }
2579
2579
  return sql `${element} ${nullSafeNotEqual()} ${encodeValue(expr.value)}`;
2580
2580
  }
@@ -2616,8 +2616,8 @@ const encodeFieldExpression = (compiler, parent, field, expr) => {
2616
2616
  return sql `${element} ${{ literal: op }} ${encodeValue(expr.value)}`;
2617
2617
  }
2618
2618
  }
2619
- else if (!_.isString(dataType) && dataType?.type === 'pointer' && expr.value instanceof index.TObject && expr.value.objectId) {
2620
- return sql `${element} ${{ literal: op }} ${{ value: expr.value.objectId }}`;
2619
+ else if (!_.isString(dataType) && dataType?.type === 'pointer' && expr.value instanceof index.TObject && expr.value.id) {
2620
+ return sql `${element} ${{ literal: op }} ${{ value: expr.value.id }}`;
2621
2621
  }
2622
2622
  else if (!dataType) {
2623
2623
  if (expr.value instanceof Decimal || _.isNumber(expr.value)) {
@@ -2653,9 +2653,9 @@ const encodeFieldExpression = (compiler, parent, field, expr) => {
2653
2653
  if (!_.isString(dataType) && dataType?.type === 'pointer') {
2654
2654
  if (_.isNil(value))
2655
2655
  return sql `${element} IS NULL`;
2656
- if (!(value instanceof index.TObject) || dataType.target !== value.className || !value.objectId)
2656
+ if (!(value instanceof index.TObject) || dataType.target !== value.className || !value.id)
2657
2657
  break;
2658
- return sql `${element} ${nullSafeEqual()} ${{ value: value.objectId }}`;
2658
+ return sql `${element} ${nullSafeEqual()} ${{ value: value.id }}`;
2659
2659
  }
2660
2660
  return sql `${element} ${nullSafeEqual()} ${encodeValue(value)}`;
2661
2661
  }
@@ -2663,12 +2663,12 @@ const encodeFieldExpression = (compiler, parent, field, expr) => {
2663
2663
  const containsNil = _.some(expr.value, x => _.isNil(x));
2664
2664
  const values = _.filter(expr.value, x => !_.isNil(x));
2665
2665
  if (!_.isString(dataType) && dataType?.type === 'pointer') {
2666
- if (!_.every(values, x => x instanceof index.TObject && dataType.target === x.className && x.objectId))
2666
+ if (!_.every(values, x => x instanceof index.TObject && dataType.target === x.className && x.id))
2667
2667
  break;
2668
2668
  if (containsNil) {
2669
- return sql `${element} IS NULL OR ${element} IN (${_.map(values, (x) => sql `${{ value: x.objectId }}`)})`;
2669
+ return sql `${element} IS NULL OR ${element} IN (${_.map(values, (x) => sql `${{ value: x.id }}`)})`;
2670
2670
  }
2671
- return sql `${element} IN (${_.map(values, (x) => sql `${{ value: x.objectId }}`)})`;
2671
+ return sql `${element} IN (${_.map(values, (x) => sql `${{ value: x.id }}`)})`;
2672
2672
  }
2673
2673
  if (containsNil) {
2674
2674
  return sql `${element} IS NULL OR ${element} IN (${_.map(values, x => encodeValue(x))})`;
@@ -2689,9 +2689,9 @@ const encodeFieldExpression = (compiler, parent, field, expr) => {
2689
2689
  if (!_.isString(dataType) && dataType?.type === 'pointer') {
2690
2690
  if (_.isNil(value))
2691
2691
  return sql `${element} IS NOT NULL`;
2692
- if (!(value instanceof index.TObject) || dataType.target !== value.className || !value.objectId)
2692
+ if (!(value instanceof index.TObject) || dataType.target !== value.className || !value.id)
2693
2693
  break;
2694
- return sql `${element} ${nullSafeNotEqual()} ${{ value: value.objectId }}`;
2694
+ return sql `${element} ${nullSafeNotEqual()} ${{ value: value.id }}`;
2695
2695
  }
2696
2696
  return sql `${element} ${nullSafeNotEqual()} ${encodeValue(value)}`;
2697
2697
  }
@@ -2699,12 +2699,12 @@ const encodeFieldExpression = (compiler, parent, field, expr) => {
2699
2699
  const containsNil = _.some(expr.value, x => _.isNil(x));
2700
2700
  const values = _.filter(expr.value, x => !_.isNil(x));
2701
2701
  if (!_.isString(dataType) && dataType?.type === 'pointer') {
2702
- if (!_.every(values, x => x instanceof index.TObject && dataType.target === x.className && x.objectId))
2702
+ if (!_.every(values, x => x instanceof index.TObject && dataType.target === x.className && x.id))
2703
2703
  break;
2704
2704
  if (containsNil) {
2705
- return sql `${element} IS NOT NULL AND ${element} NOT IN (${_.map(values, (x) => sql `${{ value: x.objectId }}`)})`;
2705
+ return sql `${element} IS NOT NULL AND ${element} NOT IN (${_.map(values, (x) => sql `${{ value: x.id }}`)})`;
2706
2706
  }
2707
- return sql `${element} NOT IN (${_.map(values, (x) => sql `${{ value: x.objectId }}`)})`;
2707
+ return sql `${element} NOT IN (${_.map(values, (x) => sql `${{ value: x.id }}`)})`;
2708
2708
  }
2709
2709
  if (containsNil) {
2710
2710
  return sql `${element} IS NOT NULL AND ${element} NOT IN (${_.map(values, x => encodeValue(x))})`;
@@ -2734,14 +2734,14 @@ const encodeFieldExpression = (compiler, parent, field, expr) => {
2734
2734
  return sql `${element} ${{ literal: op }} ${{ value: index._encodeValue(expr.value) }}`;
2735
2735
  }
2736
2736
  if (relation && parent.className) {
2737
- if (!_.every(expr.value, x => x instanceof index.TObject && relation.target === x.className && x.objectId))
2737
+ if (!_.every(expr.value, x => x instanceof index.TObject && relation.target === x.className && x.id))
2738
2738
  break;
2739
2739
  const tempName = `_populate_expr_$${compiler.nextIdx()}`;
2740
2740
  const populate = _selectRelationPopulate(compiler, { className: parent.className, name: parent.name }, relation.populate, `$${field}`, false);
2741
2741
  return sql `ARRAY(
2742
2742
  SELECT ${{ identifier: '_id' }}
2743
2743
  FROM (${populate}) AS ${{ identifier: tempName }}
2744
- ) ${{ literal: op }} ARRAY[${_.map(expr.value, (x) => sql `${{ value: x.objectId }}`)}]::TEXT[]`;
2744
+ ) ${{ literal: op }} ARRAY[${_.map(expr.value, (x) => sql `${{ value: x.id }}`)}]::TEXT[]`;
2745
2745
  }
2746
2746
  if (!dataType) {
2747
2747
  return sql `jsonb_typeof(${element}) ${nullSafeEqual()} 'array' AND ${element} ${{ literal: op }} ${_encodeJsonValue(index._encodeValue(expr.value))}`;
@@ -3027,7 +3027,7 @@ const encodeRelation = (compiler, parent, relatedBy) => {
3027
3027
  SELECT 1
3028
3028
  FROM ${{ identifier: relatedBy.className }} AS ${{ identifier: name }}
3029
3029
  ${!_.isEmpty(joins) ? { literal: joins, separator: '\n' } : sql ``}
3030
- WHERE ${_foreign('_id')} = ${{ value: relatedBy.objectId }} AND ${sql `(${{ quote: parent.className + '$' }} || ${_local('_id')})`} = ANY(${field})
3030
+ WHERE ${_foreign('_id')} = ${{ value: relatedBy.id }} AND ${sql `(${{ quote: parent.className + '$' }} || ${_local('_id')})`} = ANY(${field})
3031
3031
  )`;
3032
3032
  };
3033
3033