snowballtools-base/packages/backend/src/entity/UserOrganization.ts

44 lines
768 B
TypeScript
Raw Normal View History

import {
Entity,
Column,
CreateDateColumn,
UpdateDateColumn,
ManyToOne,
PrimaryGeneratedColumn,
JoinColumn
} from 'typeorm';
import { User } from './User';
import { Organization } from './Organization';
enum Role {
Owner = 'Owner',
Maintainer = 'Maintainer',
Reader = 'Reader',
}
@Entity()
export class UserOrganization {
@PrimaryGeneratedColumn()
id!: number;
@ManyToOne(() => User, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'userId' })
user!: User;
@ManyToOne(() => Organization, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'organizationId' })
organization!: Organization;
@Column({
enum: Role
})
role!: Role;
@CreateDateColumn()
createdAt!: Date;
@UpdateDateColumn()
updatedAt!: Date;
}