@@ -19,9 +19,9 @@ type Attendance struct {
|
||||
AttendanceId uuid.UUID `json:"attendance_id" gorm:"type:uuid;uniqueIndex;not null"`
|
||||
EventId uuid.UUID `json:"event_id" gorm:"type:uuid;uniqueIndex:unique_event_user;not null"`
|
||||
UserId uuid.UUID `json:"user_id" gorm:"type:uuid;uniqueIndex:unique_event_user;not null"`
|
||||
KycId uuid.UUID `json:"kyc_id" gorm:"type:uuid;uniqueIndex:unique_event_user;not null"`
|
||||
Role string `json:"role" gorm:"type:varchar(255);not null"`
|
||||
State string `json:"state" gorm:"type:varchar(255);not null"` // suspended | out_of_limit | success
|
||||
KycInfo string `json:"kyc_info" gorm:"type:text"`
|
||||
CheckinAt time.Time `json:"checkin_at"`
|
||||
}
|
||||
|
||||
@@ -43,6 +43,11 @@ func (self *Attendance) SetUserId(s uuid.UUID) *Attendance {
|
||||
return self
|
||||
}
|
||||
|
||||
func (self *Attendance) SetKycId(s uuid.UUID) *Attendance {
|
||||
self.KycId = s
|
||||
return self
|
||||
}
|
||||
|
||||
func (self *Attendance) SetRole(s string) *Attendance {
|
||||
self.Role = s
|
||||
return self
|
||||
@@ -53,11 +58,6 @@ func (self *Attendance) SetState(s string) *Attendance {
|
||||
return self
|
||||
}
|
||||
|
||||
func (self *Attendance) SetKycInfo(s string) *Attendance {
|
||||
self.KycInfo = s
|
||||
return self
|
||||
}
|
||||
|
||||
func (self *Attendance) GetAttendance(ctx context.Context, userId, eventId uuid.UUID) (*Attendance, error) {
|
||||
var checkin Attendance
|
||||
|
||||
@@ -112,6 +112,23 @@ func (self *Attendance) GetEventsByUserID(ctx context.Context, userID uuid.UUID)
|
||||
return &result, err
|
||||
}
|
||||
|
||||
func (self *Attendance) GetAttendanceByEventIdAndUserId(ctx context.Context, eventId, userId uuid.UUID) (*Attendance, error) {
|
||||
var attendance Attendance
|
||||
|
||||
err := Database.WithContext(ctx).
|
||||
Where("event_id = ? AND user_id = ?", eventId, userId).
|
||||
First(&attendance).Error
|
||||
|
||||
if err != nil {
|
||||
if err == gorm.ErrRecordNotFound {
|
||||
return nil, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &attendance, nil
|
||||
}
|
||||
|
||||
func (self *Attendance) Create(ctx context.Context) error {
|
||||
self.UUID = uuid.New()
|
||||
self.AttendanceId = uuid.New()
|
||||
|
||||
Reference in New Issue
Block a user