proto.io 0.0.141 → 0.0.143

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 (30) hide show
  1. package/dist/adapters/file/database.d.ts +2 -2
  2. package/dist/adapters/file/filesystem.d.ts +2 -2
  3. package/dist/adapters/file/google-cloud-storage.d.ts +2 -2
  4. package/dist/adapters/storage/progres.d.ts +1 -1
  5. package/dist/adapters/storage/progres.js +1 -1
  6. package/dist/adapters/storage/progres.mjs +1 -1
  7. package/dist/client.d.ts +3 -3
  8. package/dist/index.d.ts +3 -3
  9. package/dist/index.js +15 -14
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +15 -14
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/internals/index-C6zdNpc_.js.map +1 -1
  14. package/dist/internals/{index-BabXTvEZ.d.ts → index-DW9_3n_K.d.ts} +2 -1
  15. package/dist/internals/index-DW9_3n_K.d.ts.map +1 -0
  16. package/dist/internals/{index-BtnEuEVn.d.ts → index-DWyLziGT.d.ts} +2 -2
  17. package/dist/internals/index-DWyLziGT.d.ts.map +1 -0
  18. package/dist/internals/index-EOtjV6U_.mjs.map +1 -1
  19. package/dist/internals/{index-DCjn9EDu.d.ts → index-i4lOAqi2.d.ts} +2 -2
  20. package/dist/internals/index-i4lOAqi2.d.ts.map +1 -0
  21. package/dist/internals/{random-Dn9rhwfh.mjs → random-BjV_01xP.mjs} +21 -7
  22. package/dist/internals/random-BjV_01xP.mjs.map +1 -0
  23. package/dist/internals/{random-CiJ8I0Cd.js → random-XGNkddOu.js} +21 -7
  24. package/dist/internals/random-XGNkddOu.js.map +1 -0
  25. package/package.json +1 -1
  26. package/dist/internals/index-BabXTvEZ.d.ts.map +0 -1
  27. package/dist/internals/index-BtnEuEVn.d.ts.map +0 -1
  28. package/dist/internals/index-DCjn9EDu.d.ts.map +0 -1
  29. package/dist/internals/random-CiJ8I0Cd.js.map +0 -1
  30. package/dist/internals/random-Dn9rhwfh.mjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import _ from 'lodash';
2
2
  import { Server } from '@o2ter/server-js';
3
- import { Q as QueryValidator, g as generateId } from './internals/random-Dn9rhwfh.mjs';
3
+ import { Q as QueryValidator, g as generateId } from './internals/random-BjV_01xP.mjs';
4
4
  import { P as PVK } from './internals/private-BUpLAMZi.mjs';
5
5
  import { asyncStream, asyncIterableToArray, isBinaryData, base64ToBuffer } from '@o2ter/utils-js';
6
6
  import { T as TQuery, M as MASTER_USER_HEADER_NAME, a as MASTER_PASS_HEADER_NAME, A as AUTH_COOKIE_KEY, b as TUser, P as ProtoType, s as serialize, d as deserialize, U as UPLOAD_TOKEN_HEADER_NAME } from './internals/index-ZIegYNKT.mjs';
@@ -692,7 +692,7 @@ const validateShapedObject = (schema, dataType) => {
692
692
  }
693
693
  }
694
694
  };
695
- const validateSchemaPermission = (schema) => {
695
+ const validateSchemaName = (schema) => {
696
696
  if (!_.isNil(schema['_Schema']) || !_.isNil(schema['_Config']))
697
697
  throw Error('Reserved name of class');
698
698
  for (const [, _schema] of _.toPairs(schema)) {
@@ -700,15 +700,6 @@ const validateSchemaPermission = (schema) => {
700
700
  if (_.includes(TObject.defaultKeys, key))
701
701
  throw Error(`Reserved field name: ${key}`);
702
702
  }
703
- const fields = _.keys(_schema.fields);
704
- for (const key of _.keys(_schema.fieldLevelPermissions)) {
705
- if (!fields.includes(key))
706
- throw Error(`Invalid field permission: ${key}`);
707
- }
708
- for (const key of _schema.secureFields ?? []) {
709
- if (!fields.includes(key))
710
- throw Error(`Invalid field permission: ${key}`);
711
- }
712
703
  }
713
704
  };
714
705
  const validateSchema = (schema) => {
@@ -730,6 +721,15 @@ const validateSchema = (schema) => {
730
721
  throw Error(`Invalid target: ${key}`);
731
722
  validateForeignField(schema, key, dataType);
732
723
  }
724
+ const fields = _.keys(_schema.fields);
725
+ for (const key of _.keys(_schema.fieldLevelPermissions)) {
726
+ if (!fields.includes(key))
727
+ throw Error(`Invalid field permission: ${key}`);
728
+ }
729
+ for (const key of _schema.secureFields ?? []) {
730
+ if (!fields.includes(key))
731
+ throw Error(`Invalid field permission: ${key}`);
732
+ }
733
733
  }
734
734
  }
735
735
  };
@@ -741,8 +741,9 @@ const mergeSchema = (...schemas) => _.reduce(schemas, (acc, schema) => ({
741
741
  ...(acc[className]?.fields ?? {}),
742
742
  ...s.fields,
743
743
  },
744
- classLevelPermissions: _.mergeWith(acc[className]?.classLevelPermissions, s.classLevelPermissions, (l, r) => _.isArray(l) ? [...l, ...r] : undefined),
745
- fieldLevelPermissions: _.mergeWith(acc[className]?.fieldLevelPermissions, s.fieldLevelPermissions, (l, r) => _.isArray(l) ? [...l, ...r] : undefined),
744
+ classLevelPermissions: _.mergeWith(acc[className]?.classLevelPermissions ?? {}, s.classLevelPermissions, (l, r) => _.isArray(l) ? [...l, ...r] : undefined),
745
+ additionalObjectPermissions: _.mergeWith(acc[className]?.additionalObjectPermissions ?? {}, s.additionalObjectPermissions, (l, r) => _.isArray(l) ? [...l, ...r] : undefined),
746
+ fieldLevelPermissions: _.mergeWith(acc[className]?.fieldLevelPermissions ?? {}, s.fieldLevelPermissions, (l, r) => _.isArray(l) ? [...l, ...r] : undefined),
746
747
  secureFields: [
747
748
  ...(acc[className]?.secureFields ?? []),
748
749
  ...(s.secureFields ?? []),
@@ -762,7 +763,7 @@ class ProtoInternal {
762
763
  functions = {};
763
764
  triggers = {};
764
765
  constructor(options) {
765
- validateSchemaPermission(options.schema);
766
+ validateSchemaName(options.schema);
766
767
  const schema = mergeSchema(defaultSchema, options.fileStorage.schema, options.schema);
767
768
  validateSchema(schema);
768
769
  this.options = {