Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

knex config option for query debug #69

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
30 changes: 0 additions & 30 deletions .env

This file was deleted.

2 changes: 2 additions & 0 deletions .env.example
Expand Up @@ -21,6 +21,8 @@ DATABASE_PORT=5432
DATABASE_PASSWORD=graphql-boilerplate
DATABASE_NAME=graphql-boilerplate

KNEX_DEBUG=false

IS_REDIS_USED=TRUE
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Expand Up @@ -4,7 +4,8 @@ build
.serverless
.webpack
.webpackCache

.env
x
coverage

node_modules
Expand Down
1 change: 1 addition & 0 deletions app/config/__tests__/envNames.test.ts
Expand Up @@ -12,6 +12,7 @@ const variablesToCompare = {
DATABASE_PORT: "DATABASE_PORT",
DATABASE_TYPE: "DATABASE_TYPE",
DATABASE_USER: "DATABASE_USER",
KNEX_DEBUG: "KNEX_DEBUG",
GOOGLE_CLOUD_PROJECT_ID: "GOOGLE_CLOUD_PROJECT_ID",
GOOGLE_CLOUD_SQL_CONNECTION_NAME: "GOOGLE_CLOUD_SQL_CONNECTION_NAME",
GRAPHQL_ALLOW_INTROSPECTION: "GRAPHQL_ALLOW_INTROSPECTION",
Expand Down
11 changes: 10 additions & 1 deletion app/config/configs/databaseConfig.ts
Expand Up @@ -5,20 +5,26 @@ import {
DATABASE_PORT,
DATABASE_TYPE,
DATABASE_USER,
KNEX_DEBUG,
} from "~/config/envNames";
import { getEnv, getEnvInt } from "~/config/getters";
import { getEnv, getEnvInt, getEnvBool } from "~/config/getters";

const allowedDatabaseTypes = ["pg" as const];

type DatabaseType = typeof allowedDatabaseTypes[number];

export type KnexConfig = {
debug: boolean;
};

export type DatabaseConfig = {
type: DatabaseType;
host: string;
user: string;
port: number;
password: string;
databaseName: string;
knex: KnexConfig;
};

export const createDatabaseConfig = (): DatabaseConfig => ({
Expand All @@ -28,4 +34,7 @@ export const createDatabaseConfig = (): DatabaseConfig => ({
port: getEnvInt(DATABASE_PORT),
password: getEnv(DATABASE_PASSWORD),
databaseName: getEnv(DATABASE_NAME),
knex: {
debug: getEnvBool(KNEX_DEBUG),
},
});
3 changes: 3 additions & 0 deletions app/config/envNames.ts
Expand Up @@ -25,6 +25,9 @@ export const DATABASE_PORT = "DATABASE_PORT";
export const DATABASE_PASSWORD = "DATABASE_PASSWORD";
export const DATABASE_NAME = "DATABASE_NAME";

// Database - Knex
export const KNEX_DEBUG = "KNEX_DEBUG";

// Redis
export const IS_REDIS_USED = "IS_REDIS_USED";
export const REDIS_HOST = "REDIS_HOST";
Expand Down
2 changes: 2 additions & 0 deletions app/database/connection.ts
Expand Up @@ -48,6 +48,7 @@ type ConnectionParams<T extends PlatformConfig = PlatformConfig> = {
platformConfig: T;
databaseConfig: DatabaseConfig;
logger?: Logger;
debug?: boolean;
};

const createConnectionLocal = (
Expand Down Expand Up @@ -108,6 +109,7 @@ export const createKnex = (params: ConnectionParams): DBSession =>

export const getConnection = (params: ConnectionParams): Knex.Config => ({
client: params.databaseConfig.type,
debug: params.debug || false,
connection: createConnection(params),
migrations: {
directory: "./migrations",
Expand Down
27 changes: 16 additions & 11 deletions app/generation/generated.ts
Expand Up @@ -62,7 +62,7 @@ export type AddEmployeeSuccess = {
};

export type AddPersonInput = {
person: PersonInput;
person: MutatePersonInput;
};

export type AddPersonOutput = AddPersonSuccess | UniqueConstraintViolationFailure;
Expand Down Expand Up @@ -174,7 +174,7 @@ export type EditCompanySuccess = {

export type EditPersonInput = {
id: Scalars['UUID'];
person: PersonInput;
person: MutatePersonInput;
};

export type EditPersonOutput = EditPersonSuccess | NotFoundFailure | UniqueConstraintViolationFailure;
Expand Down Expand Up @@ -244,6 +244,18 @@ export type LoginUserSuccess = {
user: User;
};

export type MutatePersonInput = {
birthday: Scalars['Date'];
email: Scalars['EmailAddress'];
firstName: Scalars['String'];
gender: Gender;
/** Last name has to be minimum of 1 chracters and maximum of 50 */
lastName: Scalars['String'];
nationality: Scalars['CountryCode'];
personalIdentityCode: Scalars['PersonalIdentityCode'];
phone: Scalars['PhoneNumber'];
};

export type Mutation = {
__typename?: 'Mutation';
addCompany: AddCompanyOutput;
Expand Down Expand Up @@ -371,16 +383,7 @@ export type PersonFilterOperationInput = {
};

export type PersonInput = {
birthday: Scalars['Date'];
email: Scalars['EmailAddress'];
firstName: Scalars['String'];
gender: Gender;
id: Scalars['UUID'];
/** Last name has to be minimum of 1 chracters and maximum of 50 */
lastName: Scalars['String'];
nationality: Scalars['CountryCode'];
personalIdentityCode: Scalars['PersonalIdentityCode'];
phone: Scalars['PhoneNumber'];
};

export enum PersonSortField {
Expand Down Expand Up @@ -682,6 +685,7 @@ export type ResolversTypes = ResolversObject<{
LoginUserInput: LoginUserInput;
LoginUserResponse: ResolversTypes['LoginUserFailure'] | ResolversTypes['LoginUserSuccess'];
LoginUserSuccess: ResolverTypeWrapper<Omit<LoginUserSuccess, 'user'> & { user: ResolversTypes['User'] }>;
MutatePersonInput: MutatePersonInput;
Mutation: ResolverTypeWrapper<{}>;
NotFoundFailure: ResolverTypeWrapper<NotFoundFailure>;
NumberFact: ResolverTypeWrapper<NumberFact>;
Expand Down Expand Up @@ -773,6 +777,7 @@ export type ResolversParentTypes = ResolversObject<{
LoginUserInput: LoginUserInput;
LoginUserResponse: ResolversParentTypes['LoginUserFailure'] | ResolversParentTypes['LoginUserSuccess'];
LoginUserSuccess: Omit<LoginUserSuccess, 'user'> & { user: ResolversParentTypes['User'] };
MutatePersonInput: MutatePersonInput;
Mutation: {};
NotFoundFailure: NotFoundFailure;
NumberFact: NumberFact;
Expand Down
1 change: 1 addition & 0 deletions app/server.ts
Expand Up @@ -48,6 +48,7 @@ export const createServer: CreateSercerFunction = ({ config }) => {
databaseConfig: config.database,
logger,
platformConfig: config.platform,
debug: config.database.knex.debug,
});

const redisCache = config.redis.useRedis
Expand Down