-
Notifications
You must be signed in to change notification settings - Fork 2
/
type_soft_delete.go
23 lines (14 loc) · 833 Bytes
/
type_soft_delete.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package sq
import "time"
type WithoutSoftDelete struct{}
func (WithoutSoftDelete) SoftDeleteWhere() Raw { return Raw{} }
func (WithoutSoftDelete) SoftDeleteSet() Raw { return Raw{} }
type SoftDeletedAt struct{}
func (SoftDeletedAt) SoftDeleteWhere() Raw { return Raw{"`deleted_at` IS NULL", nil} }
func (SoftDeletedAt) SoftDeleteSet() Raw { return Raw{"`deleted_at` = ?", []interface{}{time.Now()}} }
type SoftDeleteTime struct{}
func (SoftDeleteTime) SoftDeleteWhere() Raw { return Raw{"`delete_time` IS NULL", nil} }
func (SoftDeleteTime) SoftDeleteSet() Raw { return Raw{"`delete_time` = ?", []interface{}{time.Now()}} }
type SoftIsDeleted struct{}
func (SoftIsDeleted) SoftDeleteWhere() Raw { return Raw{"`is_deleted` = 0", nil} }
func (SoftIsDeleted) SoftDeleteSet() Raw { return Raw{"`is_deleted` = 1", nil} }