forked from bpancost/sila
-
Notifications
You must be signed in to change notification settings - Fork 0
/
entity_link_business_member.go
66 lines (55 loc) · 2.39 KB
/
entity_link_business_member.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package sila
import "github.com/kappapay/silaclient/domain"
// Link a business member to the specified business.
// If the user handle is an admin of the business, a different user handle should be specified to link to the business (use "AsAdmin" methods).
// If the user handle is not an admin of the business, that handle will be linked.
func (client ClientImpl) LinkBusinessMember(userHandle string, businessHandle string) LinkBusinessMember {
return &LinkBusinessMemberMsg{
Header: client.generateHeader().setUserHandle(userHandle).setBusinessHandle(businessHandle),
}
}
type LinkBusinessMemberMsg struct {
Header *Header `json:"header"`
MemberHandle string `json:"member_handle,omitempty"`
Role string `json:"role"`
OwnershipStake float64 `json:"ownership_stake,omitempty"`
Description string `json:"description,omitempty"`
}
func (msg *LinkBusinessMemberMsg) SetAdminMemberAsAdmin(newMemberHandle string) LinkBusinessMember {
msg.MemberHandle = newMemberHandle
msg.Role = "administrator"
return msg
}
func (msg *LinkBusinessMemberMsg) SetAdminMember() LinkBusinessMember {
msg.Role = "administrator"
return msg
}
func (msg *LinkBusinessMemberMsg) SetControllingOfficerMemberAsAdmin(newMemberHandle string) LinkBusinessMember {
msg.MemberHandle = newMemberHandle
msg.Role = "controlling_officer"
return msg
}
func (msg *LinkBusinessMemberMsg) SetControllingOfficerMember() LinkBusinessMember {
msg.Role = "controlling_officer"
return msg
}
func (msg *LinkBusinessMemberMsg) SetBeneficialOwnerMemberAsAdmin(newMemberHandle string, ownershipStake float64) LinkBusinessMember {
msg.MemberHandle = newMemberHandle
msg.Role = "beneficial_owner"
msg.OwnershipStake = ownershipStake
return msg
}
func (msg *LinkBusinessMemberMsg) SetBeneficialOwnerMember(ownershipStake float64) LinkBusinessMember {
msg.Role = "beneficial_owner"
msg.OwnershipStake = ownershipStake
return msg
}
func (msg *LinkBusinessMemberMsg) SetMemberDescription(description string) LinkBusinessMember {
msg.Description = description
return msg
}
func (msg *LinkBusinessMemberMsg) Do(userWalletPrivateKey string, businessWalletPrivateKey string) (domain.LinkBusinessMemberResponse, error) {
var responseBody domain.LinkBusinessMemberResponse
err := instance.performCallWithUserAndBusinessAuth("/link_business_member", msg, &responseBody, userWalletPrivateKey, businessWalletPrivateKey)
return responseBody, err
}