github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/pkg/mw/coin/fiat/delete.go (about)

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