universo-platform-3d

Форк
0
68 строк · 1.4 Кб
1
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'
2
import { ApiProperty } from '@nestjs/swagger'
3
import * as mongoose from 'mongoose'
4
import { Document } from 'mongoose'
5
import { USER_GROUP_INVITE_STATUSES } from '../option-sets/user-group-invite-statuses'
6
import { User } from '../user/user.schema'
7
import { UserGroup } from './user-group.schema'
8

9
export type UserGroupInviteDocument = UserGroupInvite & Document
10

11
@Schema({
12
  timestamps: true,
13
  toJSON: {
14
    virtuals: true
15
  }
16
})
17
export class UserGroupInvite {
18
  @Prop({ type: mongoose.Schema.Types.ObjectId, ref: 'UserGroup' })
19
  @ApiProperty()
20
  group: UserGroup
21

22
  @Prop()
23
  @ApiProperty()
24
  unlimited: boolean
25

26
  @Prop()
27
  @ApiProperty()
28
  used: boolean
29

30
  @Prop({
31
    required: true,
32
    default: USER_GROUP_INVITE_STATUSES.INVITE_PENDING,
33
    type: String
34
  })
35
  @ApiProperty()
36
  status: string
37

38
  @Prop({
39
    required: true
40
  })
41
  @ApiProperty()
42
  completed: boolean
43

44
  @Prop({
45
    required: true,
46
    default: new Date()
47
  })
48
  @ApiProperty()
49
  completedDate: Date
50

51
  @Prop({
52
    required: true,
53
    type: mongoose.Schema.Types.ObjectId,
54
    ref: 'User'
55
  })
56
  @ApiProperty()
57
  creator: mongoose.Schema.Types.ObjectId
58

59
  @Prop({
60
    required: true,
61
    type: mongoose.Schema.Types.ObjectId,
62
    ref: 'User'
63
  })
64
  @ApiProperty()
65
  recipient: mongoose.Schema.Types.ObjectId
66
}
67

68
export const userGroupInvite = SchemaFactory.createForClass(UserGroupInvite)
69

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.