@things-factory/edge-client 10.0.0-beta.1 → 10.0.0-beta.108
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.
|
@@ -58,7 +58,7 @@ tslib_1.__decorate([
|
|
|
58
58
|
if (!domain) {
|
|
59
59
|
throw new Error('domain required');
|
|
60
60
|
}
|
|
61
|
-
if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {
|
|
61
|
+
if (!user.domains?.find(d => d.subdomain === subdomain) && !(await process.superUserGranted(domain, user))) {
|
|
62
62
|
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
|
|
63
63
|
}
|
|
64
64
|
const appliance = user.reference &&
|
|
@@ -102,7 +102,7 @@ tslib_1.__decorate([
|
|
|
102
102
|
if (!domain) {
|
|
103
103
|
throw new Error('domain required');
|
|
104
104
|
}
|
|
105
|
-
if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {
|
|
105
|
+
if (!user.domains?.find(d => d.subdomain === subdomain) && !(await process.superUserGranted(domain, user))) {
|
|
106
106
|
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
|
|
107
107
|
}
|
|
108
108
|
const appliance = user.reference &&
|
|
@@ -140,7 +140,7 @@ tslib_1.__decorate([
|
|
|
140
140
|
if (!domain) {
|
|
141
141
|
throw new Error('domain required');
|
|
142
142
|
}
|
|
143
|
-
if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {
|
|
143
|
+
if (!user.domains?.find(d => d.subdomain === subdomain) && !(await process.superUserGranted(domain, user))) {
|
|
144
144
|
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
|
|
145
145
|
}
|
|
146
146
|
const appliance = user.reference &&
|
|
@@ -178,7 +178,7 @@ tslib_1.__decorate([
|
|
|
178
178
|
if (!domain) {
|
|
179
179
|
throw new Error('domain required');
|
|
180
180
|
}
|
|
181
|
-
if (!user.domains?.find(d => d.subdomain === subdomain) && !process.superUserGranted(domain, user)) {
|
|
181
|
+
if (!user.domains?.find(d => d.subdomain === subdomain) && !(await process.superUserGranted(domain, user))) {
|
|
182
182
|
throw new Error(`domain(${subdomain}) is not working for user(${user.email}).`);
|
|
183
183
|
}
|
|
184
184
|
const appliance = user.reference &&
|
|
@@ -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: 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":"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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) && !(await 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) && !(await 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) && !(await 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) && !(await 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"]}
|