@things-factory/edge-client 9.0.0-beta.7 → 9.0.0-beta.70
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-client-subscription.js","sourceRoot":"","sources":["../../../server/service/appliance/edge-client-subscription.ts"],"names":[],"mappings":"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","sourcesContent":["import { filter, pipe } from 'graphql-yoga'\nimport { Resolver, Subscription, Root, Arg } from 'type-graphql'\n\nimport { pubsub, getRepository, Domain } from '@things-factory/shell'\nimport { Appliance, User } from '@things-factory/auth-base'\nimport { ConnectionManager, Connection, Step } from '@things-factory/integration-base'\n\nimport { EdgeContext, RunTaskPayload } from './edge-client-type'\n\n@Resolver(Appliance)\nexport class EdgeClientSubscription {\n @Subscription(type => [Connection], {\n subscribe: async ({ args, context, info }) => {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n const appliance =\n user.reference &&\n (await getRepository(Appliance).findOne({\n where: {\n id: user.reference\n }\n }))\n\n if (!appliance) {\n throw new Error('Appliance not found')\n }\n\n process.nextTick(async () => {\n const connections = Object.values(ConnectionManager.getConnectionInstanceEntities(domain)).filter(\n ({ edgeId }) => edgeId == appliance.id\n )\n\n if (connections.length > 0) {\n pubsub.publish('sync-connections', connections)\n }\n })\n\n return pipe(\n pubsub.subscribe('sync-connections'),\n filter(async (payload: Connection[]) => {\n const connections = payload\n const { edgeId } = connections[0]\n\n if (connections.find(connection => connection.domain?.subdomain !== subdomain)) {\n return false\n }\n\n if (!edgeId || appliance?.id !== edgeId) {\n return false\n }\n\n return true\n })\n )\n }\n })\n syncConnections(@Root() payload: Connection[]): Connection[] {\n return payload.map(connection => {\n return {\n ...connection,\n params: JSON.stringify(connection.params)\n }\n }) as any\n }\n\n @Subscription(type => [Connection], {\n subscribe: async ({ args, context, info }) => {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n const appliance =\n user.reference &&\n (await getRepository(Appliance).findOne({\n where: {\n id: user.reference\n }\n }))\n\n if (!appliance) {\n throw new Error('Appliance not found')\n }\n\n return pipe(\n pubsub.subscribe('connect-connections'),\n filter(async (payload: Connection[]) => {\n const connections = payload\n const { edgeId } = connections[0]\n\n if (connections.find(connection => connection.domain?.subdomain !== subdomain)) {\n return false\n }\n\n if (!edgeId || appliance?.id !== edgeId) {\n return false\n }\n\n return true\n })\n )\n }\n })\n connectConnections(@Root() payload: Connection[]): Connection[] {\n return payload.map(connection => {\n return {\n ...connection,\n params: JSON.stringify(connection.params)\n }\n }) as any\n }\n\n @Subscription(type => [Connection], {\n subscribe: async ({ args, context, info }) => {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n const appliance =\n user.reference &&\n (await getRepository(Appliance).findOne({\n where: {\n id: user.reference\n }\n }))\n\n if (!appliance) {\n throw new Error('Appliance not found')\n }\n\n return pipe(\n pubsub.subscribe('disconnect-connections'),\n filter(async (payload: Connection[]) => {\n const connections = payload\n const { edgeId } = connections[0]\n\n if (connections.find(connection => connection.domain?.subdomain !== subdomain)) {\n return false\n }\n\n if (!edgeId || appliance?.id !== edgeId) {\n return false\n }\n\n return true\n })\n )\n }\n })\n disconnectConnections(@Root() payload: Connection[]): Connection[] {\n return payload.map(connection => {\n return {\n ...connection,\n params: JSON.stringify(connection.params)\n }\n }) as any\n }\n\n @Subscription({\n subscribe: async ({ args, context, info }) => {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n const subdomain = domain?.subdomain\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n const appliance =\n user.reference &&\n (await getRepository(Appliance).findOne({\n where: {\n id: user.reference\n }\n }))\n\n if (!appliance) {\n throw new Error('Appliance not found')\n }\n return pipe(\n pubsub.subscribe('run-task'),\n filter(async (payload: { id: string; step: Step; context: EdgeContext }) => {\n const { domainId, connection } = payload.step\n\n if (domainId !== domain.id) {\n return false\n }\n\n const { edgeId } = connection && ConnectionManager.getConnectionInstanceEntityByName(domain, connection)\n\n if (!edgeId || appliance?.id !== edgeId) {\n return false\n }\n\n return true\n })\n )\n }\n })\n runTask(@Root() payload: RunTaskPayload): RunTaskPayload {\n const { id, step, context } = payload\n const { name, task, description, connection, params } = step\n\n return {\n id, // requestId\n step: {\n name,\n task,\n description,\n connection,\n params: JSON.stringify(params)\n },\n context\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"edge-client-subscription.js","sourceRoot":"","sources":["../../../server/service/appliance/edge-client-subscription.ts"],"names":[],"mappings":";;;;AAAA,+CAA2C;AAC3C,+CAAgE;AAEhE,iDAAqE;AACrE,yDAA2D;AAC3D,uEAAsF;AAEtF,yDAAgE;AAGzD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAuDjC,eAAe,CAAS,OAAqB;QAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAC9B,uCACK,UAAU,KACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAC1C;QACH,CAAC,CAAQ,CAAA;IACX,CAAC;IA8CD,kBAAkB,CAAS,OAAqB;QAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAC9B,uCACK,UAAU,KACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAC1C;QACH,CAAC,CAAQ,CAAA;IACX,CAAC;IA8CD,qBAAqB,CAAS,OAAqB;QACjD,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAC9B,uCACK,UAAU,KACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAC1C;QACH,CAAC,CAAQ,CAAA;IACX,CAAC;IA8CD,OAAO,CAAS,OAAuB;QACrC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QACrC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAE5D,OAAO;YACL,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE;gBACJ,IAAI;gBACJ,IAAI;gBACJ,WAAW;gBACX,UAAU;gBACV,MAAM,EAAE,MAAM,IAAI,EAAE;aACrB;YACD,OAAO;SACR,CAAA;IACH,CAAC;CACF,CAAA;AAtOY,wDAAsB;AAuDjC;IAtDC,IAAA,2BAAY,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,6BAAU,CAAC,EAAE;QAClC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;;YAC3C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAmC,OAAO,CAAC,KAAK,CAAA;YACtE,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;YACjF,CAAC;YAED,MAAM,SAAS,GACb,IAAI,CAAC,SAAS;gBACd,CAAC,MAAM,IAAA,qBAAa,EAAC,qBAAS,CAAC,CAAC,OAAO,CAAC;oBACtC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI,CAAC,SAAS;qBACnB;iBACF,CAAC,CAAC,CAAA;YAEL,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACxC,CAAC;YAED,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;gBAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,oCAAiB,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAC/F,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,CACvC,CAAA;gBAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,cAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAA;gBACjD,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,IAAA,mBAAI,EACT,cAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,EACpC,IAAA,qBAAM,EAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;gBACrC,MAAM,WAAW,GAAG,OAAO,CAAA;gBAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;gBAEjC,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,SAAS,MAAK,SAAS,CAAA,EAAA,CAAC,EAAE,CAAC;oBAC/E,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,IAAI,CAAC,MAAM,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,MAAK,MAAM,EAAE,CAAC;oBACxC,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KACF,CAAC;IACe,mBAAA,IAAA,mBAAI,GAAE,CAAA;;;;6DAOtB;AA8CD;IA5CC,IAAA,2BAAY,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,6BAAU,CAAC,EAAE;QAClC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;;YAC3C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAmC,OAAO,CAAC,KAAK,CAAA;YACtE,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;YACjF,CAAC;YAED,MAAM,SAAS,GACb,IAAI,CAAC,SAAS;gBACd,CAAC,MAAM,IAAA,qBAAa,EAAC,qBAAS,CAAC,CAAC,OAAO,CAAC;oBACtC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI,CAAC,SAAS;qBACnB;iBACF,CAAC,CAAC,CAAA;YAEL,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACxC,CAAC;YAED,OAAO,IAAA,mBAAI,EACT,cAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,EACvC,IAAA,qBAAM,EAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;gBACrC,MAAM,WAAW,GAAG,OAAO,CAAA;gBAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;gBAEjC,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,SAAS,MAAK,SAAS,CAAA,EAAA,CAAC,EAAE,CAAC;oBAC/E,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,IAAI,CAAC,MAAM,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,MAAK,MAAM,EAAE,CAAC;oBACxC,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KACF,CAAC;IACkB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;;;gEAOzB;AA8CD;IA5CC,IAAA,2BAAY,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,6BAAU,CAAC,EAAE;QAClC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;;YAC3C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAmC,OAAO,CAAC,KAAK,CAAA;YACtE,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;YACjF,CAAC;YAED,MAAM,SAAS,GACb,IAAI,CAAC,SAAS;gBACd,CAAC,MAAM,IAAA,qBAAa,EAAC,qBAAS,CAAC,CAAC,OAAO,CAAC;oBACtC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI,CAAC,SAAS;qBACnB;iBACF,CAAC,CAAC,CAAA;YAEL,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACxC,CAAC;YAED,OAAO,IAAA,mBAAI,EACT,cAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAC1C,IAAA,qBAAM,EAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;gBACrC,MAAM,WAAW,GAAG,OAAO,CAAA;gBAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;gBAEjC,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,WAAC,OAAA,CAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,SAAS,MAAK,SAAS,CAAA,EAAA,CAAC,EAAE,CAAC;oBAC/E,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,IAAI,CAAC,MAAM,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,MAAK,MAAM,EAAE,CAAC;oBACxC,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KACF,CAAC;IACqB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;;;mEAO5B;AA8CD;IA5CC,IAAA,2BAAY,EAAC;QACZ,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;;YAC3C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAmC,OAAO,CAAC,KAAK,CAAA;YAEtE,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAA;YACnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;YACpC,CAAC;YAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnG,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;YACjF,CAAC;YAED,MAAM,SAAS,GACb,IAAI,CAAC,SAAS;gBACd,CAAC,MAAM,IAAA,qBAAa,EAAC,qBAAS,CAAC,CAAC,OAAO,CAAC;oBACtC,KAAK,EAAE;wBACL,EAAE,EAAE,IAAI,CAAC,SAAS;qBACnB;iBACF,CAAC,CAAC,CAAA;YAEL,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACxC,CAAC;YACD,OAAO,IAAA,mBAAI,EACT,cAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAC5B,IAAA,qBAAM,EAAC,KAAK,EAAE,OAAyD,EAAE,EAAE;gBACzE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAA;gBAE7C,IAAI,QAAQ,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;oBAC3B,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,IAAI,oCAAiB,CAAC,iCAAiC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBAExG,IAAI,CAAC,MAAM,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,MAAK,MAAM,EAAE,CAAC;oBACxC,OAAO,KAAK,CAAA;gBACd,CAAC;gBAED,OAAO,IAAI,CAAA;YACb,CAAC,CAAC,CACH,CAAA;QACH,CAAC;KACF,CAAC;IACO,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAU,iCAAc;4CAAG,iCAAc;qDAevD;iCArOU,sBAAsB;IADlC,IAAA,uBAAQ,EAAC,qBAAS,CAAC;GACP,sBAAsB,CAsOlC","sourcesContent":["import { filter, pipe } from 'graphql-yoga'\nimport { Resolver, Subscription, Root, Arg } from 'type-graphql'\n\nimport { pubsub, getRepository, Domain } from '@things-factory/shell'\nimport { Appliance, User } from '@things-factory/auth-base'\nimport { ConnectionManager, Connection, Step } from '@things-factory/integration-base'\n\nimport { EdgeContext, RunTaskPayload } from './edge-client-type'\n\n@Resolver(Appliance)\nexport class EdgeClientSubscription {\n @Subscription(type => [Connection], {\n subscribe: async ({ args, context, info }) => {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n const appliance =\n user.reference &&\n (await getRepository(Appliance).findOne({\n where: {\n id: user.reference\n }\n }))\n\n if (!appliance) {\n throw new Error('Appliance not found')\n }\n\n process.nextTick(async () => {\n const connections = Object.values(ConnectionManager.getConnectionInstanceEntities(domain)).filter(\n ({ edgeId }) => edgeId == appliance.id\n )\n\n if (connections.length > 0) {\n pubsub.publish('sync-connections', connections)\n }\n })\n\n return pipe(\n pubsub.subscribe('sync-connections'),\n filter(async (payload: Connection[]) => {\n const connections = payload\n const { edgeId } = connections[0]\n\n if (connections.find(connection => connection.domain?.subdomain !== subdomain)) {\n return false\n }\n\n if (!edgeId || appliance?.id !== edgeId) {\n return false\n }\n\n return true\n })\n )\n }\n })\n syncConnections(@Root() payload: Connection[]): Connection[] {\n return payload.map(connection => {\n return {\n ...connection,\n params: JSON.stringify(connection.params)\n }\n }) as any\n }\n\n @Subscription(type => [Connection], {\n subscribe: async ({ args, context, info }) => {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n const appliance =\n user.reference &&\n (await getRepository(Appliance).findOne({\n where: {\n id: user.reference\n }\n }))\n\n if (!appliance) {\n throw new Error('Appliance not found')\n }\n\n return pipe(\n pubsub.subscribe('connect-connections'),\n filter(async (payload: Connection[]) => {\n const connections = payload\n const { edgeId } = connections[0]\n\n if (connections.find(connection => connection.domain?.subdomain !== subdomain)) {\n return false\n }\n\n if (!edgeId || appliance?.id !== edgeId) {\n return false\n }\n\n return true\n })\n )\n }\n })\n connectConnections(@Root() payload: Connection[]): Connection[] {\n return payload.map(connection => {\n return {\n ...connection,\n params: JSON.stringify(connection.params)\n }\n }) as any\n }\n\n @Subscription(type => [Connection], {\n subscribe: async ({ args, context, info }) => {\n const { domain, user }: { domain: Domain; user: User } = context.state\n const subdomain = domain?.subdomain\n\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n const appliance =\n user.reference &&\n (await getRepository(Appliance).findOne({\n where: {\n id: user.reference\n }\n }))\n\n if (!appliance) {\n throw new Error('Appliance not found')\n }\n\n return pipe(\n pubsub.subscribe('disconnect-connections'),\n filter(async (payload: Connection[]) => {\n const connections = payload\n const { edgeId } = connections[0]\n\n if (connections.find(connection => connection.domain?.subdomain !== subdomain)) {\n return false\n }\n\n if (!edgeId || appliance?.id !== edgeId) {\n return false\n }\n\n return true\n })\n )\n }\n })\n disconnectConnections(@Root() payload: Connection[]): Connection[] {\n return payload.map(connection => {\n return {\n ...connection,\n params: JSON.stringify(connection.params)\n }\n }) as any\n }\n\n @Subscription({\n subscribe: async ({ args, context, info }) => {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n const subdomain = domain?.subdomain\n if (!domain) {\n throw new Error('domain required')\n }\n\n if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {\n throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`)\n }\n\n const appliance =\n user.reference &&\n (await getRepository(Appliance).findOne({\n where: {\n id: user.reference\n }\n }))\n\n if (!appliance) {\n throw new Error('Appliance not found')\n }\n return pipe(\n pubsub.subscribe('run-task'),\n filter(async (payload: { id: string; step: Step; context: EdgeContext }) => {\n const { domainId, connection } = payload.step\n\n if (domainId !== domain.id) {\n return false\n }\n\n const { edgeId } = connection && ConnectionManager.getConnectionInstanceEntityByName(domain, connection)\n\n if (!edgeId || appliance?.id !== edgeId) {\n return false\n }\n\n return true\n })\n )\n }\n })\n runTask(@Root() payload: RunTaskPayload): RunTaskPayload {\n const { id, step, context } = payload\n const { name, task, description, connection, params } = step\n\n return {\n id, // requestId\n step: {\n name,\n task,\n description,\n connection,\n params: params || {}\n },\n context\n }\n }\n}\n"]}
|