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

View File

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

View File

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