Skip to content

Commit 18c3f32

Browse files
committed
fix: feedback fixes
1 parent 33b5f0f commit 18c3f32

29 files changed

Lines changed: 1152 additions & 434 deletions

.mockery.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ packages:
3636
github.com/rsksmart/liquidity-provider-server/internal/entities/liquidity_provider:
3737
interfaces:
3838
LiquidityProviderRepository:
39+
TrustedAccountRepository:
3940
github.com/rsksmart/liquidity-provider-server/internal/entities/quote:
4041
interfaces:
4142
PeginQuoteRepository:

OpenApi.yml

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -627,16 +627,21 @@ components:
627627
rsk:
628628
type: string
629629
type: object
630+
TrustedAccountAddressRequest:
631+
properties:
632+
address:
633+
type: string
634+
type: object
630635
TrustedAccountRequest:
631636
properties:
632637
address:
633638
type: string
634639
btc_locking_cap:
635-
type: string
640+
$ref: '#/components/schemas/'
636641
name:
637642
type: string
638643
rbtc_locking_cap:
639-
type: string
644+
$ref: '#/components/schemas/'
640645
type: object
641646
pkg.AcceptQuoteRequest:
642647
properties:
@@ -675,11 +680,11 @@ components:
675680
address:
676681
type: string
677682
btc_locking_cap:
678-
type: string
683+
$ref: '#/components/schemas/'
679684
name:
680685
type: string
681686
rbtc_locking_cap:
682-
type: string
687+
$ref: '#/components/schemas/'
683688
type: object
684689
info:
685690
title: Liquidity Provider Server
@@ -758,25 +763,24 @@ paths:
758763
description: ""
759764
summary: Management Logout
760765
/management/trusted-accounts:
761-
get:
762-
description: ' Returns all trusted accounts'
763-
responses:
764-
"200":
765-
description: ""
766-
summary: Get Trusted Accounts
767-
post:
768-
description: ' Updates an existing trusted account'
766+
delete:
767+
description: ' Deletes a trusted account'
769768
requestBody:
770769
content:
771770
application/json:
772771
schema:
773-
$ref: '#/components/schemas/TrustedAccountRequest'
772+
$ref: '#/components/schemas/TrustedAccountAddressRequest'
774773
required: true
775774
responses:
776775
"204":
777776
description: ""
778-
summary: Update Trusted Account
779-
/management/trusted-accounts/add:
777+
summary: Delete Trusted Account
778+
get:
779+
description: ' Returns all trusted accounts'
780+
responses:
781+
"200":
782+
description: ""
783+
summary: Get Trusted Accounts
780784
post:
781785
description: ' Adds a new trusted account'
782786
requestBody:
@@ -789,19 +793,18 @@ paths:
789793
"204":
790794
description: ""
791795
summary: Add Trusted Account
792-
/management/trusted-accounts/delete:
793-
post:
794-
description: ' Deletes a trusted account'
796+
put:
797+
description: ' Updates an existing trusted account'
795798
requestBody:
796799
content:
797800
application/json:
798801
schema:
799-
$ref: '#/components/schemas/'
802+
$ref: '#/components/schemas/TrustedAccountRequest'
800803
required: true
801804
responses:
802805
"204":
803806
description: ""
804-
summary: Delete Trusted Account
807+
summary: Update Trusted Account
805808
/pegin/acceptQuote:
806809
post:
807810
description: ' Accepts Quote'

internal/adapters/dataproviders/database/mongo/liquidity_provider.go

Lines changed: 0 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
)
1414

1515
const LiquidityProviderCollection = "liquidityProvider"
16-
const TrustedAccountCollection = "trustedAccounts"
1716

1817
type ConfigurationName string
1918

@@ -37,10 +36,6 @@ func NewLiquidityProviderRepository(conn *Connection) liquidity_provider.Liquidi
3736
return &lpMongoRepository{conn: conn}
3837
}
3938

40-
func NewTrustedAccountRepository(conn *Connection) liquidity_provider.TrustedAccountRepository {
41-
return &lpMongoRepository{conn: conn}
42-
}
43-
4439
func (repo *lpMongoRepository) GetPeginConfiguration(ctx context.Context) (*entities.Signed[liquidity_provider.PeginConfiguration], error) {
4540
dbCtx, cancel := context.WithTimeout(ctx, repo.conn.timeout)
4641
defer cancel()
@@ -105,92 +100,6 @@ func (repo *lpMongoRepository) UpsertCredentials(ctx context.Context, credential
105100
return upsertConfiguration(dbCtx, repo, configToStore, false)
106101
}
107102

108-
func (repo *lpMongoRepository) GetTrustedAccount(ctx context.Context, address string) (*liquidity_provider.TrustedAccountDetails, error) {
109-
dbCtx, cancel := context.WithTimeout(ctx, repo.conn.timeout)
110-
defer cancel()
111-
account := &liquidity_provider.TrustedAccountDetails{}
112-
collection := repo.conn.Collection(TrustedAccountCollection)
113-
filter := bson.M{"address": address}
114-
err := collection.FindOne(dbCtx, filter).Decode(account)
115-
if errors.Is(err, mongo.ErrNoDocuments) {
116-
return nil, liquidity_provider.ErrTrustedAccountNotFound
117-
} else if err != nil {
118-
return nil, err
119-
}
120-
logDbInteraction(Read, account)
121-
return account, nil
122-
}
123-
124-
func (repo *lpMongoRepository) GetAllTrustedAccounts(ctx context.Context) ([]liquidity_provider.TrustedAccountDetails, error) {
125-
dbCtx, cancel := context.WithTimeout(ctx, repo.conn.timeout)
126-
defer cancel()
127-
collection := repo.conn.Collection(TrustedAccountCollection)
128-
cursor, err := collection.Find(dbCtx, bson.M{})
129-
if err != nil {
130-
return nil, err
131-
}
132-
defer cursor.Close(dbCtx)
133-
var accounts []liquidity_provider.TrustedAccountDetails
134-
if err = cursor.All(dbCtx, &accounts); err != nil {
135-
return nil, err
136-
}
137-
logDbInteraction(Read, accounts)
138-
return accounts, nil
139-
}
140-
141-
func (repo *lpMongoRepository) AddTrustedAccount(ctx context.Context, account liquidity_provider.TrustedAccountDetails) error {
142-
dbCtx, cancel := context.WithTimeout(ctx, repo.conn.timeout)
143-
defer cancel()
144-
collection := repo.conn.Collection(TrustedAccountCollection)
145-
existingAccount, err := repo.GetTrustedAccount(ctx, account.Address)
146-
if err == nil && existingAccount != nil {
147-
return liquidity_provider.ErrDuplicateAddress
148-
} else if err != nil && !errors.Is(err, liquidity_provider.ErrTrustedAccountNotFound) {
149-
return err
150-
}
151-
_, err = collection.InsertOne(dbCtx, account)
152-
if err != nil {
153-
return err
154-
}
155-
logDbInteraction(Insert, account)
156-
return nil
157-
}
158-
159-
func (repo *lpMongoRepository) UpdateTrustedAccount(ctx context.Context, account liquidity_provider.TrustedAccountDetails) error {
160-
dbCtx, cancel := context.WithTimeout(ctx, repo.conn.timeout)
161-
defer cancel()
162-
collection := repo.conn.Collection(TrustedAccountCollection)
163-
_, err := repo.GetTrustedAccount(ctx, account.Address)
164-
if err != nil && !errors.Is(err, liquidity_provider.ErrTrustedAccountNotFound) {
165-
return err
166-
}
167-
filter := bson.M{"address": account.Address}
168-
opts := options.Update().SetUpsert(true)
169-
update := bson.M{"$set": account}
170-
_, err = collection.UpdateOne(dbCtx, filter, update, opts)
171-
if err != nil {
172-
return err
173-
}
174-
logDbInteraction(Insert, account)
175-
return nil
176-
}
177-
178-
func (repo *lpMongoRepository) DeleteTrustedAccount(ctx context.Context, address string) error {
179-
dbCtx, cancel := context.WithTimeout(ctx, repo.conn.timeout)
180-
defer cancel()
181-
collection := repo.conn.Collection(TrustedAccountCollection)
182-
filter := bson.M{"address": address}
183-
result, err := collection.DeleteOne(dbCtx, filter)
184-
if err != nil {
185-
return err
186-
}
187-
if result.DeletedCount == 0 {
188-
return liquidity_provider.ErrTrustedAccountNotFound
189-
}
190-
logDbInteraction(Delete, filter)
191-
return nil
192-
}
193-
194103
func upsertConfigurationVerbose[C liquidity_provider.ConfigurationType](
195104
ctx context.Context,
196105
repo *lpMongoRepository,

0 commit comments

Comments
 (0)