feat: create getConfig GQL query

This commit is contained in:
Ali BARIN
2023-08-10 14:32:11 +00:00
parent bafb8b86db
commit efd243a340
4 changed files with 52 additions and 17 deletions

View File

@@ -0,0 +1,31 @@
import Context from '../../types/express/context';
import Config from '../../models/config';
type Params = {
keys: string[];
};
const getConfig = async (
_parent: unknown,
params: Params,
context: Context
) => {
const configQuery = Config
.query();
if (Array.isArray(params.keys)) {
configQuery.whereIn('key', params.keys);
}
const config = await configQuery;
return config.reduce((computedConfig, configEntry) => {
const { key, value } = configEntry;
computedConfig[key] = value?.data;
return computedConfig;
}, {} as Record<string, unknown>);
};
export default getConfig;

View File

@@ -3,6 +3,7 @@ import getApps from './queries/get-apps';
import getAutomatischInfo from './queries/get-automatisch-info';
import getBillingAndUsage from './queries/get-billing-and-usage.ee';
import getConnectedApps from './queries/get-connected-apps';
import getConfig from './queries/get-config';
import getCurrentUser from './queries/get-current-user';
import getDynamicData from './queries/get-dynamic-data';
import getDynamicFields from './queries/get-dynamic-fields';
@@ -11,20 +12,20 @@ import getExecutionSteps from './queries/get-execution-steps';
import getExecutions from './queries/get-executions';
import getFlow from './queries/get-flow';
import getFlows from './queries/get-flows';
import getUser from './queries/get-user';
import getUsers from './queries/get-users';
import getInvoices from './queries/get-invoices.ee';
import getPaddleInfo from './queries/get-paddle-info.ee';
import getPaymentPlans from './queries/get-payment-plans.ee';
import getPermissionCatalog from './queries/get-permission-catalog.ee';
import getRole from './queries/get-role.ee';
import getRoles from './queries/get-roles.ee';
import listSamlAuthProviders from './queries/list-saml-auth-providers.ee';
import getSamlAuthProvider from './queries/get-saml-auth-provider.ee';
import getStepWithTestExecutions from './queries/get-step-with-test-executions';
import getSubscriptionStatus from './queries/get-subscription-status.ee';
import getTrialStatus from './queries/get-trial-status.ee';
import getUser from './queries/get-user';
import getUsers from './queries/get-users';
import healthcheck from './queries/healthcheck';
import listSamlAuthProviders from './queries/list-saml-auth-providers.ee';
import testConnection from './queries/test-connection';
const queryResolvers = {
@@ -32,6 +33,7 @@ const queryResolvers = {
getApps,
getAutomatischInfo,
getBillingAndUsage,
getConfig,
getConnectedApps,
getCurrentUser,
getDynamicData,
@@ -47,7 +49,6 @@ const queryResolvers = {
getPermissionCatalog,
getRole,
getRoles,
listSamlAuthProviders,
getSamlAuthProvider,
getStepWithTestExecutions,
getSubscriptionStatus,
@@ -55,6 +56,7 @@ const queryResolvers = {
getUser,
getUsers,
healthcheck,
listSamlAuthProviders,
testConnection,
};

View File

@@ -33,22 +33,23 @@ type Query {
key: String!
parameters: JSONObject
): [SubstepArgument]
getCurrentUser: User
getPaymentPlans: [PaymentPlan]
getPaddleInfo: GetPaddleInfo
getBillingAndUsage: GetBillingAndUsage
getInvoices: [Invoice]
getAutomatischInfo: GetAutomatischInfo
getTrialStatus: GetTrialStatus
getSubscriptionStatus: GetSubscriptionStatus
listSamlAuthProviders: [ListSamlAuthProviders]
getSamlAuthProvider: SamlAuthProvider
getUsers(limit: Int!, offset: Int!): UserConnection
getUser(id: String!): User
getRoles: [Role]
getRole(id: String!): Role
getBillingAndUsage: GetBillingAndUsage
getCurrentUser: User
getConfig(keys: [String]): JSONObject
getInvoices: [Invoice]
getPaddleInfo: GetPaddleInfo
getPaymentPlans: [PaymentPlan]
getPermissionCatalog: PermissionCatalog
getRole(id: String!): Role
getRoles: [Role]
getSamlAuthProvider: SamlAuthProvider
getSubscriptionStatus: GetSubscriptionStatus
getTrialStatus: GetTrialStatus
getUser(id: String!): User
getUsers(limit: Int!, offset: Int!): UserConnection
healthcheck: AppHealth
listSamlAuthProviders: [ListSamlAuthProviders]
}
type Mutation {

View File

@@ -36,6 +36,7 @@ const authentication = shield(
getAutomatischInfo: allow,
listSamlAuthProviders: allow,
healthcheck: allow,
getConfig: allow,
},
Mutation: {
'*': isAuthenticated,