snowballtools-base/packages/backend/src/entity/ProjectMember.ts
prathamesh0 4d00cfb8f0 Add graphql schema (#18)
* Add graphql schema

* Remove circular references in gql schema

* Remove unnecessary todos

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30

44 lines
756 B
TypeScript

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