27 lines
709 B
Go
27 lines
709 B
Go
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
|
|
}
|