@@ -65,10 +65,26 @@ impl ApiClient {
65
65
Ok ( request)
66
66
}
67
67
68
- pub async fn create_profile ( & self , name : String ) -> anyhow:: Result < ( ) > {
68
+ pub async fn create_profile (
69
+ & self ,
70
+ name : String ,
71
+ addresses : Option < Vec < String > > ,
72
+ max_payout : Option < u64 > ,
73
+ ) -> anyhow:: Result < ( ) > {
74
+ let policy = proto:: SpendingPolicy {
75
+ allowed_payout_addresses : addresses. unwrap_or_default ( ) ,
76
+ max_payout_sats : max_payout,
77
+ } ;
78
+ let spending_policy =
79
+ if policy. allowed_payout_addresses . is_empty ( ) && policy. max_payout_sats . is_none ( ) {
80
+ None
81
+ } else {
82
+ Some ( policy)
83
+ } ;
84
+
69
85
let request = tonic:: Request :: new ( proto:: CreateProfileRequest {
70
86
name,
71
- spending_policy : None ,
87
+ spending_policy,
72
88
} ) ;
73
89
let response = self
74
90
. connect ( )
@@ -84,23 +100,16 @@ impl ApiClient {
84
100
addresses : Option < Vec < String > > ,
85
101
max_payout : Option < u64 > ,
86
102
) -> anyhow:: Result < ( ) > {
87
- let spending_policy = match ( addresses, max_payout) {
88
- ( Some ( allowed_payout_addresses) , Some ( max_payout_sats) ) => {
89
- Some ( proto:: SpendingPolicy {
90
- allowed_payout_addresses,
91
- max_payout_sats : Some ( max_payout_sats) ,
92
- } )
93
- }
94
- ( Some ( allowed_payout_addresses) , None ) => Some ( proto:: SpendingPolicy {
95
- allowed_payout_addresses,
96
- max_payout_sats : None ,
97
- } ) ,
98
- ( None , Some ( max_payout_sats) ) => Some ( proto:: SpendingPolicy {
99
- allowed_payout_addresses : Vec :: new ( ) ,
100
- max_payout_sats : Some ( max_payout_sats) ,
101
- } ) ,
102
- ( None , None ) => None ,
103
+ let policy = proto:: SpendingPolicy {
104
+ allowed_payout_addresses : addresses. unwrap_or_default ( ) ,
105
+ max_payout_sats : max_payout,
103
106
} ;
107
+ let spending_policy =
108
+ if policy. allowed_payout_addresses . is_empty ( ) && policy. max_payout_sats . is_none ( ) {
109
+ None
110
+ } else {
111
+ Some ( policy)
112
+ } ;
104
113
105
114
let request = tonic:: Request :: new ( proto:: UpdateProfileRequest {
106
115
id,
0 commit comments