/
item_detail.go
30 lines (26 loc) · 1.19 KB
/
item_detail.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
package domain
import (
"context"
"cloud.google.com/go/firestore"
)
// ItemDetailRecord is itemDetail data
type ItemDetailRecord struct {
ID string `json:"id" firestore:"id" binding:"required"`
UID string `json:"uid" firestore:"uid"`
ItemID string `json:"itemId" firestore:"itemId" binding:"required"`
Title string `json:"title" firestore:"title" binding:"required"`
Kind string `json:"kind" firestore:"kind" binding:"required"`
MoveMinutes int `json:"moveMinutes" firestore:"moveMinutes"`
Place string `json:"place" firestore:"place"`
URL string `json:"url" firestore:"url"`
Memo string `json:"memo" firestore:"memo"`
Priority int `json:"priority" firestore:"priority"`
}
// ItemDetailRepository is repository interface
type ItemDetailRepository interface {
Create(ctx context.Context, f *firestore.Client, i ItemDetailRecord) error
Update(ctx context.Context, f *firestore.Client, i ItemDetailRecord) error
Delete(ctx context.Context, f *firestore.Client, i ItemDetailRecord) error
DeleteByUID(ctx context.Context, f *firestore.Client, uid string) error
DeleteByItemID(ctx context.Context, f *firestore.Client, itemID string) error
}