style: auto format whole project
This commit is contained in:
@@ -1,20 +1,34 @@
|
||||
import { Model, Page, PartialModelObject, ForClassMethod, AnyQueryBuilder } from "objection";
|
||||
import {
|
||||
Model,
|
||||
Page,
|
||||
PartialModelObject,
|
||||
ForClassMethod,
|
||||
AnyQueryBuilder,
|
||||
} from 'objection';
|
||||
|
||||
const DELETED_COLUMN_NAME = 'deleted_at';
|
||||
|
||||
const buildQueryBuidlerForClass = (): ForClassMethod => {
|
||||
return (modelClass) => {
|
||||
const qb: AnyQueryBuilder = Model.QueryBuilder.forClass.call(ExtendedQueryBuilder, modelClass);
|
||||
const qb: AnyQueryBuilder = Model.QueryBuilder.forClass.call(
|
||||
ExtendedQueryBuilder,
|
||||
modelClass
|
||||
);
|
||||
qb.onBuild((builder) => {
|
||||
if (!builder.context().withSoftDeleted) {
|
||||
builder.whereNull(`${qb.modelClass().tableName}.${DELETED_COLUMN_NAME}`);
|
||||
builder.whereNull(
|
||||
`${qb.modelClass().tableName}.${DELETED_COLUMN_NAME}`
|
||||
);
|
||||
}
|
||||
});
|
||||
return qb;
|
||||
};
|
||||
};
|
||||
|
||||
class ExtendedQueryBuilder<M extends Model, R = M[]> extends Model.QueryBuilder<M, R> {
|
||||
class ExtendedQueryBuilder<M extends Model, R = M[]> extends Model.QueryBuilder<
|
||||
M,
|
||||
R
|
||||
> {
|
||||
ArrayQueryBuilderType!: ExtendedQueryBuilder<M, M[]>;
|
||||
SingleQueryBuilderType!: ExtendedQueryBuilder<M, M>;
|
||||
MaybeSingleQueryBuilderType!: ExtendedQueryBuilder<M, M | undefined>;
|
||||
@@ -25,7 +39,7 @@ class ExtendedQueryBuilder<M extends Model, R = M[]> extends Model.QueryBuilder<
|
||||
|
||||
delete() {
|
||||
return this.patch({
|
||||
[DELETED_COLUMN_NAME]: (new Date()).toISOString(),
|
||||
[DELETED_COLUMN_NAME]: new Date().toISOString(),
|
||||
} as unknown as PartialModelObject<M>);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user