BaseModel -> Model

This commit is contained in:
Tom Moor
2023-09-09 22:39:08 -04:00
parent 6159973df9
commit c22ed0c82e
5 changed files with 18 additions and 12 deletions

View File

@@ -12,7 +12,7 @@ import { CollectionPermission } from "@shared/types";
import Collection from "./Collection";
import Group from "./Group";
import User from "./User";
import BaseModel from "./base/BaseModel";
import Model from "./base/Model";
import Fix from "./decorators/Fix";
@Scopes(() => ({
@@ -33,7 +33,7 @@ import Fix from "./decorators/Fix";
}))
@Table({ tableName: "collection_groups", modelName: "collection_group" })
@Fix
class CollectionGroup extends BaseModel {
class CollectionGroup extends Model {
@Default(CollectionPermission.ReadWrite)
@IsIn([Object.values(CollectionPermission)])
@Column(DataType.STRING)

View File

@@ -11,7 +11,7 @@ import {
import { CollectionPermission } from "@shared/types";
import Collection from "./Collection";
import User from "./User";
import BaseModel from "./base/BaseModel";
import Model from "./base/Model";
import Fix from "./decorators/Fix";
@Scopes(() => ({
@@ -32,7 +32,7 @@ import Fix from "./decorators/Fix";
}))
@Table({ tableName: "collection_users", modelName: "collection_user" })
@Fix
class CollectionUser extends BaseModel {
class CollectionUser extends Model {
@Default(CollectionPermission.ReadWrite)
@IsIn([Object.values(CollectionPermission)])
@Column(DataType.STRING)

View File

@@ -9,7 +9,7 @@ import {
} from "sequelize-typescript";
import Group from "./Group";
import User from "./User";
import BaseModel from "./base/BaseModel";
import Model from "./base/Model";
import Fix from "./decorators/Fix";
@DefaultScope(() => ({
@@ -37,7 +37,7 @@ import Fix from "./decorators/Fix";
}))
@Table({ tableName: "group_users", modelName: "group_user", paranoid: true })
@Fix
class GroupUser extends BaseModel {
class GroupUser extends Model {
@BelongsTo(() => User, "userId")
user: User;

View File

@@ -7,9 +7,9 @@ import {
DataType,
Default,
} from "sequelize-typescript";
import BaseModel from "./BaseModel";
import Model from "./Model";
class IdModel extends BaseModel {
class IdModel extends Model {
@IsUUID(4)
@PrimaryKey
@Default(DataType.UUIDV4)

View File

@@ -1,8 +1,14 @@
import { FindOptions } from "sequelize";
import { Model } from "sequelize-typescript";
import { Model as SequelizeModel } from "sequelize-typescript";
class BaseModel extends Model {
static async findAllInBatches<T extends BaseModel>(
class Model extends SequelizeModel {
/**
* Find all models in batches, calling the callback function for each batch.
*
* @param query The query options.
* @param callback The function to call for each batch of results
*/
static async findAllInBatches<T extends Model>(
query: FindOptions<T>,
callback: (results: Array<T>, query: FindOptions<T>) => Promise<void>
) {
@@ -23,4 +29,4 @@ class BaseModel extends Model {
}
}
export default BaseModel;
export default Model;