...
1 package model
2
3 import (
4 "fmt"
5
6 . "codeberg.org/tslocum/sriracha/util"
7 )
8
9 type SubscriptionType int
10
11 const (
12 SubscriptionAll SubscriptionType = 0
13 SubscriptionThreads SubscriptionType = -1
14 )
15
16 type Subscription struct {
17 ID int
18 IP string
19 Confirm int64
20 Email string
21 Board int
22 Target int
23 }
24
25 func (s *Subscription) Validate() error {
26 email := ParseEmail(s.Email)
27 if email == "" {
28 return fmt.Errorf("invalid email address")
29 } else if s.Board < 0 {
30 return fmt.Errorf("invalid board %d", s.Board)
31 } else if s.Target < int(SubscriptionThreads) {
32 return fmt.Errorf("invalid subscription target %d", s.Target)
33 }
34 return nil
35 }
36
View as plain text