@things-factory/oauth2-client 7.0.1-beta.0 → 7.0.1-beta.10
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/client/pages/oauth2-client-register.ts +2 -2
- package/client/pages/oauth2-client.ts +3 -3
- package/client/pages/oauth2-clients.ts +2 -2
- package/dist-client/pages/oauth2-client/oauth2-client-importer.d.ts +1 -1
- package/dist-client/pages/oauth2-client/oauth2-client-importer.js.map +1 -1
- package/dist-client/pages/oauth2-client/oauth2-client-list-page.d.ts +1 -1
- package/dist-client/pages/oauth2-client/oauth2-client-list-page.js.map +1 -1
- package/dist-client/pages/oauth2-client-register.d.ts +1 -1
- package/dist-client/pages/oauth2-client-register.js +2 -2
- package/dist-client/pages/oauth2-client-register.js.map +1 -1
- package/dist-client/pages/oauth2-client.d.ts +1 -1
- package/dist-client/pages/oauth2-client.js +3 -3
- package/dist-client/pages/oauth2-client.js.map +1 -1
- package/dist-client/pages/oauth2-clients.js +2 -2
- package/dist-client/pages/oauth2-clients.js.map +1 -1
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/oauth2-client/oauth2-client-mutation.js +2 -2
- package/dist-server/service/oauth2-client/oauth2-client-mutation.js.map +1 -1
- package/dist-server/service/oauth2-client/oauth2-client-query.js +2 -2
- package/dist-server/service/oauth2-client/oauth2-client-query.js.map +1 -1
- package/dist-server/service/oauth2-client/oauth2-client-type.js +6 -6
- package/dist-server/service/oauth2-client/oauth2-client-type.js.map +1 -1
- package/dist-server/service/oauth2-client/oauth2-client.js +2 -2
- package/dist-server/service/oauth2-client/oauth2-client.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":";;;AAAA,0EAAwC;AACxC,4DAA2B;AAE3B,iDAA+E;AAE/E,yEAAoE;AAEpE,OAAO,CAAC,EAAE,CAAC,uCAA8C,EAAE,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE;IACtF,mBAAmB,CAAC,GAAG,CAAC,6BAA6B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC7E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAClC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAA;QAErB,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,4BAAY,CAAC,CAAA;QAC9C,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAEvD,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EACP,GAAG,YAAY,CAAA;QAEhB,IAAI,SAAS,KAAK,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":"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","sourcesContent":["import ClientOAuth2 from 'client-oauth2'\nimport crypto from 'crypto'\n\nimport { getRedirectSubdomainPath, getRepository } from '@things-factory/shell'\n\nimport { Oauth2Client } from './service/oauth2-client/oauth2-client'\n\nprocess.on('bootstrap-module-domain-private-route' as any, (app, domainPrivateRouter) => {\n domainPrivateRouter.get('/oauth2-client/:id/auth-uri', async (context, next) => {\n const { params, origin } = context\n const { id } = params\n\n const repository = getRepository(Oauth2Client)\n const oauth2Client = await repository.findOneBy({ id })\n\n const {\n grantType,\n clientId,\n clientSecret,\n accessTokenUrl: accessTokenUri,\n authUrl: authorizationUri,\n scopes\n } = oauth2Client\n\n if (grantType !== 'code') {\n throw new Error(`unsupported grant type: ${grantType}`)\n }\n\n const state = crypto.randomBytes(16).toString('hex')\n await repository.save({\n ...oauth2Client,\n state\n })\n\n var auth = new ClientOAuth2({\n clientId,\n clientSecret,\n accessTokenUri,\n authorizationUri,\n redirectUri: `${origin}/oauth2-client/callback`,\n scopes: scopes?.split(' ') || [],\n state\n })\n\n context.status = 200\n context.body = await auth.code.getUri()\n })\n\n domainPrivateRouter.get('/oauth2-client/:id/refresh', async (context, next) => {\n const { params } = context\n const { id } = params\n\n const repository = getRepository(Oauth2Client)\n const oauth2Client = await repository.findOneBy({ id })\n\n const {\n grantType,\n clientId,\n clientSecret,\n accessTokenUrl: accessTokenUri,\n authUrl: authorizationUri,\n scopes,\n tokenType,\n accessToken,\n refreshToken\n } = oauth2Client\n\n if (!refreshToken) {\n context.status = 404\n context.body = 'refreshToken not found'\n\n return\n }\n\n var auth = new ClientOAuth2({\n clientId,\n clientSecret,\n accessTokenUri,\n authorizationUri,\n scopes: scopes?.split(' ') || []\n })\n\n const { accessToken: newAccessToken, refreshToken: newRefreshToken } = await auth\n .createToken(accessToken, refreshToken, tokenType, {})\n .refresh()\n\n context.status = 200\n context.body = await repository.save({\n ...oauth2Client,\n accessToken: newAccessToken,\n refreshToken: newRefreshToken,\n state: ''\n })\n })\n})\n\nprocess.on('bootstrap-module-domain-public-route' as any, (app, domainPublicRouter) => {\n domainPublicRouter.get('/oauth2-client/callback', async (context, next) => {\n const { state } = context.query\n const { originalUrl } = context\n\n const repository = getRepository(Oauth2Client)\n const oauth2Client: Oauth2Client = await repository.findOne({\n where: { state },\n relations: ['domain']\n })\n\n const {\n domain,\n id,\n grantType,\n clientId,\n clientSecret,\n accessTokenUrl: accessTokenUri,\n authUrl: authorizationUri,\n scopes\n } = oauth2Client\n\n var auth = new ClientOAuth2({\n clientId,\n clientSecret,\n accessTokenUri,\n authorizationUri,\n scopes: scopes?.split(' ') || []\n })\n\n var url = originalUrl\n switch (grantType) {\n case 'credentials':\n break\n case 'jwt':\n break\n case 'code':\n break\n case 'owner':\n default:\n throw new Error(`unsupported grant type: ${grantType}`)\n }\n\n const token = await auth.code.getToken(originalUrl)\n const { tokenType, accessToken, refreshToken, data } = token\n const expires = data?.expires_in ? token.expiresIn(data?.expires_in as any) : null\n\n await repository.save({\n ...oauth2Client,\n tokenType,\n accessToken,\n refreshToken,\n expires,\n scopes: data?.scope?.replace(',', ' '),\n state: ''\n })\n\n context.redirect(getRedirectSubdomainPath(context, domain?.subdomain, `/oauth2-client/${id}`))\n })\n})\n"]}
|
|
@@ -106,6 +106,7 @@ let Oauth2ClientMutation = class Oauth2ClientMutation {
|
|
|
106
106
|
return await repository.save(Object.assign(Object.assign({}, oauth2Client), { accessToken: newAccessToken, refreshToken: newRefreshToken, tokenType: newTokenType, expires }));
|
|
107
107
|
}
|
|
108
108
|
};
|
|
109
|
+
exports.Oauth2ClientMutation = Oauth2ClientMutation;
|
|
109
110
|
tslib_1.__decorate([
|
|
110
111
|
(0, type_graphql_1.Directive)('@transaction'),
|
|
111
112
|
(0, type_graphql_1.Mutation)(returns => oauth2_client_1.Oauth2Client, { description: 'To create new Oauth2Client' }),
|
|
@@ -170,8 +171,7 @@ tslib_1.__decorate([
|
|
|
170
171
|
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
171
172
|
tslib_1.__metadata("design:returntype", Promise)
|
|
172
173
|
], Oauth2ClientMutation.prototype, "refreshOauth2AccessToken", null);
|
|
173
|
-
Oauth2ClientMutation = tslib_1.__decorate([
|
|
174
|
+
exports.Oauth2ClientMutation = Oauth2ClientMutation = tslib_1.__decorate([
|
|
174
175
|
(0, type_graphql_1.Resolver)(oauth2_client_1.Oauth2Client)
|
|
175
176
|
], Oauth2ClientMutation);
|
|
176
|
-
exports.Oauth2ClientMutation = Oauth2ClientMutation;
|
|
177
177
|
//# sourceMappingURL=oauth2-client-mutation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2-client-mutation.js","sourceRoot":"","sources":["../../../server/service/oauth2-client/oauth2-client-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import ClientOAuth2 from 'client-oauth2'\nimport crypto from 'crypto'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { config } from '@things-factory/env'\n\nimport { Oauth2Client } from './oauth2-client'\nimport { NewOauth2Client, Oauth2ClientPatch } from './oauth2-client-type'\n\nconst protocol: string = config.get('protocol')\n\n@Resolver(Oauth2Client)\nexport class Oauth2ClientMutation {\n @Directive('@transaction')\n @Mutation(returns => Oauth2Client, { description: 'To create new Oauth2Client' })\n async createOauth2Client(\n @Arg('oauth2Client') oauth2Client: NewOauth2Client,\n @Ctx() context: ResolverContext\n ): Promise<Oauth2Client> {\n const { domain, user, tx } = context.state\n\n const originalProtocol = context.headers['x-forwarded-proto']\n const originalHost = context.headers['x-forwarded-host']\n const originalPort = context.headers['x-forwarded-port']\n\n if (originalProtocol && originalHost) {\n var url: URL = new URL(`${originalProtocol}://${originalHost}`)\n if (originalPort) {\n url.port = originalPort\n }\n } else {\n var url: URL = new URL(context.request.origin)\n }\n\n if (protocol) {\n url.protocol = protocol\n }\n\n url.pathname = '/oauth2-client/callback'\n\n return await tx.getRepository(Oauth2Client).save({\n ...oauth2Client,\n callbackUrl: oauth2Client.callbackUrl || url.href,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Oauth2Client, { description: 'To modify Oauth2Client information' })\n async updateOauth2Client(\n @Arg('id') id: string,\n @Arg('patch') patch: Oauth2ClientPatch,\n @Ctx() context: ResolverContext\n ): Promise<Oauth2Client> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(Oauth2Client)\n const oauth2Client = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n return await repository.save({\n ...oauth2Client,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete Oauth2Client' })\n async deleteOauth2Client(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Oauth2Client).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple Oauth2Clients' })\n async deleteOauth2Clients(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Oauth2Client).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple Oauth2Clients' })\n async importOauth2Clients(\n @Arg('oauth2Clients', type => [Oauth2ClientPatch]) oauth2Clients: Oauth2ClientPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n oauth2Clients.map(async (oauth2Client: Oauth2ClientPatch) => {\n const createdOauth2Client: Oauth2Client = await tx.getRepository(Oauth2Client).save({ domain, ...oauth2Client })\n })\n )\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => String, { description: 'To get oauth2 auth URL' })\n async getOauth2AuthUrl(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<string> {\n const { tx } = context.state\n const repository = tx.getRepository(Oauth2Client)\n const oauth2Client = await repository.findOneBy({ id })\n\n const {\n grantType,\n clientId,\n clientSecret,\n callbackUrl,\n accessTokenUrl: accessTokenUri,\n authUrl: authorizationUri,\n scopes\n } = oauth2Client\n\n if (grantType !== 'code') {\n throw new Error(`unsupported grant type: ${grantType}`)\n }\n\n const state = crypto.randomBytes(16).toString('hex')\n await repository.save({\n ...oauth2Client,\n state\n })\n\n var auth = new ClientOAuth2({\n clientId,\n clientSecret,\n accessTokenUri,\n authorizationUri,\n redirectUri: callbackUrl || `${context.origin}/oauth2-client/callback`,\n scopes: scopes?.split(' ') || [],\n state\n })\n\n return await (auth[grantType] as any).getUri()\n }\n\n @Directive('@transaction')\n @Mutation(returns => Oauth2Client, { description: 'To refresh oauth2 access token' })\n async refreshOauth2AccessToken(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Oauth2Client> {\n const { tx } = context.state\n const repository = tx.getRepository(Oauth2Client)\n const oauth2Client = await repository.findOneBy({ id })\n\n const {\n clientId,\n clientSecret,\n accessTokenUrl: accessTokenUri,\n authUrl: authorizationUri,\n scopes,\n tokenType,\n accessToken,\n refreshToken\n } = oauth2Client\n\n if (!refreshToken) {\n throw new Error('refreshToken not found')\n }\n\n var auth = new ClientOAuth2({\n clientId,\n clientSecret,\n accessTokenUri,\n authorizationUri,\n scopes: scopes?.split(' ')\n })\n\n try {\n var token = await auth.createToken(accessToken, refreshToken, tokenType, {}).refresh()\n } catch (err) {\n throw err\n }\n\n const { accessToken: newAccessToken, refreshToken: newRefreshToken, tokenType: newTokenType, data } = token\n const expires = data?.expires_in ? token.expiresIn(data?.expires_in as any) : null\n\n return await repository.save({\n ...oauth2Client,\n accessToken: newAccessToken,\n refreshToken: newRefreshToken,\n tokenType: newTokenType,\n expires\n })\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"oauth2-client-mutation.js","sourceRoot":"","sources":["../../../server/service/oauth2-client/oauth2-client-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import ClientOAuth2 from 'client-oauth2'\nimport crypto from 'crypto'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { config } from '@things-factory/env'\n\nimport { Oauth2Client } from './oauth2-client'\nimport { NewOauth2Client, Oauth2ClientPatch } from './oauth2-client-type'\n\nconst protocol: string = config.get('protocol')\n\n@Resolver(Oauth2Client)\nexport class Oauth2ClientMutation {\n @Directive('@transaction')\n @Mutation(returns => Oauth2Client, { description: 'To create new Oauth2Client' })\n async createOauth2Client(\n @Arg('oauth2Client') oauth2Client: NewOauth2Client,\n @Ctx() context: ResolverContext\n ): Promise<Oauth2Client> {\n const { domain, user, tx } = context.state\n\n const originalProtocol = context.headers['x-forwarded-proto']\n const originalHost = context.headers['x-forwarded-host']\n const originalPort = context.headers['x-forwarded-port']\n\n if (originalProtocol && originalHost) {\n var url: URL = new URL(`${originalProtocol}://${originalHost}`)\n if (originalPort) {\n url.port = originalPort\n }\n } else {\n var url: URL = new URL(context.request.origin)\n }\n\n if (protocol) {\n url.protocol = protocol\n }\n\n url.pathname = '/oauth2-client/callback'\n\n return await tx.getRepository(Oauth2Client).save({\n ...oauth2Client,\n callbackUrl: oauth2Client.callbackUrl || url.href,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Oauth2Client, { description: 'To modify Oauth2Client information' })\n async updateOauth2Client(\n @Arg('id') id: string,\n @Arg('patch') patch: Oauth2ClientPatch,\n @Ctx() context: ResolverContext\n ): Promise<Oauth2Client> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(Oauth2Client)\n const oauth2Client = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n return await repository.save({\n ...oauth2Client,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete Oauth2Client' })\n async deleteOauth2Client(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Oauth2Client).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple Oauth2Clients' })\n async deleteOauth2Clients(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(Oauth2Client).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To import multiple Oauth2Clients' })\n async importOauth2Clients(\n @Arg('oauth2Clients', type => [Oauth2ClientPatch]) oauth2Clients: Oauth2ClientPatch[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await Promise.all(\n oauth2Clients.map(async (oauth2Client: Oauth2ClientPatch) => {\n const createdOauth2Client: Oauth2Client = await tx.getRepository(Oauth2Client).save({ domain, ...oauth2Client })\n })\n )\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => String, { description: 'To get oauth2 auth URL' })\n async getOauth2AuthUrl(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<string> {\n const { tx } = context.state\n const repository = tx.getRepository(Oauth2Client)\n const oauth2Client = await repository.findOneBy({ id })\n\n const {\n grantType,\n clientId,\n clientSecret,\n callbackUrl,\n accessTokenUrl: accessTokenUri,\n authUrl: authorizationUri,\n scopes\n } = oauth2Client\n\n if (grantType !== 'code') {\n throw new Error(`unsupported grant type: ${grantType}`)\n }\n\n const state = crypto.randomBytes(16).toString('hex')\n await repository.save({\n ...oauth2Client,\n state\n })\n\n var auth = new ClientOAuth2({\n clientId,\n clientSecret,\n accessTokenUri,\n authorizationUri,\n redirectUri: callbackUrl || `${context.origin}/oauth2-client/callback`,\n scopes: scopes?.split(' ') || [],\n state\n })\n\n return await (auth[grantType] as any).getUri()\n }\n\n @Directive('@transaction')\n @Mutation(returns => Oauth2Client, { description: 'To refresh oauth2 access token' })\n async refreshOauth2AccessToken(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Oauth2Client> {\n const { tx } = context.state\n const repository = tx.getRepository(Oauth2Client)\n const oauth2Client = await repository.findOneBy({ id })\n\n const {\n clientId,\n clientSecret,\n accessTokenUrl: accessTokenUri,\n authUrl: authorizationUri,\n scopes,\n tokenType,\n accessToken,\n refreshToken\n } = oauth2Client\n\n if (!refreshToken) {\n throw new Error('refreshToken not found')\n }\n\n var auth = new ClientOAuth2({\n clientId,\n clientSecret,\n accessTokenUri,\n authorizationUri,\n scopes: scopes?.split(' ')\n })\n\n try {\n var token = await auth.createToken(accessToken, refreshToken, tokenType, {}).refresh()\n } catch (err) {\n throw err\n }\n\n const { accessToken: newAccessToken, refreshToken: newRefreshToken, tokenType: newTokenType, data } = token\n const expires = data?.expires_in ? token.expiresIn(data?.expires_in as any) : null\n\n return await repository.save({\n ...oauth2Client,\n accessToken: newAccessToken,\n refreshToken: newRefreshToken,\n tokenType: newTokenType,\n expires\n })\n }\n}\n"]}
|
|
@@ -35,6 +35,7 @@ let Oauth2ClientQuery = class Oauth2ClientQuery {
|
|
|
35
35
|
return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: oauth2Client.creatorId });
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
+
exports.Oauth2ClientQuery = Oauth2ClientQuery;
|
|
38
39
|
tslib_1.__decorate([
|
|
39
40
|
(0, type_graphql_1.Query)(returns => oauth2_client_1.Oauth2Client, { nullable: true, description: 'To fetch a Oauth2Client' }),
|
|
40
41
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
@@ -72,8 +73,7 @@ tslib_1.__decorate([
|
|
|
72
73
|
tslib_1.__metadata("design:paramtypes", [oauth2_client_1.Oauth2Client]),
|
|
73
74
|
tslib_1.__metadata("design:returntype", Promise)
|
|
74
75
|
], Oauth2ClientQuery.prototype, "creator", null);
|
|
75
|
-
Oauth2ClientQuery = tslib_1.__decorate([
|
|
76
|
+
exports.Oauth2ClientQuery = Oauth2ClientQuery = tslib_1.__decorate([
|
|
76
77
|
(0, type_graphql_1.Resolver)(oauth2_client_1.Oauth2Client)
|
|
77
78
|
], Oauth2ClientQuery);
|
|
78
|
-
exports.Oauth2ClientQuery = Oauth2ClientQuery;
|
|
79
79
|
//# sourceMappingURL=oauth2-client-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2-client-query.js","sourceRoot":"","sources":["../../../server/service/oauth2-client/oauth2-client-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AAEnF,yDAAgD;AAChD,iDAAuG;AAEvG,mDAA8C;AAC9C,6DAAuD;AAGhD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAEtB,AAAN,KAAK,CAAC,YAAY,CAAY,EAAU,EAAS,OAAwB;QACvE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,4BAAY,CAAC,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACzC,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa,CAAS,MAAiB,EAAS,OAAwB;QAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,4BAAY,CAAC;YAC7C,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,YAA0B;QAC7C,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,YAA0B;QAC9C,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,YAA0B;QAC9C,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5E,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"oauth2-client-query.js","sourceRoot":"","sources":["../../../server/service/oauth2-client/oauth2-client-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AAEnF,yDAAgD;AAChD,iDAAuG;AAEvG,mDAA8C;AAC9C,6DAAuD;AAGhD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAEtB,AAAN,KAAK,CAAC,YAAY,CAAY,EAAU,EAAS,OAAwB;QACvE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,OAAO,MAAM,IAAA,qBAAa,EAAC,4BAAY,CAAC,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;SACzC,CAAC,CAAA;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa,CAAS,MAAiB,EAAS,OAAwB;QAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,4BAAY,CAAC;YAC7C,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;SACrC,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,YAA0B;QAC7C,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC7E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,YAA0B;QAC9C,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5E,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAS,YAA0B;QAC9C,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5E,CAAC;CACF,CAAA;AAxCY,8CAAiB;AAEtB;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,4BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACxE,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;qDAM/C;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,qCAAgB,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;IAClE,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;sDAa5C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAe,4BAAY;;+CAE9C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAe,4BAAY;;gDAE/C;AAGK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAe,4BAAY;;gDAE/C;4BAvCU,iBAAiB;IAD7B,IAAA,uBAAQ,EAAC,4BAAY,CAAC;GACV,iBAAiB,CAwC7B","sourcesContent":["import { Arg, Args, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\n\nimport { Oauth2Client } from './oauth2-client'\nimport { Oauth2ClientList } from './oauth2-client-type'\n\n@Resolver(Oauth2Client)\nexport class Oauth2ClientQuery {\n @Query(returns => Oauth2Client!, { nullable: true, description: 'To fetch a Oauth2Client' })\n async oauth2Client(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Oauth2Client> {\n const { domain } = context.state\n\n return await getRepository(Oauth2Client).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => Oauth2ClientList, { description: 'To fetch multiple Oauth2Clients' })\n async oauth2Clients(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<Oauth2ClientList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(Oauth2Client),\n searchables: ['name', 'description']\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() oauth2Client: Oauth2Client): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: oauth2Client.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() oauth2Client: Oauth2Client): Promise<User> {\n return await getRepository(User).findOneBy({ id: oauth2Client.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() oauth2Client: Oauth2Client): Promise<User> {\n return await getRepository(User).findOneBy({ id: oauth2Client.creatorId })\n }\n}\n"]}
|
|
@@ -7,6 +7,7 @@ const graphql_scalars_1 = require("graphql-scalars");
|
|
|
7
7
|
const oauth2_client_1 = require("./oauth2-client");
|
|
8
8
|
let NewOauth2Client = class NewOauth2Client {
|
|
9
9
|
};
|
|
10
|
+
exports.NewOauth2Client = NewOauth2Client;
|
|
10
11
|
tslib_1.__decorate([
|
|
11
12
|
(0, type_graphql_1.Field)(),
|
|
12
13
|
tslib_1.__metadata("design:type", String)
|
|
@@ -79,12 +80,12 @@ tslib_1.__decorate([
|
|
|
79
80
|
(0, type_graphql_1.Field)(type => graphql_scalars_1.GraphQLJWT, { nullable: true }),
|
|
80
81
|
tslib_1.__metadata("design:type", String)
|
|
81
82
|
], NewOauth2Client.prototype, "jwtToken", void 0);
|
|
82
|
-
NewOauth2Client = tslib_1.__decorate([
|
|
83
|
+
exports.NewOauth2Client = NewOauth2Client = tslib_1.__decorate([
|
|
83
84
|
(0, type_graphql_1.InputType)()
|
|
84
85
|
], NewOauth2Client);
|
|
85
|
-
exports.NewOauth2Client = NewOauth2Client;
|
|
86
86
|
let Oauth2ClientPatch = class Oauth2ClientPatch {
|
|
87
87
|
};
|
|
88
|
+
exports.Oauth2ClientPatch = Oauth2ClientPatch;
|
|
88
89
|
tslib_1.__decorate([
|
|
89
90
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
90
91
|
tslib_1.__metadata("design:type", String)
|
|
@@ -157,12 +158,12 @@ tslib_1.__decorate([
|
|
|
157
158
|
(0, type_graphql_1.Field)(type => graphql_scalars_1.GraphQLJWT, { nullable: true }),
|
|
158
159
|
tslib_1.__metadata("design:type", String)
|
|
159
160
|
], Oauth2ClientPatch.prototype, "jwtToken", void 0);
|
|
160
|
-
Oauth2ClientPatch = tslib_1.__decorate([
|
|
161
|
+
exports.Oauth2ClientPatch = Oauth2ClientPatch = tslib_1.__decorate([
|
|
161
162
|
(0, type_graphql_1.InputType)()
|
|
162
163
|
], Oauth2ClientPatch);
|
|
163
|
-
exports.Oauth2ClientPatch = Oauth2ClientPatch;
|
|
164
164
|
let Oauth2ClientList = class Oauth2ClientList {
|
|
165
165
|
};
|
|
166
|
+
exports.Oauth2ClientList = Oauth2ClientList;
|
|
166
167
|
tslib_1.__decorate([
|
|
167
168
|
(0, type_graphql_1.Field)(type => [oauth2_client_1.Oauth2Client]),
|
|
168
169
|
tslib_1.__metadata("design:type", Array)
|
|
@@ -171,8 +172,7 @@ tslib_1.__decorate([
|
|
|
171
172
|
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
172
173
|
tslib_1.__metadata("design:type", Number)
|
|
173
174
|
], Oauth2ClientList.prototype, "total", void 0);
|
|
174
|
-
Oauth2ClientList = tslib_1.__decorate([
|
|
175
|
+
exports.Oauth2ClientList = Oauth2ClientList = tslib_1.__decorate([
|
|
175
176
|
(0, type_graphql_1.ObjectType)()
|
|
176
177
|
], Oauth2ClientList);
|
|
177
|
-
exports.Oauth2ClientList = Oauth2ClientList;
|
|
178
178
|
//# sourceMappingURL=oauth2-client-type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2-client-type.js","sourceRoot":"","sources":["../../../server/service/oauth2-client/oauth2-client-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAgE;AAChE,qDAA4C;AAE5C,mDAA8C;AAGvC,IAAM,eAAe,GAArB,MAAM,eAAe;CAsD3B,CAAA;
|
|
1
|
+
{"version":3,"file":"oauth2-client-type.js","sourceRoot":"","sources":["../../../server/service/oauth2-client/oauth2-client-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, InputType, Int, ObjectType } from 'type-graphql'\nimport { GraphQLJWT } from 'graphql-scalars'\n\nimport { Oauth2Client } from './oauth2-client'\n\n@InputType()\nexport class NewOauth2Client {\n @Field()\n name: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n icon?: string\n\n @Field({ nullable: true })\n grantType?: string\n\n @Field({ nullable: true })\n clientId?: string\n\n @Field({ nullable: true })\n clientSecret?: string\n\n @Field({ nullable: true })\n callbackUrl?: string\n\n @Field({ nullable: true })\n authUrl?: string\n\n @Field({ nullable: true })\n accessTokenUrl?: string\n\n @Field({ nullable: true })\n webhook?: string\n\n @Field({ nullable: true })\n username?: string\n\n @Field({ nullable: true })\n password?: string\n\n @Field({ nullable: true })\n codeChallengeMethod?: string\n\n @Field({ nullable: true })\n codeVerifier?: string\n\n @Field({ nullable: true })\n scopes?: string\n\n @Field({ nullable: true })\n accessToken?: string\n\n @Field({ nullable: true })\n refreshToken?: string\n\n @Field(type => GraphQLJWT, { nullable: true })\n jwtToken?: string\n}\n\n@InputType()\nexport class Oauth2ClientPatch {\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n description?: string\n\n @Field({ nullable: true })\n icon?: string\n\n @Field({ nullable: true })\n grantType?: string\n\n @Field({ nullable: true })\n clientId?: string\n\n @Field({ nullable: true })\n clientSecret?: string\n\n @Field({ nullable: true })\n callbackUrl?: string\n\n @Field({ nullable: true })\n authUrl?: string\n\n @Field({ nullable: true })\n accessTokenUrl?: string\n\n @Field({ nullable: true })\n webhook?: string\n\n @Field({ nullable: true })\n username?: string\n\n @Field({ nullable: true })\n password?: string\n\n @Field({ nullable: true })\n codeChallengeMethod?: string\n\n @Field({ nullable: true })\n codeVerifier?: string\n\n @Field({ nullable: true })\n scopes?: string\n\n @Field({ nullable: true })\n accessToken?: string\n\n @Field({ nullable: true })\n refreshToken?: string\n\n @Field(type => GraphQLJWT, { nullable: true })\n jwtToken?: string\n}\n\n@ObjectType()\nexport class Oauth2ClientList {\n @Field(type => [Oauth2Client])\n items: Oauth2Client[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -23,6 +23,7 @@ let Oauth2Client = class Oauth2Client {
|
|
|
23
23
|
return {};
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
|
+
exports.Oauth2Client = Oauth2Client;
|
|
26
27
|
tslib_1.__decorate([
|
|
27
28
|
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
28
29
|
(0, type_graphql_1.Field)(type => type_graphql_1.ID),
|
|
@@ -170,10 +171,9 @@ tslib_1.__decorate([
|
|
|
170
171
|
(0, typeorm_1.RelationId)((oauth2Client) => oauth2Client.updater),
|
|
171
172
|
tslib_1.__metadata("design:type", String)
|
|
172
173
|
], Oauth2Client.prototype, "updaterId", void 0);
|
|
173
|
-
Oauth2Client = tslib_1.__decorate([
|
|
174
|
+
exports.Oauth2Client = Oauth2Client = tslib_1.__decorate([
|
|
174
175
|
(0, typeorm_1.Entity)(),
|
|
175
176
|
(0, typeorm_1.Index)('ix_oauth2_client_0', (oauth2Client) => [oauth2Client.domain, oauth2Client.name], { unique: true }),
|
|
176
177
|
(0, type_graphql_1.ObjectType)({ description: 'Entity for Oauth2Client' })
|
|
177
178
|
], Oauth2Client);
|
|
178
|
-
exports.Oauth2Client = Oauth2Client;
|
|
179
179
|
//# sourceMappingURL=oauth2-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2-client.js","sourceRoot":"","sources":["../../../server/service/oauth2-client/oauth2-client.ts"],"names":[],"mappings":";;;;AAAA,+CAAoD;AACpD,qDAA4C;AAC5C,qCASgB;AAEhB,yDAAgD;AAChD,iDAA8C;AAKvC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAsHvB,cAAc;QACZ,IAAI,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"oauth2-client.js","sourceRoot":"","sources":["../../../server/service/oauth2-client/oauth2-client.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, ID, ObjectType } from 'type-graphql'\nimport { GraphQLJWT } from 'graphql-scalars'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n ManyToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain } from '@things-factory/shell'\n\n@Entity()\n@Index('ix_oauth2_client_0', (oauth2Client: Oauth2Client) => [oauth2Client.domain, oauth2Client.name], { unique: true })\n@ObjectType({ description: 'Entity for Oauth2Client' })\nexport class Oauth2Client {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((oauth2Client: Oauth2Client) => oauth2Client.domain)\n domainId?: string\n\n @Column()\n @Field()\n name: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n icon?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n grantType?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n clientId?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n clientSecret?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n accessTokenUrl?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n authUrl?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n callbackUrl?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n webhook?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n username?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n password?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n codeChallengeMethod?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n codeVerifier?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n scopes?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n accessToken?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refreshToken?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n expires?: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n state?: string\n\n @Column({ nullable: true })\n @Field(type => GraphQLJWT, { nullable: true })\n jwtToken?: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n tokenType?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n creator?: User\n\n @RelationId((oauth2Client: Oauth2Client) => oauth2Client.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field({ nullable: true })\n updater?: User\n\n @RelationId((oauth2Client: Oauth2Client) => oauth2Client.updater)\n updaterId?: string\n\n getAuthHeaders() {\n if (this.tokenType == 'bearer') {\n return {\n Authorization: `Bearer ${this.accessToken}`\n }\n } else if (this.tokenType == 'basic' || !this.tokenType) {\n const encoded = Buffer.from(`${this.username}:${this.password}`).toString('base64')\n return {\n Authorization: `Basic ${encoded}`\n }\n }\n\n return {}\n }\n}\n"]}
|