drizzle-graphql-plus 0.8.21 → 0.8.23
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/index.cjs +35 -8
- package/index.cjs.map +1 -1
- package/index.js +35 -8
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -2469,6 +2469,7 @@ var generateTypeDefs = (tables, relations) => {
|
|
|
2469
2469
|
}
|
|
2470
2470
|
fields.push(` ${columnName}: ${typeStr}`);
|
|
2471
2471
|
}
|
|
2472
|
+
fields.push(` _operation: OPERATION!`);
|
|
2472
2473
|
const tableRelations = relations[tableName];
|
|
2473
2474
|
if (tableRelations) {
|
|
2474
2475
|
for (const [relationName, relationInfo] of Object.entries(
|
|
@@ -2552,6 +2553,12 @@ ${orderByFields.join("\n")}
|
|
|
2552
2553
|
}`);
|
|
2553
2554
|
}
|
|
2554
2555
|
const allDefs = [];
|
|
2556
|
+
allDefs.push(`enum OPERATION {
|
|
2557
|
+
READ
|
|
2558
|
+
INSERTED
|
|
2559
|
+
UPDATED
|
|
2560
|
+
DELETED
|
|
2561
|
+
}`);
|
|
2555
2562
|
if (customScalars.size > 0) {
|
|
2556
2563
|
for (const scalarName of Array.from(customScalars).sort()) {
|
|
2557
2564
|
allDefs.push(`scalar ${scalarName}`);
|
|
@@ -2880,7 +2887,10 @@ var createQueryResolver = (queryBase, tableInfo, tables, relations) => {
|
|
|
2880
2887
|
allFields
|
|
2881
2888
|
)
|
|
2882
2889
|
});
|
|
2883
|
-
return result
|
|
2890
|
+
return result.map((row) => ({
|
|
2891
|
+
...row,
|
|
2892
|
+
_operation: "READ"
|
|
2893
|
+
}));
|
|
2884
2894
|
} catch (e) {
|
|
2885
2895
|
if (typeof e === "object" && e !== null && "message" in e) {
|
|
2886
2896
|
throw new GraphQLError6(String(e.message));
|
|
@@ -2953,6 +2963,7 @@ var buildWhereClause2 = (tableInfo, where) => {
|
|
|
2953
2963
|
};
|
|
2954
2964
|
var generateMutations = (db, tables, relations) => {
|
|
2955
2965
|
const mutations = {};
|
|
2966
|
+
const deleteResultResolvers = {};
|
|
2956
2967
|
for (const [tableName, tableInfo] of Object.entries(tables)) {
|
|
2957
2968
|
const capitalizedName = capitalize(tableName);
|
|
2958
2969
|
const queryBase = db.query[tableName];
|
|
@@ -2989,7 +3000,7 @@ var generateMutations = (db, tables, relations) => {
|
|
|
2989
3000
|
const insertedIds = insertedRows.map(
|
|
2990
3001
|
(row) => row[primaryKeyColumn.name]
|
|
2991
3002
|
);
|
|
2992
|
-
|
|
3003
|
+
const result = await queryResolver(
|
|
2993
3004
|
parent,
|
|
2994
3005
|
{
|
|
2995
3006
|
where: {
|
|
@@ -2999,6 +3010,10 @@ var generateMutations = (db, tables, relations) => {
|
|
|
2999
3010
|
context,
|
|
3000
3011
|
info
|
|
3001
3012
|
);
|
|
3013
|
+
return result.map((row) => ({
|
|
3014
|
+
...row,
|
|
3015
|
+
_operation: "INSERTED"
|
|
3016
|
+
}));
|
|
3002
3017
|
} catch (e) {
|
|
3003
3018
|
if (typeof e === "object" && e !== null && "message" in e) {
|
|
3004
3019
|
throw new GraphQLError7(String(e.message));
|
|
@@ -3022,7 +3037,7 @@ var generateMutations = (db, tables, relations) => {
|
|
|
3022
3037
|
const updatedIds = updatedRows.map(
|
|
3023
3038
|
(row) => row[primaryKeyColumn.name]
|
|
3024
3039
|
);
|
|
3025
|
-
|
|
3040
|
+
const result = await queryResolver(
|
|
3026
3041
|
parent,
|
|
3027
3042
|
{
|
|
3028
3043
|
where: {
|
|
@@ -3032,6 +3047,10 @@ var generateMutations = (db, tables, relations) => {
|
|
|
3032
3047
|
context,
|
|
3033
3048
|
info
|
|
3034
3049
|
);
|
|
3050
|
+
return result.map((row) => ({
|
|
3051
|
+
...row,
|
|
3052
|
+
_operation: "UPDATED"
|
|
3053
|
+
}));
|
|
3035
3054
|
} catch (e) {
|
|
3036
3055
|
if (typeof e === "object" && e !== null && "message" in e) {
|
|
3037
3056
|
throw new GraphQLError7(String(e.message));
|
|
@@ -3047,8 +3066,11 @@ var generateMutations = (db, tables, relations) => {
|
|
|
3047
3066
|
if (whereClause) {
|
|
3048
3067
|
deleteQuery = deleteQuery.where(whereClause);
|
|
3049
3068
|
}
|
|
3050
|
-
const
|
|
3051
|
-
return
|
|
3069
|
+
const deletedRows = await deleteQuery.returning();
|
|
3070
|
+
return deletedRows.map((row) => ({
|
|
3071
|
+
...row,
|
|
3072
|
+
_operation: "DELETED"
|
|
3073
|
+
}));
|
|
3052
3074
|
} catch (e) {
|
|
3053
3075
|
if (typeof e === "object" && e !== null && "message" in e) {
|
|
3054
3076
|
throw new GraphQLError7(String(e.message));
|
|
@@ -3057,7 +3079,7 @@ var generateMutations = (db, tables, relations) => {
|
|
|
3057
3079
|
}
|
|
3058
3080
|
};
|
|
3059
3081
|
}
|
|
3060
|
-
return mutations;
|
|
3082
|
+
return { mutations, deleteResultResolvers: {} };
|
|
3061
3083
|
};
|
|
3062
3084
|
|
|
3063
3085
|
// src/buildSchemaSDL/index.ts
|
|
@@ -3080,12 +3102,17 @@ var buildSchemaSDL = (db, config) => {
|
|
|
3080
3102
|
typeDefsArray.push(generateMutationTypeDefs(tables));
|
|
3081
3103
|
const typeDefs = typeDefsArray.join("\n\n");
|
|
3082
3104
|
const queries = generateQueries(db, tables, relations);
|
|
3083
|
-
const mutations = generateMutations(
|
|
3105
|
+
const { mutations, deleteResultResolvers } = generateMutations(
|
|
3106
|
+
db,
|
|
3107
|
+
tables,
|
|
3108
|
+
relations
|
|
3109
|
+
);
|
|
3084
3110
|
return {
|
|
3085
3111
|
typeDefs,
|
|
3086
3112
|
resolvers: {
|
|
3087
3113
|
Query: queries,
|
|
3088
|
-
Mutation: mutations
|
|
3114
|
+
Mutation: mutations,
|
|
3115
|
+
...deleteResultResolvers
|
|
3089
3116
|
}
|
|
3090
3117
|
};
|
|
3091
3118
|
};
|