graphile-build-pg 4.12.0 → 4.12.3
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/README.md +10 -3
- package/node8plus/GraphQLJSON.js.map +1 -1
- package/node8plus/QueryBuilder.js +3 -4
- package/node8plus/QueryBuilder.js.map +1 -1
- package/node8plus/index.d.ts +2 -6
- package/node8plus/index.js +84 -83
- package/node8plus/index.js.map +1 -1
- package/node8plus/inflections.js +1 -1
- package/node8plus/inflections.js.flow +1 -3
- package/node8plus/inflections.js.map +1 -1
- package/node8plus/omit.js +2 -2
- package/node8plus/omit.js.flow +1 -1
- package/node8plus/omit.js.map +1 -1
- package/node8plus/plugins/PgAllRows.js.flow +2 -3
- package/node8plus/plugins/PgAllRows.js.map +1 -1
- package/node8plus/plugins/PgBackwardRelationPlugin.js +2 -2
- package/node8plus/plugins/PgBackwardRelationPlugin.js.flow +22 -18
- package/node8plus/plugins/PgBackwardRelationPlugin.js.map +1 -1
- package/node8plus/plugins/PgBasicsPlugin.js +3 -3
- package/node8plus/plugins/PgBasicsPlugin.js.flow +120 -120
- package/node8plus/plugins/PgBasicsPlugin.js.map +1 -1
- package/node8plus/plugins/PgColumnsPlugin.js +1 -1
- package/node8plus/plugins/PgColumnsPlugin.js.flow +5 -2
- package/node8plus/plugins/PgColumnsPlugin.js.map +1 -1
- package/node8plus/plugins/PgComputedColumnsPlugin.js +4 -4
- package/node8plus/plugins/PgComputedColumnsPlugin.js.flow +1 -1
- package/node8plus/plugins/PgComputedColumnsPlugin.js.map +1 -1
- package/node8plus/plugins/PgConnectionArgCondition.js.flow +4 -4
- package/node8plus/plugins/PgConnectionArgCondition.js.map +1 -1
- package/node8plus/plugins/PgConnectionArgOrderBy.js +1 -1
- package/node8plus/plugins/PgConnectionArgOrderBy.js.flow +1 -1
- package/node8plus/plugins/PgConnectionArgOrderBy.js.map +1 -1
- package/node8plus/plugins/PgConnectionArgOrderByDefaultValue.js +2 -1
- package/node8plus/plugins/PgConnectionArgOrderByDefaultValue.js.flow +2 -1
- package/node8plus/plugins/PgConnectionArgOrderByDefaultValue.js.map +1 -1
- package/node8plus/plugins/PgForwardRelationPlugin.js.flow +9 -8
- package/node8plus/plugins/PgForwardRelationPlugin.js.map +1 -1
- package/node8plus/plugins/PgIntrospectionPlugin.js +5 -5
- package/node8plus/plugins/PgIntrospectionPlugin.js.flow +13 -12
- package/node8plus/plugins/PgIntrospectionPlugin.js.map +1 -1
- package/node8plus/plugins/PgJWTPlugin.js.flow +2 -3
- package/node8plus/plugins/PgJWTPlugin.js.map +1 -1
- package/node8plus/plugins/PgMutationCreatePlugin.js.flow +2 -3
- package/node8plus/plugins/PgMutationCreatePlugin.js.map +1 -1
- package/node8plus/plugins/PgMutationPayloadEdgePlugin.js +2 -1
- package/node8plus/plugins/PgMutationPayloadEdgePlugin.js.flow +2 -1
- package/node8plus/plugins/PgMutationPayloadEdgePlugin.js.map +1 -1
- package/node8plus/plugins/PgMutationUpdateDeletePlugin.js +4 -4
- package/node8plus/plugins/PgMutationUpdateDeletePlugin.js.flow +14 -19
- package/node8plus/plugins/PgMutationUpdateDeletePlugin.js.map +1 -1
- package/node8plus/plugins/PgOrderByPrimaryKeyPlugin.js +4 -3
- package/node8plus/plugins/PgOrderByPrimaryKeyPlugin.js.flow +3 -3
- package/node8plus/plugins/PgOrderByPrimaryKeyPlugin.js.map +1 -1
- package/node8plus/plugins/PgOrderComputedColumnsPlugin.js.flow +3 -5
- package/node8plus/plugins/PgOrderComputedColumnsPlugin.js.map +1 -1
- package/node8plus/plugins/PgQueryProceduresPlugin.js +2 -2
- package/node8plus/plugins/PgQueryProceduresPlugin.js.map +1 -1
- package/node8plus/plugins/PgRecordFunctionConnectionPlugin.js.flow +4 -6
- package/node8plus/plugins/PgRecordFunctionConnectionPlugin.js.map +1 -1
- package/node8plus/plugins/PgRecordReturnTypesPlugin.js +3 -3
- package/node8plus/plugins/PgRecordReturnTypesPlugin.js.flow +5 -5
- package/node8plus/plugins/PgRecordReturnTypesPlugin.js.map +1 -1
- package/node8plus/plugins/PgRowByUniqueConstraint.js.flow +2 -3
- package/node8plus/plugins/PgRowByUniqueConstraint.js.map +1 -1
- package/node8plus/plugins/PgRowNode.js.flow +9 -11
- package/node8plus/plugins/PgRowNode.js.map +1 -1
- package/node8plus/plugins/PgTablesPlugin.js +13 -13
- package/node8plus/plugins/PgTablesPlugin.js.flow +8 -13
- package/node8plus/plugins/PgTablesPlugin.js.map +1 -1
- package/node8plus/plugins/PgTypesPlugin.js +7 -7
- package/node8plus/plugins/PgTypesPlugin.js.flow +28 -34
- package/node8plus/plugins/PgTypesPlugin.js.map +1 -1
- package/node8plus/plugins/debugSql.js +1 -1
- package/node8plus/plugins/introspectionQuery.js.map +1 -1
- package/node8plus/plugins/makeProcField.js +5 -5
- package/node8plus/plugins/makeProcField.js.flow +2 -6
- package/node8plus/plugins/makeProcField.js.map +1 -1
- package/node8plus/plugins/pgField.js.flow +2 -4
- package/node8plus/plugins/pgField.js.map +1 -1
- package/node8plus/plugins/viaTemporaryTable.js +2 -2
- package/node8plus/plugins/viaTemporaryTable.js.map +1 -1
- package/node8plus/queryFromResolveDataFactory.js +3 -4
- package/node8plus/queryFromResolveDataFactory.js.flow +474 -464
- package/node8plus/queryFromResolveDataFactory.js.map +1 -1
- package/node8plus/utils.js +1 -1
- package/node8plus/utils.js.flow +1 -1
- package/node8plus/utils.js.map +1 -1
- package/node8plus/withPgClient.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/plugins/PgAllRows.js"],"names":["PgAllRows","builder","pgViewUniqueKey","pgSimpleCollections","subscriptions","hook","fields","build","context","parseResolveInfo","extend","getTypeByName","pgGetGqlTypeByTypeIdAndModifier","pgSql","sql","pgIntrospectionResultsByKind","introspectionResultsByKind","inflection","graphql","GraphQLList","GraphQLNonNull","pgQueryFromResolveData","queryFromResolveData","pgAddStartEndCursor","addStartEndCursor","pgOmit","omit","pgPrepareAndRun","fieldWithHooks","scope","isRootQuery","class","reduce","memo","table","isSelectable","namespace","TableType","type","id","tableTypeName","name","ConnectionType","connection","Error","attributes","primaryKeyConstraint","primaryKeys","keyAttributes","isView","t","classKind","viewUniqueKey","tags","uniqueKey","uniqueIdAttribute","find","attr","undefined","namespaceName","schema","sqlFullTableName","identifier","makeField","isConnection","fieldName","allRows","allRowsSimple","getDataFromParsedResolveInfoFragment","description","wrapDescription","args","resolve","parent","resolveContext","resolveInfo","pgClient","parsedResolveInfoFragment","resolveData","returnType","checkerGenerator","query","useAsterisk","canUseAsterisk","withPaginationAsFields","queryBuilder","makeLiveCollection","_checkerGenerator","selectIdentifiers","beforeLock","isOrderUnique","data","cursorPrefix","forEach","key","orderBy","fragment","getTableAlias","setOrderIsUnique","rootValue","text","values","compile","debugSql","enabled","result","liveCollection","checker","rows","row","liveRecord","__identifiers","isPgFieldConnection","isPgFieldSimpleCollection","pgFieldIntrospection","simpleCollections","hasConnections","hasSimpleCollections"],"mappings":";;;;;;;AAGA;;;;IAE+BA,S,GAAf,eAAeA,SAAf,CACdC,OADc,EAEd;AAAEC,EAAAA,eAAF;AAAmBC,EAAAA,mBAAnB;AAAwCC,EAAAA;AAAxC,CAFc,EAGd;AACAH,EAAAA,OAAO,CAACI,IAAR,CACE,0BADF,EAEE,CAACC,MAAD,EAASC,KAAT,EAAgBC,OAAhB,KAA4B;AAC1B,UAAM;AACJC,MAAAA,gBADI;AAEJC,MAAAA,MAFI;AAGJC,MAAAA,aAHI;AAIJC,MAAAA,+BAJI;AAKJC,MAAAA,KAAK,EAAEC,GALH;AAMJC,MAAAA,4BAA4B,EAAEC,0BAN1B;AAOJC,MAAAA,UAPI;AAQJC,MAAAA,OAAO,EAAE;AAAEC,QAAAA,WAAF;AAAeC,QAAAA;AAAf,OARL;AASJC,MAAAA,sBAAsB,EAAEC,oBATpB;AAUJC,MAAAA,mBAAmB,EAAEC,iBAVjB;AAWJC,MAAAA,MAAM,EAAEC,IAXJ;AAYJC,MAAAA;AAZI,QAaFpB,KAbJ;AAcA,UAAM;AACJqB,MAAAA,cADI;AAEJC,MAAAA,KAAK,EAAE;AAAEC,QAAAA;AAAF;AAFH,QAGFtB,OAHJ;;AAIA,QAAI,CAACsB,WAAL,EAAkB;AAChB,aAAOxB,MAAP;AACD;;AACD,WAAOI,MAAM,CACXJ,MADW,EAEXU,0BAA0B,CAACe,KAA3B,CAAiCC,MAAjC,CAAwC,CAACC,IAAD,EAAOC,KAAP,KAAiB;AACvD;AACA,UAAI,CAACA,KAAK,CAACC,YAAX,EAAyB,OAAOF,IAAP;AACzB,UAAI,CAACC,KAAK,CAACE,SAAX,EAAsB,OAAOH,IAAP;AACtB,UAAIP,IAAI,CAACQ,KAAD,EAAQ,KAAR,CAAR,EAAwB,OAAOD,IAAP;AAExB,YAAMI,SAAS,GAAGzB,+BAA+B,CAC/CsB,KAAK,CAACI,IAAN,CAAWC,EADoC,EAE/C,IAF+C,CAAjD;;AAIA,UAAI,CAACF,SAAL,EAAgB;AACd,eAAOJ,IAAP;AACD;;AACD,YAAMO,aAAa,GAAGH,SAAS,CAACI,IAAhC;AACA,YAAMC,cAAc,GAAG/B,aAAa,CAClCM,UAAU,CAAC0B,UAAX,CAAsBN,SAAS,CAACI,IAAhC,CADkC,CAApC;;AAGA,UAAI,CAACJ,SAAL,EAAgB;AACd,cAAM,IAAIO,KAAJ,CACH,0CAAyCV,KAAK,CAACO,IAAK,GADjD,CAAN;AAGD;;AACD,YAAMI,UAAU,GAAGX,KAAK,CAACW,UAAzB;AACA,YAAMC,oBAAoB,GAAGZ,KAAK,CAACY,oBAAnC;AACA,YAAMC,WAAW,GACfD,oBAAoB,IAAIA,oBAAoB,CAACE,aAD/C;;AAEA,YAAMC,MAAM,GAAGC,CAAC,IAAIA,CAAC,CAACC,SAAF,KAAgB,GAApC;;AACA,YAAMC,aAAa,GAAGlB,KAAK,CAACmB,IAAN,CAAWC,SAAX,IAAwBpD,eAA9C;AACA,YAAMqD,iBAAiB,GAAGH,aAAa,GACnCP,UAAU,CAACW,IAAX,CAAgBC,IAAI,IAAIA,IAAI,CAAChB,IAAL,KAAcW,aAAtC,CADmC,GAEnCM,SAFJ;;AAGA,UAAIT,MAAM,CAACf,KAAD,CAAN,IAAiBA,KAAK,CAACmB,IAAN,CAAWC,SAA5B,IAAyC,CAACC,iBAA9C,EAAiE;AAC/D,cAAM,IAAIX,KAAJ,CACH,wCAAuCV,KAAK,CAACmB,IAAN,CAAWC,SAAU,cAAapB,KAAK,CAACyB,aAAc,IAAGzB,KAAK,CAACO,IAAK,GADxG,CAAN;AAGD;;AACD,UAAI,CAACC,cAAL,EAAqB;AACnB,cAAM,IAAIE,KAAJ,CACH,qDAAoDV,KAAK,CAACO,IAAK,GAD5D,CAAN;AAGD;;AACD,YAAMmB,MAAM,GAAG1B,KAAK,CAACE,SAArB;AACA,YAAMyB,gBAAgB,GAAG/C,GAAG,CAACgD,UAAJ,CAAeF,MAAM,CAACnB,IAAtB,EAA4BP,KAAK,CAACO,IAAlC,CAAzB;;AACA,eAASsB,SAAT,CAAmBC,YAAnB,EAAiC;AAC/B,cAAMC,SAAS,GAAGD,YAAY,GAC1B/C,UAAU,CAACiD,OAAX,CAAmBhC,KAAnB,CAD0B,GAE1BjB,UAAU,CAACkD,aAAX,CAAyBjC,KAAzB,CAFJ;AAGAD,QAAAA,IAAI,CAACgC,SAAD,CAAJ,GAAkBrC,cAAc,CAC9BqC,SAD8B,EAE9B,CAAC;AAAEG,UAAAA;AAAF,SAAD,KAA8C;AAC5C,iBAAO;AACLC,YAAAA,WAAW,EAAE9D,KAAK,CAAC+D,eAAN,CACXN,YAAY,GACP,mDAAkDxB,aAAc,KADzD,GAEP,oBAAmBA,aAAc,KAH3B,EAIX,OAJW,CADR;AAOLF,YAAAA,IAAI,EAAE0B,YAAY,GACdtB,cADc,GAEd,IAAIvB,WAAJ,CAAgB,IAAIC,cAAJ,CAAmBiB,SAAnB,CAAhB,CATC;AAULkC,YAAAA,IAAI,EAAE,EAVD;;AAWL,kBAAMC,OAAN,CAAcC,MAAd,EAAsBF,IAAtB,EAA4BG,cAA5B,EAA4CC,WAA5C,EAAyD;AACvD,oBAAM;AAAEC,gBAAAA;AAAF,kBAAeF,cAArB;AACA,oBAAMG,yBAAyB,GAAGpE,gBAAgB,CAChDkE,WADgD,CAAlD;AAGAE,cAAAA,yBAAyB,CAACN,IAA1B,GAAiCA,IAAjC,CALuD,CAKhB;;AACvC,oBAAMO,WAAW,GAAGV,oCAAoC,CACtDS,yBADsD,EAEtDF,WAAW,CAACI,UAF0C,CAAxD;AAIA,kBAAIC,gBAAJ;AACA,oBAAMC,KAAK,GAAG3D,oBAAoB,CAChCuC,gBADgC,EAEhCH,SAFgC,EAGhCoB,WAHgC,EAIhC;AACEI,gBAAAA,WAAW,EAAEhD,KAAK,CAACiD,cADrB;AAEEC,gBAAAA,sBAAsB,EAAEpB;AAF1B,eAJgC,EAQhCqB,YAAY,IAAI;AACd,oBAAIjF,aAAJ,EAAmB;AACjBiF,kBAAAA,YAAY,CAACC,kBAAb,CACEpD,KADF,EAEEqD,iBAAiB,IAAI;AACnBP,oBAAAA,gBAAgB,GAAGO,iBAAnB;AACD,mBAJH;AAMD;;AACD,oBAAIxC,WAAJ,EAAiB;AACf,sBAAI3C,aAAa,IAAI,CAAC4D,YAAtB,EAAoC;AAClCqB,oBAAAA,YAAY,CAACG,iBAAb,CAA+BtD,KAA/B;AACD;;AACDmD,kBAAAA,YAAY,CAACI,UAAb,CAAwB,SAAxB,EAAmC,MAAM;AACvC,wBAAI,CAACJ,YAAY,CAACK,aAAb,CAA2B,KAA3B,CAAL,EAAwC;AACtC;AACAL,sBAAAA,YAAY,CAACM,IAAb,CAAkBC,YAAlB,GAAiC,CAC/B,iBAD+B,CAAjC;AAGA7C,sBAAAA,WAAW,CAAC8C,OAAZ,CAAoBC,GAAG,IAAI;AACzBT,wBAAAA,YAAY,CAACU,OAAb,CACEjF,GAAG,CAACkF,QAAS,GAAEX,YAAY,CAACY,aAAb,EAA6B,IAAGnF,GAAG,CAACgD,UAAJ,CAC7CgC,GAAG,CAACrD,IADyC,CAE7C,EAHJ,EAIE,IAJF;AAMD,uBAPD;AAQA4C,sBAAAA,YAAY,CAACa,gBAAb;AACD;AACF,mBAhBD;AAiBD,iBArBD,MAqBO,IAAIjD,MAAM,CAACf,KAAD,CAAN,IAAiB,CAAC,CAACqB,iBAAvB,EAA0C;AAC/C8B,kBAAAA,YAAY,CAACI,UAAb,CAAwB,SAAxB,EAAmC,MAAM;AACvC,wBAAI,CAACJ,YAAY,CAACK,aAAb,CAA2B,KAA3B,CAAL,EAAwC;AACtCL,sBAAAA,YAAY,CAACM,IAAb,CAAkBC,YAAlB,GAAiC,CAC/B,qBAD+B,CAAjC;AAGAP,sBAAAA,YAAY,CAACU,OAAb,CACEjF,GAAG,CAACkF,QAAS,GAAEX,YAAY,CAACY,aAAb,EAA6B,IAAGnF,GAAG,CAACgD,UAAJ,CAC7CP,iBAAiB,CAACd,IAD2B,CAE7C,EAHJ,EAIE,IAJF;AAMA4C,sBAAAA,YAAY,CAACa,gBAAb;AACD;AACF,mBAbD;AAcD;AACF,eAtD+B,EAuDhCxB,cAvDgC,EAwDhCC,WAAW,CAACwB,SAxDoB,CAAlC;AA0DA,oBAAM;AAAEC,gBAAAA,IAAF;AAAQC,gBAAAA;AAAR,kBAAmBvF,GAAG,CAACwF,OAAJ,CAAYrB,KAAZ,CAAzB;AACA,kBAAIsB,kBAASC,OAAb,EAAsB,uBAASJ,IAAT;AACtB,oBAAMK,MAAM,GAAG,MAAM9E,eAAe,CAClCiD,QADkC,EAElCwB,IAFkC,EAGlCC,MAHkC,CAApC;AAMA,oBAAMK,cAAc,GAClB/B,WAAW,CAACwB,SAAZ,IACAxB,WAAW,CAACwB,SAAZ,CAAsBO,cAFxB;;AAGA,kBAAItG,aAAa,IAAIsG,cAAjB,IAAmC1B,gBAAvC,EAAyD;AACvD,sBAAM2B,OAAO,GAAG3B,gBAAgB,EAAhC;AACA0B,gBAAAA,cAAc,CAAC,IAAD,EAAOxE,KAAP,EAAcyE,OAAd,CAAd;AACD;;AAED,kBAAI3C,YAAJ,EAAkB;AAChB,sBAAM;AACJ4C,kBAAAA,IAAI,EAAE,CAACC,GAAD;AADF,oBAEFJ,MAFJ;AAGA,uBAAOjF,iBAAiB,CAACqF,GAAD,CAAxB;AACD,eALD,MAKO;AACL,sBAAMC,UAAU,GACdnC,WAAW,CAACwB,SAAZ,IACAxB,WAAW,CAACwB,SAAZ,CAAsBW,UAFxB;;AAGA,oBACE1G,aAAa,IACb,CAAC4D,YADD,IAEAjB,WAFA,IAGA+D,UAJF,EAKE;AACAL,kBAAAA,MAAM,CAACG,IAAP,CAAYf,OAAZ,CACEgB,GAAG,IACDA,GAAG,IAAIC,UAAU,CAAC,IAAD,EAAO5E,KAAP,EAAc2E,GAAG,CAACE,aAAlB,CAFrB;AAID;;AACD,uBAAON,MAAM,CAACG,IAAd;AACD;AACF;;AAtHI,WAAP;AAwHD,SA3H6B,EA4H9B;AACEI,UAAAA,mBAAmB,EAAEhD,YADvB;AAEEiD,UAAAA,yBAAyB,EAAE,CAACjD,YAF9B;AAGEkD,UAAAA,oBAAoB,EAAEhF;AAHxB,SA5H8B,CAAhC;AAkID;;AACD,YAAMiF,iBAAiB,GACrBjF,KAAK,CAACmB,IAAN,CAAW8D,iBAAX,IAAgChH,mBADlC;AAEA,YAAMiH,cAAc,GAAGD,iBAAiB,KAAK,MAA7C;AACA,YAAME,oBAAoB,GACxBF,iBAAiB,KAAK,MAAtB,IAAgCA,iBAAiB,KAAK,MADxD;;AAEA,UAAI9E,SAAS,IAAIK,cAAb,IAA+B0E,cAAnC,EAAmD;AACjDrD,QAAAA,SAAS,CAAC,IAAD,CAAT;AACD;;AACD,UAAI1B,SAAS,IAAIgF,oBAAjB,EAAuC;AACrCtD,QAAAA,SAAS,CAAC,KAAD,CAAT;AACD;;AACD,aAAO9B,IAAP;AACD,KA9LD,EA8LG,EA9LH,CAFW,EAiMV,uCAjMU,CAAb;AAmMD,GA3NH,EA4NE,CAAC,WAAD,CA5NF,EA6NE,EA7NF,EA8NE,CAAC,UAAD,CA9NF;AAgOD,C","sourcesContent":["// @flow\n\nimport type { Plugin } from \"graphile-build\";\nimport debugSql from \"./debugSql\";\n\nexport default (async function PgAllRows(\n builder,\n { pgViewUniqueKey, pgSimpleCollections, subscriptions }\n) {\n builder.hook(\n \"GraphQLObjectType:fields\",\n (fields, build, context) => {\n const {\n parseResolveInfo,\n extend,\n getTypeByName,\n pgGetGqlTypeByTypeIdAndModifier,\n pgSql: sql,\n pgIntrospectionResultsByKind: introspectionResultsByKind,\n inflection,\n graphql: { GraphQLList, GraphQLNonNull },\n pgQueryFromResolveData: queryFromResolveData,\n pgAddStartEndCursor: addStartEndCursor,\n pgOmit: omit,\n pgPrepareAndRun,\n } = build;\n const {\n fieldWithHooks,\n scope: { isRootQuery },\n } = context;\n if (!isRootQuery) {\n return fields;\n }\n return extend(\n fields,\n introspectionResultsByKind.class.reduce((memo, table) => {\n // PERFORMANCE: These used to be .filter(...) calls\n if (!table.isSelectable) return memo;\n if (!table.namespace) return memo;\n if (omit(table, \"all\")) return memo;\n\n const TableType = pgGetGqlTypeByTypeIdAndModifier(\n table.type.id,\n null\n );\n if (!TableType) {\n return memo;\n }\n const tableTypeName = TableType.name;\n const ConnectionType = getTypeByName(\n inflection.connection(TableType.name)\n );\n if (!TableType) {\n throw new Error(\n `Could not find GraphQL type for table '${table.name}'`\n );\n }\n const attributes = table.attributes;\n const primaryKeyConstraint = table.primaryKeyConstraint;\n const primaryKeys =\n primaryKeyConstraint && primaryKeyConstraint.keyAttributes;\n const isView = t => t.classKind === \"v\";\n const viewUniqueKey = table.tags.uniqueKey || pgViewUniqueKey;\n const uniqueIdAttribute = viewUniqueKey\n ? attributes.find(attr => attr.name === viewUniqueKey)\n : undefined;\n if (isView(table) && table.tags.uniqueKey && !uniqueIdAttribute) {\n throw new Error(\n `Could not find the named unique key '${table.tags.uniqueKey}' on view '${table.namespaceName}.${table.name}'`\n );\n }\n if (!ConnectionType) {\n throw new Error(\n `Could not find GraphQL connection type for table '${table.name}'`\n );\n }\n const schema = table.namespace;\n const sqlFullTableName = sql.identifier(schema.name, table.name);\n function makeField(isConnection) {\n const fieldName = isConnection\n ? inflection.allRows(table)\n : inflection.allRowsSimple(table);\n memo[fieldName] = fieldWithHooks(\n fieldName,\n ({ getDataFromParsedResolveInfoFragment }) => {\n return {\n description: build.wrapDescription(\n isConnection\n ? `Reads and enables pagination through a set of \\`${tableTypeName}\\`.`\n : `Reads a set of \\`${tableTypeName}\\`.`,\n \"field\"\n ),\n type: isConnection\n ? ConnectionType\n : new GraphQLList(new GraphQLNonNull(TableType)),\n args: {},\n async resolve(parent, args, resolveContext, resolveInfo) {\n const { pgClient } = resolveContext;\n const parsedResolveInfoFragment = parseResolveInfo(\n resolveInfo\n );\n parsedResolveInfoFragment.args = args; // Allow overriding via makeWrapResolversPlugin\n const resolveData = getDataFromParsedResolveInfoFragment(\n parsedResolveInfoFragment,\n resolveInfo.returnType\n );\n let checkerGenerator;\n const query = queryFromResolveData(\n sqlFullTableName,\n undefined,\n resolveData,\n {\n useAsterisk: table.canUseAsterisk,\n withPaginationAsFields: isConnection,\n },\n queryBuilder => {\n if (subscriptions) {\n queryBuilder.makeLiveCollection(\n table,\n _checkerGenerator => {\n checkerGenerator = _checkerGenerator;\n }\n );\n }\n if (primaryKeys) {\n if (subscriptions && !isConnection) {\n queryBuilder.selectIdentifiers(table);\n }\n queryBuilder.beforeLock(\"orderBy\", () => {\n if (!queryBuilder.isOrderUnique(false)) {\n // Order by PK if no order specified\n queryBuilder.data.cursorPrefix = [\n \"primary_key_asc\",\n ];\n primaryKeys.forEach(key => {\n queryBuilder.orderBy(\n sql.fragment`${queryBuilder.getTableAlias()}.${sql.identifier(\n key.name\n )}`,\n true\n );\n });\n queryBuilder.setOrderIsUnique();\n }\n });\n } else if (isView(table) && !!uniqueIdAttribute) {\n queryBuilder.beforeLock(\"orderBy\", () => {\n if (!queryBuilder.isOrderUnique(false)) {\n queryBuilder.data.cursorPrefix = [\n \"view_unique_key_asc\",\n ];\n queryBuilder.orderBy(\n sql.fragment`${queryBuilder.getTableAlias()}.${sql.identifier(\n uniqueIdAttribute.name\n )}`,\n true\n );\n queryBuilder.setOrderIsUnique();\n }\n });\n }\n },\n resolveContext,\n resolveInfo.rootValue\n );\n const { text, values } = sql.compile(query);\n if (debugSql.enabled) debugSql(text);\n const result = await pgPrepareAndRun(\n pgClient,\n text,\n values\n );\n\n const liveCollection =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveCollection;\n if (subscriptions && liveCollection && checkerGenerator) {\n const checker = checkerGenerator();\n liveCollection(\"pg\", table, checker);\n }\n\n if (isConnection) {\n const {\n rows: [row],\n } = result;\n return addStartEndCursor(row);\n } else {\n const liveRecord =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveRecord;\n if (\n subscriptions &&\n !isConnection &&\n primaryKeys &&\n liveRecord\n ) {\n result.rows.forEach(\n row =>\n row && liveRecord(\"pg\", table, row.__identifiers)\n );\n }\n return result.rows;\n }\n },\n };\n },\n {\n isPgFieldConnection: isConnection,\n isPgFieldSimpleCollection: !isConnection,\n pgFieldIntrospection: table,\n }\n );\n }\n const simpleCollections =\n table.tags.simpleCollections || pgSimpleCollections;\n const hasConnections = simpleCollections !== \"only\";\n const hasSimpleCollections =\n simpleCollections === \"only\" || simpleCollections === \"both\";\n if (TableType && ConnectionType && hasConnections) {\n makeField(true);\n }\n if (TableType && hasSimpleCollections) {\n makeField(false);\n }\n return memo;\n }, {}),\n `Adding 'all*' relations to root Query`\n );\n },\n [\"PgAllRows\"],\n [],\n [\"PgTables\"]\n );\n}: Plugin);\n"],"file":"PgAllRows.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/plugins/PgAllRows.js"],"names":["PgAllRows","builder","pgViewUniqueKey","pgSimpleCollections","subscriptions","hook","fields","build","context","parseResolveInfo","extend","getTypeByName","pgGetGqlTypeByTypeIdAndModifier","pgSql","sql","pgIntrospectionResultsByKind","introspectionResultsByKind","inflection","graphql","GraphQLList","GraphQLNonNull","pgQueryFromResolveData","queryFromResolveData","pgAddStartEndCursor","addStartEndCursor","pgOmit","omit","pgPrepareAndRun","fieldWithHooks","scope","isRootQuery","class","reduce","memo","table","isSelectable","namespace","TableType","type","id","tableTypeName","name","ConnectionType","connection","Error","attributes","primaryKeyConstraint","primaryKeys","keyAttributes","isView","t","classKind","viewUniqueKey","tags","uniqueKey","uniqueIdAttribute","find","attr","undefined","namespaceName","schema","sqlFullTableName","identifier","makeField","isConnection","fieldName","allRows","allRowsSimple","getDataFromParsedResolveInfoFragment","description","wrapDescription","args","resolve","parent","resolveContext","resolveInfo","pgClient","parsedResolveInfoFragment","resolveData","returnType","checkerGenerator","query","useAsterisk","canUseAsterisk","withPaginationAsFields","queryBuilder","makeLiveCollection","_checkerGenerator","selectIdentifiers","beforeLock","isOrderUnique","data","cursorPrefix","forEach","key","orderBy","fragment","getTableAlias","setOrderIsUnique","rootValue","text","values","compile","debugSql","enabled","result","liveCollection","checker","rows","row","liveRecord","__identifiers","isPgFieldConnection","isPgFieldSimpleCollection","pgFieldIntrospection","simpleCollections","hasConnections","hasSimpleCollections"],"mappings":"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","sourcesContent":["// @flow\n\nimport type { Plugin } from \"graphile-build\";\nimport debugSql from \"./debugSql\";\n\nexport default (async function PgAllRows(\n builder,\n { pgViewUniqueKey, pgSimpleCollections, subscriptions }\n) {\n builder.hook(\n \"GraphQLObjectType:fields\",\n (fields, build, context) => {\n const {\n parseResolveInfo,\n extend,\n getTypeByName,\n pgGetGqlTypeByTypeIdAndModifier,\n pgSql: sql,\n pgIntrospectionResultsByKind: introspectionResultsByKind,\n inflection,\n graphql: { GraphQLList, GraphQLNonNull },\n pgQueryFromResolveData: queryFromResolveData,\n pgAddStartEndCursor: addStartEndCursor,\n pgOmit: omit,\n pgPrepareAndRun,\n } = build;\n const {\n fieldWithHooks,\n scope: { isRootQuery },\n } = context;\n if (!isRootQuery) {\n return fields;\n }\n return extend(\n fields,\n introspectionResultsByKind.class.reduce((memo, table) => {\n // PERFORMANCE: These used to be .filter(...) calls\n if (!table.isSelectable) return memo;\n if (!table.namespace) return memo;\n if (omit(table, \"all\")) return memo;\n\n const TableType = pgGetGqlTypeByTypeIdAndModifier(\n table.type.id,\n null\n );\n if (!TableType) {\n return memo;\n }\n const tableTypeName = TableType.name;\n const ConnectionType = getTypeByName(\n inflection.connection(TableType.name)\n );\n if (!TableType) {\n throw new Error(\n `Could not find GraphQL type for table '${table.name}'`\n );\n }\n const attributes = table.attributes;\n const primaryKeyConstraint = table.primaryKeyConstraint;\n const primaryKeys =\n primaryKeyConstraint && primaryKeyConstraint.keyAttributes;\n const isView = t => t.classKind === \"v\";\n const viewUniqueKey = table.tags.uniqueKey || pgViewUniqueKey;\n const uniqueIdAttribute = viewUniqueKey\n ? attributes.find(attr => attr.name === viewUniqueKey)\n : undefined;\n if (isView(table) && table.tags.uniqueKey && !uniqueIdAttribute) {\n throw new Error(\n `Could not find the named unique key '${table.tags.uniqueKey}' on view '${table.namespaceName}.${table.name}'`\n );\n }\n if (!ConnectionType) {\n throw new Error(\n `Could not find GraphQL connection type for table '${table.name}'`\n );\n }\n const schema = table.namespace;\n const sqlFullTableName = sql.identifier(schema.name, table.name);\n function makeField(isConnection) {\n const fieldName = isConnection\n ? inflection.allRows(table)\n : inflection.allRowsSimple(table);\n memo[fieldName] = fieldWithHooks(\n fieldName,\n ({ getDataFromParsedResolveInfoFragment }) => {\n return {\n description: build.wrapDescription(\n isConnection\n ? `Reads and enables pagination through a set of \\`${tableTypeName}\\`.`\n : `Reads a set of \\`${tableTypeName}\\`.`,\n \"field\"\n ),\n type: isConnection\n ? ConnectionType\n : new GraphQLList(new GraphQLNonNull(TableType)),\n args: {},\n async resolve(parent, args, resolveContext, resolveInfo) {\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 resolveInfo.returnType\n );\n let checkerGenerator;\n const query = queryFromResolveData(\n sqlFullTableName,\n undefined,\n resolveData,\n {\n useAsterisk: table.canUseAsterisk,\n withPaginationAsFields: isConnection,\n },\n queryBuilder => {\n if (subscriptions) {\n queryBuilder.makeLiveCollection(\n table,\n _checkerGenerator => {\n checkerGenerator = _checkerGenerator;\n }\n );\n }\n if (primaryKeys) {\n if (subscriptions && !isConnection) {\n queryBuilder.selectIdentifiers(table);\n }\n queryBuilder.beforeLock(\"orderBy\", () => {\n if (!queryBuilder.isOrderUnique(false)) {\n // Order by PK if no order specified\n queryBuilder.data.cursorPrefix = [\n \"primary_key_asc\",\n ];\n primaryKeys.forEach(key => {\n queryBuilder.orderBy(\n sql.fragment`${queryBuilder.getTableAlias()}.${sql.identifier(\n key.name\n )}`,\n true\n );\n });\n queryBuilder.setOrderIsUnique();\n }\n });\n } else if (isView(table) && !!uniqueIdAttribute) {\n queryBuilder.beforeLock(\"orderBy\", () => {\n if (!queryBuilder.isOrderUnique(false)) {\n queryBuilder.data.cursorPrefix = [\n \"view_unique_key_asc\",\n ];\n queryBuilder.orderBy(\n sql.fragment`${queryBuilder.getTableAlias()}.${sql.identifier(\n uniqueIdAttribute.name\n )}`,\n true\n );\n queryBuilder.setOrderIsUnique();\n }\n });\n }\n },\n resolveContext,\n resolveInfo.rootValue\n );\n const { text, values } = sql.compile(query);\n if (debugSql.enabled) debugSql(text);\n const result = await pgPrepareAndRun(\n pgClient,\n text,\n values\n );\n\n const liveCollection =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveCollection;\n if (subscriptions && liveCollection && checkerGenerator) {\n const checker = checkerGenerator();\n liveCollection(\"pg\", table, checker);\n }\n\n if (isConnection) {\n const {\n rows: [row],\n } = result;\n return addStartEndCursor(row);\n } else {\n const liveRecord =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveRecord;\n if (\n subscriptions &&\n !isConnection &&\n primaryKeys &&\n liveRecord\n ) {\n result.rows.forEach(\n row =>\n row && liveRecord(\"pg\", table, row.__identifiers)\n );\n }\n return result.rows;\n }\n },\n };\n },\n {\n isPgFieldConnection: isConnection,\n isPgFieldSimpleCollection: !isConnection,\n pgFieldIntrospection: table,\n }\n );\n }\n const simpleCollections =\n table.tags.simpleCollections || pgSimpleCollections;\n const hasConnections = simpleCollections !== \"only\";\n const hasSimpleCollections =\n simpleCollections === \"only\" || simpleCollections === \"both\";\n if (TableType && ConnectionType && hasConnections) {\n makeField(true);\n }\n if (TableType && hasSimpleCollections) {\n makeField(false);\n }\n return memo;\n }, {}),\n `Adding 'all*' relations to root Query`\n );\n },\n [\"PgAllRows\"],\n [],\n [\"PgTables\"]\n );\n}: Plugin);\n"],"file":"PgAllRows.js"}
|
|
@@ -315,8 +315,8 @@ var PgBackwardRelationPlugin = function PgBackwardRelationPlugin(builder, {
|
|
|
315
315
|
|
|
316
316
|
if (hasSimpleCollections && !isUnique // if unique, use the singular instead
|
|
317
317
|
) {
|
|
318
|
-
|
|
319
|
-
|
|
318
|
+
makeFields(false);
|
|
319
|
+
}
|
|
320
320
|
}
|
|
321
321
|
|
|
322
322
|
return memo;
|
|
@@ -151,12 +151,14 @@ export default (function PgBackwardRelationPlugin(
|
|
|
151
151
|
return {
|
|
152
152
|
pgQuery: queryBuilder => {
|
|
153
153
|
queryBuilder.select(() => {
|
|
154
|
-
const resolveData =
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
154
|
+
const resolveData =
|
|
155
|
+
getDataFromParsedResolveInfoFragment(
|
|
156
|
+
parsedResolveInfoFragment,
|
|
157
|
+
gqlTableType
|
|
158
|
+
);
|
|
158
159
|
const tableAlias = sql.identifier(Symbol());
|
|
159
|
-
const foreignTableAlias =
|
|
160
|
+
const foreignTableAlias =
|
|
161
|
+
queryBuilder.getTableAlias();
|
|
160
162
|
const query = queryFromResolveData(
|
|
161
163
|
sqlFrom,
|
|
162
164
|
tableAlias,
|
|
@@ -168,7 +170,8 @@ export default (function PgBackwardRelationPlugin(
|
|
|
168
170
|
withPagination: false,
|
|
169
171
|
},
|
|
170
172
|
innerQueryBuilder => {
|
|
171
|
-
innerQueryBuilder.parentQueryBuilder =
|
|
173
|
+
innerQueryBuilder.parentQueryBuilder =
|
|
174
|
+
queryBuilder;
|
|
172
175
|
if (
|
|
173
176
|
subscriptions &&
|
|
174
177
|
table.primaryKeyConstraint
|
|
@@ -220,9 +223,8 @@ export default (function PgBackwardRelationPlugin(
|
|
|
220
223
|
type: gqlTableType,
|
|
221
224
|
args: {},
|
|
222
225
|
resolve: (data, _args, resolveContext, resolveInfo) => {
|
|
223
|
-
const safeAlias =
|
|
224
|
-
resolveInfo
|
|
225
|
-
);
|
|
226
|
+
const safeAlias =
|
|
227
|
+
getSafeAliasFromResolveInfo(resolveInfo);
|
|
226
228
|
const record = data[safeAlias];
|
|
227
229
|
const liveRecord =
|
|
228
230
|
resolveInfo.rootValue &&
|
|
@@ -303,19 +305,22 @@ export default (function PgBackwardRelationPlugin(
|
|
|
303
305
|
return {
|
|
304
306
|
pgQuery: queryBuilder => {
|
|
305
307
|
queryBuilder.select(() => {
|
|
306
|
-
const resolveData =
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
308
|
+
const resolveData =
|
|
309
|
+
getDataFromParsedResolveInfoFragment(
|
|
310
|
+
parsedResolveInfoFragment,
|
|
311
|
+
isConnection ? ConnectionType : TableType
|
|
312
|
+
);
|
|
310
313
|
const tableAlias = sql.identifier(Symbol());
|
|
311
|
-
const foreignTableAlias =
|
|
314
|
+
const foreignTableAlias =
|
|
315
|
+
queryBuilder.getTableAlias();
|
|
312
316
|
const query = queryFromResolveData(
|
|
313
317
|
sqlFrom,
|
|
314
318
|
tableAlias,
|
|
315
319
|
resolveData,
|
|
316
320
|
queryOptions,
|
|
317
321
|
innerQueryBuilder => {
|
|
318
|
-
innerQueryBuilder.parentQueryBuilder =
|
|
322
|
+
innerQueryBuilder.parentQueryBuilder =
|
|
323
|
+
queryBuilder;
|
|
319
324
|
if (subscriptions) {
|
|
320
325
|
innerQueryBuilder.makeLiveCollection(table);
|
|
321
326
|
innerQueryBuilder.addLiveCondition(
|
|
@@ -406,9 +411,8 @@ export default (function PgBackwardRelationPlugin(
|
|
|
406
411
|
),
|
|
407
412
|
args: {},
|
|
408
413
|
resolve: (data, _args, resolveContext, resolveInfo) => {
|
|
409
|
-
const safeAlias =
|
|
410
|
-
resolveInfo
|
|
411
|
-
);
|
|
414
|
+
const safeAlias =
|
|
415
|
+
getSafeAliasFromResolveInfo(resolveInfo);
|
|
412
416
|
const liveCollection =
|
|
413
417
|
resolveInfo.rootValue &&
|
|
414
418
|
resolveInfo.rootValue.liveCollection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/plugins/PgBackwardRelationPlugin.js"],"names":["debug","OMIT","DEPRECATED","ONLY","PgBackwardRelationPlugin","builder","pgLegacyRelations","pgSimpleCollections","subscriptions","legacyRelationMode","only","deprecated","hook","fields","build","context","extend","getTypeByName","pgGetGqlTypeByTypeIdAndModifier","pgIntrospectionResultsByKind","introspectionResultsByKind","pgSql","sql","getSafeAliasFromResolveInfo","getSafeAliasFromAlias","graphql","GraphQLNonNull","GraphQLList","inflection","pgQueryFromResolveData","queryFromResolveData","pgAddStartEndCursor","addStartEndCursor","pgOmit","omit","sqlCommentByAddingTags","describePgEntity","scope","isPgRowType","pgIntrospection","foreignTable","fieldWithHooks","Self","kind","foreignKeyConstraints","foreignConstraints","filter","con","type","foreignTableTypeName","tableType","gqlForeignTableType","id","reduce","memo","constraint","table","classById","classId","Error","name","isSelectable","tableTypeName","gqlTableType","schema","namespace","keys","keyAttributes","foreignKeys","foreignKeyAttributes","every","_","some","key","isUnique","constraints","find","c","keyAttributeNums","length","n","i","num","isDeprecated","singleRelationFieldName","singleRelationByKeysBackwards","primaryKeyConstraint","primaryKeys","shouldAddSingleRelation","shouldAddManyRelation","getDataFromParsedResolveInfoFragment","addDataGenerator","sqlFrom","identifier","parsedResolveInfoFragment","pgQuery","queryBuilder","select","resolveData","tableAlias","Symbol","foreignTableAlias","getTableAlias","query","useAsterisk","asJson","addNullCase","withPagination","innerQueryBuilder","parentQueryBuilder","selectIdentifiers","makeLiveCollection","addLiveCondition","data","record","fragment","forEach","where","rootValue","alias","description","tags","backwardDescription","wrapDescription","args","resolve","_args","resolveContext","resolveInfo","safeAlias","liveRecord","liveCollection","liveConditions","__live","__id","rest","condition","checker","__identifiers","pgFieldIntrospection","isPgBackwardSingleRelationField","foreignSingleFieldName","makeFields","isConnection","manyRelationFieldName","manyRelationByKeys","manyRelationByKeysSimple","queryOptions","canUseAsterisk","withPaginationAsFields","asJsonAggregate","ConnectionType","TableType","beforeLock","isOrderUnique","cursorPrefix","orderBy","setOrderIsUnique","connection","records","r","deprecationReason","isPgFieldConnection","isPgFieldSimpleCollection","isPgBackwardRelationField","simpleCollections","hasConnections","hasSimpleCollections"],"mappings":"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","sourcesContent":["// @flow\nimport debugFactory from \"debug\";\n\nimport type { Plugin } from \"graphile-build\";\n\nconst debug = debugFactory(\"graphile-build-pg\");\n\nconst OMIT = 0;\nconst DEPRECATED = 1;\nconst ONLY = 2;\n\nexport default (function PgBackwardRelationPlugin(\n builder,\n { pgLegacyRelations, pgSimpleCollections, subscriptions }\n) {\n const legacyRelationMode =\n {\n only: ONLY,\n deprecated: DEPRECATED,\n }[pgLegacyRelations] || OMIT;\n builder.hook(\n \"GraphQLObjectType:fields\",\n (fields, build, context) => {\n const {\n extend,\n getTypeByName,\n pgGetGqlTypeByTypeIdAndModifier,\n pgIntrospectionResultsByKind: introspectionResultsByKind,\n pgSql: sql,\n getSafeAliasFromResolveInfo,\n getSafeAliasFromAlias,\n graphql: { GraphQLNonNull, GraphQLList },\n inflection,\n pgQueryFromResolveData: queryFromResolveData,\n pgAddStartEndCursor: addStartEndCursor,\n pgOmit: omit,\n sqlCommentByAddingTags,\n describePgEntity,\n } = build;\n const {\n scope: { isPgRowType, pgIntrospection: foreignTable },\n fieldWithHooks,\n Self,\n } = context;\n if (!isPgRowType || !foreignTable || foreignTable.kind !== \"class\") {\n return fields;\n }\n // This is a relation in which WE are foreign\n const foreignKeyConstraints = foreignTable.foreignConstraints.filter(\n con => con.type === \"f\"\n );\n const foreignTableTypeName = inflection.tableType(foreignTable);\n const gqlForeignTableType = pgGetGqlTypeByTypeIdAndModifier(\n foreignTable.type.id,\n null\n );\n if (!gqlForeignTableType) {\n debug(\n `Could not determine type for foreign table with id ${foreignTable.type.id}`\n );\n return fields;\n }\n\n return extend(\n fields,\n foreignKeyConstraints.reduce((memo, constraint) => {\n if (omit(constraint, \"read\")) {\n return memo;\n }\n const table =\n introspectionResultsByKind.classById[constraint.classId];\n if (!table) {\n throw new Error(\n `Could not find the table that referenced us (constraint: ${constraint.name})`\n );\n }\n if (!table.isSelectable) {\n // Could be a composite type\n return memo;\n }\n const tableTypeName = inflection.tableType(table);\n const gqlTableType = pgGetGqlTypeByTypeIdAndModifier(\n table.type.id,\n null\n );\n if (!gqlTableType) {\n debug(\n `Could not determine type for table with id ${constraint.classId}`\n );\n return memo;\n }\n const schema = table.namespace;\n\n const keys = constraint.keyAttributes;\n const foreignKeys = constraint.foreignKeyAttributes;\n if (!keys.every(_ => _) || !foreignKeys.every(_ => _)) {\n throw new Error(\"Could not find key columns!\");\n }\n if (keys.some(key => omit(key, \"read\"))) {\n return memo;\n }\n if (foreignKeys.some(key => omit(key, \"read\"))) {\n return memo;\n }\n const isUnique = !!table.constraints.find(\n c =>\n (c.type === \"p\" || c.type === \"u\") &&\n c.keyAttributeNums.length === keys.length &&\n c.keyAttributeNums.every((n, i) => keys[i].num === n)\n );\n\n const isDeprecated = isUnique && legacyRelationMode === DEPRECATED;\n\n const singleRelationFieldName = isUnique\n ? inflection.singleRelationByKeysBackwards(\n keys,\n table,\n foreignTable,\n constraint\n )\n : null;\n\n const primaryKeyConstraint = table.primaryKeyConstraint;\n const primaryKeys =\n primaryKeyConstraint && primaryKeyConstraint.keyAttributes;\n\n const shouldAddSingleRelation =\n isUnique && legacyRelationMode !== ONLY;\n\n const shouldAddManyRelation =\n !isUnique ||\n legacyRelationMode === DEPRECATED ||\n legacyRelationMode === ONLY;\n\n if (\n shouldAddSingleRelation &&\n !omit(table, \"read\") &&\n singleRelationFieldName\n ) {\n memo = extend(\n memo,\n {\n [singleRelationFieldName]: fieldWithHooks(\n singleRelationFieldName,\n ({\n getDataFromParsedResolveInfoFragment,\n addDataGenerator,\n }) => {\n const sqlFrom = sql.identifier(schema.name, table.name);\n addDataGenerator(parsedResolveInfoFragment => {\n return {\n pgQuery: queryBuilder => {\n queryBuilder.select(() => {\n const resolveData = getDataFromParsedResolveInfoFragment(\n parsedResolveInfoFragment,\n gqlTableType\n );\n const tableAlias = sql.identifier(Symbol());\n const foreignTableAlias = queryBuilder.getTableAlias();\n const query = queryFromResolveData(\n sqlFrom,\n tableAlias,\n resolveData,\n {\n useAsterisk: false, // Because it's only a single relation, no need\n asJson: true,\n addNullCase: true,\n withPagination: false,\n },\n innerQueryBuilder => {\n innerQueryBuilder.parentQueryBuilder = queryBuilder;\n if (\n subscriptions &&\n table.primaryKeyConstraint\n ) {\n innerQueryBuilder.selectIdentifiers(table);\n innerQueryBuilder.makeLiveCollection(table);\n innerQueryBuilder.addLiveCondition(\n data => record => {\n return keys.every(\n key =>\n record[key.name] === data[key.name]\n );\n },\n keys.reduce((memo, key, i) => {\n memo[\n key.name\n ] = sql.fragment`${foreignTableAlias}.${sql.identifier(\n foreignKeys[i].name\n )}`;\n return memo;\n }, {})\n );\n }\n keys.forEach((key, i) => {\n innerQueryBuilder.where(\n sql.fragment`${tableAlias}.${sql.identifier(\n key.name\n )} = ${foreignTableAlias}.${sql.identifier(\n foreignKeys[i].name\n )}`\n );\n });\n },\n queryBuilder.context,\n queryBuilder.rootValue\n );\n return sql.fragment`(${query})`;\n }, getSafeAliasFromAlias(parsedResolveInfoFragment.alias));\n },\n };\n });\n return {\n description:\n constraint.tags.backwardDescription ||\n build.wrapDescription(\n `Reads a single \\`${tableTypeName}\\` that is related to this \\`${foreignTableTypeName}\\`.`,\n \"field\"\n ),\n type: gqlTableType,\n args: {},\n resolve: (data, _args, resolveContext, resolveInfo) => {\n const safeAlias = getSafeAliasFromResolveInfo(\n resolveInfo\n );\n const record = data[safeAlias];\n const liveRecord =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveRecord;\n const liveCollection =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveCollection;\n const liveConditions =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveConditions;\n if (\n subscriptions &&\n liveCollection &&\n liveConditions &&\n data.__live\n ) {\n const { __id, ...rest } = data.__live;\n const condition = liveConditions[__id];\n const checker = condition(rest);\n\n liveCollection(\"pg\", table, checker);\n }\n if (record && liveRecord) {\n liveRecord(\"pg\", table, record.__identifiers);\n }\n return record;\n },\n };\n },\n {\n pgFieldIntrospection: table,\n isPgBackwardSingleRelationField: true,\n }\n ),\n },\n `Backward relation (single) for ${describePgEntity(\n constraint\n )}. To rename this relation with a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n constraint,\n {\n foreignSingleFieldName: \"newNameHere\",\n }\n )}`\n );\n }\n function makeFields(isConnection) {\n const manyRelationFieldName = isConnection\n ? inflection.manyRelationByKeys(\n keys,\n table,\n foreignTable,\n constraint\n )\n : inflection.manyRelationByKeysSimple(\n keys,\n table,\n foreignTable,\n constraint\n );\n\n memo = extend(\n memo,\n {\n [manyRelationFieldName]: fieldWithHooks(\n manyRelationFieldName,\n ({\n getDataFromParsedResolveInfoFragment,\n addDataGenerator,\n }) => {\n const sqlFrom = sql.identifier(schema.name, table.name);\n const queryOptions = {\n useAsterisk: table.canUseAsterisk,\n withPagination: isConnection,\n withPaginationAsFields: false,\n asJsonAggregate: !isConnection,\n };\n addDataGenerator(parsedResolveInfoFragment => {\n return {\n pgQuery: queryBuilder => {\n queryBuilder.select(() => {\n const resolveData = getDataFromParsedResolveInfoFragment(\n parsedResolveInfoFragment,\n isConnection ? ConnectionType : TableType\n );\n const tableAlias = sql.identifier(Symbol());\n const foreignTableAlias = queryBuilder.getTableAlias();\n const query = queryFromResolveData(\n sqlFrom,\n tableAlias,\n resolveData,\n queryOptions,\n innerQueryBuilder => {\n innerQueryBuilder.parentQueryBuilder = queryBuilder;\n if (subscriptions) {\n innerQueryBuilder.makeLiveCollection(table);\n innerQueryBuilder.addLiveCondition(\n data => record => {\n return keys.every(\n key =>\n record[key.name] === data[key.name]\n );\n },\n keys.reduce((memo, key, i) => {\n memo[\n key.name\n ] = sql.fragment`${foreignTableAlias}.${sql.identifier(\n foreignKeys[i].name\n )}`;\n return memo;\n }, {})\n );\n }\n if (primaryKeys) {\n if (\n subscriptions &&\n !isConnection &&\n table.primaryKeyConstraint\n ) {\n innerQueryBuilder.selectIdentifiers(table);\n }\n innerQueryBuilder.beforeLock(\n \"orderBy\",\n () => {\n // append order by primary key to the list of orders\n if (\n !innerQueryBuilder.isOrderUnique(false)\n ) {\n innerQueryBuilder.data.cursorPrefix = [\n \"primary_key_asc\",\n ];\n primaryKeys.forEach(key => {\n innerQueryBuilder.orderBy(\n sql.fragment`${innerQueryBuilder.getTableAlias()}.${sql.identifier(\n key.name\n )}`,\n true\n );\n });\n innerQueryBuilder.setOrderIsUnique();\n }\n }\n );\n }\n\n keys.forEach((key, i) => {\n innerQueryBuilder.where(\n sql.fragment`${tableAlias}.${sql.identifier(\n key.name\n )} = ${foreignTableAlias}.${sql.identifier(\n foreignKeys[i].name\n )}`\n );\n });\n },\n queryBuilder.context,\n queryBuilder.rootValue\n );\n return sql.fragment`(${query})`;\n }, getSafeAliasFromAlias(parsedResolveInfoFragment.alias));\n },\n };\n });\n const ConnectionType = getTypeByName(\n inflection.connection(gqlTableType.name)\n );\n const TableType = pgGetGqlTypeByTypeIdAndModifier(\n table.type.id,\n null\n );\n return {\n description:\n constraint.tags.backwardDescription ||\n build.wrapDescription(\n `Reads and enables pagination through a set of \\`${tableTypeName}\\`.`,\n \"field\"\n ),\n type: isConnection\n ? new GraphQLNonNull(ConnectionType)\n : new GraphQLNonNull(\n new GraphQLList(new GraphQLNonNull(TableType))\n ),\n args: {},\n resolve: (data, _args, resolveContext, resolveInfo) => {\n const safeAlias = getSafeAliasFromResolveInfo(\n resolveInfo\n );\n const liveCollection =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveCollection;\n const liveConditions =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveConditions;\n if (\n subscriptions &&\n liveCollection &&\n liveConditions &&\n data.__live\n ) {\n const { __id, ...rest } = data.__live;\n const condition = liveConditions[__id];\n const checker = condition(rest);\n\n liveCollection(\"pg\", table, checker);\n }\n if (isConnection) {\n return addStartEndCursor(data[safeAlias]);\n } else {\n const records = data[safeAlias];\n const liveRecord =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveRecord;\n if (primaryKeys && subscriptions && liveRecord) {\n records.forEach(\n r =>\n r &&\n r.__identifiers &&\n liveRecord(\"pg\", table, r.__identifiers)\n );\n }\n return records;\n }\n },\n ...(isDeprecated\n ? {\n deprecationReason: singleRelationFieldName\n ? `Please use ${singleRelationFieldName} instead`\n : `Please use singular instead`, // This should never happen\n }\n : null),\n };\n },\n {\n isPgFieldConnection: isConnection,\n isPgFieldSimpleCollection: !isConnection,\n isPgBackwardRelationField: true,\n pgFieldIntrospection: table,\n }\n ),\n },\n\n `Backward relation (${\n isConnection ? \"connection\" : \"simple collection\"\n }) for ${describePgEntity(\n constraint\n )}. To rename this relation with a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n constraint,\n {\n [isConnection\n ? \"foreignFieldName\"\n : \"foreignSimpleFieldName\"]: \"newNameHere\",\n }\n )}`\n );\n }\n if (\n shouldAddManyRelation &&\n !omit(table, \"many\") &&\n !omit(constraint, \"many\")\n ) {\n const simpleCollections =\n constraint.tags.simpleCollections ||\n table.tags.simpleCollections ||\n pgSimpleCollections;\n const hasConnections = simpleCollections !== \"only\";\n const hasSimpleCollections =\n simpleCollections === \"only\" || simpleCollections === \"both\";\n if (hasConnections) {\n makeFields(true);\n }\n if (\n hasSimpleCollections &&\n !isUnique // if unique, use the singular instead\n ) {\n makeFields(false);\n }\n }\n return memo;\n }, {}),\n `Adding backward relations for ${Self.name}`\n );\n },\n [\"PgBackwardRelation\"]\n );\n}: Plugin);\n"],"file":"PgBackwardRelationPlugin.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/plugins/PgBackwardRelationPlugin.js"],"names":["debug","OMIT","DEPRECATED","ONLY","PgBackwardRelationPlugin","builder","pgLegacyRelations","pgSimpleCollections","subscriptions","legacyRelationMode","only","deprecated","hook","fields","build","context","extend","getTypeByName","pgGetGqlTypeByTypeIdAndModifier","pgIntrospectionResultsByKind","introspectionResultsByKind","pgSql","sql","getSafeAliasFromResolveInfo","getSafeAliasFromAlias","graphql","GraphQLNonNull","GraphQLList","inflection","pgQueryFromResolveData","queryFromResolveData","pgAddStartEndCursor","addStartEndCursor","pgOmit","omit","sqlCommentByAddingTags","describePgEntity","scope","isPgRowType","pgIntrospection","foreignTable","fieldWithHooks","Self","kind","foreignKeyConstraints","foreignConstraints","filter","con","type","foreignTableTypeName","tableType","gqlForeignTableType","id","reduce","memo","constraint","table","classById","classId","Error","name","isSelectable","tableTypeName","gqlTableType","schema","namespace","keys","keyAttributes","foreignKeys","foreignKeyAttributes","every","_","some","key","isUnique","constraints","find","c","keyAttributeNums","length","n","i","num","isDeprecated","singleRelationFieldName","singleRelationByKeysBackwards","primaryKeyConstraint","primaryKeys","shouldAddSingleRelation","shouldAddManyRelation","getDataFromParsedResolveInfoFragment","addDataGenerator","sqlFrom","identifier","parsedResolveInfoFragment","pgQuery","queryBuilder","select","resolveData","tableAlias","Symbol","foreignTableAlias","getTableAlias","query","useAsterisk","asJson","addNullCase","withPagination","innerQueryBuilder","parentQueryBuilder","selectIdentifiers","makeLiveCollection","addLiveCondition","data","record","fragment","forEach","where","rootValue","alias","description","tags","backwardDescription","wrapDescription","args","resolve","_args","resolveContext","resolveInfo","safeAlias","liveRecord","liveCollection","liveConditions","__live","__id","rest","condition","checker","__identifiers","pgFieldIntrospection","isPgBackwardSingleRelationField","foreignSingleFieldName","makeFields","isConnection","manyRelationFieldName","manyRelationByKeys","manyRelationByKeysSimple","queryOptions","canUseAsterisk","withPaginationAsFields","asJsonAggregate","ConnectionType","TableType","beforeLock","isOrderUnique","cursorPrefix","orderBy","setOrderIsUnique","connection","records","r","deprecationReason","isPgFieldConnection","isPgFieldSimpleCollection","isPgBackwardRelationField","simpleCollections","hasConnections","hasSimpleCollections"],"mappings":"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","sourcesContent":["// @flow\nimport debugFactory from \"debug\";\n\nimport type { Plugin } from \"graphile-build\";\n\nconst debug = debugFactory(\"graphile-build-pg\");\n\nconst OMIT = 0;\nconst DEPRECATED = 1;\nconst ONLY = 2;\n\nexport default (function PgBackwardRelationPlugin(\n builder,\n { pgLegacyRelations, pgSimpleCollections, subscriptions }\n) {\n const legacyRelationMode =\n {\n only: ONLY,\n deprecated: DEPRECATED,\n }[pgLegacyRelations] || OMIT;\n builder.hook(\n \"GraphQLObjectType:fields\",\n (fields, build, context) => {\n const {\n extend,\n getTypeByName,\n pgGetGqlTypeByTypeIdAndModifier,\n pgIntrospectionResultsByKind: introspectionResultsByKind,\n pgSql: sql,\n getSafeAliasFromResolveInfo,\n getSafeAliasFromAlias,\n graphql: { GraphQLNonNull, GraphQLList },\n inflection,\n pgQueryFromResolveData: queryFromResolveData,\n pgAddStartEndCursor: addStartEndCursor,\n pgOmit: omit,\n sqlCommentByAddingTags,\n describePgEntity,\n } = build;\n const {\n scope: { isPgRowType, pgIntrospection: foreignTable },\n fieldWithHooks,\n Self,\n } = context;\n if (!isPgRowType || !foreignTable || foreignTable.kind !== \"class\") {\n return fields;\n }\n // This is a relation in which WE are foreign\n const foreignKeyConstraints = foreignTable.foreignConstraints.filter(\n con => con.type === \"f\"\n );\n const foreignTableTypeName = inflection.tableType(foreignTable);\n const gqlForeignTableType = pgGetGqlTypeByTypeIdAndModifier(\n foreignTable.type.id,\n null\n );\n if (!gqlForeignTableType) {\n debug(\n `Could not determine type for foreign table with id ${foreignTable.type.id}`\n );\n return fields;\n }\n\n return extend(\n fields,\n foreignKeyConstraints.reduce((memo, constraint) => {\n if (omit(constraint, \"read\")) {\n return memo;\n }\n const table =\n introspectionResultsByKind.classById[constraint.classId];\n if (!table) {\n throw new Error(\n `Could not find the table that referenced us (constraint: ${constraint.name})`\n );\n }\n if (!table.isSelectable) {\n // Could be a composite type\n return memo;\n }\n const tableTypeName = inflection.tableType(table);\n const gqlTableType = pgGetGqlTypeByTypeIdAndModifier(\n table.type.id,\n null\n );\n if (!gqlTableType) {\n debug(\n `Could not determine type for table with id ${constraint.classId}`\n );\n return memo;\n }\n const schema = table.namespace;\n\n const keys = constraint.keyAttributes;\n const foreignKeys = constraint.foreignKeyAttributes;\n if (!keys.every(_ => _) || !foreignKeys.every(_ => _)) {\n throw new Error(\"Could not find key columns!\");\n }\n if (keys.some(key => omit(key, \"read\"))) {\n return memo;\n }\n if (foreignKeys.some(key => omit(key, \"read\"))) {\n return memo;\n }\n const isUnique = !!table.constraints.find(\n c =>\n (c.type === \"p\" || c.type === \"u\") &&\n c.keyAttributeNums.length === keys.length &&\n c.keyAttributeNums.every((n, i) => keys[i].num === n)\n );\n\n const isDeprecated = isUnique && legacyRelationMode === DEPRECATED;\n\n const singleRelationFieldName = isUnique\n ? inflection.singleRelationByKeysBackwards(\n keys,\n table,\n foreignTable,\n constraint\n )\n : null;\n\n const primaryKeyConstraint = table.primaryKeyConstraint;\n const primaryKeys =\n primaryKeyConstraint && primaryKeyConstraint.keyAttributes;\n\n const shouldAddSingleRelation =\n isUnique && legacyRelationMode !== ONLY;\n\n const shouldAddManyRelation =\n !isUnique ||\n legacyRelationMode === DEPRECATED ||\n legacyRelationMode === ONLY;\n\n if (\n shouldAddSingleRelation &&\n !omit(table, \"read\") &&\n singleRelationFieldName\n ) {\n memo = extend(\n memo,\n {\n [singleRelationFieldName]: fieldWithHooks(\n singleRelationFieldName,\n ({\n getDataFromParsedResolveInfoFragment,\n addDataGenerator,\n }) => {\n const sqlFrom = sql.identifier(schema.name, table.name);\n addDataGenerator(parsedResolveInfoFragment => {\n return {\n pgQuery: queryBuilder => {\n queryBuilder.select(() => {\n const resolveData =\n getDataFromParsedResolveInfoFragment(\n parsedResolveInfoFragment,\n gqlTableType\n );\n const tableAlias = sql.identifier(Symbol());\n const foreignTableAlias =\n queryBuilder.getTableAlias();\n const query = queryFromResolveData(\n sqlFrom,\n tableAlias,\n resolveData,\n {\n useAsterisk: false, // Because it's only a single relation, no need\n asJson: true,\n addNullCase: true,\n withPagination: false,\n },\n innerQueryBuilder => {\n innerQueryBuilder.parentQueryBuilder =\n queryBuilder;\n if (\n subscriptions &&\n table.primaryKeyConstraint\n ) {\n innerQueryBuilder.selectIdentifiers(table);\n innerQueryBuilder.makeLiveCollection(table);\n innerQueryBuilder.addLiveCondition(\n data => record => {\n return keys.every(\n key =>\n record[key.name] === data[key.name]\n );\n },\n keys.reduce((memo, key, i) => {\n memo[\n key.name\n ] = sql.fragment`${foreignTableAlias}.${sql.identifier(\n foreignKeys[i].name\n )}`;\n return memo;\n }, {})\n );\n }\n keys.forEach((key, i) => {\n innerQueryBuilder.where(\n sql.fragment`${tableAlias}.${sql.identifier(\n key.name\n )} = ${foreignTableAlias}.${sql.identifier(\n foreignKeys[i].name\n )}`\n );\n });\n },\n queryBuilder.context,\n queryBuilder.rootValue\n );\n return sql.fragment`(${query})`;\n }, getSafeAliasFromAlias(parsedResolveInfoFragment.alias));\n },\n };\n });\n return {\n description:\n constraint.tags.backwardDescription ||\n build.wrapDescription(\n `Reads a single \\`${tableTypeName}\\` that is related to this \\`${foreignTableTypeName}\\`.`,\n \"field\"\n ),\n type: gqlTableType,\n args: {},\n resolve: (data, _args, resolveContext, resolveInfo) => {\n const safeAlias =\n getSafeAliasFromResolveInfo(resolveInfo);\n const record = data[safeAlias];\n const liveRecord =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveRecord;\n const liveCollection =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveCollection;\n const liveConditions =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveConditions;\n if (\n subscriptions &&\n liveCollection &&\n liveConditions &&\n data.__live\n ) {\n const { __id, ...rest } = data.__live;\n const condition = liveConditions[__id];\n const checker = condition(rest);\n\n liveCollection(\"pg\", table, checker);\n }\n if (record && liveRecord) {\n liveRecord(\"pg\", table, record.__identifiers);\n }\n return record;\n },\n };\n },\n {\n pgFieldIntrospection: table,\n isPgBackwardSingleRelationField: true,\n }\n ),\n },\n `Backward relation (single) for ${describePgEntity(\n constraint\n )}. To rename this relation with a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n constraint,\n {\n foreignSingleFieldName: \"newNameHere\",\n }\n )}`\n );\n }\n function makeFields(isConnection) {\n const manyRelationFieldName = isConnection\n ? inflection.manyRelationByKeys(\n keys,\n table,\n foreignTable,\n constraint\n )\n : inflection.manyRelationByKeysSimple(\n keys,\n table,\n foreignTable,\n constraint\n );\n\n memo = extend(\n memo,\n {\n [manyRelationFieldName]: fieldWithHooks(\n manyRelationFieldName,\n ({\n getDataFromParsedResolveInfoFragment,\n addDataGenerator,\n }) => {\n const sqlFrom = sql.identifier(schema.name, table.name);\n const queryOptions = {\n useAsterisk: table.canUseAsterisk,\n withPagination: isConnection,\n withPaginationAsFields: false,\n asJsonAggregate: !isConnection,\n };\n addDataGenerator(parsedResolveInfoFragment => {\n return {\n pgQuery: queryBuilder => {\n queryBuilder.select(() => {\n const resolveData =\n getDataFromParsedResolveInfoFragment(\n parsedResolveInfoFragment,\n isConnection ? ConnectionType : TableType\n );\n const tableAlias = sql.identifier(Symbol());\n const foreignTableAlias =\n queryBuilder.getTableAlias();\n const query = queryFromResolveData(\n sqlFrom,\n tableAlias,\n resolveData,\n queryOptions,\n innerQueryBuilder => {\n innerQueryBuilder.parentQueryBuilder =\n queryBuilder;\n if (subscriptions) {\n innerQueryBuilder.makeLiveCollection(table);\n innerQueryBuilder.addLiveCondition(\n data => record => {\n return keys.every(\n key =>\n record[key.name] === data[key.name]\n );\n },\n keys.reduce((memo, key, i) => {\n memo[\n key.name\n ] = sql.fragment`${foreignTableAlias}.${sql.identifier(\n foreignKeys[i].name\n )}`;\n return memo;\n }, {})\n );\n }\n if (primaryKeys) {\n if (\n subscriptions &&\n !isConnection &&\n table.primaryKeyConstraint\n ) {\n innerQueryBuilder.selectIdentifiers(table);\n }\n innerQueryBuilder.beforeLock(\n \"orderBy\",\n () => {\n // append order by primary key to the list of orders\n if (\n !innerQueryBuilder.isOrderUnique(false)\n ) {\n innerQueryBuilder.data.cursorPrefix = [\n \"primary_key_asc\",\n ];\n primaryKeys.forEach(key => {\n innerQueryBuilder.orderBy(\n sql.fragment`${innerQueryBuilder.getTableAlias()}.${sql.identifier(\n key.name\n )}`,\n true\n );\n });\n innerQueryBuilder.setOrderIsUnique();\n }\n }\n );\n }\n\n keys.forEach((key, i) => {\n innerQueryBuilder.where(\n sql.fragment`${tableAlias}.${sql.identifier(\n key.name\n )} = ${foreignTableAlias}.${sql.identifier(\n foreignKeys[i].name\n )}`\n );\n });\n },\n queryBuilder.context,\n queryBuilder.rootValue\n );\n return sql.fragment`(${query})`;\n }, getSafeAliasFromAlias(parsedResolveInfoFragment.alias));\n },\n };\n });\n const ConnectionType = getTypeByName(\n inflection.connection(gqlTableType.name)\n );\n const TableType = pgGetGqlTypeByTypeIdAndModifier(\n table.type.id,\n null\n );\n return {\n description:\n constraint.tags.backwardDescription ||\n build.wrapDescription(\n `Reads and enables pagination through a set of \\`${tableTypeName}\\`.`,\n \"field\"\n ),\n type: isConnection\n ? new GraphQLNonNull(ConnectionType)\n : new GraphQLNonNull(\n new GraphQLList(new GraphQLNonNull(TableType))\n ),\n args: {},\n resolve: (data, _args, resolveContext, resolveInfo) => {\n const safeAlias =\n getSafeAliasFromResolveInfo(resolveInfo);\n const liveCollection =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveCollection;\n const liveConditions =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveConditions;\n if (\n subscriptions &&\n liveCollection &&\n liveConditions &&\n data.__live\n ) {\n const { __id, ...rest } = data.__live;\n const condition = liveConditions[__id];\n const checker = condition(rest);\n\n liveCollection(\"pg\", table, checker);\n }\n if (isConnection) {\n return addStartEndCursor(data[safeAlias]);\n } else {\n const records = data[safeAlias];\n const liveRecord =\n resolveInfo.rootValue &&\n resolveInfo.rootValue.liveRecord;\n if (primaryKeys && subscriptions && liveRecord) {\n records.forEach(\n r =>\n r &&\n r.__identifiers &&\n liveRecord(\"pg\", table, r.__identifiers)\n );\n }\n return records;\n }\n },\n ...(isDeprecated\n ? {\n deprecationReason: singleRelationFieldName\n ? `Please use ${singleRelationFieldName} instead`\n : `Please use singular instead`, // This should never happen\n }\n : null),\n };\n },\n {\n isPgFieldConnection: isConnection,\n isPgFieldSimpleCollection: !isConnection,\n isPgBackwardRelationField: true,\n pgFieldIntrospection: table,\n }\n ),\n },\n\n `Backward relation (${\n isConnection ? \"connection\" : \"simple collection\"\n }) for ${describePgEntity(\n constraint\n )}. To rename this relation with a 'Smart Comment':\\n\\n ${sqlCommentByAddingTags(\n constraint,\n {\n [isConnection\n ? \"foreignFieldName\"\n : \"foreignSimpleFieldName\"]: \"newNameHere\",\n }\n )}`\n );\n }\n if (\n shouldAddManyRelation &&\n !omit(table, \"many\") &&\n !omit(constraint, \"many\")\n ) {\n const simpleCollections =\n constraint.tags.simpleCollections ||\n table.tags.simpleCollections ||\n pgSimpleCollections;\n const hasConnections = simpleCollections !== \"only\";\n const hasSimpleCollections =\n simpleCollections === \"only\" || simpleCollections === \"both\";\n if (hasConnections) {\n makeFields(true);\n }\n if (\n hasSimpleCollections &&\n !isUnique // if unique, use the singular instead\n ) {\n makeFields(false);\n }\n }\n return memo;\n }, {}),\n `Adding backward relations for ${Self.name}`\n );\n },\n [\"PgBackwardRelation\"]\n );\n}: Plugin);\n"],"file":"PgBackwardRelationPlugin.js"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.preventEmptyResult = preventEmptyResult;
|
|
7
6
|
exports.default = void 0;
|
|
7
|
+
exports.preventEmptyResult = preventEmptyResult;
|
|
8
8
|
|
|
9
9
|
var sql = _interopRequireWildcard(require("pg-sql2"));
|
|
10
10
|
|
|
@@ -38,9 +38,9 @@ var _debugSql = require("./debugSql");
|
|
|
38
38
|
|
|
39
39
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
40
40
|
|
|
41
|
-
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var
|
|
41
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
42
42
|
|
|
43
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
44
44
|
|
|
45
45
|
const defaultPgColumnFilter = (_attr, _build, _context) => true;
|
|
46
46
|
|