zenstack 2.0.0-beta.13 → 2.0.0-beta.14

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/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publisher": "zenstack",
4
4
  "displayName": "ZenStack Language Tools",
5
5
  "description": "Build scalable web apps with minimum code by defining authorization and validation rules inside the data schema that closer to the database",
6
- "version": "2.0.0-beta.13",
6
+ "version": "2.0.0-beta.14",
7
7
  "author": {
8
8
  "name": "ZenStack Team"
9
9
  },
@@ -103,8 +103,8 @@
103
103
  "vscode-uri": "^3.0.6",
104
104
  "zod": "^3.22.4",
105
105
  "zod-validation-error": "^1.5.0",
106
- "@zenstackhq/language": "2.0.0-beta.13",
107
- "@zenstackhq/sdk": "2.0.0-beta.13"
106
+ "@zenstackhq/sdk": "2.0.0-beta.14",
107
+ "@zenstackhq/language": "2.0.0-beta.14"
108
108
  },
109
109
  "peerDependencies": {
110
110
  "prisma": "5.0.0 - 5.12.x"
@@ -126,7 +126,7 @@
126
126
  "tmp": "^0.2.1",
127
127
  "tsc-alias": "^1.7.0",
128
128
  "vitest": "^0.29.7",
129
- "@zenstackhq/runtime": "2.0.0-beta.13"
129
+ "@zenstackhq/runtime": "2.0.0-beta.14"
130
130
  },
131
131
  "scripts": {
132
132
  "vscode:publish": "vsce publish --no-dependencies",
@@ -55,7 +55,9 @@ function generateAuthType(model, authModel) {
55
55
  }
56
56
  else {
57
57
  // member is a scalar
58
- addPickField(exprType.name, node.member.$refText);
58
+ if (!isIgnoredField(node.member.ref)) {
59
+ addPickField(exprType.name, node.member.$refText);
60
+ }
59
61
  }
60
62
  }
61
63
  }
@@ -69,8 +71,10 @@ function generateAuthType(model, authModel) {
69
71
  addAddField(fieldDecl.$container.name, node.target.$refText, fieldType.name, fieldDecl.type.array);
70
72
  }
71
73
  else {
72
- // field is a scalar
73
- addPickField(fieldDecl.$container.name, node.target.$refText);
74
+ if (!isIgnoredField(fieldDecl)) {
75
+ // field is a scalar
76
+ addPickField(fieldDecl.$container.name, node.target.$refText);
77
+ }
74
78
  }
75
79
  }
76
80
  });
@@ -78,8 +82,8 @@ function generateAuthType(model, authModel) {
78
82
  // generate:
79
83
  // `
80
84
  // namespace auth {
81
- // export type User = WithRequired<Partial<_P.User>, 'id'> & { profile: Profile; };
82
- // export type Profile = WithRequired<Partial<_P.Profile>, 'age'>;
85
+ // export type User = WithRequired<Partial<_P.User>, 'id'> & { profile: Profile; } & Record<string, unknown>;
86
+ // export type Profile = WithRequired<Partial<_P.Profile>, 'age'> & Record<string, unknown>;
83
87
  // }
84
88
  // `
85
89
  return `namespace auth {
@@ -88,7 +92,9 @@ ${Array.from(types.entries())
88
92
  .map(([model, fields]) => {
89
93
  let result = `Partial<_P.${model}>`;
90
94
  if (fields.pickFields.length > 0) {
91
- result = `WithRequired<${result}, ${fields.pickFields.map((f) => `'${f}'`).join('|')}>`;
95
+ result = `WithRequired<${result}, ${fields.pickFields
96
+ .map((f) => `'${f}'`)
97
+ .join('|')}> & Record<string, unknown>`;
92
98
  }
93
99
  if (fields.addFields.length > 0) {
94
100
  result = `${result} & { ${fields.addFields.map(({ name, type }) => `${name}: ${type}`).join('; ')} }`;
@@ -113,4 +119,7 @@ function isAuthAccess(node) {
113
119
  }
114
120
  return false;
115
121
  }
122
+ function isIgnoredField(field) {
123
+ return !!(field && (0, sdk_1.hasAttribute)(field, '@ignore'));
124
+ }
116
125
  //# sourceMappingURL=auth-type-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-type-generator.js","sourceRoot":"","sources":["../../../../src/plugins/enhancer/enhance/auth-type-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-type-generator.js","sourceRoot":"","sources":["../../../../src/plugins/enhancer/enhance/auth-type-generator.ts"],"names":[],"mappings":";;;AAAA,yCAAyG;AACzG,6CAO6B;AAC7B,qCAAkD;AAClD,wDAAiE;AAEjE;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,KAAY,EAAE,SAAoB;IAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,EASlB,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAA,iBAAW,EAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAEpG,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;QAClD,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE;QAC9E,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;IACL,CAAC,CAAC;IAEF,gDAAgD;IAChD,MAAM,iBAAiB,GAAG,IAAA,mBAAS,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEhE,iEAAiE;IACjE,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;;YAC7B,IAAI,IAAA,wBAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,aAAa,0CAAE,IAAI,CAAC;gBAClD,IAAI,IAAA,iBAAW,EAAC,QAAQ,CAAC,EAAE,CAAC;oBACxB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBACnC,IAAI,IAAA,iBAAW,EAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,EAAE,CAAC;wBAC/C,uBAAuB;wBACvB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;wBACrD,UAAU,CAAC,SAAS,CAAC,CAAC;wBACtB,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAClF,CAAC;yBAAM,CAAC;wBACJ,qBAAqB;wBACrB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;4BACnC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACtD,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,IAAA,+BAAyB,EAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,+CAA+C;gBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAqB,CAAC;gBACpD,MAAM,SAAS,GAAG,MAAA,SAAS,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC;gBAChD,IAAI,IAAA,iBAAW,EAAC,SAAS,CAAC,EAAE,CAAC;oBACzB,sBAAsB;oBACtB,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC3B,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvG,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC7B,oBAAoB;wBACpB,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAClE,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,YAAY;IACZ,IAAI;IACJ,mBAAmB;IACnB,+GAA+G;IAC/G,8FAA8F;IAC9F,IAAI;IACJ,IAAI;IAEJ,OAAO;;EAET,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE;QACrB,IAAI,MAAM,GAAG,cAAc,KAAK,GAAG,CAAC;QAEpC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,gBAAgB,MAAM,KAAK,MAAM,CAAC,UAAU;iBAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;iBACpB,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC;QAChD,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,MAAM,QAAQ,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1G,CAAC;QAED,OAAO,mBAAmB,KAAK,MAAM,MAAM,GAAG,CAAC;IACnD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC;EACb,CAAC;AACH,CAAC;AAhHD,4CAgHC;AAED,SAAS,YAAY,CAAC,IAAa;IAC/B,IAAI,IAAA,sBAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,IAAA,wBAAkB,EAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,IAAA,iCAAqB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAiC;IACrD,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAA,kBAAY,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AACvD,CAAC"}