123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package fire
- import (
- "time"
- "cloud.google.com/go/firestore"
- )
- type cudTime struct {
- Time time.Time
- TimeSec int64
- }
- // newCudTime returns a new newCudTime pointer
- func NewCudTime() *cudTime {
- now, _ := NowMM()
- sec := TimestampMilli(*now)
- return &cudTime{Time: *now, TimeSec: sec}
- }
- func (up *cudTime) toMapForCreate() map[string]interface{} {
- val := make(map[string]interface{})
- val["delete_time"] = 0
- val["is_deleted"] = false
- val["update_time"] = up.TimeSec
- val["updated_date"] = up.Time
- val["created_date"] = up.Time
- return val
- }
- func (up *cudTime) toMapForUpdate() map[string]interface{} {
- val := make(map[string]interface{})
- val["update_time"] = up.TimeSec
- val["updated_date"] = up.Time
- return val
- }
- func (up *cudTime) toMapForDelete() map[string]interface{} {
- val := make(map[string]interface{})
- val["is_deleted"] = true
- val["update_time"] = up.TimeSec
- val["delete_time"] = up.TimeSec
- val["updated_date"] = up.Time
- val["deleted_date"] = up.Time
- return val
- }
- func (up *cudTime) C(tx *firestore.Transaction, docRefs ...*firestore.DocumentRef) error {
- return up._op(tx, up.toMapForCreate(), docRefs...)
- }
- func (up *cudTime) U(tx *firestore.Transaction, docRefs ...*firestore.DocumentRef) error {
- return up._op(tx, up.toMapForUpdate(), docRefs...)
- }
- func (up *cudTime) D(tx *firestore.Transaction, docRefs ...*firestore.DocumentRef) error {
- return up._op(tx, up.toMapForDelete(), docRefs...)
- }
- func (up *cudTime) _op(tx *firestore.Transaction, data map[string]interface{}, docRefs ...*firestore.DocumentRef) error {
- if len(docRefs) <= 0 {
- return nil
- }
- for _, docRef := range docRefs {
- if err := tx.Set(docRef, data, firestore.MergeAll); err != nil {
- return err
- }
- }
- return nil
- }
|