github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/pkg/db/ent/schema/setting.go (about)

     1  package schema
     2  
     3  import (
     4  	"entgo.io/ent"
     5  	"entgo.io/ent/dialect"
     6  	"entgo.io/ent/schema/field"
     7  	"github.com/NpoolPlatform/chain-middleware/pkg/db/mixin"
     8  	crudermixin "github.com/NpoolPlatform/libent-cruder/pkg/mixin"
     9  	"github.com/google/uuid"
    10  	"github.com/shopspring/decimal"
    11  )
    12  
    13  // Setting holds the schema definition for the Setting entity.
    14  type Setting struct {
    15  	ent.Schema
    16  }
    17  
    18  func (Setting) Mixin() []ent.Mixin {
    19  	return []ent.Mixin{
    20  		mixin.TimeMixin{},
    21  		crudermixin.AutoIDMixin{},
    22  	}
    23  }
    24  
    25  // Fields of the Setting.
    26  func (Setting) Fields() []ent.Field {
    27  	return []ent.Field{
    28  		field.
    29  			UUID("coin_type_id", uuid.UUID{}).
    30  			Optional().
    31  			Default(uuid.New),
    32  		field.
    33  			UUID("fee_coin_type_id", uuid.UUID{}).
    34  			Optional().
    35  			Default(uuid.New),
    36  		field.
    37  			Bool("withdraw_fee_by_stable_usd").
    38  			Optional().
    39  			Default(true),
    40  		field.
    41  			Other("withdraw_fee_amount", decimal.Decimal{}).
    42  			SchemaType(map[string]string{
    43  				dialect.MySQL: "decimal(37,18)",
    44  			}).
    45  			Optional().
    46  			Default(decimal.Decimal{}),
    47  		field.
    48  			Other("collect_fee_amount", decimal.Decimal{}).
    49  			SchemaType(map[string]string{
    50  				dialect.MySQL: "decimal(37,18)",
    51  			}).
    52  			Optional().
    53  			Default(decimal.Decimal{}),
    54  		field.
    55  			Other("hot_wallet_fee_amount", decimal.Decimal{}).
    56  			SchemaType(map[string]string{
    57  				dialect.MySQL: "decimal(37,18)",
    58  			}).
    59  			Optional().
    60  			Default(decimal.Decimal{}),
    61  		field.
    62  			Other("low_fee_amount", decimal.Decimal{}).
    63  			SchemaType(map[string]string{
    64  				dialect.MySQL: "decimal(37,18)",
    65  			}).
    66  			Optional().
    67  			Default(decimal.Decimal{}),
    68  		field.
    69  			Other("hot_low_fee_amount", decimal.Decimal{}).
    70  			SchemaType(map[string]string{
    71  				dialect.MySQL: "decimal(37,18)",
    72  			}).
    73  			Optional().
    74  			Default(decimal.Decimal{}),
    75  		field.
    76  			Other("hot_wallet_account_amount", decimal.Decimal{}).
    77  			SchemaType(map[string]string{
    78  				dialect.MySQL: "decimal(37,18)",
    79  			}).
    80  			Optional().
    81  			Default(decimal.Decimal{}),
    82  		field.
    83  			Other("payment_account_collect_amount", decimal.Decimal{}).
    84  			SchemaType(map[string]string{
    85  				dialect.MySQL: "decimal(37,18)",
    86  			}).
    87  			Optional().
    88  			Default(decimal.Decimal{}),
    89  		field.
    90  			Other("least_transfer_amount", decimal.Decimal{}).
    91  			SchemaType(map[string]string{
    92  				dialect.MySQL: "decimal(37,18)",
    93  			}).
    94  			Optional().
    95  			Default(decimal.Decimal{}),
    96  		field.
    97  			Bool("need_memo").
    98  			Optional().
    99  			Default(false),
   100  		field.
   101  			Bool("refresh_currency").
   102  			Optional().
   103  			Default(false),
   104  		field.
   105  			Bool("check_new_address_balance").
   106  			Optional().
   107  			Default(true),
   108  	}
   109  }
   110  
   111  // Edges of the Setting.
   112  func (Setting) Edges() []ent.Edge {
   113  	return nil
   114  }