@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,
|
|
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
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
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
|
-
|
|
686
|
-
|
|
705
|
+
}
|
|
706
|
+
if (gqlormModels.length > 0) {
|
|
707
|
+
const backendContent = generateGqlormBackendContent(
|
|
708
|
+
gqlormModels,
|
|
709
|
+
backendConfig
|
|
687
710
|
);
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
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,
|
|
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
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
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
|
-
|
|
646
|
-
|
|
665
|
+
}
|
|
666
|
+
if (gqlormModels.length > 0) {
|
|
667
|
+
const backendContent = generateGqlormBackendContent(
|
|
668
|
+
gqlormModels,
|
|
669
|
+
backendConfig
|
|
647
670
|
);
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
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.
|
|
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.
|
|
163
|
-
"@cedarjs/cli-helpers": "4.0.0-canary.
|
|
164
|
-
"@cedarjs/graphql-server": "4.0.0-canary.
|
|
165
|
-
"@cedarjs/project-config": "4.0.0-canary.
|
|
166
|
-
"@cedarjs/router": "4.0.0-canary.
|
|
167
|
-
"@cedarjs/structure": "4.0.0-canary.
|
|
168
|
-
"@cedarjs/utils": "4.0.0-canary.
|
|
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.
|
|
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": "
|
|
214
|
+
"gitHead": "892b5320e602fc6013a521f2dbf1de5dbceb5014"
|
|
215
215
|
}
|