Init All Docs

This commit is contained in:
Aditya Siregar
2025-09-08 12:24:37 +07:00
parent aa662a321f
commit 2319019eb2
68 changed files with 5417 additions and 437 deletions
@@ -0,0 +1,8 @@
package entities
import "github.com/google/uuid"
// DepartmentRecipientsSetting represents the structure for storing department recipient IDs in app settings
type DepartmentRecipientsSetting struct {
DepartmentIDs []uuid.UUID `json:"department_ids"`
}
+22 -5
View File
@@ -23,14 +23,31 @@ type LetterIncomingDisposition struct {
func (LetterIncomingDisposition) TableName() string { return "letter_incoming_dispositions" }
type LetterIncomingDispositionDepartmentStatus string
const (
DispositionDepartmentStatusPending LetterIncomingDispositionDepartmentStatus = "pending"
DispositionDepartmentStatusDispositioned LetterIncomingDispositionDepartmentStatus = "dispositioned"
DispositionDepartmentStatusRead LetterIncomingDispositionDepartmentStatus = "read"
DispositionDepartmentStatusCompleted LetterIncomingDispositionDepartmentStatus = "completed"
)
type LetterIncomingDispositionDepartment struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()" json:"id"`
LetterIncomingDispositionID uuid.UUID `gorm:"type:uuid;not null" json:"letter_incoming_disposition_id"`
DepartmentID uuid.UUID `gorm:"type:uuid;not null" json:"department_id"`
CreatedAt time.Time `gorm:"autoCreateTime" json:"created_at"`
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()" json:"id"`
LetterIncomingDispositionID uuid.UUID `gorm:"type:uuid;not null" json:"letter_incoming_disposition_id"`
LetterIncomingID uuid.UUID `gorm:"type:uuid;not null" json:"letter_incoming_id"`
DepartmentID uuid.UUID `gorm:"type:uuid;not null" json:"department_id"`
Status LetterIncomingDispositionDepartmentStatus `gorm:"not null;default:'pending'" json:"status"`
Notes *string `gorm:"type:text" json:"notes,omitempty"`
ReadAt *time.Time `json:"read_at,omitempty"`
CompletedAt *time.Time `json:"completed_at,omitempty"`
CreatedAt time.Time `gorm:"autoCreateTime" json:"created_at"`
UpdatedAt time.Time `gorm:"autoUpdateTime" json:"updated_at"`
// Relationships
Department *Department `gorm:"foreignKey:DepartmentID;references:ID" json:"department,omitempty"`
Department *Department `gorm:"foreignKey:DepartmentID;references:ID" json:"department,omitempty"`
LetterIncoming *LetterIncoming `gorm:"foreignKey:LetterIncomingID;references:ID" json:"letter_incoming,omitempty"`
LetterIncomingDisposition *LetterIncomingDisposition `gorm:"foreignKey:LetterIncomingDispositionID;references:ID" json:"letter_incoming_disposition,omitempty"`
}
func (LetterIncomingDispositionDepartment) TableName() string {