mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 21:00:31 +00:00
refactor: dynamic list to nestjs
This commit is contained in:
@@ -1,8 +1,17 @@
|
||||
import { BaseModel } from "@/models/Model";
|
||||
;
|
||||
import { BaseModel } from '@/models/Model';
|
||||
import { IView } from '../Views/Views.types';
|
||||
|
||||
type GConstructor<T = {}> = new (...args: any[]) => T;
|
||||
|
||||
export const CustomViewBaseModelMixin = <T extends GConstructor<BaseModel>>(Model: T) =>
|
||||
export interface ICustomViewBaseModel {
|
||||
defaultViews: IView[];
|
||||
getDefaultViewBySlug(viewSlug: string): IView | null;
|
||||
getDefaultViews(): IView[];
|
||||
}
|
||||
|
||||
export const CustomViewBaseModelMixin = <T extends GConstructor<BaseModel>>(
|
||||
Model: T,
|
||||
) =>
|
||||
class CustomViewBaseModel extends Model {
|
||||
/**
|
||||
* Retrieve the default custom views, roles and columns.
|
||||
@@ -18,6 +27,10 @@ export const CustomViewBaseModelMixin = <T extends GConstructor<BaseModel>>(Mode
|
||||
return this.defaultViews.find((view) => view.slug === viewSlug) || null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the default views.
|
||||
* @returns {IView[]}
|
||||
*/
|
||||
static getDefaultViews() {
|
||||
return this.defaultViews;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user