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

View File

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

View File

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

View File

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

View File

@@ -1,8 +1,14 @@
import { FindOptions } from "sequelize"; import { FindOptions } from "sequelize";
import { Model } from "sequelize-typescript"; import { Model as SequelizeModel } from "sequelize-typescript";
class BaseModel extends Model { class Model extends SequelizeModel {
static async findAllInBatches<T extends BaseModel>( /**
* 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>, query: FindOptions<T>,
callback: (results: Array<T>, query: FindOptions<T>) => Promise<void> callback: (results: Array<T>, query: FindOptions<T>) => Promise<void>
) { ) {
@@ -23,4 +29,4 @@ class BaseModel extends Model {
} }
} }
export default BaseModel; export default Model;