-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmodels.go
46 lines (38 loc) · 1.26 KB
/
models.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package gonotes
import "errors"
type User struct {
ID int `json:"id"`
Username string `json:"username" binding:"required"`
Email string `json:"email" binding:"required,email"`
Password string `json:"password" binding:"required,min=12,max=20"`
Verified bool `json:"verified"`
}
type SignInInput struct {
Email string `json:"email" binding:"required"`
Password string `json:"password" binding:"required"`
}
type SignUpInput struct {
Username string `json:"username" binding:"required"`
Email string `json:"email" binding:"required,email"`
Password string `json:"password" binding:"required,min=12,max=20"`
}
type Note struct {
ID int `json:"id"`
Title string `json:"title" binding:"required"`
Text string `json:"text" binding:"required"`
Important bool `json:"important"`
Tags string `json:"tags" binding:"required"`
UserId int `json:"user_id" db:"user_id"`
}
type UpdateNoteStruct struct {
Title *string `json:"title"`
Text *string `json:"text"`
Important *bool `json:"important"`
Tags *string `json:"tags"`
}
func (u UpdateNoteStruct) Validate() error {
if u.Title == nil && u.Important == nil && u.Text == nil && u.Tags == nil {
return errors.New("empty update struct")
}
return nil
}