@promind/honey 1.38.7 → 1.38.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/index.d.ts +34 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +139 -51
- package/dist/index.js.map +1 -1
- package/dist/module.js +139 -51
- package/dist/module.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Model, ModelAttributes, ModelOptions, Sequelize, ModelCtor } from "sequ
|
|
|
2
2
|
import { Response as _Response1, NextFunction, Request, Response, Request as _Request1 } from "express";
|
|
3
3
|
import { Express, Router } from "express-serve-static-core";
|
|
4
4
|
import { Model as _Model1, ModelAttributes as _ModelAttributes1, ModelOptions as _ModelOptions1, ModelStatic, QueryOptions, Sequelize as _Sequelize1, QueryTypes as _QueryTypes1 } from "sequelize";
|
|
5
|
+
import Knex from "knex";
|
|
5
6
|
import { ObjectSchema, ValidationOptions } from "joi";
|
|
6
7
|
interface DBOptions {
|
|
7
8
|
host: string;
|
|
@@ -65,6 +66,24 @@ type GetFilterParam = {
|
|
|
65
66
|
type GetQueryFilter = {
|
|
66
67
|
[key: string]: GetFilterParam | Record<string, GetFilterParam>;
|
|
67
68
|
};
|
|
69
|
+
type JoinType = 'inner' | 'left' | 'right' | 'full' | 'cross';
|
|
70
|
+
interface Join {
|
|
71
|
+
/** The table to join */
|
|
72
|
+
table: string;
|
|
73
|
+
/** The type of join (default: 'inner') */
|
|
74
|
+
type?: JoinType;
|
|
75
|
+
/** The join condition - e.g., 'users.id' = 'posts.user_id' */
|
|
76
|
+
on: {
|
|
77
|
+
/** Left side of join condition (e.g., 'users.id') */
|
|
78
|
+
left: string;
|
|
79
|
+
/** Right side of join condition (e.g., 'posts.user_id') */
|
|
80
|
+
right: string;
|
|
81
|
+
/** Operator for join condition (default: '=') */
|
|
82
|
+
operator?: '=' | '!=' | '<' | '<=' | '>' | '>=';
|
|
83
|
+
};
|
|
84
|
+
/** Alias for the joined table (optional) */
|
|
85
|
+
alias?: string;
|
|
86
|
+
}
|
|
68
87
|
export function runDbQuery(query: string, params?: QueryOptions): Promise<[unknown[], unknown]>;
|
|
69
88
|
export function createModel<TModelAttributes extends {} = any, TCreationAttributes extends {} = TModelAttributes>(modelName: string, attributes: _ModelAttributes1<_Model1<TModelAttributes, TCreationAttributes>>, options?: _ModelOptions1<_Model1<TModelAttributes, TCreationAttributes>> | undefined): ModelStatic<_Model1<TModelAttributes, TCreationAttributes>>;
|
|
70
89
|
declare class Postgres {
|
|
@@ -74,7 +93,8 @@ declare class Postgres {
|
|
|
74
93
|
}, format?: {
|
|
75
94
|
sort: 'ASC' | 'DESC';
|
|
76
95
|
sortField: string;
|
|
77
|
-
}): Promise<object[]>;
|
|
96
|
+
}, joins?: Join[]): Promise<object[]>;
|
|
97
|
+
query(query: string, replacements: any[]): Promise<object[]>;
|
|
78
98
|
create(table: string, data: Record<string, string | number | boolean | Date | Object>): Promise<{
|
|
79
99
|
id: string | number;
|
|
80
100
|
}[]>;
|
|
@@ -165,6 +185,8 @@ type IGet = CrudParams & {
|
|
|
165
185
|
/** column to sort by */
|
|
166
186
|
sortField: string;
|
|
167
187
|
};
|
|
188
|
+
/** Join configurations for related tables */
|
|
189
|
+
joins?: Join[];
|
|
168
190
|
/** A function that is called to transform your response data */
|
|
169
191
|
processResponseData?: (data: any, req: _Request1) => any;
|
|
170
192
|
};
|
|
@@ -175,6 +197,8 @@ type IGetById = CrudParams & {
|
|
|
175
197
|
idField?: string;
|
|
176
198
|
/** Filter builder for WHERE clause */
|
|
177
199
|
filter?: GetQueryFilter;
|
|
200
|
+
/** Join configurations for related tables */
|
|
201
|
+
joins?: Join[];
|
|
178
202
|
/** A function that is called to transform your response data */
|
|
179
203
|
processResponseData?: (data: any, req: _Request1) => any;
|
|
180
204
|
};
|
|
@@ -192,6 +216,12 @@ type IDelete = CrudParams & {
|
|
|
192
216
|
/** Filter builder for WHERE clause */
|
|
193
217
|
filter?: GetQueryFilter;
|
|
194
218
|
};
|
|
219
|
+
type IQuery = Omit<CrudParams, 'table'> & {
|
|
220
|
+
/** A function that returns a knex query */
|
|
221
|
+
query: (knex: Knex.Knex, req: _Request1) => Knex.Knex.QueryBuilder;
|
|
222
|
+
/** A function that is called to transform your response data */
|
|
223
|
+
processResponseData?: (data: any, req: _Request1) => any;
|
|
224
|
+
};
|
|
195
225
|
export class Honey {
|
|
196
226
|
express: ExpressApp;
|
|
197
227
|
constructor(express: ExpressApp, postgres: Postgres);
|
|
@@ -200,14 +230,15 @@ export class Honey {
|
|
|
200
230
|
addMiddleware(middleware: Middleware[]): void;
|
|
201
231
|
startServer(): void;
|
|
202
232
|
create({ resource, params, message, middleware, pathOverride, exitMiddleware, processResponseData, processErrorResponse, table, methodOverride }: ICreate): void;
|
|
203
|
-
get({ resource, fields, filter, format, middleware, pathOverride, exitMiddleware, methodOverride, processResponseData, processErrorResponse, table }: IGet): void;
|
|
204
|
-
getById({ resource, fields, idField, middleware, pathOverride, exitMiddleware, methodOverride, processResponseData, processErrorResponse, table, filter }: IGetById): void;
|
|
233
|
+
get({ resource, fields, filter, format, middleware, pathOverride, exitMiddleware, methodOverride, processResponseData, processErrorResponse, table, joins }: IGet): void;
|
|
234
|
+
getById({ resource, fields, idField, middleware, pathOverride, exitMiddleware, methodOverride, processResponseData, processErrorResponse, table, filter, joins }: IGetById): void;
|
|
205
235
|
updateById({ resource, params, idField, message, middleware, pathOverride, exitMiddleware, methodOverride, table, filter, processErrorResponse, processResponseData }: IUpdateById): void;
|
|
206
236
|
update({ resource, params, filter, message, middleware, pathOverride, exitMiddleware, methodOverride, table, processErrorResponse, processResponseData }: IUpdate): void;
|
|
207
237
|
upsertById({ resource, params, idField, message, middleware, pathOverride, exitMiddleware, methodOverride, table, processErrorResponse, processResponseData }: IUpsertById): void;
|
|
208
238
|
upsert({ resource, params, message, middleware, pathOverride, exitMiddleware, methodOverride, conflictTarget, table, processErrorResponse, processResponseData }: IUpsert): void;
|
|
209
239
|
deleteById({ resource, message, middleware, pathOverride, exitMiddleware, methodOverride, idField, filter, table, processErrorResponse }: IDeleteById): void;
|
|
210
240
|
delete({ resource, message, middleware, pathOverride, exitMiddleware, methodOverride, filter, table, processErrorResponse }: IDelete): void;
|
|
241
|
+
query({ resource, query, middleware, pathOverride, exitMiddleware, methodOverride, processErrorResponse, processResponseData }: IQuery): void;
|
|
211
242
|
}
|
|
212
243
|
export const validateRequestData: (schema: ObjectSchema, location?: 'body' | 'params' | 'query' | 'headers' | 'cookies', options?: ValidationOptions) => Middleware;
|
|
213
244
|
export function createHoney(port: string, dbOptions: string | DBOptions, metadata?: Metadata): Honey;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["src/src/config/database.ts","src/src/config/index.ts","src/src/utils/error.ts","src/src/interfaces/express.ts","src/src/services/express.ts","src/src/controllers/interfaces.ts","src/src/shared/interface.ts","src/src/utils/helpers.ts","src/src/utils/db.ts","src/src/utils/postgres.ts","src/src/services/postgres.ts","src/src/interfaces/crud.ts","src/src/utils/formatter.ts","src/src/controllers/create.ts","src/src/controllers/read.ts","src/src/controllers/update.ts","src/src/controllers/upsert.ts","src/src/controllers/delete.ts","src/src/controllers/index.ts","src/src/services/honey.ts","src/src/utils/port.ts","src/src/utils/validation.ts","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import { QueryTypes as QTypes } from 'sequelize';\n\nimport Config from './config';\nimport { DBOptions } from './config/database';\nimport ExpressApp from './services/express';\nimport Honey from './services/honey';\nimport Postgres from './services/postgres';\nimport { normalizePort } from './utils/port';\nimport { Metadata } from './interfaces/express';\n\nprocess.on('SIGINT', () => {\n // process reload ongoing\n // close connections, clear cache, etc\n // by default, you have 1600ms\n process.exit(0);\n});\n\nexport function createHoney(\n port: string,\n dbOptions: string | DBOptions,\n metadata?: Metadata\n) {\n new Config(dbOptions);\n\n const portVal = normalizePort(port || process.env.PORT || '3000');\n const express = new ExpressApp(portVal, metadata);\n const postgres = new Postgres();\n const honey = new Honey(express, postgres);\n\n return honey;\n}\n\nexport const defineModel = Config.defineModel.bind(Config);\n\nfunction getQueryTypes() {\n const { SELECT, INSERT, UPDATE, DELETE, RAW, UPSERT } = QTypes;\n\n const exposedTypes = { SELECT, INSERT, UPDATE, DELETE, RAW, UPSERT };\n return exposedTypes;\n}\n\nconst QueryTypes = getQueryTypes();\n\nexport { QueryTypes };\nexport { default as runDbQuery, createModel } from './utils/db';\nexport { default as HttpError, handleHttpError } from './utils/error';\nexport { default as Honey } from './services/honey';\nexport type {\n Middleware,\n ExitMiddleware,\n Request,\n Response\n} from './interfaces/express';\nexport * from 'sequelize';\nexport { validateRequestData } from './utils/validation';\n"],"names":[],"version":3,"file":"index.d.ts.map","sourceRoot":"../"}
|
|
1
|
+
{"mappings":"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","sources":["src/src/config/database.ts","src/src/config/index.ts","src/src/utils/error.ts","src/src/interfaces/express.ts","src/src/services/express.ts","src/src/controllers/interfaces.ts","src/src/shared/interface.ts","src/src/utils/helpers.ts","src/src/utils/db.ts","src/src/utils/postgres.ts","src/src/services/postgres.ts","src/src/interfaces/crud.ts","src/src/utils/formatter.ts","src/src/controllers/create.ts","src/src/controllers/read.ts","src/src/controllers/update.ts","src/src/controllers/upsert.ts","src/src/controllers/delete.ts","src/src/controllers/query.ts","src/src/controllers/index.ts","src/src/services/honey.ts","src/src/utils/port.ts","src/src/utils/validation.ts","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import { QueryTypes as QTypes } from 'sequelize';\n\nimport Config from './config';\nimport { DBOptions } from './config/database';\nimport ExpressApp from './services/express';\nimport Honey from './services/honey';\nimport Postgres from './services/postgres';\nimport { normalizePort } from './utils/port';\nimport { Metadata } from './interfaces/express';\n\nprocess.on('SIGINT', () => {\n // process reload ongoing\n // close connections, clear cache, etc\n // by default, you have 1600ms\n process.exit(0);\n});\n\nexport function createHoney(\n port: string,\n dbOptions: string | DBOptions,\n metadata?: Metadata\n) {\n new Config(dbOptions);\n\n const portVal = normalizePort(port || process.env.PORT || '3000');\n const express = new ExpressApp(portVal, metadata);\n const postgres = new Postgres();\n const honey = new Honey(express, postgres);\n\n return honey;\n}\n\nexport const defineModel = Config.defineModel.bind(Config);\n\nfunction getQueryTypes() {\n const { SELECT, INSERT, UPDATE, DELETE, RAW, UPSERT } = QTypes;\n\n const exposedTypes = { SELECT, INSERT, UPDATE, DELETE, RAW, UPSERT };\n return exposedTypes;\n}\n\nconst QueryTypes = getQueryTypes();\n\nexport { QueryTypes };\nexport { default as runDbQuery, createModel } from './utils/db';\nexport { default as HttpError, handleHttpError } from './utils/error';\nexport { default as Honey } from './services/honey';\nexport type {\n Middleware,\n ExitMiddleware,\n Request,\n Response\n} from './interfaces/express';\nexport * from 'sequelize';\nexport { validateRequestData } from './utils/validation';\n"],"names":[],"version":3,"file":"index.d.ts.map","sourceRoot":"../"}
|
package/dist/index.js
CHANGED
|
@@ -309,7 +309,7 @@ function $e6033bad46ade8f8$export$2e2bcd8739ae039({ db: db, resource: resource,
|
|
|
309
309
|
|
|
310
310
|
|
|
311
311
|
|
|
312
|
-
function $b1328f4a111bb650$export$7b6dde2038c44e91({ db: db, resource: resource, fields: fields, idField: idField = 'id', processResponseData: processResponseData, processErrorResponse: processErrorResponse, filterQuery: filterQuery = {} }) {
|
|
312
|
+
function $b1328f4a111bb650$export$7b6dde2038c44e91({ db: db, resource: resource, fields: fields, idField: idField = 'id', processResponseData: processResponseData, processErrorResponse: processErrorResponse, filterQuery: filterQuery = {}, joins: joins }) {
|
|
313
313
|
return async function(req, res, next) {
|
|
314
314
|
try {
|
|
315
315
|
const id = req.params.id;
|
|
@@ -320,7 +320,7 @@ function $b1328f4a111bb650$export$7b6dde2038c44e91({ db: db, resource: resource,
|
|
|
320
320
|
operator: '='
|
|
321
321
|
},
|
|
322
322
|
...filter
|
|
323
|
-
});
|
|
323
|
+
}, undefined, undefined, joins);
|
|
324
324
|
if (!data?.length) throw new (0, $2a1659c6c3bea4d7$export$2e2bcd8739ae039)('Record does not exist', 404);
|
|
325
325
|
res.send({
|
|
326
326
|
data: processResponseData ? await processResponseData(data[0], req) : data[0]
|
|
@@ -338,7 +338,7 @@ function $b1328f4a111bb650$export$7b6dde2038c44e91({ db: db, resource: resource,
|
|
|
338
338
|
}
|
|
339
339
|
};
|
|
340
340
|
}
|
|
341
|
-
function $b1328f4a111bb650$export$7b48d281d65870ad({ db: db, resource: resource, fields: fields, filterQuery: filterQuery, format: format, processResponseData: processResponseData, processErrorResponse: processErrorResponse }) {
|
|
341
|
+
function $b1328f4a111bb650$export$7b48d281d65870ad({ db: db, resource: resource, fields: fields, filterQuery: filterQuery, format: format, processResponseData: processResponseData, processErrorResponse: processErrorResponse, joins: joins }) {
|
|
342
342
|
return async function(req, res, next) {
|
|
343
343
|
try {
|
|
344
344
|
const page = Number(req.query.page);
|
|
@@ -348,7 +348,7 @@ function $b1328f4a111bb650$export$7b48d281d65870ad({ db: db, resource: resource,
|
|
|
348
348
|
limit: limit || 10
|
|
349
349
|
} : undefined;
|
|
350
350
|
const filter = filterQuery && (0, $016b89c2f40cad11$export$390602d0ccf68ce6)(req.query, filterQuery, req);
|
|
351
|
-
let data = await db.read(resource, fields, filter, paginate, format);
|
|
351
|
+
let data = await db.read(resource, fields, filter, paginate, format, joins);
|
|
352
352
|
let total = 0;
|
|
353
353
|
if (paginate) {
|
|
354
354
|
total = Number(data[0]?.['honey_total_count'] || 0);
|
|
@@ -561,6 +561,78 @@ function $877c51bd1d8c8e63$export$4208857769c75f40({ db: db, resource: resource,
|
|
|
561
561
|
|
|
562
562
|
|
|
563
563
|
|
|
564
|
+
class $eb35754384d9f185$export$d8ee7b97a871dca3 {
|
|
565
|
+
static{
|
|
566
|
+
this.instances = new Map();
|
|
567
|
+
}
|
|
568
|
+
static getInstance(identifier, initFn) {
|
|
569
|
+
if (!this.instances.has(identifier) && initFn) this.instances.set(identifier, initFn());
|
|
570
|
+
return this.instances.get(identifier);
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
function $eb35754384d9f185$export$2e2bcd8739ae039(identifier, initFn) {
|
|
574
|
+
return $eb35754384d9f185$export$d8ee7b97a871dca3.getInstance(identifier, initFn);
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
function $6eae9231903e3dbe$export$2e2bcd8739ae039(query, params) {
|
|
579
|
+
params = params || {};
|
|
580
|
+
return (0, $279104bade16c452$export$2e2bcd8739ae039).db.query(query, {
|
|
581
|
+
...params,
|
|
582
|
+
raw: true
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
class $6eae9231903e3dbe$var$ModelCreator {
|
|
586
|
+
static{
|
|
587
|
+
this.model = {};
|
|
588
|
+
}
|
|
589
|
+
static createModel(modelName, attributes, options) {
|
|
590
|
+
if (!this.model[modelName]) this.model[modelName] = (0, $279104bade16c452$export$2e2bcd8739ae039).db.define(modelName, attributes, options);
|
|
591
|
+
return this.model[modelName];
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
function $6eae9231903e3dbe$export$2f453c7f7b0d002b(modelName, attributes, options) {
|
|
595
|
+
return $6eae9231903e3dbe$var$ModelCreator.createModel.bind($6eae9231903e3dbe$var$ModelCreator)(modelName, attributes, options);
|
|
596
|
+
}
|
|
597
|
+
const $6eae9231903e3dbe$export$a858f29c02f648c6 = ()=>(0, $eb35754384d9f185$export$2e2bcd8739ae039)('knex', ()=>{
|
|
598
|
+
return (0, ($parcel$interopDefault($3IFKa$knex)))({
|
|
599
|
+
client: 'pg'
|
|
600
|
+
});
|
|
601
|
+
});
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
function $bc096dcbba7ac3ae$export$d1ec1b5a0afb5051({ db: db, query: query, processErrorResponse: processErrorResponse, processResponseData: processResponseData }) {
|
|
605
|
+
return async (req, res, next)=>{
|
|
606
|
+
try {
|
|
607
|
+
const page = Number(req.query.page);
|
|
608
|
+
const limit = Number(req.query.limit);
|
|
609
|
+
const paginate = limit || page ? {
|
|
610
|
+
page: page || 1,
|
|
611
|
+
limit: limit || 10
|
|
612
|
+
} : undefined;
|
|
613
|
+
const knex = (0, $6eae9231903e3dbe$export$a858f29c02f648c6)();
|
|
614
|
+
let queryBuilder = query(knex, req);
|
|
615
|
+
if (paginate) queryBuilder = queryBuilder.limit(paginate.limit).offset(paginate.limit * (paginate.page - 1));
|
|
616
|
+
const { sql: sql, bindings: bindings } = queryBuilder.toSQL();
|
|
617
|
+
const result = await db.query(sql, [
|
|
618
|
+
...bindings
|
|
619
|
+
]);
|
|
620
|
+
if (processResponseData) return res.send({
|
|
621
|
+
data: processResponseData(result, req)
|
|
622
|
+
});
|
|
623
|
+
return res.send({
|
|
624
|
+
data: result
|
|
625
|
+
});
|
|
626
|
+
} catch (e) {
|
|
627
|
+
if (processErrorResponse) return next(processErrorResponse(e));
|
|
628
|
+
return next(e);
|
|
629
|
+
}
|
|
630
|
+
};
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
|
|
564
636
|
// eslint-disable-next-line
|
|
565
637
|
const $e551a6691d3acd09$var$defaultExitMiddleware = (data, req, res, next)=>{
|
|
566
638
|
if (process.env.NODE_ENV !== 'production') console.log('Response:', data);
|
|
@@ -612,7 +684,7 @@ class $e551a6691d3acd09$export$2e2bcd8739ae039 {
|
|
|
612
684
|
exitMiddleware: exitMiddleware
|
|
613
685
|
});
|
|
614
686
|
}
|
|
615
|
-
get({ resource: resource, fields: fields, filter: filter, format: format, middleware: middleware, pathOverride: pathOverride, exitMiddleware: exitMiddleware, methodOverride: methodOverride, processResponseData: processResponseData, processErrorResponse: processErrorResponse, table: table }) {
|
|
687
|
+
get({ resource: resource, fields: fields, filter: filter, format: format, middleware: middleware, pathOverride: pathOverride, exitMiddleware: exitMiddleware, methodOverride: methodOverride, processResponseData: processResponseData, processErrorResponse: processErrorResponse, table: table, joins: joins }) {
|
|
616
688
|
const path = pathOverride || `/${resource}`;
|
|
617
689
|
resource = table || resource;
|
|
618
690
|
const controller = (0, $b1328f4a111bb650$export$7b48d281d65870ad)({
|
|
@@ -622,7 +694,8 @@ class $e551a6691d3acd09$export$2e2bcd8739ae039 {
|
|
|
622
694
|
filterQuery: filter,
|
|
623
695
|
format: format,
|
|
624
696
|
processResponseData: processResponseData,
|
|
625
|
-
processErrorResponse: processErrorResponse
|
|
697
|
+
processErrorResponse: processErrorResponse,
|
|
698
|
+
joins: joins
|
|
626
699
|
});
|
|
627
700
|
this.crud({
|
|
628
701
|
method: methodOverride || 'get',
|
|
@@ -632,7 +705,7 @@ class $e551a6691d3acd09$export$2e2bcd8739ae039 {
|
|
|
632
705
|
exitMiddleware: exitMiddleware
|
|
633
706
|
});
|
|
634
707
|
}
|
|
635
|
-
getById({ resource: resource, fields: fields, idField: idField, middleware: middleware, pathOverride: pathOverride, exitMiddleware: exitMiddleware, methodOverride: methodOverride, processResponseData: processResponseData, processErrorResponse: processErrorResponse, table: table, filter: filter }) {
|
|
708
|
+
getById({ resource: resource, fields: fields, idField: idField, middleware: middleware, pathOverride: pathOverride, exitMiddleware: exitMiddleware, methodOverride: methodOverride, processResponseData: processResponseData, processErrorResponse: processErrorResponse, table: table, filter: filter, joins: joins }) {
|
|
636
709
|
const path = pathOverride || `/${resource}/:id`;
|
|
637
710
|
resource = table || resource;
|
|
638
711
|
const controller = (0, $b1328f4a111bb650$export$7b6dde2038c44e91)({
|
|
@@ -642,7 +715,8 @@ class $e551a6691d3acd09$export$2e2bcd8739ae039 {
|
|
|
642
715
|
idField: idField || 'id',
|
|
643
716
|
processResponseData: processResponseData,
|
|
644
717
|
processErrorResponse: processErrorResponse,
|
|
645
|
-
filterQuery: filter
|
|
718
|
+
filterQuery: filter,
|
|
719
|
+
joins: joins
|
|
646
720
|
});
|
|
647
721
|
this.crud({
|
|
648
722
|
method: methodOverride || 'get',
|
|
@@ -770,50 +844,25 @@ class $e551a6691d3acd09$export$2e2bcd8739ae039 {
|
|
|
770
844
|
exitMiddleware: exitMiddleware
|
|
771
845
|
});
|
|
772
846
|
}
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
this.
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
847
|
+
query({ resource: resource, query: query, middleware: middleware, pathOverride: pathOverride, exitMiddleware: exitMiddleware, methodOverride: methodOverride, processErrorResponse: processErrorResponse, processResponseData: processResponseData }) {
|
|
848
|
+
const path = pathOverride || `/${resource}`;
|
|
849
|
+
const controller = (0, $bc096dcbba7ac3ae$export$d1ec1b5a0afb5051)({
|
|
850
|
+
db: this.postgres,
|
|
851
|
+
query: query,
|
|
852
|
+
processErrorResponse: processErrorResponse,
|
|
853
|
+
processResponseData: processResponseData
|
|
854
|
+
});
|
|
855
|
+
this.crud({
|
|
856
|
+
method: methodOverride || 'get',
|
|
857
|
+
path: path,
|
|
858
|
+
controller: controller,
|
|
859
|
+
middleware: middleware,
|
|
860
|
+
exitMiddleware: exitMiddleware
|
|
861
|
+
});
|
|
786
862
|
}
|
|
787
863
|
}
|
|
788
|
-
function $eb35754384d9f185$export$2e2bcd8739ae039(identifier, initFn) {
|
|
789
|
-
return $eb35754384d9f185$export$d8ee7b97a871dca3.getInstance(identifier, initFn);
|
|
790
|
-
}
|
|
791
864
|
|
|
792
865
|
|
|
793
|
-
function $6eae9231903e3dbe$export$2e2bcd8739ae039(query, params) {
|
|
794
|
-
params = params || {};
|
|
795
|
-
return (0, $279104bade16c452$export$2e2bcd8739ae039).db.query(query, {
|
|
796
|
-
...params,
|
|
797
|
-
raw: true
|
|
798
|
-
});
|
|
799
|
-
}
|
|
800
|
-
class $6eae9231903e3dbe$var$ModelCreator {
|
|
801
|
-
static{
|
|
802
|
-
this.model = {};
|
|
803
|
-
}
|
|
804
|
-
static createModel(modelName, attributes, options) {
|
|
805
|
-
if (!this.model[modelName]) this.model[modelName] = (0, $279104bade16c452$export$2e2bcd8739ae039).db.define(modelName, attributes, options);
|
|
806
|
-
return this.model[modelName];
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
function $6eae9231903e3dbe$export$2f453c7f7b0d002b(modelName, attributes, options) {
|
|
810
|
-
return $6eae9231903e3dbe$var$ModelCreator.createModel.bind($6eae9231903e3dbe$var$ModelCreator)(modelName, attributes, options);
|
|
811
|
-
}
|
|
812
|
-
const $6eae9231903e3dbe$export$a858f29c02f648c6 = ()=>(0, $eb35754384d9f185$export$2e2bcd8739ae039)('knex', ()=>{
|
|
813
|
-
return (0, ($parcel$interopDefault($3IFKa$knex)))({
|
|
814
|
-
client: 'pg'
|
|
815
|
-
});
|
|
816
|
-
});
|
|
817
866
|
|
|
818
867
|
|
|
819
868
|
const $6fe5fb6fcb62dbab$export$1b001418845b471c = (query, filter = {})=>{
|
|
@@ -848,7 +897,7 @@ const $6fe5fb6fcb62dbab$export$53b231d60a00019b = (table, data)=>{
|
|
|
848
897
|
replacements: replacements
|
|
849
898
|
};
|
|
850
899
|
};
|
|
851
|
-
const $6fe5fb6fcb62dbab$export$60d67f341ad4c4 = (table, fields, filter, paginate, format)=>{
|
|
900
|
+
const $6fe5fb6fcb62dbab$export$60d67f341ad4c4 = (table, fields, filter, paginate, format, joins)=>{
|
|
852
901
|
const knex = (0, $6eae9231903e3dbe$export$a858f29c02f648c6)();
|
|
853
902
|
let q = knex(table).select(fields);
|
|
854
903
|
// Add total count if pagination is needed
|
|
@@ -862,6 +911,35 @@ const $6fe5fb6fcb62dbab$export$60d67f341ad4c4 = (table, fields, filter, paginate
|
|
|
862
911
|
fields[0]
|
|
863
912
|
])
|
|
864
913
|
]);
|
|
914
|
+
// Apply joins
|
|
915
|
+
if (joins && joins.length > 0) joins.forEach((join)=>{
|
|
916
|
+
const joinTable = join.alias ? `${join.table} as ${join.alias}` : join.table;
|
|
917
|
+
const joinType = join.type || 'inner';
|
|
918
|
+
const operator = join.on.operator || '=';
|
|
919
|
+
switch(joinType){
|
|
920
|
+
case 'left':
|
|
921
|
+
q.leftJoin(joinTable, join.on.left, operator, join.on.right);
|
|
922
|
+
break;
|
|
923
|
+
case 'right':
|
|
924
|
+
q.rightJoin(joinTable, join.on.left, operator, join.on.right);
|
|
925
|
+
break;
|
|
926
|
+
case 'full':
|
|
927
|
+
q.fullOuterJoin(joinTable, join.on.left, operator, join.on.right);
|
|
928
|
+
break;
|
|
929
|
+
case 'cross':
|
|
930
|
+
q.crossJoin(join.alias ? knex.raw('?? as ??', [
|
|
931
|
+
join.table,
|
|
932
|
+
join.alias
|
|
933
|
+
]) : knex.raw('??', [
|
|
934
|
+
join.table
|
|
935
|
+
]));
|
|
936
|
+
break;
|
|
937
|
+
case 'inner':
|
|
938
|
+
default:
|
|
939
|
+
q.innerJoin(joinTable, join.on.left, operator, join.on.right);
|
|
940
|
+
break;
|
|
941
|
+
}
|
|
942
|
+
});
|
|
865
943
|
// Apply filters
|
|
866
944
|
if (filter) q = $6fe5fb6fcb62dbab$export$1b001418845b471c(q, filter);
|
|
867
945
|
// Apply sorting
|
|
@@ -941,8 +1019,18 @@ const $6fe5fb6fcb62dbab$export$65b914f34962db1e = (table, data, conflictTarget)=
|
|
|
941
1019
|
|
|
942
1020
|
|
|
943
1021
|
class $43b99269306b3d62$export$2e2bcd8739ae039 {
|
|
944
|
-
async read(table, fields, filter, paginate, format) {
|
|
945
|
-
const { query: query, replacements: replacements } = (0, $6fe5fb6fcb62dbab$export$60d67f341ad4c4)(table, fields, filter, paginate, format);
|
|
1022
|
+
async read(table, fields, filter, paginate, format, joins) {
|
|
1023
|
+
const { query: query, replacements: replacements } = (0, $6fe5fb6fcb62dbab$export$60d67f341ad4c4)(table, fields, filter, paginate, format, joins);
|
|
1024
|
+
const result = await (0, $279104bade16c452$export$2e2bcd8739ae039).db.query(query, {
|
|
1025
|
+
type: (0, $3IFKa$sequelize.QueryTypes).SELECT,
|
|
1026
|
+
raw: true,
|
|
1027
|
+
replacements: [
|
|
1028
|
+
...replacements
|
|
1029
|
+
]
|
|
1030
|
+
});
|
|
1031
|
+
return result;
|
|
1032
|
+
}
|
|
1033
|
+
async query(query, replacements) {
|
|
946
1034
|
const result = await (0, $279104bade16c452$export$2e2bcd8739ae039).db.query(query, {
|
|
947
1035
|
type: (0, $3IFKa$sequelize.QueryTypes).SELECT,
|
|
948
1036
|
raw: true,
|