Files
outline/server/models/GroupUser.ts
2022-01-06 18:24:28 -08:00

47 lines
825 B
TypeScript

import {
DefaultScope,
BelongsTo,
ForeignKey,
Column,
Table,
DataType,
Model,
} from "sequelize-typescript";
import Group from "./Group";
import User from "./User";
import Fix from "./decorators/Fix";
@DefaultScope(() => ({
include: [
{
association: "user",
},
],
}))
@Table({ tableName: "group_users", modelName: "group_user", paranoid: true })
@Fix
class GroupUser extends Model {
@BelongsTo(() => User, "userId")
user: User;
@ForeignKey(() => User)
@Column(DataType.UUID)
userId: string;
@BelongsTo(() => Group, "groupId")
group: Group;
@ForeignKey(() => Group)
@Column(DataType.UUID)
groupId: string;
@BelongsTo(() => User, "createdById")
createdBy: User;
@ForeignKey(() => User)
@Column(DataType.UUID)
createdById: string;
}
export default GroupUser;