@cedarjs/internal 4.0.0-canary.13861 → 4.0.0-canary.13862

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.
@@ -1 +1 @@
1
- {"version":3,"file":"gqlormSchema.d.ts","sourceRoot":"","sources":["../../../src/generate/gqlormSchema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,IAAI,MAAM,cAAc,CAAA;AA8BzC,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAE3C,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,2BAA2B,EAAE,MAAM,CAAA;IACnC,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AA6DD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvE;AAoGD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAClB,iBAAiB,EAAE,CAiDrB;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,iBAAiB,EAAE,GAC1B,MAAM,CA2CR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAkDjE;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,EAAE,CA2D7E;AAkBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CA6BvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,gBAAgB,EAAE,EAC1B,MAAM,GAAE,mBAAmD,GAC1D,MAAM,CA0VR;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC;IACvD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;CAC9C,CAAC,CAwHD"}
1
+ {"version":3,"file":"gqlormSchema.d.ts","sourceRoot":"","sources":["../../../src/generate/gqlormSchema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,IAAI,MAAM,cAAc,CAAA;AA8BzC,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAE3C,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,2BAA2B,EAAE,MAAM,CAAA;IACnC,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AA6DD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvE;AAoGD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAClB,iBAAiB,EAAE,CAiDrB;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,iBAAiB,EAAE,GAC1B,MAAM,CA2CR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAkDjE;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,EAAE,CA2D7E;AAkBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CA6BvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,gBAAgB,EAAE,EAC1B,MAAM,GAAE,mBAAmD,GAC1D,MAAM,CA0VR;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC;IACvD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;CAC9C,CAAC,CAkID"}
@@ -631,6 +631,20 @@ function generateGqlormBackendContent(models, config = DEFAULT_GQLORM_BACKEND_CO
631
631
  return lines.join("\n");
632
632
  }
633
633
  async function generateGqlormArtifacts() {
634
+ if (!(0, import_project_config.getConfig)().experimental?.gqlorm?.enabled) {
635
+ const generatedBase = (0, import_project_config.getPaths)().generated.base;
636
+ const staleFiles = [
637
+ import_node_path.default.join(generatedBase, "gqlorm", "backend.ts"),
638
+ import_node_path.default.join(generatedBase, "gqlorm-schema.json"),
639
+ import_node_path.default.join(generatedBase, "types", "includes", "web-gqlorm-models.d.ts")
640
+ ];
641
+ for (const staleFile of staleFiles) {
642
+ if (import_node_fs.default.existsSync(staleFile)) {
643
+ import_node_fs.default.unlinkSync(staleFile);
644
+ }
645
+ }
646
+ return { files: [], errors: [] };
647
+ }
634
648
  const files = [];
635
649
  const errors = [];
636
650
  try {
@@ -660,49 +674,43 @@ async function generateGqlormArtifacts() {
660
674
  files.push(webTypesOutputPath);
661
675
  const backendOutputDir = import_node_path.default.join(generatedBase, "gqlorm");
662
676
  const backendOutputPath = import_node_path.default.join(backendOutputDir, "backend.ts");
663
- if ((0, import_project_config.getConfig)().experimental?.gqlorm?.enabled) {
664
- const graphqlDir = paths.api.graphql;
665
- const existingTypes = getExistingSdlTypeNames(graphqlDir);
666
- const allModels = buildBackendModelInfo(dmmf);
667
- const gqlormConfig = (0, import_project_config.getConfig)().experimental.gqlorm;
668
- const membershipModel = gqlormConfig.membershipModel ?? "Membership";
669
- const membershipModelCamel = membershipModel.charAt(0).toLowerCase() + membershipModel.slice(1);
670
- const membershipUserField = gqlormConfig.membershipUserField ?? "userId";
671
- const membershipOrganizationField = gqlormConfig.membershipOrganizationField ?? "organizationId";
672
- const membershipModelExists = dmmf.datamodel.models.some(
673
- (m) => m.name === membershipModel
674
- );
675
- const backendConfig = {
676
- membershipModel,
677
- membershipModelCamel,
678
- membershipUserField,
679
- membershipOrganizationField,
680
- membershipModelExists
681
- };
682
- const gqlormModels = allModels.filter(
683
- (m) => !existingTypes.has(m.modelName)
677
+ const graphqlDir = paths.api.graphql;
678
+ const existingTypes = getExistingSdlTypeNames(graphqlDir);
679
+ const allModels = buildBackendModelInfo(dmmf);
680
+ const gqlormConfig = (0, import_project_config.getConfig)().experimental.gqlorm;
681
+ const membershipModel = gqlormConfig.membershipModel ?? "Membership";
682
+ const membershipModelCamel = membershipModel.charAt(0).toLowerCase() + membershipModel.slice(1);
683
+ const membershipUserField = gqlormConfig.membershipUserField ?? "userId";
684
+ const membershipOrganizationField = gqlormConfig.membershipOrganizationField ?? "organizationId";
685
+ const membershipModelExists = dmmf.datamodel.models.some(
686
+ (m) => m.name === membershipModel
687
+ );
688
+ const backendConfig = {
689
+ membershipModel,
690
+ membershipModelCamel,
691
+ membershipUserField,
692
+ membershipOrganizationField,
693
+ membershipModelExists
694
+ };
695
+ const gqlormModels = allModels.filter(
696
+ (m) => !existingTypes.has(m.modelName)
697
+ );
698
+ const anyModelHasOrgField = gqlormModels.some(
699
+ (m) => m.fields.some((f) => f.name === membershipOrganizationField)
700
+ );
701
+ if (anyModelHasOrgField && !membershipModelExists) {
702
+ console.warn(
703
+ `[gqlorm] One or more models have a \`${membershipOrganizationField}\` field, but the membership model "${membershipModel}" was not found in the schema. Organization-based access scoping will not be applied for these models. Add a \`${membershipModel}\` model to your schema.prisma or configure \`experimental.gqlorm.membershipModel\` in cedar.toml.`
684
704
  );
685
- const anyModelHasOrgField = gqlormModels.some(
686
- (m) => m.fields.some((f) => f.name === membershipOrganizationField)
705
+ }
706
+ if (gqlormModels.length > 0) {
707
+ const backendContent = generateGqlormBackendContent(
708
+ gqlormModels,
709
+ backendConfig
687
710
  );
688
- if (anyModelHasOrgField && !membershipModelExists) {
689
- console.warn(
690
- `[gqlorm] One or more models have a \`${membershipOrganizationField}\` field, but the membership model "${membershipModel}" was not found in the schema. Organization-based access scoping will not be applied for these models. Add a \`${membershipModel}\` model to your schema.prisma or configure \`experimental.gqlorm.membershipModel\` in cedar.toml.`
691
- );
692
- }
693
- if (gqlormModels.length > 0) {
694
- const backendContent = generateGqlormBackendContent(
695
- gqlormModels,
696
- backendConfig
697
- );
698
- import_node_fs.default.mkdirSync(backendOutputDir, { recursive: true });
699
- import_node_fs.default.writeFileSync(backendOutputPath, backendContent);
700
- files.push(backendOutputPath);
701
- } else {
702
- if (import_node_fs.default.existsSync(backendOutputPath)) {
703
- import_node_fs.default.unlinkSync(backendOutputPath);
704
- }
705
- }
711
+ import_node_fs.default.mkdirSync(backendOutputDir, { recursive: true });
712
+ import_node_fs.default.writeFileSync(backendOutputPath, backendContent);
713
+ files.push(backendOutputPath);
706
714
  } else {
707
715
  if (import_node_fs.default.existsSync(backendOutputPath)) {
708
716
  import_node_fs.default.unlinkSync(backendOutputPath);
@@ -1 +1 @@
1
- {"version":3,"file":"gqlormSchema.d.ts","sourceRoot":"","sources":["../../src/generate/gqlormSchema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,IAAI,MAAM,cAAc,CAAA;AA8BzC,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAE3C,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,2BAA2B,EAAE,MAAM,CAAA;IACnC,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AA6DD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvE;AAoGD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAClB,iBAAiB,EAAE,CAiDrB;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,iBAAiB,EAAE,GAC1B,MAAM,CA2CR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAkDjE;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,EAAE,CA2D7E;AAkBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CA6BvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,gBAAgB,EAAE,EAC1B,MAAM,GAAE,mBAAmD,GAC1D,MAAM,CA0VR;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC;IACvD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;CAC9C,CAAC,CAwHD"}
1
+ {"version":3,"file":"gqlormSchema.d.ts","sourceRoot":"","sources":["../../src/generate/gqlormSchema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,IAAI,MAAM,cAAc,CAAA;AA8BzC,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAE3C,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,2BAA2B,EAAE,MAAM,CAAA;IACnC,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AA6DD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvE;AAoGD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAClB,iBAAiB,EAAE,CAiDrB;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,iBAAiB,EAAE,GAC1B,MAAM,CA2CR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAkDjE;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,EAAE,CA2D7E;AAkBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CA6BvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,gBAAgB,EAAE,EAC1B,MAAM,GAAE,mBAAmD,GAC1D,MAAM,CA0VR;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC;IACvD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;CAC9C,CAAC,CAkID"}
@@ -591,6 +591,20 @@ function generateGqlormBackendContent(models, config = DEFAULT_GQLORM_BACKEND_CO
591
591
  return lines.join("\n");
592
592
  }
593
593
  async function generateGqlormArtifacts() {
594
+ if (!getConfig().experimental?.gqlorm?.enabled) {
595
+ const generatedBase = getPaths().generated.base;
596
+ const staleFiles = [
597
+ path.join(generatedBase, "gqlorm", "backend.ts"),
598
+ path.join(generatedBase, "gqlorm-schema.json"),
599
+ path.join(generatedBase, "types", "includes", "web-gqlorm-models.d.ts")
600
+ ];
601
+ for (const staleFile of staleFiles) {
602
+ if (fs.existsSync(staleFile)) {
603
+ fs.unlinkSync(staleFile);
604
+ }
605
+ }
606
+ return { files: [], errors: [] };
607
+ }
594
608
  const files = [];
595
609
  const errors = [];
596
610
  try {
@@ -620,49 +634,43 @@ async function generateGqlormArtifacts() {
620
634
  files.push(webTypesOutputPath);
621
635
  const backendOutputDir = path.join(generatedBase, "gqlorm");
622
636
  const backendOutputPath = path.join(backendOutputDir, "backend.ts");
623
- if (getConfig().experimental?.gqlorm?.enabled) {
624
- const graphqlDir = paths.api.graphql;
625
- const existingTypes = getExistingSdlTypeNames(graphqlDir);
626
- const allModels = buildBackendModelInfo(dmmf);
627
- const gqlormConfig = getConfig().experimental.gqlorm;
628
- const membershipModel = gqlormConfig.membershipModel ?? "Membership";
629
- const membershipModelCamel = membershipModel.charAt(0).toLowerCase() + membershipModel.slice(1);
630
- const membershipUserField = gqlormConfig.membershipUserField ?? "userId";
631
- const membershipOrganizationField = gqlormConfig.membershipOrganizationField ?? "organizationId";
632
- const membershipModelExists = dmmf.datamodel.models.some(
633
- (m) => m.name === membershipModel
634
- );
635
- const backendConfig = {
636
- membershipModel,
637
- membershipModelCamel,
638
- membershipUserField,
639
- membershipOrganizationField,
640
- membershipModelExists
641
- };
642
- const gqlormModels = allModels.filter(
643
- (m) => !existingTypes.has(m.modelName)
637
+ const graphqlDir = paths.api.graphql;
638
+ const existingTypes = getExistingSdlTypeNames(graphqlDir);
639
+ const allModels = buildBackendModelInfo(dmmf);
640
+ const gqlormConfig = getConfig().experimental.gqlorm;
641
+ const membershipModel = gqlormConfig.membershipModel ?? "Membership";
642
+ const membershipModelCamel = membershipModel.charAt(0).toLowerCase() + membershipModel.slice(1);
643
+ const membershipUserField = gqlormConfig.membershipUserField ?? "userId";
644
+ const membershipOrganizationField = gqlormConfig.membershipOrganizationField ?? "organizationId";
645
+ const membershipModelExists = dmmf.datamodel.models.some(
646
+ (m) => m.name === membershipModel
647
+ );
648
+ const backendConfig = {
649
+ membershipModel,
650
+ membershipModelCamel,
651
+ membershipUserField,
652
+ membershipOrganizationField,
653
+ membershipModelExists
654
+ };
655
+ const gqlormModels = allModels.filter(
656
+ (m) => !existingTypes.has(m.modelName)
657
+ );
658
+ const anyModelHasOrgField = gqlormModels.some(
659
+ (m) => m.fields.some((f) => f.name === membershipOrganizationField)
660
+ );
661
+ if (anyModelHasOrgField && !membershipModelExists) {
662
+ console.warn(
663
+ `[gqlorm] One or more models have a \`${membershipOrganizationField}\` field, but the membership model "${membershipModel}" was not found in the schema. Organization-based access scoping will not be applied for these models. Add a \`${membershipModel}\` model to your schema.prisma or configure \`experimental.gqlorm.membershipModel\` in cedar.toml.`
644
664
  );
645
- const anyModelHasOrgField = gqlormModels.some(
646
- (m) => m.fields.some((f) => f.name === membershipOrganizationField)
665
+ }
666
+ if (gqlormModels.length > 0) {
667
+ const backendContent = generateGqlormBackendContent(
668
+ gqlormModels,
669
+ backendConfig
647
670
  );
648
- if (anyModelHasOrgField && !membershipModelExists) {
649
- console.warn(
650
- `[gqlorm] One or more models have a \`${membershipOrganizationField}\` field, but the membership model "${membershipModel}" was not found in the schema. Organization-based access scoping will not be applied for these models. Add a \`${membershipModel}\` model to your schema.prisma or configure \`experimental.gqlorm.membershipModel\` in cedar.toml.`
651
- );
652
- }
653
- if (gqlormModels.length > 0) {
654
- const backendContent = generateGqlormBackendContent(
655
- gqlormModels,
656
- backendConfig
657
- );
658
- fs.mkdirSync(backendOutputDir, { recursive: true });
659
- fs.writeFileSync(backendOutputPath, backendContent);
660
- files.push(backendOutputPath);
661
- } else {
662
- if (fs.existsSync(backendOutputPath)) {
663
- fs.unlinkSync(backendOutputPath);
664
- }
665
- }
671
+ fs.mkdirSync(backendOutputDir, { recursive: true });
672
+ fs.writeFileSync(backendOutputPath, backendContent);
673
+ files.push(backendOutputPath);
666
674
  } else {
667
675
  if (fs.existsSync(backendOutputPath)) {
668
676
  fs.unlinkSync(backendOutputPath);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cedarjs/internal",
3
- "version": "4.0.0-canary.13861+24a9cf0986",
3
+ "version": "4.0.0-canary.13862+892b5320e6",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/cedarjs/cedar.git",
@@ -159,13 +159,13 @@
159
159
  "@babel/plugin-transform-react-jsx": "7.28.6",
160
160
  "@babel/plugin-transform-typescript": "^7.26.8",
161
161
  "@babel/traverse": "7.29.0",
162
- "@cedarjs/babel-config": "4.0.0-canary.13861",
163
- "@cedarjs/cli-helpers": "4.0.0-canary.13861",
164
- "@cedarjs/graphql-server": "4.0.0-canary.13861",
165
- "@cedarjs/project-config": "4.0.0-canary.13861",
166
- "@cedarjs/router": "4.0.0-canary.13861",
167
- "@cedarjs/structure": "4.0.0-canary.13861",
168
- "@cedarjs/utils": "4.0.0-canary.13861",
162
+ "@cedarjs/babel-config": "4.0.0-canary.13862",
163
+ "@cedarjs/cli-helpers": "4.0.0-canary.13862",
164
+ "@cedarjs/graphql-server": "4.0.0-canary.13862",
165
+ "@cedarjs/project-config": "4.0.0-canary.13862",
166
+ "@cedarjs/router": "4.0.0-canary.13862",
167
+ "@cedarjs/structure": "4.0.0-canary.13862",
168
+ "@cedarjs/utils": "4.0.0-canary.13862",
169
169
  "@graphql-codegen/add": "6.0.1",
170
170
  "@graphql-codegen/cli": "6.3.1",
171
171
  "@graphql-codegen/client-preset": "5.3.0",
@@ -198,7 +198,7 @@
198
198
  },
199
199
  "devDependencies": {
200
200
  "@arethetypeswrong/cli": "0.18.2",
201
- "@cedarjs/framework-tools": "4.0.0-canary.13861",
201
+ "@cedarjs/framework-tools": "4.0.0-canary.13862",
202
202
  "concurrently": "9.2.1",
203
203
  "graphql-tag": "2.12.6",
204
204
  "publint": "0.3.18",
@@ -211,5 +211,5 @@
211
211
  "publishConfig": {
212
212
  "access": "public"
213
213
  },
214
- "gitHead": "24a9cf09865565f9889c49e12efc5fb6510dad1f"
214
+ "gitHead": "892b5320e602fc6013a521f2dbf1de5dbceb5014"
215
215
  }