refactor: dynamic list to nestjs

This commit is contained in:
Ahmed Bouhuolia
2025-01-14 22:57:54 +02:00
parent 081fdebee0
commit e7e7a95aa1
81 changed files with 596 additions and 742 deletions

View File

@@ -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;
}