Skip to content

Commit c72855d

Browse files
Eldowmlipscombe
authored andcommitted
support arrays and objects
1 parent 971ff12 commit c72855d

File tree

1 file changed

+36
-36
lines changed

1 file changed

+36
-36
lines changed

src/PostgraphileNestedMutationsPlugin.js

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -236,29 +236,30 @@ module.exports = function PostGraphileNestedMutationPlugin(builder) {
236236

237237
await Promise.all(Object.keys(fieldValue).map(async k => {
238238
if (k.includes('updateBy')) {
239-
const rowData = fieldValue[k]
240-
const resolver = pgNestedUpdateResolvers[foreignTable.id];
239+
(Array.isArray(fieldValue[k]) ? fieldValue[k] : [fieldValue[k]]).map(async (rowData) => {
240+
const resolver = pgNestedUpdateResolvers[foreignTable.id];
241241

242-
const updateData = Object.assign(
243-
{},
244-
rowData,
245-
await recurseForwardNestedMutations(
242+
const updateData = Object.assign(
243+
{},
244+
rowData,
245+
await recurseForwardNestedMutations(
246+
data,
247+
{ input: rowData },
248+
{ pgClient },
249+
resolveInfo,
250+
),
251+
);
252+
253+
const resolveResult = await resolver(
246254
data,
247-
{ input: rowData },
255+
{ input: updateData },
248256
{ pgClient },
249257
resolveInfo,
250-
),
251-
);
252-
253-
const resolveResult = await resolver(
254-
data,
255-
{ input: updateData },
256-
{ pgClient },
257-
resolveInfo,
258-
);
259-
foreignKeys.forEach((k, idx) => {
260-
output[inflection.column(keys[idx])] =
261-
resolveResult.data[`__pk__${k.name}`];
258+
);
259+
foreignKeys.forEach((k, idx) => {
260+
output[inflection.column(keys[idx])] =
261+
resolveResult.data[`__pk__${k.name}`];
262+
});
262263
});
263264
}
264265
}))
@@ -327,13 +328,12 @@ module.exports = function PostGraphileNestedMutationPlugin(builder) {
327328
/* eslint indent: 0 */
328329
mutationQuery = sql.query`
329330
insert into ${sql.identifier(table.namespace.name, table.name)}
330-
${
331-
sqlColumns.length
332-
? sql.fragment`(
331+
${sqlColumns.length
332+
? sql.fragment`(
333333
${sql.join(sqlColumns, ', ')}
334334
) values(${sql.join(sqlValues, ', ')})`
335-
: sql.fragment`default values`
336-
} returning *`;
335+
: sql.fragment`default values`
336+
} returning *`;
337337
} else if (isPgUpdateMutationField) {
338338
const sqlColumns = [];
339339
const sqlValues = [];
@@ -396,9 +396,9 @@ module.exports = function PostGraphileNestedMutationPlugin(builder) {
396396
if (sqlColumns.length) {
397397
mutationQuery = sql.query`
398398
update ${sql.identifier(
399-
table.namespace.name,
400-
table.name,
401-
)} set ${sql.join(
399+
table.namespace.name,
400+
table.name,
401+
)} set ${sql.join(
402402
sqlColumns.map(
403403
(col, i) => sql.fragment`${col} = ${sqlValues[i]}`,
404404
),
@@ -522,14 +522,14 @@ module.exports = function PostGraphileNestedMutationPlugin(builder) {
522522
updaterField.map(async (node) => {
523523
const where = sql.fragment`
524524
(${sql.join(
525-
keys.map(
526-
(k, i) =>
527-
sql.fragment`${sql.identifier(k.name)} = ${sql.value(
528-
row[foreignKeys[i].name],
529-
)}`,
530-
),
531-
') and (',
532-
)})
525+
keys.map(
526+
(k, i) =>
527+
sql.fragment`${sql.identifier(k.name)} = ${sql.value(
528+
row[foreignKeys[i].name],
529+
)}`,
530+
),
531+
') and (',
532+
)})
533533
`;
534534
const updatedRow = await pgNestedTableUpdate({
535535
nestedField,
@@ -644,7 +644,7 @@ module.exports = function PostGraphileNestedMutationPlugin(builder) {
644644
await Promise.all(Object.keys(fieldValue).map(async k => {
645645
if (k.includes('updateBy')) {
646646
await Promise.all(
647-
fieldValue[k].map(async (rowData) => {
647+
(Array.isArray(fieldValue[k]) ? fieldValue[k] : [fieldValue[k]]).map(async (rowData) => {
648648
const resolver = pgNestedUpdateResolvers[foreignTable.id];
649649

650650
const { data: reverseRow } = await resolver(

0 commit comments

Comments
 (0)