github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/pkg/mw/tx/exist.go (about)

     1  package tx
     2  
     3  import (
     4  	"context"
     5  
     6  	txcrud "github.com/NpoolPlatform/chain-middleware/pkg/crud/tx"
     7  	"github.com/NpoolPlatform/chain-middleware/pkg/db"
     8  	"github.com/NpoolPlatform/chain-middleware/pkg/db/ent"
     9  	enttran "github.com/NpoolPlatform/chain-middleware/pkg/db/ent/tran"
    10  )
    11  
    12  func (h *Handler) ExistTx(ctx context.Context) (bool, error) {
    13  	exist := false
    14  	var err error
    15  
    16  	err = db.WithClient(ctx, func(_ctx context.Context, cli *ent.Client) error {
    17  		exist, err = cli.
    18  			Tran.
    19  			Query().
    20  			Where(
    21  				enttran.EntID(*h.EntID),
    22  				enttran.DeletedAt(0),
    23  			).
    24  			Exist(_ctx)
    25  		if err != nil {
    26  			return err
    27  		}
    28  		return nil
    29  	})
    30  	if err != nil {
    31  		return false, err
    32  	}
    33  	return exist, nil
    34  }
    35  
    36  func (h *Handler) ExistTxConds(ctx context.Context) (bool, error) {
    37  	exist := false
    38  	err := db.WithClient(ctx, func(_ctx context.Context, cli *ent.Client) error {
    39  		stm, err := txcrud.SetQueryConds(cli.Tran.Query(), h.Conds)
    40  		if err != nil {
    41  			return err
    42  		}
    43  		exist, err = stm.Exist(_ctx)
    44  		if err != nil {
    45  			return err
    46  		}
    47  		return nil
    48  	})
    49  	if err != nil {
    50  		return false, err
    51  	}
    52  	return exist, nil
    53  }