package domainMessages import ( "synlotto-website/internal/models" ) type Message = models.Message type CreateMessageInput struct { SenderID int64 RecipientID int64 `form:"recipientId" binding:"required,numeric"` Subject string `form:"subject" binding:"required,max=200"` Body string `form:"body" binding:"required"` } type MessageService interface { ListInbox(userID int64) ([]Message, error) ListArchived(userID int64) ([]Message, error) GetByID(userID, id int64) (*Message, error) Create(userID int64, in CreateMessageInput) (int64, error) Archive(userID, id int64) error //Restore() //ToDo: implement //Unarchive(userID, id int64) error //MarkRead(userID, id int64) error }