feat: create getConfig GQL query
This commit is contained in:
31
packages/backend/src/graphql/queries/get-config.ts
Normal file
31
packages/backend/src/graphql/queries/get-config.ts
Normal 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;
|
@@ -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,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -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 {
|
||||||
|
@@ -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,
|
||||||
|
Reference in New Issue
Block a user