mirror of
https://github.com/graphql-hive/console
synced 2026-05-12 19:58:25 +00:00
* add supertoken container to docker-compose file * yeah I am sorry this one big commit and I am ashamed of it * use logOut function * feat: show header on 404 page * feat: better handling for organization cookie when not authenticated * wrap it * check session within server side props * add is_admin flag user migration * simplify and annotate the config * fix: handle status codes + fix email/password sign up with import from auth0 * no hardcoded env pls * decode process.env * secure update user id mapping via a key * fix: login form * lol we don't need to hit the API * fix: do graphql api authorization via authorization header instead of cookie * implement isAdmin flag * fix: types :) * skipit * yo we can run this * set env variables * disable because it annoys the hell out of me * use the right host * add not about token length * refactor: decode environment variables * feat: store external user id from guthub/google provider in the database * workaround supertokens omitting null values from the token * re-enable check * i have no time for this shit * add missing env variable * fix: email test; missing domain extension * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * fix: env names * fix: link google account to the correct db record * feat: email confirmation emails * ? * bump ts-node * fix types * omit package form the bundle * remove it from dependencies... * add emails apckage to dev deps * resolve eslint issues * remove comments * update dev info + change env variable (no need to expose it on the frontend) * use correct user id lol Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com>
50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
import * as utils from 'dockest/test-helper';
|
|
import axios from 'axios';
|
|
import type { ExecutionResult } from 'graphql';
|
|
import { TypedDocumentNode } from '@graphql-typed-document-node/core';
|
|
|
|
const registryAddress = utils.getServiceAddress('server', 3001);
|
|
|
|
export async function execute<TResult, TVariables>(
|
|
params: {
|
|
document: TypedDocumentNode<TResult, TVariables>;
|
|
operationName?: string;
|
|
authToken?: string;
|
|
token?: string;
|
|
legacyAuthorizationMode?: boolean;
|
|
} & (TVariables extends Record<string, never> ? { variables?: never } : { variables: TVariables })
|
|
) {
|
|
const res = await axios.post<ExecutionResult<TResult>>(
|
|
`http://${registryAddress}/graphql`,
|
|
{
|
|
query: params.document,
|
|
operationName: params.operationName,
|
|
variables: params.variables,
|
|
},
|
|
{
|
|
headers: {
|
|
'content-type': 'application/json',
|
|
...(params.authToken
|
|
? {
|
|
authorization: `Bearer ${params.authToken}`,
|
|
}
|
|
: {}),
|
|
...(params.token
|
|
? params.legacyAuthorizationMode
|
|
? {
|
|
'x-api-token': params.token,
|
|
}
|
|
: {
|
|
authorization: `Bearer ${params.token}`,
|
|
}
|
|
: {}),
|
|
},
|
|
responseType: 'json',
|
|
}
|
|
);
|
|
|
|
return {
|
|
body: res.data,
|
|
status: res.status,
|
|
};
|
|
}
|