mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-15 20:30:33 +00:00
fix: adjust contact balance
This commit is contained in:
@@ -14,13 +14,13 @@ export type PaginationQueryBuilderType<M extends Model> = QueryBuilder<
|
||||
PaginationResult<M>
|
||||
>;
|
||||
|
||||
class PaginationQueryBuilder<M extends Model, R = M[]> extends QueryBuilder<
|
||||
M,
|
||||
R
|
||||
> {
|
||||
export class PaginationQueryBuilder<
|
||||
M extends Model,
|
||||
R = M[],
|
||||
> extends QueryBuilder<M, R> {
|
||||
pagination(page: number, pageSize: number): PaginationQueryBuilderType<M> {
|
||||
const query = super.page(page, pageSize);
|
||||
|
||||
|
||||
return query.runAfter(({ results, total }) => {
|
||||
return {
|
||||
results,
|
||||
@@ -34,10 +34,27 @@ class PaginationQueryBuilder<M extends Model, R = M[]> extends QueryBuilder<
|
||||
}
|
||||
}
|
||||
|
||||
// New BaseQueryBuilder extending PaginationQueryBuilder
|
||||
export class BaseQueryBuilder<
|
||||
M extends Model,
|
||||
R = M[],
|
||||
> extends PaginationQueryBuilder<M, R> {
|
||||
// You can add more shared query methods here in the future
|
||||
|
||||
changeAmount(whereAttributes, attribute, amount) {
|
||||
const changeMethod = amount > 0 ? 'increment' : 'decrement';
|
||||
|
||||
return this.where(whereAttributes)[changeMethod](
|
||||
attribute,
|
||||
Math.abs(amount),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export class BaseModel extends Model {
|
||||
public readonly id: number;
|
||||
public readonly tableName: string;
|
||||
|
||||
QueryBuilderType!: PaginationQueryBuilder<this>;
|
||||
static QueryBuilder = PaginationQueryBuilder;
|
||||
QueryBuilderType!: BaseQueryBuilder<this>;
|
||||
static QueryBuilder = BaseQueryBuilder;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user