github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/pkg/mw/coin/usedfor/delete.go (about) 1 package coinusedfor 2 3 import ( 4 "context" 5 "time" 6 7 coinusedforcrud "github.com/NpoolPlatform/chain-middleware/pkg/crud/coin/usedfor" 8 npool "github.com/NpoolPlatform/message/npool/chain/mw/v1/coin/usedfor" 9 10 "github.com/NpoolPlatform/chain-middleware/pkg/db" 11 "github.com/NpoolPlatform/chain-middleware/pkg/db/ent" 12 ) 13 14 func (h *Handler) DeleteCoinUsedFor(ctx context.Context) (*npool.CoinUsedFor, error) { 15 info, err := h.GetCoinUsedFor(ctx) 16 if err != nil { 17 return nil, err 18 } 19 if info == nil { 20 return nil, nil 21 } 22 23 err = db.WithClient(ctx, func(_ctx context.Context, cli *ent.Client) error { 24 now := uint32(time.Now().Unix()) 25 if _, err := coinusedforcrud.UpdateSet( 26 cli.CoinUsedFor.UpdateOneID(info.ID), 27 &coinusedforcrud.Req{ 28 DeletedAt: &now, 29 }, 30 ).Save(_ctx); err != nil { 31 return err 32 } 33 return nil 34 }) 35 if err != nil { 36 return nil, err 37 } 38 39 return info, nil 40 }