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.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
- return queryResolver(
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
- return queryResolver(
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 result = await deleteQuery.returning();
3051
- return result;
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(db, tables, relations);
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
  };