Skip to content

Commit 6af0c8b

Browse files
committed
change api struct
1 parent 11d2fa3 commit 6af0c8b

File tree

3 files changed

+111
-87
lines changed

3 files changed

+111
-87
lines changed

v2/client.go

+2-62
Original file line numberDiff line numberDiff line change
@@ -1356,68 +1356,8 @@ func (c *Client) NewGetFuturesAlgoSubOrdersService() *GetFuturesAlgoSubOrdersSer
13561356
}
13571357

13581358
// ----- simple earn service -----
1359-
1360-
func (c *Client) NewGetSimpleEarnAccountService() *SimpleEarnGetAccountService {
1361-
return &SimpleEarnGetAccountService{c: c}
1362-
}
1363-
1364-
func (c *Client) NewListSimpleEarnFlexibleProductService() *SimpleEarnListFlexibleProductService {
1365-
return &SimpleEarnListFlexibleProductService{c: c}
1366-
}
1367-
1368-
func (c *Client) NewListSimpleEarnLockedProductService() *SimpleEarnListLockedProductService {
1369-
return &SimpleEarnListLockedProductService{c: c}
1370-
}
1371-
1372-
func (c *Client) NewGetSimpleEarnFlexiblePositionService() *SimpleEarnGetFlexiblePositionService {
1373-
return &SimpleEarnGetFlexiblePositionService{c: c}
1374-
}
1375-
1376-
func (c *Client) NewGetSimpleEarnLockedPositionService() *SimpleEarnGetLockedPositionService {
1377-
return &SimpleEarnGetLockedPositionService{c: c}
1378-
}
1379-
1380-
func (c *Client) NewGetSimpleEarnFlexibleQuotaService() *SimpleEarnGetFlexibleQuotaService {
1381-
return &SimpleEarnGetFlexibleQuotaService{c: c}
1382-
}
1383-
1384-
func (c *Client) NewGetSimpleEarnLockedQuotaService() *SimpleEarnGetLockedQuotaService {
1385-
return &SimpleEarnGetLockedQuotaService{c: c}
1386-
}
1387-
1388-
func (c *Client) NewSimpleEarnSubscribeFlexibleProductService() *SimpleEarnSubscribeFlexibleProductService {
1389-
return &SimpleEarnSubscribeFlexibleProductService{c: c}
1390-
}
1391-
1392-
func (c *Client) NewSimpleEarnSubscribeLockedProductService() *SimpleEarnSubscribeLockedProductService {
1393-
return &SimpleEarnSubscribeLockedProductService{c: c}
1394-
}
1395-
1396-
func (c *Client) NewSimpleEarnRedeemFlexibleProductService() *SimpleEarnRedeemFlexibleProductService {
1397-
return &SimpleEarnRedeemFlexibleProductService{c: c}
1398-
}
1399-
1400-
func (c *Client) NewSimpleEarnRedeemLockedProductService() *SimpleEarnRedeemLockedProductService {
1401-
return &SimpleEarnRedeemLockedProductService{c: c}
1402-
}
1403-
1404-
func (c *Client) NewSimpleEarnSetAutoSubscribeFlexibleProductService() *SimpleEarnSetAutoSubscribeFlexibleProductService {
1405-
return &SimpleEarnSetAutoSubscribeFlexibleProductService{c: c}
1406-
}
1407-
1408-
func (c *Client) NewSimpleEarnSetAutoSubscribeLockedProductService() *SimpleEarnSetAutoSubscribeLockedProductService {
1409-
return &SimpleEarnSetAutoSubscribeLockedProductService{c: c}
1410-
}
1411-
1412-
func (c *Client) NewSimpleEarnSubscriptionPreviewService() *SimpleEarnSubscriptionPreviewService {
1413-
return &SimpleEarnSubscriptionPreviewService{c: c}
1414-
}
1415-
1416-
func (c *Client) NewSimpleEarnLockedSubscriptionPreviewService() *SimpleEarnLockedSubscriptionPreviewService {
1417-
return &SimpleEarnLockedSubscriptionPreviewService{c: c}
1418-
}
1419-
func (c *Client) NewSimpleEarnSetRedeemOptionService() *SimpleEarnSetRedeemOptionService {
1420-
return &SimpleEarnSetRedeemOptionService{c: c}
1359+
func (c *Client) NewSimpleEarnService() *SimpleEarnService {
1360+
return &SimpleEarnService{c: c}
14211361
}
14221362

14231363
// ----- end simple earn service -----

v2/simple_earn_service.go

+90-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,90 @@ import (
55
"net/http"
66
)
77

8+
type SimpleEarnService struct {
9+
c *Client
10+
}
11+
12+
func (s *SimpleEarnService) GetAccount() *SimpleEarnGetAccountService {
13+
return &SimpleEarnGetAccountService{c: s.c}
14+
}
15+
16+
func (s *SimpleEarnService) FlexibleService() *SimpleEarnFlexiableService {
17+
return &SimpleEarnFlexiableService{c: s.c}
18+
}
19+
20+
func (s *SimpleEarnService) LockedService() *SimpleEarnLockedService {
21+
return &SimpleEarnLockedService{c: s.c}
22+
}
23+
24+
// --
25+
type SimpleEarnFlexiableService struct {
26+
c *Client
27+
}
28+
29+
func (s *SimpleEarnFlexiableService) ListProduct() *SimpleEarnListFlexibleProductService {
30+
return &SimpleEarnListFlexibleProductService{c: s.c}
31+
}
32+
33+
func (s *SimpleEarnFlexiableService) GetPosition() *SimpleEarnGetFlexiblePositionService {
34+
return &SimpleEarnGetFlexiblePositionService{c: s.c}
35+
}
36+
37+
func (s *SimpleEarnFlexiableService) GetLeftQuote() *SimpleEarnGetFlexibleQuotaService {
38+
return &SimpleEarnGetFlexibleQuotaService{c: s.c}
39+
}
40+
41+
func (s *SimpleEarnFlexiableService) Subscribe() *SimpleEarnSubscribeFlexibleProductService {
42+
return &SimpleEarnSubscribeFlexibleProductService{c: s.c}
43+
}
44+
45+
func (s *SimpleEarnFlexiableService) Redeem() *SimpleEarnRedeemFlexibleProductService {
46+
return &SimpleEarnRedeemFlexibleProductService{c: s.c}
47+
}
48+
49+
func (s *SimpleEarnFlexiableService) SetAutoSubscribe() *SimpleEarnSetAutoSubscribeFlexibleProductService {
50+
return &SimpleEarnSetAutoSubscribeFlexibleProductService{c: s.c}
51+
}
52+
53+
func (s *SimpleEarnFlexiableService) PreviewSubscribe() *SimpleEarnFlexiableSubscriptionPreviewService {
54+
return &SimpleEarnFlexiableSubscriptionPreviewService{c: s.c}
55+
}
56+
57+
// --
58+
59+
type SimpleEarnLockedService struct {
60+
c *Client
61+
}
62+
63+
func (s *SimpleEarnLockedService) ListProduct() *SimpleEarnListLockedProductService {
64+
return &SimpleEarnListLockedProductService{c: s.c}
65+
}
66+
func (s *SimpleEarnLockedService) GetPosition() *SimpleEarnGetLockedPositionService {
67+
return &SimpleEarnGetLockedPositionService{c: s.c}
68+
}
69+
func (s *SimpleEarnLockedService) GetLeftQuote() *SimpleEarnGetLockedQuotaService {
70+
return &SimpleEarnGetLockedQuotaService{c: s.c}
71+
}
72+
func (s *SimpleEarnLockedService) Subscribe() *SimpleEarnSubscribeLockedProductService {
73+
return &SimpleEarnSubscribeLockedProductService{c: s.c}
74+
}
75+
func (s *SimpleEarnLockedService) Redeem() *SimpleEarnRedeemLockedProductService {
76+
return &SimpleEarnRedeemLockedProductService{c: s.c}
77+
}
78+
func (s *SimpleEarnLockedService) SetAutoSubscribe() *SimpleEarnSetAutoSubscribeLockedProductService {
79+
return &SimpleEarnSetAutoSubscribeLockedProductService{c: s.c}
80+
}
81+
82+
func (s *SimpleEarnLockedService) PreviewSubscribe() *SimpleEarnLockedSubscriptionPreviewService {
83+
return &SimpleEarnLockedSubscriptionPreviewService{c: s.c}
84+
}
85+
86+
func (s *SimpleEarnLockedService) SetRedeemOption() *SimpleEarnSetRedeemOptionService {
87+
return &SimpleEarnSetRedeemOptionService{c: s.c}
88+
}
89+
90+
// --------------------
91+
892
type SimpleEarnGetAccountService struct {
993
c *Client
1094
}
@@ -788,23 +872,23 @@ func (s *SimpleEarnSetAutoSubscribeLockedProductService) Do(ctx context.Context,
788872
return res, nil
789873
}
790874

791-
type SimpleEarnSubscriptionPreviewService struct {
875+
type SimpleEarnFlexiableSubscriptionPreviewService struct {
792876
c *Client
793877
productId string
794878
amount string
795879
}
796880

797-
func (s *SimpleEarnSubscriptionPreviewService) ProductId(productId string) *SimpleEarnSubscriptionPreviewService {
881+
func (s *SimpleEarnFlexiableSubscriptionPreviewService) ProductId(productId string) *SimpleEarnFlexiableSubscriptionPreviewService {
798882
s.productId = productId
799883
return s
800884
}
801885

802-
func (s *SimpleEarnSubscriptionPreviewService) Amount(amount string) *SimpleEarnSubscriptionPreviewService {
886+
func (s *SimpleEarnFlexiableSubscriptionPreviewService) Amount(amount string) *SimpleEarnFlexiableSubscriptionPreviewService {
803887
s.amount = amount
804888
return s
805889
}
806890

807-
type SimpleEarnSubscriptionPreviewResp struct {
891+
type SimpleEarnFlexiableSubscriptionPreviewResp struct {
808892
TotalAmount string `json:"totalAmount"`
809893
RewardAsset string `json:"rewardAsset"`
810894
AirDropAsset string `json:"airDropAsset"`
@@ -813,7 +897,7 @@ type SimpleEarnSubscriptionPreviewResp struct {
813897
EstDailyAirdropRewards string `json:"estDailyAirdropRewards"`
814898
}
815899

816-
func (s *SimpleEarnSubscriptionPreviewService) Do(ctx context.Context, opts ...RequestOption) (res *SimpleEarnSubscriptionPreviewResp, err error) {
900+
func (s *SimpleEarnFlexiableSubscriptionPreviewService) Do(ctx context.Context, opts ...RequestOption) (res *SimpleEarnFlexiableSubscriptionPreviewResp, err error) {
817901
r := &request{
818902
method: http.MethodGet,
819903
endpoint: "/sapi/v1/simple-earn/flexible/subscriptionPreview",
@@ -832,7 +916,7 @@ func (s *SimpleEarnSubscriptionPreviewService) Do(ctx context.Context, opts ...R
832916
return nil, err
833917
}
834918

835-
res = new(SimpleEarnSubscriptionPreviewResp)
919+
res = new(SimpleEarnFlexiableSubscriptionPreviewResp)
836920
if err := json.Unmarshal(data, &res); err != nil {
837921
return nil, err
838922
}

v2/simple_earn_service_test.go

+19-19
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func (s *simpleEarnServiceTestSuite) TestGetAccount() {
3131
s.assertRequestEqual(e, r)
3232
})
3333

34-
account, err := s.client.NewGetSimpleEarnAccountService().Do(newContext())
34+
account, err := s.client.NewSimpleEarnService().GetAccount().Do(newContext())
3535
s.r().NoError(err)
3636
s.r().Equal("0.01067982", account.TotalAmountInBTC)
3737
s.r().Equal("77.13289230", account.TotalAmountInUSDT)
@@ -74,7 +74,7 @@ func (s *simpleEarnServiceTestSuite) TestListFlexibleProduct() {
7474
s.assertRequestEqual(e, r)
7575
})
7676

77-
product, err := s.client.NewListSimpleEarnFlexibleProductService().Asset("BTC").Do(newContext())
77+
product, err := s.client.NewSimpleEarnService().FlexibleService().ListProduct().Asset("BTC").Do(newContext())
7878
s.r().NoError(err)
7979
s.r().Equal("BTC001", product.Rows[0].ProductId)
8080
s.r().Equal("BTC", product.Rows[0].Asset)
@@ -86,7 +86,7 @@ func (s *simpleEarnServiceTestSuite) TestListFlexibleProduct() {
8686
s.r().Equal(true, product.Rows[0].IsSoldOut)
8787
s.r().Equal(true, product.Rows[0].Hot)
8888
s.r().Equal("0.01000000", product.Rows[0].MinPurchaseAmount)
89-
s.r().Equal("1646182276000", product.Rows[0].SubscriptionStartTime)
89+
s.r().EqualValues(1646182276000, product.Rows[0].SubscriptionStartTime)
9090
s.r().Equal("PURCHASING", product.Rows[0].Status)
9191
s.r().Equal(1, product.Total)
9292
}
@@ -126,7 +126,7 @@ func (s *simpleEarnServiceTestSuite) TestListLockedProduct() {
126126
s.assertRequestEqual(e, r)
127127
})
128128

129-
product, err := s.client.NewListSimpleEarnLockedProductService().Asset("AXS").Do(newContext())
129+
product, err := s.client.NewSimpleEarnService().LockedService().ListProduct().Asset("AXS").Do(newContext())
130130
s.r().NoError(err)
131131
s.r().Equal("Axs*90", product.Rows[0].ProjectId)
132132
s.r().Equal("AXS", product.Rows[0].Detail.Asset)
@@ -179,7 +179,7 @@ func (s *simpleEarnServiceTestSuite) TestGetSimpleEarnFlexiblePositionService()
179179
s.assertRequestEqual(e, r)
180180
})
181181

182-
position, err := s.client.NewGetSimpleEarnFlexiblePositionService().Asset("USDT").Do(newContext())
182+
position, err := s.client.NewSimpleEarnService().FlexibleService().GetPosition().Asset("USDT").Do(newContext())
183183
s.r().NoError(err)
184184
s.r().Equal("75.46000000", position.Rows[0].TotalAmount)
185185
s.r().Equal(map[string]string{"0-5BTC": "0.05", "5-10BTC": "0.03"}, position.Rows[0].TierAnnualPercentageRate)
@@ -250,7 +250,7 @@ func (s *simpleEarnServiceTestSuite) TestGetSimpleEarnLockedPositionService() {
250250
s.assertRequestEqual(e, r)
251251
})
252252

253-
position, err := s.client.NewGetSimpleEarnLockedPositionService().
253+
position, err := s.client.NewSimpleEarnService().LockedService().GetPosition().
254254
Asset("AXS").
255255
PositionId(123123).
256256
ProjectId("Axs*90").
@@ -305,7 +305,7 @@ func (s *simpleEarnServiceTestSuite) TestGetSimpleEarnFlexibleQuotaService() {
305305
s.assertRequestEqual(e, r)
306306
})
307307

308-
quota, err := s.client.NewGetSimpleEarnFlexibleQuotaService().
308+
quota, err := s.client.NewSimpleEarnService().FlexibleService().GetLeftQuote().
309309
ProductId("BTC001").
310310
Do(newContext())
311311
s.r().NoError(err)
@@ -326,7 +326,7 @@ func (s *simpleEarnServiceTestSuite) TestGetSimpleEarnLockedQuotaService() {
326326
s.assertRequestEqual(e, r)
327327
})
328328

329-
quota, err := s.client.NewGetSimpleEarnLockedQuotaService().
329+
quota, err := s.client.NewSimpleEarnService().LockedService().GetLeftQuote().
330330
ProjectId("AXS001").
331331
Do(newContext())
332332
s.r().NoError(err)
@@ -351,7 +351,7 @@ func (s *simpleEarnServiceTestSuite) TestSubscribeFlexibleProduct() {
351351
s.assertRequestEqual(e, r)
352352
})
353353

354-
subscribeResp, err := s.client.NewSimpleEarnSubscribeFlexibleProductService().
354+
subscribeResp, err := s.client.NewSimpleEarnService().FlexibleService().Subscribe().
355355
ProductId("BTC001").
356356
Amount("0.1").
357357
AutoSubscribe(true).
@@ -382,7 +382,7 @@ func (s *simpleEarnServiceTestSuite) TestSubscribeLockedProduct() {
382382
s.assertRequestEqual(e, r)
383383
})
384384

385-
subscribeResp, err := s.client.NewSimpleEarnSubscribeLockedProductService().
385+
subscribeResp, err := s.client.NewSimpleEarnService().LockedService().Subscribe().
386386
ProjectId("AXS001").
387387
Amount("0.1").
388388
AutoSubscribe(true).
@@ -413,7 +413,7 @@ func (s *simpleEarnServiceTestSuite) TestRedeemFlexibleProduct() {
413413
s.assertRequestEqual(e, r)
414414
})
415415

416-
redeemResp, err := s.client.NewSimpleEarnRedeemFlexibleProductService().
416+
redeemResp, err := s.client.NewSimpleEarnService().FlexibleService().Redeem().
417417
ProductId("BTC001").
418418
RedeemAll(true).
419419
Amount("0.1").
@@ -439,7 +439,7 @@ func (s *simpleEarnServiceTestSuite) TestRedeemLockedProduct() {
439439
s.assertRequestEqual(e, r)
440440
})
441441

442-
redeemResp, err := s.client.NewSimpleEarnRedeemLockedProductService().
442+
redeemResp, err := s.client.NewSimpleEarnService().LockedService().Redeem().
443443
PositionId(12345).
444444
Do(newContext())
445445
s.r().NoError(err)
@@ -462,7 +462,7 @@ func (s *simpleEarnServiceTestSuite) TestSetAutoSubscribeFlexibleProduct() {
462462
s.assertRequestEqual(e, r)
463463
})
464464

465-
resp, err := s.client.NewSimpleEarnSetAutoSubscribeFlexibleProductService().
465+
resp, err := s.client.NewSimpleEarnService().FlexibleService().SetAutoSubscribe().
466466
ProductId("BTC001").
467467
AutoSubscribe(true).
468468
Do(newContext())
@@ -485,15 +485,15 @@ func (s *simpleEarnServiceTestSuite) TestSetAutoSubscribeLockedProduct() {
485485
s.assertRequestEqual(e, r)
486486
})
487487

488-
resp, err := s.client.NewSimpleEarnSetAutoSubscribeLockedProductService().
488+
resp, err := s.client.NewSimpleEarnService().LockedService().SetAutoSubscribe().
489489
PositionId(12345).
490490
AutoSubscribe(true).
491491
Do(newContext())
492492
s.r().NoError(err)
493493
s.r().Equal(true, resp.Success)
494494
}
495495

496-
func (s *simpleEarnServiceTestSuite) TestSubscriptionPreview() {
496+
func (s *simpleEarnServiceTestSuite) TestFlexiableSubscriptionPreview() {
497497
data := []byte(`{
498498
"totalAmount": "1232.32230982",
499499
"rewardAsset": "BUSD",
@@ -513,7 +513,7 @@ func (s *simpleEarnServiceTestSuite) TestSubscriptionPreview() {
513513
s.assertRequestEqual(e, r)
514514
})
515515

516-
preview, err := s.client.NewSimpleEarnSubscriptionPreviewService().
516+
preview, err := s.client.NewSimpleEarnService().FlexibleService().PreviewSubscribe().
517517
ProductId("BTC001").
518518
Amount("0.1").
519519
Do(newContext())
@@ -553,7 +553,7 @@ func (s *simpleEarnServiceTestSuite) TestLockedSubscriptionPreview() {
553553
s.assertRequestEqual(e, r)
554554
})
555555

556-
preview, err := s.client.NewSimpleEarnLockedSubscriptionPreviewService().
556+
preview, err := s.client.NewSimpleEarnService().LockedService().PreviewSubscribe().
557557
ProjectId("AXS001").
558558
Amount("0.1").
559559
AutoSubscribe(true).
@@ -571,7 +571,7 @@ func (s *simpleEarnServiceTestSuite) TestLockedSubscriptionPreview() {
571571
s.r().EqualValues(1651536000000, preview.NextSubscriptionDate)
572572
}
573573

574-
func (s *simpleEarnServiceTestSuite) TestSetRedeemOption() {
574+
func (s *simpleEarnServiceTestSuite) TestLockedSetRedeemOption() {
575575
data := []byte(`{
576576
"success": true
577577
}`)
@@ -586,7 +586,7 @@ func (s *simpleEarnServiceTestSuite) TestSetRedeemOption() {
586586
s.assertRequestEqual(e, r)
587587
})
588588

589-
resp, err := s.client.NewSimpleEarnSetRedeemOptionService().
589+
resp, err := s.client.NewSimpleEarnService().LockedService().SetRedeemOption().
590590
PositionId("12345").
591591
RedeemTo(RedeemToSpot).
592592
Do(newContext())

0 commit comments

Comments
 (0)