graphile-build-pg 4.13.0 → 4.14.1

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.
Files changed (106) hide show
  1. package/README.md +4 -13
  2. package/node8plus/GraphQLJSON.js +0 -11
  3. package/node8plus/GraphQLJSON.js.map +1 -1
  4. package/node8plus/PgLiveProvider.js +4 -11
  5. package/node8plus/PgLiveProvider.js.map +1 -1
  6. package/node8plus/QueryBuilder.js +42 -176
  7. package/node8plus/QueryBuilder.js.map +1 -1
  8. package/node8plus/index.js +8 -47
  9. package/node8plus/index.js.map +1 -1
  10. package/node8plus/inflections.js +9 -61
  11. package/node8plus/inflections.js.map +1 -1
  12. package/node8plus/omit.js +7 -22
  13. package/node8plus/omit.js.map +1 -1
  14. package/node8plus/parseIdentifier.js +0 -1
  15. package/node8plus/parseIdentifier.js.map +1 -1
  16. package/node8plus/pgPrepareAndRun.js +2 -14
  17. package/node8plus/pgPrepareAndRun.js.map +1 -1
  18. package/node8plus/plugins/PageInfoStartEndCursor.js +0 -4
  19. package/node8plus/plugins/PageInfoStartEndCursor.js.map +1 -1
  20. package/node8plus/plugins/PgAllRows.js +0 -29
  21. package/node8plus/plugins/PgAllRows.js.map +1 -1
  22. package/node8plus/plugins/PgBackwardRelationPlugin.js +2 -41
  23. package/node8plus/plugins/PgBackwardRelationPlugin.js.map +1 -1
  24. package/node8plus/plugins/PgBasicsPlugin.js +20 -147
  25. package/node8plus/plugins/PgBasicsPlugin.js.map +1 -1
  26. package/node8plus/plugins/PgColumnDeprecationPlugin.js +2 -5
  27. package/node8plus/plugins/PgColumnDeprecationPlugin.js.map +1 -1
  28. package/node8plus/plugins/PgColumnsPlugin.js +4 -17
  29. package/node8plus/plugins/PgColumnsPlugin.js.map +1 -1
  30. package/node8plus/plugins/PgComputedColumnsPlugin.js +4 -19
  31. package/node8plus/plugins/PgComputedColumnsPlugin.js.map +1 -1
  32. package/node8plus/plugins/PgConditionComputedColumnPlugin.js +12 -23
  33. package/node8plus/plugins/PgConditionComputedColumnPlugin.js.map +1 -1
  34. package/node8plus/plugins/PgConnectionArgCondition.js +1 -9
  35. package/node8plus/plugins/PgConnectionArgCondition.js.map +1 -1
  36. package/node8plus/plugins/PgConnectionArgFirstLastBeforeAfter.js +0 -12
  37. package/node8plus/plugins/PgConnectionArgFirstLastBeforeAfter.js.map +1 -1
  38. package/node8plus/plugins/PgConnectionArgOrderBy.js +2 -19
  39. package/node8plus/plugins/PgConnectionArgOrderBy.js.map +1 -1
  40. package/node8plus/plugins/PgConnectionArgOrderByDefaultValue.js +0 -6
  41. package/node8plus/plugins/PgConnectionArgOrderByDefaultValue.js.map +1 -1
  42. package/node8plus/plugins/PgConnectionTotalCount.js +0 -8
  43. package/node8plus/plugins/PgConnectionTotalCount.js.map +1 -1
  44. package/node8plus/plugins/PgForwardRelationPlugin.js +2 -25
  45. package/node8plus/plugins/PgForwardRelationPlugin.js.map +1 -1
  46. package/node8plus/plugins/PgIntrospectionPlugin.js +91 -180
  47. package/node8plus/plugins/PgIntrospectionPlugin.js.flow +30 -2
  48. package/node8plus/plugins/PgIntrospectionPlugin.js.map +1 -1
  49. package/node8plus/plugins/PgJWTPlugin.js +2 -18
  50. package/node8plus/plugins/PgJWTPlugin.js.map +1 -1
  51. package/node8plus/plugins/PgMutationCreatePlugin.js +0 -18
  52. package/node8plus/plugins/PgMutationCreatePlugin.js.map +1 -1
  53. package/node8plus/plugins/PgMutationPayloadEdgePlugin.js +4 -25
  54. package/node8plus/plugins/PgMutationPayloadEdgePlugin.js.map +1 -1
  55. package/node8plus/plugins/PgMutationProceduresPlugin.js +0 -6
  56. package/node8plus/plugins/PgMutationProceduresPlugin.js.map +1 -1
  57. package/node8plus/plugins/PgMutationUpdateDeletePlugin.js +14 -49
  58. package/node8plus/plugins/PgMutationUpdateDeletePlugin.js.flow +5 -2
  59. package/node8plus/plugins/PgMutationUpdateDeletePlugin.js.map +1 -1
  60. package/node8plus/plugins/PgNodeAliasPostGraphile.js +0 -6
  61. package/node8plus/plugins/PgNodeAliasPostGraphile.js.map +1 -1
  62. package/node8plus/plugins/PgOrderAllColumnsPlugin.js +0 -4
  63. package/node8plus/plugins/PgOrderAllColumnsPlugin.js.map +1 -1
  64. package/node8plus/plugins/PgOrderByPrimaryKeyPlugin.js +0 -6
  65. package/node8plus/plugins/PgOrderByPrimaryKeyPlugin.js.map +1 -1
  66. package/node8plus/plugins/PgOrderComputedColumnsPlugin.js +10 -14
  67. package/node8plus/plugins/PgOrderComputedColumnsPlugin.js.map +1 -1
  68. package/node8plus/plugins/PgQueryProceduresPlugin.js +4 -16
  69. package/node8plus/plugins/PgQueryProceduresPlugin.js.map +1 -1
  70. package/node8plus/plugins/PgRecordFunctionConnectionPlugin.js +3 -20
  71. package/node8plus/plugins/PgRecordFunctionConnectionPlugin.js.map +1 -1
  72. package/node8plus/plugins/PgRecordReturnTypesPlugin.js +11 -16
  73. package/node8plus/plugins/PgRecordReturnTypesPlugin.js.map +1 -1
  74. package/node8plus/plugins/PgRowByUniqueConstraint.js +4 -25
  75. package/node8plus/plugins/PgRowByUniqueConstraint.js.map +1 -1
  76. package/node8plus/plugins/PgRowNode.js +0 -32
  77. package/node8plus/plugins/PgRowNode.js.map +1 -1
  78. package/node8plus/plugins/PgScalarFunctionConnectionPlugin.js +3 -17
  79. package/node8plus/plugins/PgScalarFunctionConnectionPlugin.js.map +1 -1
  80. package/node8plus/plugins/PgTablesPlugin.js +7 -59
  81. package/node8plus/plugins/PgTablesPlugin.js.map +1 -1
  82. package/node8plus/plugins/PgTypesPlugin.js +140 -240
  83. package/node8plus/plugins/PgTypesPlugin.js.flow +76 -23
  84. package/node8plus/plugins/PgTypesPlugin.js.map +1 -1
  85. package/node8plus/plugins/addStartEndCursor.js +2 -5
  86. package/node8plus/plugins/addStartEndCursor.js.map +1 -1
  87. package/node8plus/plugins/debugSql.js +1 -16
  88. package/node8plus/plugins/debugSql.js.map +1 -1
  89. package/node8plus/plugins/introspectionQuery.js +3 -4
  90. package/node8plus/plugins/introspectionQuery.js.flow +11 -3
  91. package/node8plus/plugins/introspectionQuery.js.map +1 -1
  92. package/node8plus/plugins/makeProcField.js +40 -90
  93. package/node8plus/plugins/makeProcField.js.map +1 -1
  94. package/node8plus/plugins/pgField.js +2 -7
  95. package/node8plus/plugins/pgField.js.map +1 -1
  96. package/node8plus/plugins/viaTemporaryTable.js +6 -12
  97. package/node8plus/plugins/viaTemporaryTable.js.map +1 -1
  98. package/node8plus/postgresInterval.js +4 -4
  99. package/node8plus/postgresInterval.js.map +1 -1
  100. package/node8plus/queryFromResolveDataFactory.js +33 -77
  101. package/node8plus/queryFromResolveDataFactory.js.map +1 -1
  102. package/node8plus/utils.js +8 -9
  103. package/node8plus/utils.js.map +1 -1
  104. package/node8plus/withPgClient.js +4 -26
  105. package/node8plus/withPgClient.js.map +1 -1
  106. package/package.json +4 -4
@@ -4,20 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _debug = _interopRequireDefault(require("debug"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  const debug = (0, _debug.default)("graphile-build-pg");
13
-
14
10
  var PgMutationCreatePlugin = function PgMutationCreatePlugin(builder, {
15
11
  pgDisableDefaultMutations
16
12
  }) {
17
13
  if (pgDisableDefaultMutations) {
18
14
  return;
19
15
  }
20
-
21
16
  builder.hook("GraphQLObjectType:fields", (fields, build, context) => {
22
17
  const {
23
18
  extend,
@@ -49,29 +44,23 @@ var PgMutationCreatePlugin = function PgMutationCreatePlugin(builder, {
49
44
  },
50
45
  fieldWithHooks
51
46
  } = context;
52
-
53
47
  if (!isRootMutation) {
54
48
  return fields;
55
49
  }
56
-
57
50
  return extend(fields, pgIntrospectionResultsByKind.class.reduce((memo, table) => {
58
51
  // PERFORMANCE: These used to be .filter(...) calls
59
52
  if (!table.namespace) return memo;
60
53
  if (!table.isSelectable) return memo;
61
54
  if (!table.isInsertable || omit(table, "create")) return memo;
62
55
  const Table = pgGetGqlTypeByTypeIdAndModifier(table.type.id, null);
63
-
64
56
  if (!Table) {
65
57
  debug(`There was no table type for table '${table.namespace.name}.${table.name}', so we're not generating a create mutation for it.`);
66
58
  return memo;
67
59
  }
68
-
69
60
  const TableInput = pgGetGqlInputTypeByTypeIdAndModifier(table.type.id, null);
70
-
71
61
  if (!TableInput) {
72
62
  debug(`There was no input type for table '${table.namespace.name}.${table.name}', so we're going to omit it from the create mutation.`);
73
63
  }
74
-
75
64
  const tableTypeName = inflection.tableType(table);
76
65
  const InputType = newWithHooks(GraphQLInputObjectType, {
77
66
  name: inflection.createInputType(table),
@@ -143,7 +132,6 @@ var PgMutationCreatePlugin = function PgMutationCreatePlugin(builder, {
143
132
  type: new GraphQLNonNull(InputType)
144
133
  }
145
134
  },
146
-
147
135
  async resolve(data, args, resolveContext, resolveInfo) {
148
136
  const {
149
137
  input
@@ -153,7 +141,6 @@ var PgMutationCreatePlugin = function PgMutationCreatePlugin(builder, {
153
141
  } = resolveContext;
154
142
  const parsedResolveInfoFragment = parseResolveInfo(resolveInfo);
155
143
  parsedResolveInfoFragment.args = args; // Allow overriding via makeWrapResolversPlugin
156
-
157
144
  const resolveData = getDataFromParsedResolveInfoFragment(parsedResolveInfoFragment, PayloadType);
158
145
  const insertedRowAlias = sql.identifier(Symbol());
159
146
  const query = queryFromResolveData(insertedRowAlias, insertedRowAlias, resolveData, {}, null, resolveContext, resolveInfo.rootValue);
@@ -163,7 +150,6 @@ var PgMutationCreatePlugin = function PgMutationCreatePlugin(builder, {
163
150
  relevantAttributes.forEach(attr => {
164
151
  const fieldName = inflection.column(attr);
165
152
  const val = inputData[fieldName];
166
-
167
153
  if (Object.prototype.hasOwnProperty.call(inputData, fieldName)) {
168
154
  sqlColumns.push(sql.identifier(attr.name));
169
155
  sqlValues.push(gql2pg(val, attr.type, attr.typeModifier));
@@ -172,7 +158,6 @@ var PgMutationCreatePlugin = function PgMutationCreatePlugin(builder, {
172
158
  const mutationQuery = sql.query`\
173
159
  insert into ${sql.identifier(table.namespace.name, table.name)} ${sqlColumns.length ? sql.fragment`(${sql.join(sqlColumns, ", ")}) values(${sql.join(sqlValues, ", ")})` : sql.fragment`default values`} returning *`;
174
160
  let row;
175
-
176
161
  try {
177
162
  await pgClient.query("SAVEPOINT graphql_mutation");
178
163
  const rows = await viaTemporaryTable(pgClient, sql.identifier(table.namespace.name, table.name), mutationQuery, insertedRowAlias, query);
@@ -182,13 +167,11 @@ insert into ${sql.identifier(table.namespace.name, table.name)} ${sqlColumns.len
182
167
  await pgClient.query("ROLLBACK TO SAVEPOINT graphql_mutation");
183
168
  throw e;
184
169
  }
185
-
186
170
  return {
187
171
  clientMutationId: input.clientMutationId,
188
172
  data: row
189
173
  };
190
174
  }
191
-
192
175
  };
193
176
  }, {
194
177
  pgFieldIntrospection: table,
@@ -201,6 +184,5 @@ insert into ${sql.identifier(table.namespace.name, table.name)} ${sqlColumns.len
201
184
  }, {}), `Adding default 'create' mutation to root mutation`);
202
185
  }, ["PgMutationCreate"], [], ["PgTables"]);
203
186
  };
204
-
205
187
  exports.default = PgMutationCreatePlugin;
206
188
  //# sourceMappingURL=PgMutationCreatePlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/plugins/PgMutationCreatePlugin.js"],"names":["debug","PgMutationCreatePlugin","builder","pgDisableDefaultMutations","hook","fields","build","context","extend","newWithHooks","parseResolveInfo","pgIntrospectionResultsByKind","pgGetGqlTypeByTypeIdAndModifier","pgGetGqlInputTypeByTypeIdAndModifier","pgSql","sql","gql2pg","graphql","GraphQLObjectType","GraphQLInputObjectType","GraphQLNonNull","GraphQLString","pgColumnFilter","inflection","pgQueryFromResolveData","queryFromResolveData","pgOmit","omit","pgViaTemporaryTable","viaTemporaryTable","describePgEntity","sqlCommentByAddingTags","pgField","scope","isRootMutation","fieldWithHooks","class","reduce","memo","table","namespace","isSelectable","isInsertable","Table","type","id","name","TableInput","tableTypeName","tableType","InputType","createInputType","description","wrapDescription","clientMutationId","tableFieldName","__origin","isPgCreateInputType","pgInflection","pgIntrospection","PayloadType","createPayloadType","tableName","isPgCreatePayloadResultField","pgFieldIntrospection","isMutationPayload","isPgCreatePayloadType","fieldName","createField","getDataFromParsedResolveInfoFragment","relevantAttributes","attributes","filter","attr","args","input","resolve","data","resolveContext","resolveInfo","pgClient","parsedResolveInfoFragment","resolveData","insertedRowAlias","identifier","Symbol","query","rootValue","sqlColumns","sqlValues","inputData","forEach","column","val","Object","prototype","hasOwnProperty","call","push","typeModifier","mutationQuery","length","fragment","join","row","rows","e","isPgCreateMutationField"],"mappings":"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","sourcesContent":["// @flow\nimport type { Plugin } from \"graphile-build\";\nimport debugFactory from \"debug\";\n\nconst debug = debugFactory(\"graphile-build-pg\");\n\nexport default (function PgMutationCreatePlugin(\n builder,\n { pgDisableDefaultMutations }\n) {\n if (pgDisableDefaultMutations) {\n return;\n }\n\n builder.hook(\n \"GraphQLObjectType:fields\",\n (fields, build, context) => {\n const {\n extend,\n newWithHooks,\n parseResolveInfo,\n pgIntrospectionResultsByKind,\n pgGetGqlTypeByTypeIdAndModifier,\n pgGetGqlInputTypeByTypeIdAndModifier,\n pgSql: sql,\n gql2pg,\n graphql: {\n GraphQLObjectType,\n GraphQLInputObjectType,\n GraphQLNonNull,\n GraphQLString,\n },\n pgColumnFilter,\n inflection,\n pgQueryFromResolveData: queryFromResolveData,\n pgOmit: omit,\n pgViaTemporaryTable: viaTemporaryTable,\n describePgEntity,\n sqlCommentByAddingTags,\n pgField,\n } = build;\n const {\n scope: { isRootMutation },\n fieldWithHooks,\n } = context;\n\n if (!isRootMutation) {\n return fields;\n }\n\n return extend(\n fields,\n pgIntrospectionResultsByKind.class.reduce((memo, table) => {\n // PERFORMANCE: These used to be .filter(...) calls\n if (!table.namespace) return memo;\n if (!table.isSelectable) return memo;\n if (!table.isInsertable || omit(table, \"create\")) return memo;\n\n const Table = pgGetGqlTypeByTypeIdAndModifier(table.type.id, null);\n if (!Table) {\n debug(\n `There was no table type for table '${table.namespace.name}.${table.name}', so we're not generating a create mutation for it.`\n );\n return memo;\n }\n const TableInput = pgGetGqlInputTypeByTypeIdAndModifier(\n table.type.id,\n null\n );\n if (!TableInput) {\n debug(\n `There was no input type for table '${table.namespace.name}.${table.name}', so we're going to omit it from the create mutation.`\n );\n }\n const tableTypeName = inflection.tableType(table);\n const InputType = newWithHooks(\n GraphQLInputObjectType,\n {\n name: inflection.createInputType(table),\n description: build.wrapDescription(\n `All input for the create \\`${tableTypeName}\\` mutation.`,\n \"type\"\n ),\n fields: {\n clientMutationId: {\n description: build.wrapDescription(\n \"An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client.\",\n \"field\"\n ),\n type: GraphQLString,\n },\n ...(TableInput\n ? {\n [inflection.tableFieldName(table)]: {\n description: build.wrapDescription(\n `The \\`${tableTypeName}\\` to be created by this mutation.`,\n \"field\"\n ),\n type: new GraphQLNonNull(TableInput),\n },\n }\n : null),\n },\n },\n {\n __origin: `Adding table create input type for ${describePgEntity(\n table\n )}. You can rename the table's GraphQL type via a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n table,\n {\n name: \"newNameHere\",\n }\n )}`,\n isPgCreateInputType: true,\n pgInflection: table, // TODO:v5: remove - TYPO!\n pgIntrospection: table,\n }\n );\n const PayloadType = newWithHooks(\n GraphQLObjectType,\n {\n name: inflection.createPayloadType(table),\n description: build.wrapDescription(\n `The output of our create \\`${tableTypeName}\\` mutation.`,\n \"type\"\n ),\n fields: ({ fieldWithHooks }) => {\n const tableName = inflection.tableFieldName(table);\n return {\n clientMutationId: {\n description: build.wrapDescription(\n \"The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations.\",\n \"field\"\n ),\n type: GraphQLString,\n },\n [tableName]: pgField(\n build,\n fieldWithHooks,\n tableName,\n {\n description: build.wrapDescription(\n `The \\`${tableTypeName}\\` that was created by this mutation.`,\n \"field\"\n ),\n type: Table,\n },\n {\n isPgCreatePayloadResultField: true,\n pgFieldIntrospection: table,\n }\n ),\n };\n },\n },\n {\n __origin: `Adding table create payload type for ${describePgEntity(\n table\n )}. You can rename the table's GraphQL type via a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n table,\n {\n name: \"newNameHere\",\n }\n )}\\n\\nor disable the built-in create mutation via:\\n\\n ${sqlCommentByAddingTags(\n table,\n { omit: \"create\" }\n )}`,\n isMutationPayload: true,\n isPgCreatePayloadType: true,\n pgIntrospection: table,\n }\n );\n const fieldName = inflection.createField(table);\n memo = build.extend(\n memo,\n {\n [fieldName]: fieldWithHooks(\n fieldName,\n context => {\n const { getDataFromParsedResolveInfoFragment } = context;\n const relevantAttributes = table.attributes.filter(\n attr =>\n pgColumnFilter(attr, build, context) &&\n !omit(attr, \"create\")\n );\n return {\n description: build.wrapDescription(\n `Creates a single \\`${tableTypeName}\\`.`,\n \"field\"\n ),\n type: PayloadType,\n args: {\n input: {\n type: new GraphQLNonNull(InputType),\n },\n },\n async resolve(data, args, resolveContext, resolveInfo) {\n const { input } = args;\n const { pgClient } = resolveContext;\n const parsedResolveInfoFragment =\n parseResolveInfo(resolveInfo);\n parsedResolveInfoFragment.args = args; // Allow overriding via makeWrapResolversPlugin\n const resolveData = getDataFromParsedResolveInfoFragment(\n parsedResolveInfoFragment,\n PayloadType\n );\n const insertedRowAlias = sql.identifier(Symbol());\n const query = queryFromResolveData(\n insertedRowAlias,\n insertedRowAlias,\n resolveData,\n {},\n null,\n resolveContext,\n resolveInfo.rootValue\n );\n const sqlColumns = [];\n const sqlValues = [];\n const inputData = input[inflection.tableFieldName(table)];\n relevantAttributes.forEach(attr => {\n const fieldName = inflection.column(attr);\n const val = inputData[fieldName];\n if (\n Object.prototype.hasOwnProperty.call(\n inputData,\n fieldName\n )\n ) {\n sqlColumns.push(sql.identifier(attr.name));\n sqlValues.push(\n gql2pg(val, attr.type, attr.typeModifier)\n );\n }\n });\n\n const mutationQuery = sql.query`\\\ninsert into ${sql.identifier(table.namespace.name, table.name)} ${\n sqlColumns.length\n ? sql.fragment`(${sql.join(\n sqlColumns,\n \", \"\n )}) values(${sql.join(sqlValues, \", \")})`\n : sql.fragment`default values`\n } returning *`;\n\n let row;\n try {\n await pgClient.query(\"SAVEPOINT graphql_mutation\");\n const rows = await viaTemporaryTable(\n pgClient,\n sql.identifier(table.namespace.name, table.name),\n mutationQuery,\n insertedRowAlias,\n query\n );\n row = rows[0];\n await pgClient.query(\n \"RELEASE SAVEPOINT graphql_mutation\"\n );\n } catch (e) {\n await pgClient.query(\n \"ROLLBACK TO SAVEPOINT graphql_mutation\"\n );\n throw e;\n }\n return {\n clientMutationId: input.clientMutationId,\n data: row,\n };\n },\n };\n },\n {\n pgFieldIntrospection: table,\n isPgCreateMutationField: true,\n }\n ),\n },\n `Adding create mutation for ${describePgEntity(\n table\n )}. You can omit this default mutation with a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n table,\n {\n omit: \"create\",\n }\n )}`\n );\n return memo;\n }, {}),\n `Adding default 'create' mutation to root mutation`\n );\n },\n [\"PgMutationCreate\"],\n [],\n [\"PgTables\"]\n );\n}: Plugin);\n"],"file":"PgMutationCreatePlugin.js"}
1
+ {"version":3,"file":"PgMutationCreatePlugin.js","names":["_debug","_interopRequireDefault","require","obj","__esModule","default","debug","debugFactory","PgMutationCreatePlugin","builder","pgDisableDefaultMutations","hook","fields","build","context","extend","newWithHooks","parseResolveInfo","pgIntrospectionResultsByKind","pgGetGqlTypeByTypeIdAndModifier","pgGetGqlInputTypeByTypeIdAndModifier","pgSql","sql","gql2pg","graphql","GraphQLObjectType","GraphQLInputObjectType","GraphQLNonNull","GraphQLString","pgColumnFilter","inflection","pgQueryFromResolveData","queryFromResolveData","pgOmit","omit","pgViaTemporaryTable","viaTemporaryTable","describePgEntity","sqlCommentByAddingTags","pgField","scope","isRootMutation","fieldWithHooks","class","reduce","memo","table","namespace","isSelectable","isInsertable","Table","type","id","name","TableInput","tableTypeName","tableType","InputType","createInputType","description","wrapDescription","clientMutationId","tableFieldName","__origin","isPgCreateInputType","pgInflection","pgIntrospection","PayloadType","createPayloadType","tableName","isPgCreatePayloadResultField","pgFieldIntrospection","isMutationPayload","isPgCreatePayloadType","fieldName","createField","getDataFromParsedResolveInfoFragment","relevantAttributes","attributes","filter","attr","args","input","resolve","data","resolveContext","resolveInfo","pgClient","parsedResolveInfoFragment","resolveData","insertedRowAlias","identifier","Symbol","query","rootValue","sqlColumns","sqlValues","inputData","forEach","column","val","Object","prototype","hasOwnProperty","call","push","typeModifier","mutationQuery","length","fragment","join","row","rows","e","isPgCreateMutationField","exports"],"sources":["../../src/plugins/PgMutationCreatePlugin.js"],"sourcesContent":["// @flow\nimport type { Plugin } from \"graphile-build\";\nimport debugFactory from \"debug\";\n\nconst debug = debugFactory(\"graphile-build-pg\");\n\nexport default (function PgMutationCreatePlugin(\n builder,\n { pgDisableDefaultMutations }\n) {\n if (pgDisableDefaultMutations) {\n return;\n }\n\n builder.hook(\n \"GraphQLObjectType:fields\",\n (fields, build, context) => {\n const {\n extend,\n newWithHooks,\n parseResolveInfo,\n pgIntrospectionResultsByKind,\n pgGetGqlTypeByTypeIdAndModifier,\n pgGetGqlInputTypeByTypeIdAndModifier,\n pgSql: sql,\n gql2pg,\n graphql: {\n GraphQLObjectType,\n GraphQLInputObjectType,\n GraphQLNonNull,\n GraphQLString,\n },\n pgColumnFilter,\n inflection,\n pgQueryFromResolveData: queryFromResolveData,\n pgOmit: omit,\n pgViaTemporaryTable: viaTemporaryTable,\n describePgEntity,\n sqlCommentByAddingTags,\n pgField,\n } = build;\n const {\n scope: { isRootMutation },\n fieldWithHooks,\n } = context;\n\n if (!isRootMutation) {\n return fields;\n }\n\n return extend(\n fields,\n pgIntrospectionResultsByKind.class.reduce((memo, table) => {\n // PERFORMANCE: These used to be .filter(...) calls\n if (!table.namespace) return memo;\n if (!table.isSelectable) return memo;\n if (!table.isInsertable || omit(table, \"create\")) return memo;\n\n const Table = pgGetGqlTypeByTypeIdAndModifier(table.type.id, null);\n if (!Table) {\n debug(\n `There was no table type for table '${table.namespace.name}.${table.name}', so we're not generating a create mutation for it.`\n );\n return memo;\n }\n const TableInput = pgGetGqlInputTypeByTypeIdAndModifier(\n table.type.id,\n null\n );\n if (!TableInput) {\n debug(\n `There was no input type for table '${table.namespace.name}.${table.name}', so we're going to omit it from the create mutation.`\n );\n }\n const tableTypeName = inflection.tableType(table);\n const InputType = newWithHooks(\n GraphQLInputObjectType,\n {\n name: inflection.createInputType(table),\n description: build.wrapDescription(\n `All input for the create \\`${tableTypeName}\\` mutation.`,\n \"type\"\n ),\n fields: {\n clientMutationId: {\n description: build.wrapDescription(\n \"An arbitrary string value with no semantic meaning. Will be included in the payload verbatim. May be used to track mutations by the client.\",\n \"field\"\n ),\n type: GraphQLString,\n },\n ...(TableInput\n ? {\n [inflection.tableFieldName(table)]: {\n description: build.wrapDescription(\n `The \\`${tableTypeName}\\` to be created by this mutation.`,\n \"field\"\n ),\n type: new GraphQLNonNull(TableInput),\n },\n }\n : null),\n },\n },\n {\n __origin: `Adding table create input type for ${describePgEntity(\n table\n )}. You can rename the table's GraphQL type via a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n table,\n {\n name: \"newNameHere\",\n }\n )}`,\n isPgCreateInputType: true,\n pgInflection: table, // TODO:v5: remove - TYPO!\n pgIntrospection: table,\n }\n );\n const PayloadType = newWithHooks(\n GraphQLObjectType,\n {\n name: inflection.createPayloadType(table),\n description: build.wrapDescription(\n `The output of our create \\`${tableTypeName}\\` mutation.`,\n \"type\"\n ),\n fields: ({ fieldWithHooks }) => {\n const tableName = inflection.tableFieldName(table);\n return {\n clientMutationId: {\n description: build.wrapDescription(\n \"The exact same `clientMutationId` that was provided in the mutation input, unchanged and unused. May be used by a client to track mutations.\",\n \"field\"\n ),\n type: GraphQLString,\n },\n [tableName]: pgField(\n build,\n fieldWithHooks,\n tableName,\n {\n description: build.wrapDescription(\n `The \\`${tableTypeName}\\` that was created by this mutation.`,\n \"field\"\n ),\n type: Table,\n },\n {\n isPgCreatePayloadResultField: true,\n pgFieldIntrospection: table,\n }\n ),\n };\n },\n },\n {\n __origin: `Adding table create payload type for ${describePgEntity(\n table\n )}. You can rename the table's GraphQL type via a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n table,\n {\n name: \"newNameHere\",\n }\n )}\\n\\nor disable the built-in create mutation via:\\n\\n ${sqlCommentByAddingTags(\n table,\n { omit: \"create\" }\n )}`,\n isMutationPayload: true,\n isPgCreatePayloadType: true,\n pgIntrospection: table,\n }\n );\n const fieldName = inflection.createField(table);\n memo = build.extend(\n memo,\n {\n [fieldName]: fieldWithHooks(\n fieldName,\n context => {\n const { getDataFromParsedResolveInfoFragment } = context;\n const relevantAttributes = table.attributes.filter(\n attr =>\n pgColumnFilter(attr, build, context) &&\n !omit(attr, \"create\")\n );\n return {\n description: build.wrapDescription(\n `Creates a single \\`${tableTypeName}\\`.`,\n \"field\"\n ),\n type: PayloadType,\n args: {\n input: {\n type: new GraphQLNonNull(InputType),\n },\n },\n async resolve(data, args, resolveContext, resolveInfo) {\n const { input } = args;\n const { pgClient } = resolveContext;\n const parsedResolveInfoFragment =\n parseResolveInfo(resolveInfo);\n parsedResolveInfoFragment.args = args; // Allow overriding via makeWrapResolversPlugin\n const resolveData = getDataFromParsedResolveInfoFragment(\n parsedResolveInfoFragment,\n PayloadType\n );\n const insertedRowAlias = sql.identifier(Symbol());\n const query = queryFromResolveData(\n insertedRowAlias,\n insertedRowAlias,\n resolveData,\n {},\n null,\n resolveContext,\n resolveInfo.rootValue\n );\n const sqlColumns = [];\n const sqlValues = [];\n const inputData = input[inflection.tableFieldName(table)];\n relevantAttributes.forEach(attr => {\n const fieldName = inflection.column(attr);\n const val = inputData[fieldName];\n if (\n Object.prototype.hasOwnProperty.call(\n inputData,\n fieldName\n )\n ) {\n sqlColumns.push(sql.identifier(attr.name));\n sqlValues.push(\n gql2pg(val, attr.type, attr.typeModifier)\n );\n }\n });\n\n const mutationQuery = sql.query`\\\ninsert into ${sql.identifier(table.namespace.name, table.name)} ${\n sqlColumns.length\n ? sql.fragment`(${sql.join(\n sqlColumns,\n \", \"\n )}) values(${sql.join(sqlValues, \", \")})`\n : sql.fragment`default values`\n } returning *`;\n\n let row;\n try {\n await pgClient.query(\"SAVEPOINT graphql_mutation\");\n const rows = await viaTemporaryTable(\n pgClient,\n sql.identifier(table.namespace.name, table.name),\n mutationQuery,\n insertedRowAlias,\n query\n );\n row = rows[0];\n await pgClient.query(\n \"RELEASE SAVEPOINT graphql_mutation\"\n );\n } catch (e) {\n await pgClient.query(\n \"ROLLBACK TO SAVEPOINT graphql_mutation\"\n );\n throw e;\n }\n return {\n clientMutationId: input.clientMutationId,\n data: row,\n };\n },\n };\n },\n {\n pgFieldIntrospection: table,\n isPgCreateMutationField: true,\n }\n ),\n },\n `Adding create mutation for ${describePgEntity(\n table\n )}. You can omit this default mutation with a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n table,\n {\n omit: \"create\",\n }\n )}`\n );\n return memo;\n }, {}),\n `Adding default 'create' mutation to root mutation`\n );\n },\n [\"PgMutationCreate\"],\n [],\n [\"PgTables\"]\n );\n}: Plugin);\n"],"mappings":"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"}
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _isString = _interopRequireDefault(require("lodash/isString"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  var PgMutationPayloadEdgePlugin = function PgMutationPayloadEdgePlugin(builder, {
13
10
  pgSimpleCollections,
14
11
  disableIssue397Fix
@@ -39,31 +36,24 @@ var PgMutationPayloadEdgePlugin = function PgMutationPayloadEdgePlugin(builder,
39
36
  Self
40
37
  } = context;
41
38
  const table = pgIntrospectionTable || pgIntrospection;
42
-
43
39
  if (!isMutationPayload || !table || table.kind !== "class" || !table.namespace || !table.isSelectable || omit(table, "all") && omit(table, "many")) {
44
40
  return fields;
45
41
  }
46
-
47
42
  if (pgIntrospection.kind === "procedure" && (pgIntrospection.returnTypeId !== table.typeId || pgIntrospection.returnsSet)) {
48
43
  return fields;
49
44
  }
50
-
51
45
  const simpleCollections = table.tags.simpleCollections || pgSimpleCollections;
52
46
  const hasConnections = simpleCollections !== "only";
53
-
54
47
  if (!hasConnections && !disableIssue397Fix) {
55
48
  return fields;
56
49
  }
57
-
58
50
  const TableType = pgGetGqlTypeByTypeIdAndModifier(table.type.id, null);
59
51
  const tableTypeName = TableType.name;
60
52
  const TableOrderByType = getTypeByName(inflection.orderByType(tableTypeName));
61
53
  const TableEdgeType = getTypeByName(inflection.edge(tableTypeName));
62
-
63
54
  if (!TableEdgeType) {
64
55
  return fields;
65
56
  }
66
-
67
57
  const primaryKeyConstraint = table.primaryKeyConstraint;
68
58
  const primaryKeys = primaryKeyConstraint && primaryKeyConstraint.keyAttributes;
69
59
  const canOrderBy = !omit(table, "order");
@@ -81,39 +71,34 @@ var PgMutationPayloadEdgePlugin = function PgMutationPayloadEdgePlugin(builder,
81
71
  defaultValue: defaultValueEnum ? [defaultValueEnum.value] : null
82
72
  }
83
73
  } : {},
84
-
85
74
  resolve(data, {
86
75
  orderBy: rawOrderBy
87
76
  }, _context, resolveInfo) {
88
77
  if (!data.data) {
89
78
  return null;
90
79
  }
91
-
92
80
  const safeAlias = getSafeAliasFromResolveInfo(resolveInfo);
93
81
  const edge = data.data[safeAlias];
94
-
95
82
  if (!edge) {
96
83
  return null;
97
84
  }
98
-
99
85
  const orderBy = canOrderBy && rawOrderBy ? Array.isArray(rawOrderBy) ? rawOrderBy : [rawOrderBy] : null;
100
86
  const order = orderBy && orderBy.some(item => item.alias) ? orderBy.filter(item => item.alias) : null;
101
-
102
87
  if (!order) {
103
88
  if (edge.__identifiers) {
104
- return { ...edge,
89
+ return {
90
+ ...edge,
105
91
  __cursor: ["primary_key_asc", edge.__identifiers]
106
92
  };
107
93
  } else {
108
94
  return edge;
109
95
  }
110
96
  }
111
-
112
- return { ...edge,
97
+ return {
98
+ ...edge,
113
99
  __cursor: edge[`__order_${order.map(item => item.alias).join("__")}`]
114
100
  };
115
101
  }
116
-
117
102
  }, {
118
103
  isPgMutationPayloadEdgeField: true,
119
104
  pgFieldIntrospection: table
@@ -127,7 +112,6 @@ var PgMutationPayloadEdgePlugin = function PgMutationPayloadEdgePlugin(builder,
127
112
  }
128
113
  } = parsedResolveInfoFragment;
129
114
  const orderBy = canOrderBy && rawOrderBy ? Array.isArray(rawOrderBy) ? rawOrderBy : [rawOrderBy] : null;
130
-
131
115
  if (orderBy != null) {
132
116
  const aliases = [];
133
117
  const expressions = [];
@@ -144,7 +128,6 @@ var PgMutationPayloadEdgePlugin = function PgMutationPayloadEdgePlugin(builder,
144
128
  if (!col) {
145
129
  return;
146
130
  }
147
-
148
131
  const expr = (0, _isString.default)(col) ? sql.fragment`${queryBuilder.getTableAlias()}.${sql.identifier(col)}` : typeof col === "function" ? col({
149
132
  queryBuilder
150
133
  }) : col;
@@ -153,24 +136,20 @@ var PgMutationPayloadEdgePlugin = function PgMutationPayloadEdgePlugin(builder,
153
136
  if (alias == null) return;
154
137
  aliases.push(alias);
155
138
  });
156
-
157
139
  if (!unique && primaryKeys) {
158
140
  // Add PKs
159
141
  primaryKeys.forEach(key => {
160
142
  expressions.push(sql.fragment`${queryBuilder.getTableAlias()}.${sql.identifier(key.name)}`);
161
143
  });
162
144
  }
163
-
164
145
  if (aliases.length) {
165
146
  queryBuilder.select(sql.fragment`json_build_array(${sql.join(aliases.map(a => sql.fragment`${sql.literal(a)}::text`), ", ")}, json_build_array(${sql.join(expressions, ", ")}))`, "__order_" + aliases.join("__"));
166
147
  }
167
148
  }
168
149
  }
169
-
170
150
  })
171
151
  }, `Adding edge field for table ${describePgEntity(table)} to mutation payload '${Self.name}'`);
172
152
  }, ["PgMutationPayloadEdge"]);
173
153
  };
174
-
175
154
  exports.default = PgMutationPayloadEdgePlugin;
176
155
  //# sourceMappingURL=PgMutationPayloadEdgePlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/plugins/PgMutationPayloadEdgePlugin.js"],"names":["PgMutationPayloadEdgePlugin","builder","pgSimpleCollections","disableIssue397Fix","hook","fields","build","context","extend","getSafeAliasFromResolveInfo","getTypeByName","pgGetGqlTypeByTypeIdAndModifier","pgSql","sql","graphql","GraphQLList","GraphQLNonNull","inflection","pgOmit","omit","describePgEntity","pgField","scope","isMutationPayload","pgIntrospection","pgIntrospectionTable","fieldWithHooks","Self","table","kind","namespace","isSelectable","returnTypeId","typeId","returnsSet","simpleCollections","tags","hasConnections","TableType","type","id","tableTypeName","name","TableOrderByType","orderByType","TableEdgeType","edge","primaryKeyConstraint","primaryKeys","keyAttributes","canOrderBy","fieldName","edgeField","primaryKeyAsc","builtin","defaultValueEnum","getValues","find","v","description","wrapDescription","args","orderBy","defaultValue","value","resolve","data","rawOrderBy","_context","resolveInfo","safeAlias","Array","isArray","order","some","item","alias","filter","__identifiers","__cursor","map","join","isPgMutationPayloadEdgeField","pgFieldIntrospection","withQueryBuilder","queryBuilder","parsedResolveInfoFragment","aliases","expressions","unique","forEach","specs","itemIsUnique","orders","col","_ascending","expr","fragment","getTableAlias","identifier","push","key","length","select","a","literal"],"mappings":"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","sourcesContent":["// @flow\nimport type { Plugin } from \"graphile-build\";\nimport isString from \"lodash/isString\";\n\nexport default (function PgMutationPayloadEdgePlugin(\n builder,\n { pgSimpleCollections, disableIssue397Fix }\n) {\n builder.hook(\n \"GraphQLObjectType:fields\",\n (fields, build, context) => {\n const {\n extend,\n getSafeAliasFromResolveInfo,\n getTypeByName,\n pgGetGqlTypeByTypeIdAndModifier,\n pgSql: sql,\n graphql: { GraphQLList, GraphQLNonNull },\n inflection,\n pgOmit: omit,\n describePgEntity,\n pgField,\n } = build;\n const {\n scope: { isMutationPayload, pgIntrospection, pgIntrospectionTable },\n fieldWithHooks,\n Self,\n } = context;\n\n const table = pgIntrospectionTable || pgIntrospection;\n if (\n !isMutationPayload ||\n !table ||\n table.kind !== \"class\" ||\n !table.namespace ||\n !table.isSelectable ||\n (omit(table, \"all\") && omit(table, \"many\"))\n ) {\n return fields;\n }\n if (\n pgIntrospection.kind === \"procedure\" &&\n (pgIntrospection.returnTypeId !== table.typeId ||\n pgIntrospection.returnsSet)\n ) {\n return fields;\n }\n const simpleCollections =\n table.tags.simpleCollections || pgSimpleCollections;\n const hasConnections = simpleCollections !== \"only\";\n if (!hasConnections && !disableIssue397Fix) {\n return fields;\n }\n\n const TableType = pgGetGqlTypeByTypeIdAndModifier(table.type.id, null);\n const tableTypeName = TableType.name;\n const TableOrderByType = getTypeByName(\n inflection.orderByType(tableTypeName)\n );\n const TableEdgeType = getTypeByName(inflection.edge(tableTypeName));\n if (!TableEdgeType) {\n return fields;\n }\n\n const primaryKeyConstraint = table.primaryKeyConstraint;\n const primaryKeys =\n primaryKeyConstraint && primaryKeyConstraint.keyAttributes;\n const canOrderBy = !omit(table, \"order\");\n\n const fieldName = inflection.edgeField(table);\n const primaryKeyAsc = inflection.builtin(\"PRIMARY_KEY_ASC\");\n const defaultValueEnum =\n canOrderBy &&\n (TableOrderByType.getValues().find(v => v.name === primaryKeyAsc) ||\n TableOrderByType.getValues()[0]);\n return extend(\n fields,\n {\n [fieldName]: pgField(\n build,\n fieldWithHooks,\n fieldName,\n {\n description: build.wrapDescription(\n `An edge for our \\`${tableTypeName}\\`. May be used by Relay 1.`,\n \"field\"\n ),\n type: TableEdgeType,\n args: canOrderBy\n ? {\n orderBy: {\n description: build.wrapDescription(\n `The method to use when ordering \\`${tableTypeName}\\`.`,\n \"arg\"\n ),\n type: new GraphQLList(\n new GraphQLNonNull(TableOrderByType)\n ),\n defaultValue: defaultValueEnum\n ? [defaultValueEnum.value]\n : null,\n },\n }\n : {},\n resolve(data, { orderBy: rawOrderBy }, _context, resolveInfo) {\n if (!data.data) {\n return null;\n }\n const safeAlias = getSafeAliasFromResolveInfo(resolveInfo);\n const edge = data.data[safeAlias];\n if (!edge) {\n return null;\n }\n const orderBy =\n canOrderBy && rawOrderBy\n ? Array.isArray(rawOrderBy)\n ? rawOrderBy\n : [rawOrderBy]\n : null;\n const order =\n orderBy && orderBy.some(item => item.alias)\n ? orderBy.filter(item => item.alias)\n : null;\n\n if (!order) {\n if (edge.__identifiers) {\n return {\n ...edge,\n __cursor: [\"primary_key_asc\", edge.__identifiers],\n };\n } else {\n return edge;\n }\n }\n\n return {\n ...edge,\n __cursor:\n edge[`__order_${order.map(item => item.alias).join(\"__\")}`],\n };\n },\n },\n {\n isPgMutationPayloadEdgeField: true,\n pgFieldIntrospection: table,\n },\n false,\n {\n withQueryBuilder(queryBuilder, { parsedResolveInfoFragment }) {\n const {\n args: { orderBy: rawOrderBy },\n } = parsedResolveInfoFragment;\n const orderBy =\n canOrderBy && rawOrderBy\n ? Array.isArray(rawOrderBy)\n ? rawOrderBy\n : [rawOrderBy]\n : null;\n if (orderBy != null) {\n const aliases = [];\n const expressions = [];\n let unique = false;\n orderBy.forEach(item => {\n const { alias, specs, unique: itemIsUnique } = item;\n unique = unique || itemIsUnique;\n const orders = Array.isArray(specs[0]) ? specs : [specs];\n orders.forEach(([col, _ascending]) => {\n if (!col) {\n return;\n }\n const expr = isString(col)\n ? sql.fragment`${queryBuilder.getTableAlias()}.${sql.identifier(\n col\n )}`\n : typeof col === \"function\"\n ? col({ queryBuilder })\n : col;\n expressions.push(expr);\n });\n if (alias == null) return;\n aliases.push(alias);\n });\n if (!unique && primaryKeys) {\n // Add PKs\n primaryKeys.forEach(key => {\n expressions.push(\n sql.fragment`${queryBuilder.getTableAlias()}.${sql.identifier(\n key.name\n )}`\n );\n });\n }\n if (aliases.length) {\n queryBuilder.select(\n sql.fragment`json_build_array(${sql.join(\n aliases.map(a => sql.fragment`${sql.literal(a)}::text`),\n \", \"\n )}, json_build_array(${sql.join(expressions, \", \")}))`,\n \"__order_\" + aliases.join(\"__\")\n );\n }\n }\n },\n }\n ),\n },\n `Adding edge field for table ${describePgEntity(\n table\n )} to mutation payload '${Self.name}'`\n );\n },\n [\"PgMutationPayloadEdge\"]\n );\n}: Plugin);\n"],"file":"PgMutationPayloadEdgePlugin.js"}
1
+ {"version":3,"file":"PgMutationPayloadEdgePlugin.js","names":["_isString","_interopRequireDefault","require","obj","__esModule","default","PgMutationPayloadEdgePlugin","builder","pgSimpleCollections","disableIssue397Fix","hook","fields","build","context","extend","getSafeAliasFromResolveInfo","getTypeByName","pgGetGqlTypeByTypeIdAndModifier","pgSql","sql","graphql","GraphQLList","GraphQLNonNull","inflection","pgOmit","omit","describePgEntity","pgField","scope","isMutationPayload","pgIntrospection","pgIntrospectionTable","fieldWithHooks","Self","table","kind","namespace","isSelectable","returnTypeId","typeId","returnsSet","simpleCollections","tags","hasConnections","TableType","type","id","tableTypeName","name","TableOrderByType","orderByType","TableEdgeType","edge","primaryKeyConstraint","primaryKeys","keyAttributes","canOrderBy","fieldName","edgeField","primaryKeyAsc","builtin","defaultValueEnum","getValues","find","v","description","wrapDescription","args","orderBy","defaultValue","value","resolve","data","rawOrderBy","_context","resolveInfo","safeAlias","Array","isArray","order","some","item","alias","filter","__identifiers","__cursor","map","join","isPgMutationPayloadEdgeField","pgFieldIntrospection","withQueryBuilder","queryBuilder","parsedResolveInfoFragment","aliases","expressions","unique","forEach","specs","itemIsUnique","orders","col","_ascending","expr","isString","fragment","getTableAlias","identifier","push","key","length","select","a","literal","exports"],"sources":["../../src/plugins/PgMutationPayloadEdgePlugin.js"],"sourcesContent":["// @flow\nimport type { Plugin } from \"graphile-build\";\nimport isString from \"lodash/isString\";\n\nexport default (function PgMutationPayloadEdgePlugin(\n builder,\n { pgSimpleCollections, disableIssue397Fix }\n) {\n builder.hook(\n \"GraphQLObjectType:fields\",\n (fields, build, context) => {\n const {\n extend,\n getSafeAliasFromResolveInfo,\n getTypeByName,\n pgGetGqlTypeByTypeIdAndModifier,\n pgSql: sql,\n graphql: { GraphQLList, GraphQLNonNull },\n inflection,\n pgOmit: omit,\n describePgEntity,\n pgField,\n } = build;\n const {\n scope: { isMutationPayload, pgIntrospection, pgIntrospectionTable },\n fieldWithHooks,\n Self,\n } = context;\n\n const table = pgIntrospectionTable || pgIntrospection;\n if (\n !isMutationPayload ||\n !table ||\n table.kind !== \"class\" ||\n !table.namespace ||\n !table.isSelectable ||\n (omit(table, \"all\") && omit(table, \"many\"))\n ) {\n return fields;\n }\n if (\n pgIntrospection.kind === \"procedure\" &&\n (pgIntrospection.returnTypeId !== table.typeId ||\n pgIntrospection.returnsSet)\n ) {\n return fields;\n }\n const simpleCollections =\n table.tags.simpleCollections || pgSimpleCollections;\n const hasConnections = simpleCollections !== \"only\";\n if (!hasConnections && !disableIssue397Fix) {\n return fields;\n }\n\n const TableType = pgGetGqlTypeByTypeIdAndModifier(table.type.id, null);\n const tableTypeName = TableType.name;\n const TableOrderByType = getTypeByName(\n inflection.orderByType(tableTypeName)\n );\n const TableEdgeType = getTypeByName(inflection.edge(tableTypeName));\n if (!TableEdgeType) {\n return fields;\n }\n\n const primaryKeyConstraint = table.primaryKeyConstraint;\n const primaryKeys =\n primaryKeyConstraint && primaryKeyConstraint.keyAttributes;\n const canOrderBy = !omit(table, \"order\");\n\n const fieldName = inflection.edgeField(table);\n const primaryKeyAsc = inflection.builtin(\"PRIMARY_KEY_ASC\");\n const defaultValueEnum =\n canOrderBy &&\n (TableOrderByType.getValues().find(v => v.name === primaryKeyAsc) ||\n TableOrderByType.getValues()[0]);\n return extend(\n fields,\n {\n [fieldName]: pgField(\n build,\n fieldWithHooks,\n fieldName,\n {\n description: build.wrapDescription(\n `An edge for our \\`${tableTypeName}\\`. May be used by Relay 1.`,\n \"field\"\n ),\n type: TableEdgeType,\n args: canOrderBy\n ? {\n orderBy: {\n description: build.wrapDescription(\n `The method to use when ordering \\`${tableTypeName}\\`.`,\n \"arg\"\n ),\n type: new GraphQLList(\n new GraphQLNonNull(TableOrderByType)\n ),\n defaultValue: defaultValueEnum\n ? [defaultValueEnum.value]\n : null,\n },\n }\n : {},\n resolve(data, { orderBy: rawOrderBy }, _context, resolveInfo) {\n if (!data.data) {\n return null;\n }\n const safeAlias = getSafeAliasFromResolveInfo(resolveInfo);\n const edge = data.data[safeAlias];\n if (!edge) {\n return null;\n }\n const orderBy =\n canOrderBy && rawOrderBy\n ? Array.isArray(rawOrderBy)\n ? rawOrderBy\n : [rawOrderBy]\n : null;\n const order =\n orderBy && orderBy.some(item => item.alias)\n ? orderBy.filter(item => item.alias)\n : null;\n\n if (!order) {\n if (edge.__identifiers) {\n return {\n ...edge,\n __cursor: [\"primary_key_asc\", edge.__identifiers],\n };\n } else {\n return edge;\n }\n }\n\n return {\n ...edge,\n __cursor:\n edge[`__order_${order.map(item => item.alias).join(\"__\")}`],\n };\n },\n },\n {\n isPgMutationPayloadEdgeField: true,\n pgFieldIntrospection: table,\n },\n false,\n {\n withQueryBuilder(queryBuilder, { parsedResolveInfoFragment }) {\n const {\n args: { orderBy: rawOrderBy },\n } = parsedResolveInfoFragment;\n const orderBy =\n canOrderBy && rawOrderBy\n ? Array.isArray(rawOrderBy)\n ? rawOrderBy\n : [rawOrderBy]\n : null;\n if (orderBy != null) {\n const aliases = [];\n const expressions = [];\n let unique = false;\n orderBy.forEach(item => {\n const { alias, specs, unique: itemIsUnique } = item;\n unique = unique || itemIsUnique;\n const orders = Array.isArray(specs[0]) ? specs : [specs];\n orders.forEach(([col, _ascending]) => {\n if (!col) {\n return;\n }\n const expr = isString(col)\n ? sql.fragment`${queryBuilder.getTableAlias()}.${sql.identifier(\n col\n )}`\n : typeof col === \"function\"\n ? col({ queryBuilder })\n : col;\n expressions.push(expr);\n });\n if (alias == null) return;\n aliases.push(alias);\n });\n if (!unique && primaryKeys) {\n // Add PKs\n primaryKeys.forEach(key => {\n expressions.push(\n sql.fragment`${queryBuilder.getTableAlias()}.${sql.identifier(\n key.name\n )}`\n );\n });\n }\n if (aliases.length) {\n queryBuilder.select(\n sql.fragment`json_build_array(${sql.join(\n aliases.map(a => sql.fragment`${sql.literal(a)}::text`),\n \", \"\n )}, json_build_array(${sql.join(expressions, \", \")}))`,\n \"__order_\" + aliases.join(\"__\")\n );\n }\n }\n },\n }\n ),\n },\n `Adding edge field for table ${describePgEntity(\n table\n )} to mutation payload '${Self.name}'`\n );\n },\n [\"PgMutationPayloadEdge\"]\n );\n}: Plugin);\n"],"mappings":"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"}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var PgMutationProceduresPlugin = function PgMutationProceduresPlugin(builder) {
9
8
  builder.hook("GraphQLObjectType:fields", (fields, build, context) => {
10
9
  const {
@@ -23,18 +22,15 @@ var PgMutationProceduresPlugin = function PgMutationProceduresPlugin(builder) {
23
22
  },
24
23
  fieldWithHooks
25
24
  } = context;
26
-
27
25
  if (!isRootMutation) {
28
26
  return fields;
29
27
  }
30
-
31
28
  return extend(fields, introspectionResultsByKind.procedure.reduce((memo, proc) => {
32
29
  // PERFORMANCE: These used to be .filter(...) calls
33
30
  if (proc.isStable) return memo;
34
31
  if (!proc.namespace) return memo;
35
32
  if (omit(proc, "execute")) return memo;
36
33
  const fieldName = inflection.functionMutationName(proc);
37
-
38
34
  try {
39
35
  memo = extend(memo, {
40
36
  [fieldName]: makeProcField(fieldName, proc, build, {
@@ -47,11 +43,9 @@ var PgMutationProceduresPlugin = function PgMutationProceduresPlugin(builder) {
47
43
  } catch (e) {
48
44
  swallowError(e);
49
45
  }
50
-
51
46
  return memo;
52
47
  }, {}), `Adding mutation procedure to root Mutation field`);
53
48
  }, ["PgMutationProcedures"]);
54
49
  };
55
-
56
50
  exports.default = PgMutationProceduresPlugin;
57
51
  //# sourceMappingURL=PgMutationProceduresPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/plugins/PgMutationProceduresPlugin.js"],"names":["PgMutationProceduresPlugin","builder","hook","fields","build","context","extend","pgIntrospectionResultsByKind","introspectionResultsByKind","inflection","pgMakeProcField","makeProcField","pgOmit","omit","swallowError","describePgEntity","sqlCommentByAddingTags","scope","isRootMutation","fieldWithHooks","procedure","reduce","memo","proc","isStable","namespace","fieldName","functionMutationName","isMutation","name","e"],"mappings":";;;;;;;IAGyBA,0B,GAAT,SAASA,0BAAT,CAAoCC,OAApC,EAA6C;AAC3DA,EAAAA,OAAO,CAACC,IAAR,CACE,0BADF,EAEE,CAACC,MAAD,EAASC,KAAT,EAAgBC,OAAhB,KAA4B;AAC1B,UAAM;AACJC,MAAAA,MADI;AAEJC,MAAAA,4BAA4B,EAAEC,0BAF1B;AAGJC,MAAAA,UAHI;AAIJC,MAAAA,eAAe,EAAEC,aAJb;AAKJC,MAAAA,MAAM,EAAEC,IALJ;AAMJC,MAAAA,YANI;AAOJC,MAAAA,gBAPI;AAQJC,MAAAA;AARI,QASFZ,KATJ;AAUA,UAAM;AACJa,MAAAA,KAAK,EAAE;AAAEC,QAAAA;AAAF,OADH;AAEJC,MAAAA;AAFI,QAGFd,OAHJ;;AAKA,QAAI,CAACa,cAAL,EAAqB;AACnB,aAAOf,MAAP;AACD;;AAED,WAAOG,MAAM,CACXH,MADW,EAEXK,0BAA0B,CAACY,SAA3B,CAAqCC,MAArC,CAA4C,CAACC,IAAD,EAAOC,IAAP,KAAgB;AAC1D;AACA,UAAIA,IAAI,CAACC,QAAT,EAAmB,OAAOF,IAAP;AACnB,UAAI,CAACC,IAAI,CAACE,SAAV,EAAqB,OAAOH,IAAP;AACrB,UAAIT,IAAI,CAACU,IAAD,EAAO,SAAP,CAAR,EAA2B,OAAOD,IAAP;AAE3B,YAAMI,SAAS,GAAGjB,UAAU,CAACkB,oBAAX,CAAgCJ,IAAhC,CAAlB;;AACA,UAAI;AACFD,QAAAA,IAAI,GAAGhB,MAAM,CACXgB,IADW,EAEX;AACE,WAACI,SAAD,GAAaf,aAAa,CAACe,SAAD,EAAYH,IAAZ,EAAkBnB,KAAlB,EAAyB;AACjDe,YAAAA,cADiD;AAEjDS,YAAAA,UAAU,EAAE;AAFqC,WAAzB;AAD5B,SAFW,EAQV,6BAA4Bb,gBAAgB,CAC3CQ,IAD2C,CAE3C,4DAA2DP,sBAAsB,CACjFO,IADiF,EAEjF;AACEM,UAAAA,IAAI,EAAE;AADR,SAFiF,CAKjF,EAfS,CAAb;AAiBD,OAlBD,CAkBE,OAAOC,CAAP,EAAU;AACVhB,QAAAA,YAAY,CAACgB,CAAD,CAAZ;AACD;;AACD,aAAOR,IAAP;AACD,KA7BD,EA6BG,EA7BH,CAFW,EAgCV,kDAhCU,CAAb;AAkCD,GAxDH,EAyDE,CAAC,sBAAD,CAzDF;AA2DD,C","sourcesContent":["// @flow\nimport type { Plugin } from \"graphile-build\";\n\nexport default (function PgMutationProceduresPlugin(builder) {\n builder.hook(\n \"GraphQLObjectType:fields\",\n (fields, build, context) => {\n const {\n extend,\n pgIntrospectionResultsByKind: introspectionResultsByKind,\n inflection,\n pgMakeProcField: makeProcField,\n pgOmit: omit,\n swallowError,\n describePgEntity,\n sqlCommentByAddingTags,\n } = build;\n const {\n scope: { isRootMutation },\n fieldWithHooks,\n } = context;\n\n if (!isRootMutation) {\n return fields;\n }\n\n return extend(\n fields,\n introspectionResultsByKind.procedure.reduce((memo, proc) => {\n // PERFORMANCE: These used to be .filter(...) calls\n if (proc.isStable) return memo;\n if (!proc.namespace) return memo;\n if (omit(proc, \"execute\")) return memo;\n\n const fieldName = inflection.functionMutationName(proc);\n try {\n memo = extend(\n memo,\n {\n [fieldName]: makeProcField(fieldName, proc, build, {\n fieldWithHooks,\n isMutation: true,\n }),\n },\n `Adding mutation field for ${describePgEntity(\n proc\n )}. You can rename this field with a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n proc,\n {\n name: \"newNameHere\",\n }\n )}`\n );\n } catch (e) {\n swallowError(e);\n }\n return memo;\n }, {}),\n `Adding mutation procedure to root Mutation field`\n );\n },\n [\"PgMutationProcedures\"]\n );\n}: Plugin);\n"],"file":"PgMutationProceduresPlugin.js"}
1
+ {"version":3,"file":"PgMutationProceduresPlugin.js","names":["PgMutationProceduresPlugin","builder","hook","fields","build","context","extend","pgIntrospectionResultsByKind","introspectionResultsByKind","inflection","pgMakeProcField","makeProcField","pgOmit","omit","swallowError","describePgEntity","sqlCommentByAddingTags","scope","isRootMutation","fieldWithHooks","procedure","reduce","memo","proc","isStable","namespace","fieldName","functionMutationName","isMutation","name","e","exports","default"],"sources":["../../src/plugins/PgMutationProceduresPlugin.js"],"sourcesContent":["// @flow\nimport type { Plugin } from \"graphile-build\";\n\nexport default (function PgMutationProceduresPlugin(builder) {\n builder.hook(\n \"GraphQLObjectType:fields\",\n (fields, build, context) => {\n const {\n extend,\n pgIntrospectionResultsByKind: introspectionResultsByKind,\n inflection,\n pgMakeProcField: makeProcField,\n pgOmit: omit,\n swallowError,\n describePgEntity,\n sqlCommentByAddingTags,\n } = build;\n const {\n scope: { isRootMutation },\n fieldWithHooks,\n } = context;\n\n if (!isRootMutation) {\n return fields;\n }\n\n return extend(\n fields,\n introspectionResultsByKind.procedure.reduce((memo, proc) => {\n // PERFORMANCE: These used to be .filter(...) calls\n if (proc.isStable) return memo;\n if (!proc.namespace) return memo;\n if (omit(proc, \"execute\")) return memo;\n\n const fieldName = inflection.functionMutationName(proc);\n try {\n memo = extend(\n memo,\n {\n [fieldName]: makeProcField(fieldName, proc, build, {\n fieldWithHooks,\n isMutation: true,\n }),\n },\n `Adding mutation field for ${describePgEntity(\n proc\n )}. You can rename this field with a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n proc,\n {\n name: \"newNameHere\",\n }\n )}`\n );\n } catch (e) {\n swallowError(e);\n }\n return memo;\n }, {}),\n `Adding mutation procedure to root Mutation field`\n );\n },\n [\"PgMutationProcedures\"]\n );\n}: Plugin);\n"],"mappings":";;;;;;IAGyBA,0BAA0B,GAAnC,SAASA,0BAA0BA,CAACC,OAAO,EAAE;EAC3DA,OAAO,CAACC,IAAI,CACV,0BAA0B,EAC1B,CAACC,MAAM,EAAEC,KAAK,EAAEC,OAAO,KAAK;IAC1B,MAAM;MACJC,MAAM;MACNC,4BAA4B,EAAEC,0BAA0B;MACxDC,UAAU;MACVC,eAAe,EAAEC,aAAa;MAC9BC,MAAM,EAAEC,IAAI;MACZC,YAAY;MACZC,gBAAgB;MAChBC;IACF,CAAC,GAAGZ,KAAK;IACT,MAAM;MACJa,KAAK,EAAE;QAAEC;MAAe,CAAC;MACzBC;IACF,CAAC,GAAGd,OAAO;IAEX,IAAI,CAACa,cAAc,EAAE;MACnB,OAAOf,MAAM;IACf;IAEA,OAAOG,MAAM,CACXH,MAAM,EACNK,0BAA0B,CAACY,SAAS,CAACC,MAAM,CAAC,CAACC,IAAI,EAAEC,IAAI,KAAK;MAC1D;MACA,IAAIA,IAAI,CAACC,QAAQ,EAAE,OAAOF,IAAI;MAC9B,IAAI,CAACC,IAAI,CAACE,SAAS,EAAE,OAAOH,IAAI;MAChC,IAAIT,IAAI,CAACU,IAAI,EAAE,SAAS,CAAC,EAAE,OAAOD,IAAI;MAEtC,MAAMI,SAAS,GAAGjB,UAAU,CAACkB,oBAAoB,CAACJ,IAAI,CAAC;MACvD,IAAI;QACFD,IAAI,GAAGhB,MAAM,CACXgB,IAAI,EACJ;UACE,CAACI,SAAS,GAAGf,aAAa,CAACe,SAAS,EAAEH,IAAI,EAAEnB,KAAK,EAAE;YACjDe,cAAc;YACdS,UAAU,EAAE;UACd,CAAC;QACH,CAAC,EACA,6BAA4Bb,gBAAgB,CAC3CQ,IACF,CAAE,4DAA2DP,sBAAsB,CACjFO,IAAI,EACJ;UACEM,IAAI,EAAE;QACR,CACF,CAAE,EACJ,CAAC;MACH,CAAC,CAAC,OAAOC,CAAC,EAAE;QACVhB,YAAY,CAACgB,CAAC,CAAC;MACjB;MACA,OAAOR,IAAI;IACb,CAAC,EAAE,CAAC,CAAC,CAAC,EACL,kDACH,CAAC;EACH,CAAC,EACD,CAAC,sBAAsB,CACzB,CAAC;AACH,CAAC;AAAAS,OAAA,CAAAC,OAAA,GAAAhC,0BAAA"}