29 lines
1.2 KiB
Go
29 lines
1.2 KiB
Go
package entities
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type LetterIncomingRecipientStatus string
|
|
|
|
const (
|
|
RecipientStatusNew LetterIncomingRecipientStatus = "new"
|
|
RecipientStatusRead LetterIncomingRecipientStatus = "read"
|
|
RecipientStatusCompleted LetterIncomingRecipientStatus = "completed"
|
|
)
|
|
|
|
type LetterIncomingRecipient struct {
|
|
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()" json:"id"`
|
|
LetterID uuid.UUID `gorm:"type:uuid;not null" json:"letter_id"`
|
|
RecipientUserID *uuid.UUID `json:"recipient_user_id,omitempty"`
|
|
RecipientDepartmentID *uuid.UUID `json:"recipient_department_id,omitempty"`
|
|
Status LetterIncomingRecipientStatus `gorm:"not null;default:'new'" json:"status"`
|
|
ReadAt *time.Time `json:"read_at,omitempty"`
|
|
CompletedAt *time.Time `json:"completed_at,omitempty"`
|
|
CreatedAt time.Time `gorm:"autoCreateTime" json:"created_at"`
|
|
}
|
|
|
|
func (LetterIncomingRecipient) TableName() string { return "letter_incoming_recipients" }
|