Feat: Simplify profile showcase preferences (#4854)
* Feat: simplify profile showcase preferences * Feat: remove old profile showcase preferences on save * Feat: add getters for showcase entries limits
This commit is contained in:
parent
5a54d703c7
commit
6522d52016
|
@ -11,8 +11,8 @@ var ErrorExceedMaxProfileShowcaseVerifiedTokensLimit = errors.New("exeed maximum
|
|||
var ErrorExceedMaxProfileShowcaseUnverifiedTokensLimit = errors.New("exeed maximum profile showcase unverified tokens limit")
|
||||
var ErrorExceedMaxProfileShowcaseSocialLinksLimit = errors.New("exeed maximum profile showcase communities limit")
|
||||
|
||||
const maxProfileShowcaseSocialLinksLimit = 20
|
||||
const maxProfileShowcaseOtherEntriesLimit = 100
|
||||
const MaxProfileShowcaseSocialLinksLimit = 20
|
||||
const MaxProfileShowcaseEntriesLimit = 100
|
||||
|
||||
type ProfileShowcaseVisibility int
|
||||
|
||||
|
@ -41,9 +41,6 @@ type ProfileShowcaseCommunityPreference struct {
|
|||
|
||||
type ProfileShowcaseAccountPreference struct {
|
||||
Address string `json:"address"`
|
||||
Name string `json:"name"`
|
||||
ColorID string `json:"colorId"`
|
||||
Emoji string `json:"emoji"`
|
||||
ShowcaseVisibility ProfileShowcaseVisibility `json:"showcaseVisibility"`
|
||||
Order int `json:"order"`
|
||||
}
|
||||
|
@ -52,8 +49,6 @@ type ProfileShowcaseCollectiblePreference struct {
|
|||
ContractAddress string `json:"contractAddress"`
|
||||
ChainID uint64 `json:"chainId"`
|
||||
TokenID string `json:"tokenId"`
|
||||
CommunityID string `json:"communityId"`
|
||||
AccountAddress string `json:"accountAddress"`
|
||||
ShowcaseVisibility ProfileShowcaseVisibility `json:"showcaseVisibility"`
|
||||
Order int `json:"order"`
|
||||
}
|
||||
|
@ -67,7 +62,6 @@ type ProfileShowcaseVerifiedTokenPreference struct {
|
|||
type ProfileShowcaseUnverifiedTokenPreference struct {
|
||||
ContractAddress string `json:"contractAddress"`
|
||||
ChainID uint64 `json:"chainId"`
|
||||
CommunityID string `json:"communityId"`
|
||||
ShowcaseVisibility ProfileShowcaseVisibility `json:"showcaseVisibility"`
|
||||
Order int `json:"order"`
|
||||
}
|
||||
|
@ -110,8 +104,6 @@ type ProfileShowcaseCollectible struct {
|
|||
ContractAddress string `json:"contractAddress"`
|
||||
ChainID uint64 `json:"chainId"`
|
||||
TokenID string `json:"tokenId"`
|
||||
CommunityID string `json:"communityId"`
|
||||
AccountAddress string `json:"accountAddress"`
|
||||
Order int `json:"order"`
|
||||
}
|
||||
|
||||
|
@ -123,7 +115,6 @@ type ProfileShowcaseVerifiedToken struct {
|
|||
type ProfileShowcaseUnverifiedToken struct {
|
||||
ContractAddress string `json:"contractAddress"`
|
||||
ChainID uint64 `json:"chainId"`
|
||||
CommunityID string `json:"communityId"`
|
||||
Order int `json:"order"`
|
||||
}
|
||||
|
||||
|
@ -144,22 +135,22 @@ type ProfileShowcase struct {
|
|||
}
|
||||
|
||||
func Validate(preferences *ProfileShowcasePreferences) error {
|
||||
if len(preferences.Communities) > maxProfileShowcaseOtherEntriesLimit {
|
||||
if len(preferences.Communities) > MaxProfileShowcaseEntriesLimit {
|
||||
return ErrorExceedMaxProfileShowcaseCommunitiesLimit
|
||||
}
|
||||
if len(preferences.Accounts) > maxProfileShowcaseOtherEntriesLimit {
|
||||
if len(preferences.Accounts) > MaxProfileShowcaseEntriesLimit {
|
||||
return ErrorExceedMaxProfileShowcaseAccountsLimit
|
||||
}
|
||||
if len(preferences.Collectibles) > maxProfileShowcaseOtherEntriesLimit {
|
||||
if len(preferences.Collectibles) > MaxProfileShowcaseEntriesLimit {
|
||||
return ErrorExceedMaxProfileShowcaseCollectiblesLimit
|
||||
}
|
||||
if len(preferences.VerifiedTokens) > maxProfileShowcaseOtherEntriesLimit {
|
||||
if len(preferences.VerifiedTokens) > MaxProfileShowcaseEntriesLimit {
|
||||
return ErrorExceedMaxProfileShowcaseVerifiedTokensLimit
|
||||
}
|
||||
if len(preferences.UnverifiedTokens) > maxProfileShowcaseOtherEntriesLimit {
|
||||
if len(preferences.UnverifiedTokens) > MaxProfileShowcaseEntriesLimit {
|
||||
return ErrorExceedMaxProfileShowcaseUnverifiedTokensLimit
|
||||
}
|
||||
if len(preferences.SocialLinks) > maxProfileShowcaseSocialLinksLimit {
|
||||
if len(preferences.SocialLinks) > MaxProfileShowcaseSocialLinksLimit {
|
||||
return ErrorExceedMaxProfileShowcaseSocialLinksLimit
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ import (
|
|||
eth_common "github.com/ethereum/go-ethereum/common"
|
||||
|
||||
"github.com/status-im/status-go/eth-node/crypto"
|
||||
"github.com/status-im/status-go/eth-node/types"
|
||||
"github.com/status-im/status-go/multiaccounts/accounts"
|
||||
"github.com/status-im/status-go/protocol/common"
|
||||
"github.com/status-im/status-go/protocol/communities"
|
||||
|
@ -143,11 +144,20 @@ func (m *Messenger) toProfileShowcaseAccountProto(preferences []*identity.Profil
|
|||
continue
|
||||
}
|
||||
|
||||
account, err := m.settings.GetAccountByAddress(types.HexToAddress(preference.Address))
|
||||
if err != nil {
|
||||
m.logger.Warn("failed to get account for profile entry ", zap.Error(err))
|
||||
}
|
||||
if account == nil {
|
||||
m.logger.Warn("can not find wallet account for profile entry ")
|
||||
continue
|
||||
}
|
||||
|
||||
entries = append(entries, &protobuf.ProfileShowcaseAccount{
|
||||
Address: preference.Address,
|
||||
Name: preference.Name,
|
||||
ColorId: preference.ColorID,
|
||||
Emoji: preference.Emoji,
|
||||
Name: account.Name,
|
||||
ColorId: string(account.ColorID),
|
||||
Emoji: account.Emoji,
|
||||
Order: uint32(preference.Order),
|
||||
})
|
||||
}
|
||||
|
@ -165,8 +175,6 @@ func (m *Messenger) toProfileShowcaseCollectibleProto(preferences []*identity.Pr
|
|||
ContractAddress: preference.ContractAddress,
|
||||
ChainId: preference.ChainID,
|
||||
TokenId: preference.TokenID,
|
||||
CommunityId: preference.CommunityID,
|
||||
AccountAddress: preference.AccountAddress,
|
||||
Order: uint32(preference.Order),
|
||||
})
|
||||
}
|
||||
|
@ -286,8 +294,6 @@ func (m *Messenger) fromProfileShowcaseCollectibleProto(messages []*protobuf.Pro
|
|||
ContractAddress: message.ContractAddress,
|
||||
ChainID: message.ChainId,
|
||||
TokenID: message.TokenId,
|
||||
CommunityID: message.CommunityId,
|
||||
AccountAddress: message.AccountAddress,
|
||||
Order: int(message.Order),
|
||||
}
|
||||
entries = append(entries, entry)
|
||||
|
@ -382,6 +388,14 @@ func (m *Messenger) GetProfileShowcaseAccountsByAddress(address string) ([]*iden
|
|||
return m.persistence.GetProfileShowcaseAccountsByAddress(address)
|
||||
}
|
||||
|
||||
func (m *Messenger) GetProfileShowcaseSocialLinksLimit() (int, error) {
|
||||
return identity.MaxProfileShowcaseSocialLinksLimit, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) GetProfileShowcaseEntriesLimit() (int, error) {
|
||||
return identity.MaxProfileShowcaseEntriesLimit, nil
|
||||
}
|
||||
|
||||
func (m *Messenger) EncryptProfileShowcaseEntriesWithContactPubKeys(entries *protobuf.ProfileShowcaseEntries, contacts []*Contact) (*protobuf.ProfileShowcaseEntriesEncrypted, error) {
|
||||
// Make AES key
|
||||
AESKey := make([]byte, 32)
|
||||
|
@ -632,15 +646,6 @@ func (m *Messenger) UpdateProfileShowcaseWalletAccount(account *accounts.Account
|
|||
return nil
|
||||
}
|
||||
|
||||
profileAccount.Name = account.Name
|
||||
profileAccount.ColorID = string(account.ColorID)
|
||||
profileAccount.Emoji = account.Emoji
|
||||
|
||||
err = m.persistence.SaveProfileShowcaseAccountPreference(profileAccount)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return m.DispatchProfileShowcase()
|
||||
}
|
||||
|
||||
|
|
|
@ -40,9 +40,6 @@ func ToProfileShowcaseCommunitiesPreferencesProto(preferences []*identity.Profil
|
|||
func FromProfileShowcaseAccountPreferenceProto(p *protobuf.ProfileShowcaseAccountPreference) *identity.ProfileShowcaseAccountPreference {
|
||||
return &identity.ProfileShowcaseAccountPreference{
|
||||
Address: p.GetAddress(),
|
||||
Name: p.GetName(),
|
||||
ColorID: p.GetColorId(),
|
||||
Emoji: p.GetEmoji(),
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibility(p.ShowcaseVisibility),
|
||||
Order: int(p.Order),
|
||||
}
|
||||
|
@ -59,9 +56,6 @@ func FromProfileShowcaseAccountsPreferencesProto(preferences []*protobuf.Profile
|
|||
func ToProfileShowcaseAccountPreferenceProto(p *identity.ProfileShowcaseAccountPreference) *protobuf.ProfileShowcaseAccountPreference {
|
||||
return &protobuf.ProfileShowcaseAccountPreference{
|
||||
Address: p.Address,
|
||||
Name: p.Name,
|
||||
ColorId: p.ColorID,
|
||||
Emoji: p.Emoji,
|
||||
ShowcaseVisibility: protobuf.ProfileShowcaseVisibility(p.ShowcaseVisibility),
|
||||
Order: uint32(p.Order),
|
||||
}
|
||||
|
@ -80,8 +74,6 @@ func FromProfileShowcaseCollectiblePreferenceProto(p *protobuf.ProfileShowcaseCo
|
|||
ContractAddress: p.GetContractAddress(),
|
||||
ChainID: p.GetChainId(),
|
||||
TokenID: p.GetTokenId(),
|
||||
CommunityID: p.GetCommunityId(),
|
||||
AccountAddress: p.GetAccountAddress(),
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibility(p.ShowcaseVisibility),
|
||||
Order: int(p.Order),
|
||||
}
|
||||
|
@ -100,8 +92,6 @@ func ToProfileShowcaseCollectiblePreferenceProto(p *identity.ProfileShowcaseColl
|
|||
ContractAddress: p.ContractAddress,
|
||||
ChainId: p.ChainID,
|
||||
TokenId: p.TokenID,
|
||||
CommunityId: p.CommunityID,
|
||||
AccountAddress: p.AccountAddress,
|
||||
ShowcaseVisibility: protobuf.ProfileShowcaseVisibility(p.ShowcaseVisibility),
|
||||
Order: uint32(p.Order),
|
||||
}
|
||||
|
@ -152,7 +142,6 @@ func FromProfileShowcaseUnverifiedTokenPreferenceProto(p *protobuf.ProfileShowca
|
|||
return &identity.ProfileShowcaseUnverifiedTokenPreference{
|
||||
ContractAddress: p.GetContractAddress(),
|
||||
ChainID: p.GetChainId(),
|
||||
CommunityID: p.GetCommunityId(),
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibility(p.ShowcaseVisibility),
|
||||
Order: int(p.Order),
|
||||
}
|
||||
|
@ -170,7 +159,6 @@ func ToProfileShowcaseUnverifiedTokenPreferenceProto(p *identity.ProfileShowcase
|
|||
return &protobuf.ProfileShowcaseUnverifiedTokenPreference{
|
||||
ContractAddress: p.ContractAddress,
|
||||
ChainId: p.ChainID,
|
||||
CommunityId: p.CommunityID,
|
||||
ShowcaseVisibility: protobuf.ProfileShowcaseVisibility(p.ShowcaseVisibility),
|
||||
Order: uint32(p.Order),
|
||||
}
|
||||
|
|
|
@ -256,9 +256,6 @@ func (s *TestMessengerProfileShowcase) TestSaveAndGetProfileShowcasePreferences(
|
|||
func (s *TestMessengerProfileShowcase) TestFailToSaveProfileShowcasePreferencesWithWrongVisibility() {
|
||||
accountEntry := &identity.ProfileShowcaseAccountPreference{
|
||||
Address: "0x0000000000000000000000000032433445133424",
|
||||
Name: "Status Account",
|
||||
ColorID: "blue",
|
||||
Emoji: ">:-]",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityIDVerifiedContacts,
|
||||
Order: 17,
|
||||
}
|
||||
|
@ -267,7 +264,6 @@ func (s *TestMessengerProfileShowcase) TestFailToSaveProfileShowcasePreferencesW
|
|||
ContractAddress: "0x12378534257568678487683576",
|
||||
ChainID: 11155111,
|
||||
TokenID: "12321389592999903",
|
||||
CommunityID: "0x01312357798976535",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityContacts,
|
||||
Order: 17,
|
||||
}
|
||||
|
@ -489,22 +485,14 @@ func (s *TestMessengerProfileShowcase) TestShareShowcasePreferences() {
|
|||
|
||||
s.Require().Len(profileShowcase.Accounts, 2)
|
||||
s.Require().Equal(profileShowcase.Accounts[0].Address, request.Accounts[0].Address)
|
||||
s.Require().Equal(profileShowcase.Accounts[0].Name, request.Accounts[0].Name)
|
||||
s.Require().Equal(profileShowcase.Accounts[0].ColorID, request.Accounts[0].ColorID)
|
||||
s.Require().Equal(profileShowcase.Accounts[0].Emoji, request.Accounts[0].Emoji)
|
||||
s.Require().Equal(profileShowcase.Accounts[0].Order, request.Accounts[0].Order)
|
||||
s.Require().Equal(profileShowcase.Accounts[1].Address, request.Accounts[1].Address)
|
||||
s.Require().Equal(profileShowcase.Accounts[1].Name, request.Accounts[1].Name)
|
||||
s.Require().Equal(profileShowcase.Accounts[1].ColorID, request.Accounts[1].ColorID)
|
||||
s.Require().Equal(profileShowcase.Accounts[1].Emoji, request.Accounts[1].Emoji)
|
||||
s.Require().Equal(profileShowcase.Accounts[1].Order, request.Accounts[1].Order)
|
||||
|
||||
s.Require().Len(profileShowcase.Collectibles, 1)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].TokenID, request.Collectibles[0].TokenID)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].ChainID, request.Collectibles[0].ChainID)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].ContractAddress, request.Collectibles[0].ContractAddress)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].AccountAddress, request.Collectibles[0].AccountAddress)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].CommunityID, request.Collectibles[0].CommunityID)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].Order, request.Collectibles[0].Order)
|
||||
|
||||
s.Require().Len(profileShowcase.VerifiedTokens, 1)
|
||||
|
@ -544,21 +532,14 @@ func (s *TestMessengerProfileShowcase) TestShareShowcasePreferences() {
|
|||
|
||||
s.Require().Len(profileShowcase.Accounts, 2)
|
||||
s.Require().Equal(profileShowcase.Accounts[0].Address, request.Accounts[0].Address)
|
||||
s.Require().Equal(profileShowcase.Accounts[0].Name, request.Accounts[0].Name)
|
||||
s.Require().Equal(profileShowcase.Accounts[0].ColorID, request.Accounts[0].ColorID)
|
||||
s.Require().Equal(profileShowcase.Accounts[0].Emoji, request.Accounts[0].Emoji)
|
||||
s.Require().Equal(profileShowcase.Accounts[0].Order, request.Accounts[0].Order)
|
||||
s.Require().Equal(profileShowcase.Accounts[1].Address, request.Accounts[1].Address)
|
||||
s.Require().Equal(profileShowcase.Accounts[1].Name, request.Accounts[1].Name)
|
||||
s.Require().Equal(profileShowcase.Accounts[1].ColorID, request.Accounts[1].ColorID)
|
||||
s.Require().Equal(profileShowcase.Accounts[1].Emoji, request.Accounts[1].Emoji)
|
||||
s.Require().Equal(profileShowcase.Accounts[1].Order, request.Accounts[1].Order)
|
||||
|
||||
s.Require().Len(profileShowcase.Collectibles, 1)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].ContractAddress, request.Collectibles[0].ContractAddress)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].ChainID, request.Collectibles[0].ChainID)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].TokenID, request.Collectibles[0].TokenID)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].CommunityID, request.Collectibles[0].CommunityID)
|
||||
s.Require().Equal(profileShowcase.Collectibles[0].Order, request.Collectibles[0].Order)
|
||||
|
||||
s.Require().Len(profileShowcase.VerifiedTokens, 2)
|
||||
|
|
|
@ -422,17 +422,11 @@ func DummyProfileShowcasePreferences(withCollectibles bool) *identity.ProfileSho
|
|||
Accounts: []*identity.ProfileShowcaseAccountPreference{
|
||||
{
|
||||
Address: "0x0000000000000000000000000033433445133423",
|
||||
Name: "Status Account",
|
||||
ColorID: "blue",
|
||||
Emoji: "-_-",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityEveryone,
|
||||
Order: 0,
|
||||
},
|
||||
{
|
||||
Address: "0x0000000000000000000000000032433445133424",
|
||||
Name: "Money Box",
|
||||
ColorID: "red",
|
||||
Emoji: ":o)",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityContacts,
|
||||
Order: 1,
|
||||
},
|
||||
|
@ -496,8 +490,6 @@ func DummyProfileShowcasePreferences(withCollectibles bool) *identity.ProfileSho
|
|||
ContractAddress: "0x12378534257568678487683576",
|
||||
ChainID: 1,
|
||||
TokenID: "12321389592999903",
|
||||
CommunityID: "0x01312357798976535",
|
||||
AccountAddress: "0x32433445133424",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityEveryone,
|
||||
Order: 0,
|
||||
},
|
||||
|
|
|
@ -126,6 +126,7 @@
|
|||
// 1708062699_activity_data.up.sql (82B)
|
||||
// 1708423707_applied_community_events.up.sql (201B)
|
||||
// 1708440786_profile_showcase_social_links.up.sql (906B)
|
||||
// 1709805967_simplify_profile_showcase_preferences.up.sql (701B)
|
||||
// README.md (554B)
|
||||
// doc.go (870B)
|
||||
|
||||
|
@ -2715,6 +2716,26 @@ func _1708440786_profile_showcase_social_linksUpSql() (*asset, error) {
|
|||
return a, nil
|
||||
}
|
||||
|
||||
var __1709805967_simplify_profile_showcase_preferencesUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\xcf\x41\xae\x82\x30\x14\x46\xe1\x39\xab\xe8\x3e\x18\xf1\x9e\xcc\x50\x0c\xc1\x71\x53\x6f\x7f\x62\xb5\xbd\x97\xb4\x45\xe3\xee\x9d\x38\x34\x80\xc1\x0d\x9c\x7c\xa7\xa8\x9a\xbe\xee\x54\x5f\xfd\x35\xb5\x1a\xa3\x0c\xce\x43\xa7\x8b\x3c\xc8\x24\x68\x43\x24\x13\xe7\xa4\xc7\x88\x01\x11\x4c\x48\x6a\xd7\xb5\x47\xf5\xdf\x36\xa7\xfd\x41\xb1\x09\x28\x37\x36\x48\xbc\x44\xed\xec\xd6\x0e\x82\x5c\x5d\x59\xcc\x57\x48\xbc\x07\x65\x77\xf6\x98\x13\x85\x30\xb1\xcb\xcf\x65\xd5\xaa\xde\x9b\xae\x8d\xb5\x11\x29\x2d\x19\x27\xbe\x23\xba\xc1\xc1\xea\x2c\x37\xf0\x5a\xe8\x17\x52\x12\xce\x86\xf2\x6f\xb6\x3f\xc6\x36\x3f\xaf\x20\xbe\x02\x00\x00\xff\xff\xf4\xeb\xf5\x93\xbd\x02\x00\x00")
|
||||
|
||||
func _1709805967_simplify_profile_showcase_preferencesUpSqlBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
__1709805967_simplify_profile_showcase_preferencesUpSql,
|
||||
"1709805967_simplify_profile_showcase_preferences.up.sql",
|
||||
)
|
||||
}
|
||||
|
||||
func _1709805967_simplify_profile_showcase_preferencesUpSql() (*asset, error) {
|
||||
bytes, err := _1709805967_simplify_profile_showcase_preferencesUpSqlBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "1709805967_simplify_profile_showcase_preferences.up.sql", size: 701, mode: os.FileMode(0644), modTime: time.Unix(1700000000, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0xdc, 0xce, 0x1d, 0x56, 0x57, 0xf4, 0xa5, 0xc8, 0x15, 0x89, 0x92, 0xbf, 0x57, 0x5a, 0xbc, 0x37, 0x9e, 0xf0, 0xe4, 0x7a, 0x2c, 0x19, 0xd0, 0x3e, 0xca, 0xd0, 0xab, 0x2d, 0x8f, 0xe3, 0x16}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _readmeMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x91\xc1\xce\xd3\x30\x10\x84\xef\x7e\x8a\x91\x7a\x01\xa9\x2a\x8f\xc0\x0d\x71\x82\x03\x48\x1c\xc9\x36\x9e\x36\x96\x1c\x6f\xf0\xae\x93\xe6\xed\x91\xa3\xc2\xdf\xff\x66\xed\xd8\x33\xdf\x78\x4f\xa7\x13\xbe\xea\x06\x57\x6c\x35\x39\x31\xa7\x7b\x15\x4f\x5a\xec\x73\x08\xbf\x08\x2d\x79\x7f\x4a\x43\x5b\x86\x17\xfd\x8c\x21\xea\x56\x5e\x47\x90\x4a\x14\x75\x48\xde\x64\x37\x2c\x6a\x96\xae\x99\x48\x05\xf6\x27\x77\x13\xad\x08\xae\x8a\x51\xe7\x25\xf3\xf1\xa9\x9f\xf9\x58\x58\x2c\xad\xbc\xe0\x8b\x56\xf0\x21\x5d\xeb\x4c\x95\xb3\xae\x84\x60\xd4\xdc\xe6\x82\x5d\x1b\x36\x6d\x39\x62\x92\xf5\xb8\x11\xdb\x92\xd3\x28\xce\xe0\x13\xe1\x72\xcd\x3c\x63\xd4\x65\x87\xae\xac\xe8\xc3\x28\x2e\x67\x44\x66\x3a\x21\x25\xa2\x72\xac\x14\x67\xbc\x84\x9f\x53\x32\x8c\x52\x70\x25\x56\xd6\xfd\x8d\x05\x37\xad\x30\x9d\x9f\xa6\x86\x0f\xcd\x58\x7f\xcf\x34\x93\x3b\xed\x90\x9f\xa4\x1f\xcf\x30\x85\x4d\x07\x58\xaf\x7f\x25\xc4\x9d\xf3\x72\x64\x84\xd0\x7f\xf9\x9b\x3a\x2d\x84\xef\x85\x48\x66\x8d\xd8\x88\x9b\x8c\x8c\x98\x5b\xf6\x74\x14\x4e\x33\x0d\xc9\xe0\x93\x38\xda\x12\xc5\x69\xbd\xe4\xf0\x2e\x7a\x78\x07\x1c\xfe\x13\x9f\x91\x29\x31\x95\x7b\x7f\x62\x59\x37\xb4\xe5\x5e\x25\xfe\x33\xee\xd5\x53\x71\xd6\xda\x3a\xd8\xcb\xde\x2e\xf8\xa1\x90\x55\x53\x0c\xc7\xaa\x0d\xe9\x76\x14\x29\x1c\x7b\x68\xdd\x2f\xe1\x6f\x00\x00\x00\xff\xff\x3c\x0a\xc2\xfe\x2a\x02\x00\x00")
|
||||
|
||||
func readmeMdBytes() ([]byte, error) {
|
||||
|
@ -2972,6 +2993,7 @@ var _bindata = map[string]func() (*asset, error){
|
|||
"1708062699_activity_data.up.sql": _1708062699_activity_dataUpSql,
|
||||
"1708423707_applied_community_events.up.sql": _1708423707_applied_community_eventsUpSql,
|
||||
"1708440786_profile_showcase_social_links.up.sql": _1708440786_profile_showcase_social_linksUpSql,
|
||||
"1709805967_simplify_profile_showcase_preferences.up.sql": _1709805967_simplify_profile_showcase_preferencesUpSql,
|
||||
"README.md": readmeMd,
|
||||
"doc.go": docGo,
|
||||
}
|
||||
|
@ -3148,6 +3170,7 @@ var _bintree = &bintree{nil, map[string]*bintree{
|
|||
"1708062699_activity_data.up.sql": {_1708062699_activity_dataUpSql, map[string]*bintree{}},
|
||||
"1708423707_applied_community_events.up.sql": {_1708423707_applied_community_eventsUpSql, map[string]*bintree{}},
|
||||
"1708440786_profile_showcase_social_links.up.sql": {_1708440786_profile_showcase_social_linksUpSql, map[string]*bintree{}},
|
||||
"1709805967_simplify_profile_showcase_preferences.up.sql": {_1709805967_simplify_profile_showcase_preferencesUpSql, map[string]*bintree{}},
|
||||
"README.md": {readmeMd, map[string]*bintree{}},
|
||||
"doc.go": {docGo, map[string]*bintree{}},
|
||||
}}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
ALTER TABLE profile_showcase_accounts_preferences DROP COLUMN name;
|
||||
ALTER TABLE profile_showcase_accounts_preferences DROP COLUMN color_id;
|
||||
ALTER TABLE profile_showcase_accounts_preferences DROP COLUMN emoji;
|
||||
|
||||
ALTER TABLE profile_showcase_collectibles_preferences DROP COLUMN community_id;
|
||||
ALTER TABLE profile_showcase_collectibles_preferences DROP COLUMN account_address;
|
||||
|
||||
ALTER TABLE profile_showcase_unverified_tokens_preferences DROP COLUMN community_id;
|
||||
|
||||
ALTER TABLE profile_showcase_collectibles_contacts DROP COLUMN community_id;
|
||||
ALTER TABLE profile_showcase_collectibles_contacts DROP COLUMN account_address;
|
||||
|
||||
ALTER TABLE profile_showcase_unverified_tokens_contacts DROP COLUMN community_id;
|
|
@ -15,23 +15,29 @@ const selectProfileShowcasePreferencesQuery = "SELECT clock FROM profile_showcas
|
|||
const upsertProfileShowcaseCommunityPreferenceQuery = "INSERT OR REPLACE INTO profile_showcase_communities_preferences(community_id, visibility, sort_order) VALUES (?, ?, ?)" // #nosec G101
|
||||
const selectProfileShowcaseCommunityPreferenceQuery = "SELECT community_id, visibility, sort_order FROM profile_showcase_communities_preferences" // #nosec G101
|
||||
const deleteProfileShowcaseCommunityPreferenceQuery = "DELETE FROM profile_showcase_communities_preferences WHERE community_id = ?" // #nosec G101
|
||||
const clearProfileShowcaseCommunitiyPreferencesQuery = "DELETE FROM profile_showcase_communities_preferences" // #nosec G101
|
||||
|
||||
const upsertProfileShowcaseAccountPreferenceQuery = "INSERT OR REPLACE INTO profile_showcase_accounts_preferences(address, name, color_id, emoji, visibility, sort_order) VALUES (?, ?, ?, ?, ?, ?)" // #nosec G101
|
||||
const selectProfileShowcaseAccountPreferenceQuery = "SELECT address, name, color_id, emoji, visibility, sort_order FROM profile_showcase_accounts_preferences" // #nosec G101
|
||||
const selectSpecifiedShowcaseAccountPreferenceQuery = "SELECT address, name, color_id, emoji, visibility, sort_order FROM profile_showcase_accounts_preferences WHERE address = ?" // #nosec G101
|
||||
const upsertProfileShowcaseAccountPreferenceQuery = "INSERT OR REPLACE INTO profile_showcase_accounts_preferences(address, visibility, sort_order) VALUES (?, ?, ?)" // #nosec G101
|
||||
const selectProfileShowcaseAccountPreferenceQuery = "SELECT address, visibility, sort_order FROM profile_showcase_accounts_preferences" // #nosec G101
|
||||
const selectSpecifiedShowcaseAccountPreferenceQuery = "SELECT address, visibility, sort_order FROM profile_showcase_accounts_preferences WHERE address = ?" // #nosec G101
|
||||
const deleteProfileShowcaseAccountPreferenceQuery = "DELETE FROM profile_showcase_accounts_preferences WHERE address = ?" // #nosec G101
|
||||
const clearProfileShowcaseAccountPreferencesQuery = "DELETE FROM profile_showcase_accounts_preferences" // #nosec G101
|
||||
|
||||
const upsertProfileShowcaseCollectiblePreferenceQuery = "INSERT OR REPLACE INTO profile_showcase_collectibles_preferences(contract_address, chain_id, token_id, community_id, account_address, visibility, sort_order) VALUES (?, ?, ?, ?, ?, ?, ?)" // #nosec G101
|
||||
const selectProfileShowcaseCollectiblePreferenceQuery = "SELECT contract_address, chain_id, token_id, community_id, account_address, visibility, sort_order FROM profile_showcase_collectibles_preferences" // #nosec G101
|
||||
const upsertProfileShowcaseCollectiblePreferenceQuery = "INSERT OR REPLACE INTO profile_showcase_collectibles_preferences(contract_address, chain_id, token_id, visibility, sort_order) VALUES (?, ?, ?, ?, ?)" // #nosec G101
|
||||
const selectProfileShowcaseCollectiblePreferenceQuery = "SELECT contract_address, chain_id, token_id, visibility, sort_order FROM profile_showcase_collectibles_preferences" // #nosec G101
|
||||
const clearProfileShowcaseCollectiblePreferencesQuery = "DELETE FROM profile_showcase_collectibles_preferences" // #nosec G101
|
||||
|
||||
const upsertProfileShowcaseVerifiedTokenPreferenceQuery = "INSERT OR REPLACE INTO profile_showcase_verified_tokens_preferences(symbol, visibility, sort_order) VALUES (?, ?, ?)" // #nosec G101
|
||||
const selectProfileShowcaseVerifiedTokenPreferenceQuery = "SELECT symbol, visibility, sort_order FROM profile_showcase_verified_tokens_preferences" // #nosec G101
|
||||
const clearProfileShowcaseVerifiedTokenPreferencesQuery = "DELETE FROM profile_showcase_verified_tokens_preferences" // #nosec G101
|
||||
|
||||
const upsertProfileShowcaseUnverifiedTokenPreferenceQuery = "INSERT OR REPLACE INTO profile_showcase_unverified_tokens_preferences(contract_address, chain_id, community_id, visibility, sort_order) VALUES (?, ?, ?, ?, ?)" // #nosec G101
|
||||
const selectProfileShowcaseUnverifiedTokenPreferenceQuery = "SELECT contract_address, chain_id, community_id, visibility, sort_order FROM profile_showcase_unverified_tokens_preferences" // #nosec G101
|
||||
const upsertProfileShowcaseUnverifiedTokenPreferenceQuery = "INSERT OR REPLACE INTO profile_showcase_unverified_tokens_preferences(contract_address, chain_id, visibility, sort_order) VALUES (?, ?, ?, ?)" // #nosec G101
|
||||
const selectProfileShowcaseUnverifiedTokenPreferenceQuery = "SELECT contract_address, chain_id, visibility, sort_order FROM profile_showcase_unverified_tokens_preferences" // #nosec G101
|
||||
const clearProfileShowcaseUnverifiedTokenPreferencesQuery = "DELETE FROM profile_showcase_unverified_tokens_preferences" // #nosec G101
|
||||
|
||||
const upsertProfileShowcaseSocialLinkPreferenceQuery = "INSERT OR REPLACE INTO profile_showcase_social_links_preferences(url, text, visibility, sort_order) VALUES (?, ?, ?, ?)" // #nosec G101
|
||||
const selectProfileShowcaseSocialLinkPreferenceQuery = "SELECT url, text, visibility, sort_order FROM profile_showcase_social_links_preferences" // #nosec G101
|
||||
const clearProfileShowcaseSocialLinkPreferencesQuery = "DELETE FROM profile_showcase_social_links_preferences" // #nosec G101
|
||||
|
||||
// Profile showcase for a contact
|
||||
|
||||
|
@ -43,16 +49,16 @@ const upsertContactProfileShowcaseAccountQuery = "INSERT OR REPLACE INTO profile
|
|||
const selectContactProfileShowcaseAccountQuery = "SELECT * FROM profile_showcase_accounts_contacts WHERE contact_id = ?" // #nosec G101
|
||||
const removeContactProfileShowcaseAccountQuery = "DELETE FROM profile_showcase_accounts_contacts WHERE contact_id = ?" // #nosec G101
|
||||
|
||||
const upsertContactProfileShowcaseCollectibleQuery = "INSERT OR REPLACE INTO profile_showcase_collectibles_contacts(contact_id, contract_address, chain_id, token_id, community_id, account_address, sort_order) VALUES (?, ?, ?, ?, ?, ?, ?)" // #nosec G101
|
||||
const selectContactProfileShowcaseCollectibleQuery = "SELECT contract_address, chain_id, token_id, community_id, account_address, sort_order FROM profile_showcase_collectibles_contacts WHERE contact_id = ?" // #nosec G101
|
||||
const upsertContactProfileShowcaseCollectibleQuery = "INSERT OR REPLACE INTO profile_showcase_collectibles_contacts(contact_id, contract_address, chain_id, token_id, sort_order) VALUES (?, ?, ?, ?, ?)" // #nosec G101
|
||||
const selectContactProfileShowcaseCollectibleQuery = "SELECT contract_address, chain_id, token_id, sort_order FROM profile_showcase_collectibles_contacts WHERE contact_id = ?" // #nosec G101
|
||||
const removeContactProfileShowcaseCollectibleQuery = "DELETE FROM profile_showcase_collectibles_contacts WHERE contact_id = ?" // #nosec G101
|
||||
|
||||
const upsertContactProfileShowcaseVerifiedTokenQuery = "INSERT OR REPLACE INTO profile_showcase_verified_tokens_contacts(contact_id, symbol, sort_order) VALUES (?, ?, ?)" // #nosec G101
|
||||
const selectContactProfileShowcaseVerifiedTokenQuery = "SELECT symbol, sort_order FROM profile_showcase_verified_tokens_contacts WHERE contact_id = ?" // #nosec G101
|
||||
const removeContactProfileShowcaseVerifiedTokenQuery = "DELETE FROM profile_showcase_verified_tokens_contacts WHERE contact_id = ?" // #nosec G101
|
||||
|
||||
const upsertContactProfileShowcaseUnverifiedTokenQuery = "INSERT OR REPLACE INTO profile_showcase_unverified_tokens_contacts(contact_id, contract_address, chain_id, community_id, sort_order) VALUES (?, ?, ?, ?, ?)" // #nosec G101
|
||||
const selectContactProfileShowcaseUnverifiedTokenQuery = "SELECT contract_address, chain_id, community_id, sort_order FROM profile_showcase_unverified_tokens_contacts WHERE contact_id = ?" // #nosec G101
|
||||
const upsertContactProfileShowcaseUnverifiedTokenQuery = "INSERT OR REPLACE INTO profile_showcase_unverified_tokens_contacts(contact_id, contract_address, chain_id, sort_order) VALUES (?, ?, ?, ?)" // #nosec G101
|
||||
const selectContactProfileShowcaseUnverifiedTokenQuery = "SELECT contract_address, chain_id, sort_order FROM profile_showcase_unverified_tokens_contacts WHERE contact_id = ?" // #nosec G101
|
||||
const removeContactProfileShowcaseUnverifiedTokenQuery = "DELETE FROM profile_showcase_unverified_tokens_contacts WHERE contact_id = ?" // #nosec G101
|
||||
|
||||
const upsertContactProfileShowcaseSocialLinkQuery = "INSERT OR REPLACE INTO profile_showcase_social_links_contacts(contact_id, url, text, sort_order) VALUES (?, ?, ?, ?)" // #nosec G101
|
||||
|
@ -120,12 +126,24 @@ func (db sqlitePersistence) getProfileShowcaseCommunitiesPreferences(tx *sql.Tx)
|
|||
return communities, nil
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) DeleteProfileShowcaseCommunityPreference(communityID string) (bool, error) {
|
||||
result, err := db.db.Exec(deleteProfileShowcaseCommunityPreferenceQuery, communityID)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
rows, err := result.RowsAffected()
|
||||
return rows > 0, err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) clearProfileShowcaseCommunityPreferences(tx *sql.Tx) error {
|
||||
_, err := tx.Exec(clearProfileShowcaseCommunitiyPreferencesQuery)
|
||||
return err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) saveProfileShowcaseAccountPreference(tx *sql.Tx, account *identity.ProfileShowcaseAccountPreference) error {
|
||||
_, err := tx.Exec(upsertProfileShowcaseAccountPreferenceQuery,
|
||||
account.Address,
|
||||
account.Name,
|
||||
account.ColorID,
|
||||
account.Emoji,
|
||||
account.ShowcaseVisibility,
|
||||
account.Order,
|
||||
)
|
||||
|
@ -143,9 +161,6 @@ func (db sqlitePersistence) processProfileShowcaseAccountPreferences(rows *sql.R
|
|||
|
||||
err := rows.Scan(
|
||||
&account.Address,
|
||||
&account.Name,
|
||||
&account.ColorID,
|
||||
&account.Emoji,
|
||||
&account.ShowcaseVisibility,
|
||||
&account.Order,
|
||||
)
|
||||
|
@ -193,14 +208,9 @@ func (db sqlitePersistence) DeleteProfileShowcaseAccountPreference(accountAddres
|
|||
return rows > 0, err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) DeleteProfileShowcaseCommunityPreference(communityID string) (bool, error) {
|
||||
result, err := db.db.Exec(deleteProfileShowcaseCommunityPreferenceQuery, communityID)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
rows, err := result.RowsAffected()
|
||||
return rows > 0, err
|
||||
func (db sqlitePersistence) clearProfileShowcaseAccountPreferences(tx *sql.Tx) error {
|
||||
_, err := tx.Exec(clearProfileShowcaseAccountPreferencesQuery)
|
||||
return err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) saveProfileShowcaseCollectiblePreference(tx *sql.Tx, collectible *identity.ProfileShowcaseCollectiblePreference) error {
|
||||
|
@ -208,8 +218,6 @@ func (db sqlitePersistence) saveProfileShowcaseCollectiblePreference(tx *sql.Tx,
|
|||
collectible.ContractAddress,
|
||||
collectible.ChainID,
|
||||
collectible.TokenID,
|
||||
collectible.CommunityID,
|
||||
collectible.AccountAddress,
|
||||
collectible.ShowcaseVisibility,
|
||||
collectible.Order,
|
||||
)
|
||||
|
@ -232,8 +240,6 @@ func (db sqlitePersistence) getProfileShowcaseCollectiblesPreferences(tx *sql.Tx
|
|||
&collectible.ContractAddress,
|
||||
&collectible.ChainID,
|
||||
&collectible.TokenID,
|
||||
&collectible.CommunityID,
|
||||
&collectible.AccountAddress,
|
||||
&collectible.ShowcaseVisibility,
|
||||
&collectible.Order,
|
||||
)
|
||||
|
@ -247,6 +253,11 @@ func (db sqlitePersistence) getProfileShowcaseCollectiblesPreferences(tx *sql.Tx
|
|||
return collectibles, nil
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) clearProfileShowcaseCollectiblePreferences(tx *sql.Tx) error {
|
||||
_, err := tx.Exec(clearProfileShowcaseCollectiblePreferencesQuery)
|
||||
return err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) saveProfileShowcaseVerifiedTokenPreference(tx *sql.Tx, token *identity.ProfileShowcaseVerifiedTokenPreference) error {
|
||||
_, err := tx.Exec(upsertProfileShowcaseVerifiedTokenPreferenceQuery,
|
||||
token.Symbol,
|
||||
|
@ -283,11 +294,15 @@ func (db sqlitePersistence) getProfileShowcaseVerifiedTokensPreferences(tx *sql.
|
|||
return tokens, nil
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) clearProfileShowcaseVerifiedTokenPreferences(tx *sql.Tx) error {
|
||||
_, err := tx.Exec(clearProfileShowcaseVerifiedTokenPreferencesQuery)
|
||||
return err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) saveProfileShowcaseUnverifiedTokenPreference(tx *sql.Tx, token *identity.ProfileShowcaseUnverifiedTokenPreference) error {
|
||||
_, err := tx.Exec(upsertProfileShowcaseUnverifiedTokenPreferenceQuery,
|
||||
token.ContractAddress,
|
||||
token.ChainID,
|
||||
token.CommunityID,
|
||||
token.ShowcaseVisibility,
|
||||
token.Order,
|
||||
)
|
||||
|
@ -309,7 +324,6 @@ func (db sqlitePersistence) getProfileShowcaseUnverifiedTokensPreferences(tx *sq
|
|||
err := rows.Scan(
|
||||
&token.ContractAddress,
|
||||
&token.ChainID,
|
||||
&token.CommunityID,
|
||||
&token.ShowcaseVisibility,
|
||||
&token.Order,
|
||||
)
|
||||
|
@ -323,6 +337,11 @@ func (db sqlitePersistence) getProfileShowcaseUnverifiedTokensPreferences(tx *sq
|
|||
return tokens, nil
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) clearProfileShowcaseUnverifiedTokenPreferences(tx *sql.Tx) error {
|
||||
_, err := tx.Exec(clearProfileShowcaseUnverifiedTokenPreferencesQuery)
|
||||
return err
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) saveProfileShowcaseSocialLinkPreference(tx *sql.Tx, link *identity.ProfileShowcaseSocialLinkPreference) error {
|
||||
_, err := tx.Exec(upsertProfileShowcaseSocialLinkPreferenceQuery,
|
||||
link.URL,
|
||||
|
@ -361,6 +380,11 @@ func (db sqlitePersistence) getProfileShowcaseSocialLinkPreferences(tx *sql.Tx)
|
|||
return links, nil
|
||||
}
|
||||
|
||||
func (db sqlitePersistence) clearProfileShowcaseSocialLinkPreferences(tx *sql.Tx) error {
|
||||
_, err := tx.Exec(clearProfileShowcaseSocialLinkPreferencesQuery)
|
||||
return err
|
||||
}
|
||||
|
||||
// Queries for the profile showcase for a contact
|
||||
func (db sqlitePersistence) saveProfileShowcaseCommunityContact(tx *sql.Tx, contactID string, community *identity.ProfileShowcaseCommunity) error {
|
||||
_, err := tx.Exec(upsertContactProfileShowcaseCommunityQuery,
|
||||
|
@ -424,7 +448,6 @@ func (db sqlitePersistence) processProfileShowcaseAccounts(rows *sql.Rows) (resu
|
|||
|
||||
for rows.Next() {
|
||||
account := &identity.ProfileShowcaseAccount{}
|
||||
|
||||
err = rows.Scan(&account.Address, &account.Name, &account.ColorID, &account.Emoji, &account.Order, &account.ContactID)
|
||||
if err != nil {
|
||||
return
|
||||
|
@ -466,8 +489,6 @@ func (db sqlitePersistence) saveProfileShowcaseCollectibleContact(tx *sql.Tx, co
|
|||
collectible.ContractAddress,
|
||||
collectible.ChainID,
|
||||
collectible.TokenID,
|
||||
collectible.CommunityID,
|
||||
collectible.AccountAddress,
|
||||
collectible.Order,
|
||||
)
|
||||
|
||||
|
@ -489,8 +510,6 @@ func (db sqlitePersistence) getProfileShowcaseCollectiblesContact(tx *sql.Tx, co
|
|||
&collectible.ContractAddress,
|
||||
&collectible.ChainID,
|
||||
&collectible.TokenID,
|
||||
&collectible.CommunityID,
|
||||
&collectible.AccountAddress,
|
||||
&collectible.Order)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -549,7 +568,6 @@ func (db sqlitePersistence) saveProfileShowcaseUnverifiedTokenContact(tx *sql.Tx
|
|||
contactID,
|
||||
token.ContractAddress,
|
||||
token.ChainID,
|
||||
token.CommunityID,
|
||||
token.Order,
|
||||
)
|
||||
|
||||
|
@ -570,7 +588,6 @@ func (db sqlitePersistence) getProfileShowcaseUnverifiedTokensContact(tx *sql.Tx
|
|||
err := rows.Scan(
|
||||
&token.ContractAddress,
|
||||
&token.ChainID,
|
||||
&token.CommunityID,
|
||||
&token.Order)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@ -645,7 +662,7 @@ func (db sqlitePersistence) SaveProfileShowcasePreferences(preferences *identity
|
|||
_ = tx.Rollback()
|
||||
}()
|
||||
|
||||
err = db.saveProfileShowcasePreferencesClock(tx, preferences.Clock)
|
||||
err = db.clearProfileShowcaseCommunityPreferences(tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -657,6 +674,11 @@ func (db sqlitePersistence) SaveProfileShowcasePreferences(preferences *identity
|
|||
}
|
||||
}
|
||||
|
||||
err = db.clearProfileShowcaseAccountPreferences(tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, account := range preferences.Accounts {
|
||||
err = db.saveProfileShowcaseAccountPreference(tx, account)
|
||||
if err != nil {
|
||||
|
@ -664,6 +686,11 @@ func (db sqlitePersistence) SaveProfileShowcasePreferences(preferences *identity
|
|||
}
|
||||
}
|
||||
|
||||
err = db.clearProfileShowcaseCollectiblePreferences(tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, collectible := range preferences.Collectibles {
|
||||
err = db.saveProfileShowcaseCollectiblePreference(tx, collectible)
|
||||
if err != nil {
|
||||
|
@ -671,6 +698,11 @@ func (db sqlitePersistence) SaveProfileShowcasePreferences(preferences *identity
|
|||
}
|
||||
}
|
||||
|
||||
err = db.clearProfileShowcaseVerifiedTokenPreferences(tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, token := range preferences.VerifiedTokens {
|
||||
err = db.saveProfileShowcaseVerifiedTokenPreference(tx, token)
|
||||
if err != nil {
|
||||
|
@ -678,6 +710,11 @@ func (db sqlitePersistence) SaveProfileShowcasePreferences(preferences *identity
|
|||
}
|
||||
}
|
||||
|
||||
err = db.clearProfileShowcaseUnverifiedTokenPreferences(tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, token := range preferences.UnverifiedTokens {
|
||||
err = db.saveProfileShowcaseUnverifiedTokenPreference(tx, token)
|
||||
if err != nil {
|
||||
|
@ -685,6 +722,11 @@ func (db sqlitePersistence) SaveProfileShowcasePreferences(preferences *identity
|
|||
}
|
||||
}
|
||||
|
||||
err = db.clearProfileShowcaseSocialLinkPreferences(tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, link := range preferences.SocialLinks {
|
||||
err = db.saveProfileShowcaseSocialLinkPreference(tx, link)
|
||||
if err != nil {
|
||||
|
@ -692,6 +734,11 @@ func (db sqlitePersistence) SaveProfileShowcasePreferences(preferences *identity
|
|||
}
|
||||
}
|
||||
|
||||
err = db.saveProfileShowcasePreferencesClock(tx, preferences.Clock)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package protocol
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/suite"
|
||||
|
@ -32,17 +33,11 @@ func (s *TestProfileShowcasePersistence) TestProfileShowcasePreferences() {
|
|||
Accounts: []*identity.ProfileShowcaseAccountPreference{
|
||||
&identity.ProfileShowcaseAccountPreference{
|
||||
Address: "0x0000000000000000000000000032433445133422",
|
||||
Name: "Status Account",
|
||||
ColorID: "blue",
|
||||
Emoji: "-_-",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityEveryone,
|
||||
Order: 0,
|
||||
},
|
||||
&identity.ProfileShowcaseAccountPreference{
|
||||
Address: "0x0000000000000000000000000032433445133424",
|
||||
Name: "Money Box",
|
||||
ColorID: "red",
|
||||
Emoji: ":o)",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityContacts,
|
||||
Order: 1,
|
||||
},
|
||||
|
@ -52,8 +47,6 @@ func (s *TestProfileShowcasePersistence) TestProfileShowcasePreferences() {
|
|||
ContractAddress: "0x12378534257568678487683576",
|
||||
ChainID: 11155111,
|
||||
TokenID: "123213895929994903",
|
||||
CommunityID: "0x01312357798976535",
|
||||
AccountAddress: "0x32433445133424",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityEveryone,
|
||||
Order: 0,
|
||||
},
|
||||
|
@ -79,14 +72,12 @@ func (s *TestProfileShowcasePersistence) TestProfileShowcasePreferences() {
|
|||
&identity.ProfileShowcaseUnverifiedTokenPreference{
|
||||
ContractAddress: "0x454525452023452",
|
||||
ChainID: 1,
|
||||
CommunityID: "0x32433445133424",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityEveryone,
|
||||
Order: 0,
|
||||
},
|
||||
&identity.ProfileShowcaseUnverifiedTokenPreference{
|
||||
ContractAddress: "0x12312323323233",
|
||||
ChainID: 11155111,
|
||||
CommunityID: "",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityContacts,
|
||||
Order: 1,
|
||||
},
|
||||
|
@ -118,36 +109,55 @@ func (s *TestProfileShowcasePersistence) TestProfileShowcasePreferences() {
|
|||
|
||||
preferencesBack, err := persistence.GetProfileShowcasePreferences()
|
||||
s.Require().NoError(err)
|
||||
s.Require().True(reflect.DeepEqual(preferences, preferencesBack))
|
||||
|
||||
s.Require().Equal(len(preferencesBack.Communities), len(preferences.Communities))
|
||||
for i := 0; i < len(preferences.Communities); i++ {
|
||||
s.Require().Equal(*preferences.Communities[i], *preferencesBack.Communities[i])
|
||||
newPreferences := &identity.ProfileShowcasePreferences{
|
||||
Communities: []*identity.ProfileShowcaseCommunityPreference{
|
||||
&identity.ProfileShowcaseCommunityPreference{
|
||||
CommunityID: "0x32433445133424",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityContacts,
|
||||
Order: 0,
|
||||
},
|
||||
},
|
||||
Accounts: []*identity.ProfileShowcaseAccountPreference{
|
||||
&identity.ProfileShowcaseAccountPreference{
|
||||
Address: "0x0000000000000000000000000032433445133422",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityContacts,
|
||||
Order: 0,
|
||||
},
|
||||
},
|
||||
Collectibles: []*identity.ProfileShowcaseCollectiblePreference{},
|
||||
VerifiedTokens: []*identity.ProfileShowcaseVerifiedTokenPreference{
|
||||
&identity.ProfileShowcaseVerifiedTokenPreference{
|
||||
Symbol: "ETH",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityContacts,
|
||||
Order: 1,
|
||||
},
|
||||
},
|
||||
UnverifiedTokens: []*identity.ProfileShowcaseUnverifiedTokenPreference{
|
||||
&identity.ProfileShowcaseUnverifiedTokenPreference{
|
||||
ContractAddress: "0x12312323323233",
|
||||
ChainID: 11155111,
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityEveryone,
|
||||
Order: 0,
|
||||
},
|
||||
},
|
||||
SocialLinks: []*identity.ProfileShowcaseSocialLinkPreference{
|
||||
&identity.ProfileShowcaseSocialLinkPreference{
|
||||
Text: identity.TwitterID,
|
||||
URL: "https://twitter.com/ethstatus",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityEveryone,
|
||||
Order: 1,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
s.Require().Equal(len(preferencesBack.Accounts), len(preferences.Accounts))
|
||||
for i := 0; i < len(preferences.Accounts); i++ {
|
||||
s.Require().Equal(*preferences.Accounts[i], *preferencesBack.Accounts[i])
|
||||
}
|
||||
err = persistence.SaveProfileShowcasePreferences(newPreferences)
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Require().Equal(len(preferencesBack.Collectibles), len(preferences.Collectibles))
|
||||
for i := 0; i < len(preferences.Collectibles); i++ {
|
||||
s.Require().Equal(*preferences.Collectibles[i], *preferencesBack.Collectibles[i])
|
||||
}
|
||||
|
||||
s.Require().Equal(len(preferencesBack.VerifiedTokens), len(preferences.VerifiedTokens))
|
||||
for i := 0; i < len(preferences.VerifiedTokens); i++ {
|
||||
s.Require().Equal(*preferences.VerifiedTokens[i], *preferencesBack.VerifiedTokens[i])
|
||||
}
|
||||
|
||||
s.Require().Equal(len(preferencesBack.UnverifiedTokens), len(preferences.UnverifiedTokens))
|
||||
for i := 0; i < len(preferences.UnverifiedTokens); i++ {
|
||||
s.Require().Equal(*preferences.UnverifiedTokens[i], *preferencesBack.UnverifiedTokens[i])
|
||||
}
|
||||
|
||||
s.Require().Equal(len(preferencesBack.SocialLinks), len(preferences.SocialLinks))
|
||||
for i := 0; i < len(preferences.SocialLinks); i++ {
|
||||
s.Require().Equal(*preferences.SocialLinks[i], *preferencesBack.SocialLinks[i])
|
||||
}
|
||||
preferencesBack, err = persistence.GetProfileShowcasePreferences()
|
||||
s.Require().NoError(err)
|
||||
s.Require().True(reflect.DeepEqual(newPreferences, preferencesBack))
|
||||
}
|
||||
|
||||
func (s *TestProfileShowcasePersistence) TestProfileShowcaseContacts() {
|
||||
|
@ -190,7 +200,6 @@ func (s *TestProfileShowcasePersistence) TestProfileShowcaseContacts() {
|
|||
ContractAddress: "0x12378534257568678487683576",
|
||||
ChainID: 1,
|
||||
TokenID: "123213895929994903",
|
||||
CommunityID: "0x01312357798976535",
|
||||
Order: 0,
|
||||
},
|
||||
},
|
||||
|
@ -212,13 +221,11 @@ func (s *TestProfileShowcasePersistence) TestProfileShowcaseContacts() {
|
|||
&identity.ProfileShowcaseUnverifiedToken{
|
||||
ContractAddress: "0x454525452023452",
|
||||
ChainID: 1,
|
||||
CommunityID: "",
|
||||
Order: 0,
|
||||
},
|
||||
&identity.ProfileShowcaseUnverifiedToken{
|
||||
ContractAddress: "0x12312323323233",
|
||||
ChainID: 11155111,
|
||||
CommunityID: "0x32433445133424",
|
||||
Order: 1,
|
||||
},
|
||||
},
|
||||
|
@ -255,7 +262,6 @@ func (s *TestProfileShowcasePersistence) TestProfileShowcaseContacts() {
|
|||
ContractAddress: "0x12378534257568678487683576",
|
||||
ChainID: 1,
|
||||
TokenID: "123213895929994903",
|
||||
CommunityID: "0x01312357798976535",
|
||||
Order: 1,
|
||||
},
|
||||
},
|
||||
|
@ -431,17 +437,11 @@ func (s *TestProfileShowcasePersistence) TestUpdateProfileShowcaseAccountOnWalle
|
|||
Accounts: []*identity.ProfileShowcaseAccountPreference{
|
||||
&identity.ProfileShowcaseAccountPreference{
|
||||
Address: deleteAccountAddress,
|
||||
Name: "Status Account",
|
||||
ColorID: "blue",
|
||||
Emoji: "-_-",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityEveryone,
|
||||
Order: 0,
|
||||
},
|
||||
&identity.ProfileShowcaseAccountPreference{
|
||||
Address: updateAccountAddress,
|
||||
Name: "Money Box",
|
||||
ColorID: "red",
|
||||
Emoji: ":o)",
|
||||
ShowcaseVisibility: identity.ProfileShowcaseVisibilityContacts,
|
||||
Order: 1,
|
||||
},
|
||||
|
@ -456,9 +456,6 @@ func (s *TestProfileShowcasePersistence) TestUpdateProfileShowcaseAccountOnWalle
|
|||
s.Require().NotNil(account)
|
||||
s.Require().Equal(*account, *preferences.Accounts[1])
|
||||
|
||||
account.Name = "Music Box"
|
||||
account.ColorID = "green"
|
||||
account.Emoji = ">:-]"
|
||||
account.ShowcaseVisibility = identity.ProfileShowcaseVisibilityIDVerifiedContacts
|
||||
account.Order = 7
|
||||
|
||||
|
|
|
@ -223,9 +223,11 @@ type ProfileShowcaseCollectible struct {
|
|||
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"`
|
||||
Order uint32 `protobuf:"varint,2,opt,name=order,proto3" json:"order,omitempty"`
|
||||
ContractAddress string `protobuf:"bytes,3,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"`
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
CommunityId string `protobuf:"bytes,4,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"`
|
||||
ChainId uint64 `protobuf:"varint,5,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
|
||||
TokenId string `protobuf:"bytes,6,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"`
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
AccountAddress string `protobuf:"bytes,7,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"`
|
||||
}
|
||||
|
||||
|
@ -283,6 +285,7 @@ func (x *ProfileShowcaseCollectible) GetContractAddress() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
func (x *ProfileShowcaseCollectible) GetCommunityId() string {
|
||||
if x != nil {
|
||||
return x.CommunityId
|
||||
|
@ -304,6 +307,7 @@ func (x *ProfileShowcaseCollectible) GetTokenId() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
func (x *ProfileShowcaseCollectible) GetAccountAddress() string {
|
||||
if x != nil {
|
||||
return x.AccountAddress
|
||||
|
@ -374,6 +378,7 @@ type ProfileShowcaseUnverifiedToken struct {
|
|||
ContractAddress string `protobuf:"bytes,1,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"`
|
||||
Order uint32 `protobuf:"varint,2,opt,name=order,proto3" json:"order,omitempty"`
|
||||
ChainId uint64 `protobuf:"varint,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
CommunityId string `protobuf:"bytes,4,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"`
|
||||
}
|
||||
|
||||
|
@ -430,6 +435,7 @@ func (x *ProfileShowcaseUnverifiedToken) GetChainId() uint64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
func (x *ProfileShowcaseUnverifiedToken) GetCommunityId() string {
|
||||
if x != nil {
|
||||
return x.CommunityId
|
||||
|
@ -774,8 +780,11 @@ type ProfileShowcaseAccountPreference struct {
|
|||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
ColorId string `protobuf:"bytes,3,opt,name=color_id,json=colorId,proto3" json:"color_id,omitempty"`
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
Emoji string `protobuf:"bytes,4,opt,name=emoji,proto3" json:"emoji,omitempty"`
|
||||
ShowcaseVisibility ProfileShowcaseVisibility `protobuf:"varint,5,opt,name=showcase_visibility,json=showcaseVisibility,proto3,enum=protobuf.ProfileShowcaseVisibility" json:"showcase_visibility,omitempty"`
|
||||
Order uint32 `protobuf:"varint,6,opt,name=order,proto3" json:"order,omitempty"`
|
||||
|
@ -820,6 +829,7 @@ func (x *ProfileShowcaseAccountPreference) GetAddress() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
func (x *ProfileShowcaseAccountPreference) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
|
@ -827,6 +837,7 @@ func (x *ProfileShowcaseAccountPreference) GetName() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
func (x *ProfileShowcaseAccountPreference) GetColorId() string {
|
||||
if x != nil {
|
||||
return x.ColorId
|
||||
|
@ -834,6 +845,7 @@ func (x *ProfileShowcaseAccountPreference) GetColorId() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
func (x *ProfileShowcaseAccountPreference) GetEmoji() string {
|
||||
if x != nil {
|
||||
return x.Emoji
|
||||
|
@ -863,7 +875,9 @@ type ProfileShowcaseCollectiblePreference struct {
|
|||
ContractAddress string `protobuf:"bytes,1,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"`
|
||||
ChainId uint64 `protobuf:"varint,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
|
||||
TokenId string `protobuf:"bytes,3,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"`
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
CommunityId string `protobuf:"bytes,4,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"`
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
AccountAddress string `protobuf:"bytes,5,opt,name=account_address,json=accountAddress,proto3" json:"account_address,omitempty"`
|
||||
ShowcaseVisibility ProfileShowcaseVisibility `protobuf:"varint,6,opt,name=showcase_visibility,json=showcaseVisibility,proto3,enum=protobuf.ProfileShowcaseVisibility" json:"showcase_visibility,omitempty"`
|
||||
Order uint32 `protobuf:"varint,7,opt,name=order,proto3" json:"order,omitempty"`
|
||||
|
@ -922,6 +936,7 @@ func (x *ProfileShowcaseCollectiblePreference) GetTokenId() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
func (x *ProfileShowcaseCollectiblePreference) GetCommunityId() string {
|
||||
if x != nil {
|
||||
return x.CommunityId
|
||||
|
@ -929,6 +944,7 @@ func (x *ProfileShowcaseCollectiblePreference) GetCommunityId() string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
func (x *ProfileShowcaseCollectiblePreference) GetAccountAddress() string {
|
||||
if x != nil {
|
||||
return x.AccountAddress
|
||||
|
@ -1020,6 +1036,7 @@ type ProfileShowcaseUnverifiedTokenPreference struct {
|
|||
|
||||
ContractAddress string `protobuf:"bytes,1,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"`
|
||||
ChainId uint64 `protobuf:"varint,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
CommunityId string `protobuf:"bytes,3,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"`
|
||||
ShowcaseVisibility ProfileShowcaseVisibility `protobuf:"varint,4,opt,name=showcase_visibility,json=showcaseVisibility,proto3,enum=protobuf.ProfileShowcaseVisibility" json:"showcase_visibility,omitempty"`
|
||||
Order uint32 `protobuf:"varint,5,opt,name=order,proto3" json:"order,omitempty"`
|
||||
|
@ -1071,6 +1088,7 @@ func (x *ProfileShowcaseUnverifiedTokenPreference) GetChainId() uint64 {
|
|||
return 0
|
||||
}
|
||||
|
||||
// Deprecated: Marked as deprecated in profile_showcase.proto.
|
||||
func (x *ProfileShowcaseUnverifiedTokenPreference) GetCommunityId() string {
|
||||
if x != nil {
|
||||
return x.CommunityId
|
||||
|
@ -1278,7 +1296,7 @@ var file_profile_showcase_proto_rawDesc = []byte{
|
|||
0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x49,
|
||||
0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xf5, 0x01,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xfd, 0x01,
|
||||
0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73,
|
||||
0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x03,
|
||||
0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x75,
|
||||
|
@ -1286,128 +1304,130 @@ var file_profile_showcase_proto_rawDesc = []byte{
|
|||
0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72,
|
||||
0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75,
|
||||
0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f,
|
||||
0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49,
|
||||
0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f,
|
||||
0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
|
||||
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64,
|
||||
0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4c, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
|
||||
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72,
|
||||
0x64, 0x65, 0x72, 0x22, 0x9f, 0x01, 0x0a, 0x1e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53,
|
||||
0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x55, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65,
|
||||
0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
|
||||
0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e,
|
||||
0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f,
|
||||
0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e,
|
||||
0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69,
|
||||
0x6e, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65,
|
||||
0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xd6,
|
||||
0x03, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61,
|
||||
0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6f, 0x6d,
|
||||
0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69,
|
||||
0x74, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12,
|
||||
0x3c, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x63, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x48, 0x0a,
|
||||
0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6f,
|
||||
0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
|
||||
0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x69, 0x66,
|
||||
0x69, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66,
|
||||
0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69,
|
||||
0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x11, 0x75, 0x6e, 0x76, 0x65,
|
||||
0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20,
|
||||
0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x55, 0x6e,
|
||||
0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x10, 0x75,
|
||||
0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12,
|
||||
0x46, 0x0a, 0x0c, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18,
|
||||
0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65,
|
||||
0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x69,
|
||||
0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0x77, 0x0a, 0x1f, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65,
|
||||
0x73, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e,
|
||||
0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79,
|
||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c,
|
||||
0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73,
|
||||
0x22, 0x88, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x72,
|
||||
0x79, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x63,
|
||||
0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68,
|
||||
0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68,
|
||||
0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69,
|
||||
0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64,
|
||||
0x12, 0x2b, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72,
|
||||
0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x61,
|
||||
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4c, 0x0a,
|
||||
0x1c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65,
|
||||
0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73,
|
||||
0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xa3, 0x01, 0x0a, 0x1e,
|
||||
0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x55,
|
||||
0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x29,
|
||||
0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65,
|
||||
0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64,
|
||||
0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12,
|
||||
0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x63, 0x6f,
|
||||
0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
|
||||
0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49,
|
||||
0x64, 0x22, 0x57, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xd6, 0x03, 0x0a, 0x16, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69,
|
||||
0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f,
|
||||
0x77, 0x63, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0b, 0x66, 0x6f,
|
||||
0x72, 0x45, 0x76, 0x65, 0x72, 0x79, 0x6f, 0x6e, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x66, 0x6f, 0x72,
|
||||
0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65,
|
||||
0x73, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x43,
|
||||
0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x18, 0x66, 0x6f, 0x72, 0x5f, 0x69,
|
||||
0x64, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61,
|
||||
0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x63, 0x72, 0x79,
|
||||
0x70, 0x74, 0x65, 0x64, 0x52, 0x15, 0x66, 0x6f, 0x72, 0x49, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66,
|
||||
0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x22,
|
||||
0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x43,
|
||||
0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
|
||||
0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e,
|
||||
0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x13, 0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73,
|
||||
0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73,
|
||||
0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73,
|
||||
0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6f,
|
||||
0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65,
|
||||
0x72, 0x22, 0xed, 0x01, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f,
|
||||
0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x66,
|
||||
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
|
||||
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x49, 0x64, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
|
||||
0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x12, 0x54, 0x0a, 0x13, 0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73,
|
||||
0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73,
|
||||
0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73,
|
||||
0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6f,
|
||||
0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65,
|
||||
0x72, 0x22, 0xbf, 0x02, 0x0a, 0x24, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f,
|
||||
0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65,
|
||||
0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64,
|
||||
0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69,
|
||||
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64,
|
||||
0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63,
|
||||
0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x27,
|
||||
0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
|
||||
0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x0b,
|
||||
0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x61,
|
||||
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
|
||||
0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x6f, 0x6c,
|
||||
0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
|
||||
0x74, 0x69, 0x62, 0x6c, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62,
|
||||
0x6c, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f,
|
||||
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53,
|
||||
0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54,
|
||||
0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f,
|
||||
0x6b, 0x65, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x11, 0x75, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69,
|
||||
0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x55, 0x6e, 0x76, 0x65, 0x72, 0x69,
|
||||
0x66, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x10, 0x75, 0x6e, 0x76, 0x65, 0x72,
|
||||
0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0c, 0x73,
|
||||
0x6f, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x53, 0x6f, 0x63, 0x69,
|
||||
0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69,
|
||||
0x6e, 0x6b, 0x73, 0x22, 0x77, 0x0a, 0x1f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68,
|
||||
0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x63,
|
||||
0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
|
||||
0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0c, 0x52, 0x10, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72,
|
||||
0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0e, 0x65, 0x6e,
|
||||
0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x88, 0x02, 0x0a,
|
||||
0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65,
|
||||
0x12, 0x43, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x72, 0x79, 0x6f, 0x6e, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73,
|
||||
0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x45, 0x76, 0x65,
|
||||
0x72, 0x79, 0x6f, 0x6e, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x6e,
|
||||
0x74, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68,
|
||||
0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x63,
|
||||
0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x61,
|
||||
0x63, 0x74, 0x73, 0x12, 0x62, 0x0a, 0x18, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x76, 0x65,
|
||||
0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64,
|
||||
0x52, 0x15, 0x66, 0x6f, 0x72, 0x49, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x43,
|
||||
0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x22, 0x50, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75,
|
||||
0x6e, 0x69, 0x74, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21,
|
||||
0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49,
|
||||
0x64, 0x12, 0x54, 0x0a, 0x13, 0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x76, 0x69,
|
||||
0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c,
|
||||
0x69, 0x74, 0x79, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73,
|
||||
0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xf9, 0x01,
|
||||
0x0a, 0x20, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73,
|
||||
0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
|
||||
0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6f,
|
||||
0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x12, 0x54, 0x0a,
|
||||
0x13, 0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69,
|
||||
0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f,
|
||||
0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52,
|
||||
0x12, 0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c,
|
||||
0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xc7, 0x02, 0x0a, 0x24, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6c,
|
||||
0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
|
||||
0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61,
|
||||
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a,
|
||||
0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
|
||||
0x07, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65,
|
||||
0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65,
|
||||
0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x63,
|
||||
0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x0f, 0x61, 0x63,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x54, 0x0a, 0x13, 0x73, 0x68, 0x6f, 0x77, 0x63,
|
||||
0x61, 0x73, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||
|
@ -1426,84 +1446,84 @@ var file_profile_showcase_proto_rawDesc = []byte{
|
|||
0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x63, 0x61,
|
||||
0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64,
|
||||
0x65, 0x72, 0x22, 0xff, 0x01, 0x0a, 0x28, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68,
|
||||
0x65, 0x72, 0x22, 0x83, 0x02, 0x0a, 0x28, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68,
|
||||
0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x55, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
|
||||
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12,
|
||||
0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72,
|
||||
0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68,
|
||||
0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68,
|
||||
0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69,
|
||||
0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d,
|
||||
0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x13, 0x73, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65,
|
||||
0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f,
|
||||
0x72, 0x64, 0x65, 0x72, 0x22, 0xb7, 0x01, 0x0a, 0x23, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69,
|
||||
0x6e, 0x6b, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03,
|
||||
0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65,
|
||||
0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x13, 0x73, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65,
|
||||
0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xb0,
|
||||
0x04, 0x0a, 0x1e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68,
|
||||
0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
|
||||
0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
|
||||
0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4e, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75,
|
||||
0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53,
|
||||
0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79,
|
||||
0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d,
|
||||
0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69,
|
||||
0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52,
|
||||
0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x13,
|
||||
0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c,
|
||||
0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x66, 0x65,
|
||||
0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12,
|
||||
0x52, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x73, 0x18,
|
||||
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65,
|
||||
0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65,
|
||||
0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62,
|
||||
0x6c, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f,
|
||||
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53,
|
||||
0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54,
|
||||
0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0e,
|
||||
0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x5f,
|
||||
0x0a, 0x11, 0x75, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b,
|
||||
0x65, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x12,
|
||||
0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69,
|
||||
0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xb7, 0x01, 0x0a, 0x23, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x53, 0x6f, 0x63, 0x69,
|
||||
0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
|
||||
0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
|
||||
0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x13,
|
||||
0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c,
|
||||
0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x55, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f,
|
||||
0x6b, 0x65, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x10, 0x75,
|
||||
0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12,
|
||||
0x50, 0x0a, 0x0c, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18,
|
||||
0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65,
|
||||
0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72,
|
||||
0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b,
|
||||
0x73, 0x2a, 0xcc, 0x01, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f,
|
||||
0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12,
|
||||
0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x43,
|
||||
0x41, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4e,
|
||||
0x4f, 0x5f, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x33, 0x0a, 0x2f, 0x50, 0x52, 0x4f, 0x46, 0x49,
|
||||
0x4c, 0x45, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x53, 0x49,
|
||||
0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x44, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45,
|
||||
0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, 0x53, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24,
|
||||
0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45,
|
||||
0x5f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x54,
|
||||
0x41, 0x43, 0x54, 0x53, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c,
|
||||
0x45, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x53, 0x49, 0x42,
|
||||
0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x52, 0x59, 0x4f, 0x4e, 0x45, 0x10, 0x03,
|
||||
0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x12,
|
||||
0x73, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69,
|
||||
0x74, 0x79, 0x22, 0xb0, 0x04, 0x0a, 0x1e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72,
|
||||
0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x4e, 0x0a, 0x0b, 0x63,
|
||||
0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75,
|
||||
0x6e, 0x69, 0x74, 0x79, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b,
|
||||
0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x61,
|
||||
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50,
|
||||
0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62,
|
||||
0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x50,
|
||||
0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
|
||||
0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x69, 0x66,
|
||||
0x69, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x30, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66,
|
||||
0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
|
||||
0x63, 0x65, 0x52, 0x0e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65,
|
||||
0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x11, 0x75, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
|
||||
0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x55, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69,
|
||||
0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
|
||||
0x65, 0x52, 0x10, 0x75, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x6b,
|
||||
0x65, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x0c, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x69,
|
||||
0x6e, 0x6b, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77,
|
||||
0x63, 0x61, 0x73, 0x65, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72,
|
||||
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c,
|
||||
0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x2a, 0xcc, 0x01, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x53, 0x68, 0x6f, 0x77, 0x63, 0x61, 0x73, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c,
|
||||
0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53,
|
||||
0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49,
|
||||
0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x5f, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x33, 0x0a, 0x2f, 0x50,
|
||||
0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x5f,
|
||||
0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x44, 0x56, 0x45, 0x52,
|
||||
0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, 0x53, 0x10, 0x01,
|
||||
0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x4f, 0x57,
|
||||
0x43, 0x41, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f,
|
||||
0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, 0x53, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52,
|
||||
0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x56,
|
||||
0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x52, 0x59, 0x4f,
|
||||
0x4e, 0x45, 0x10, 0x03, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
|
|
@ -23,10 +23,10 @@ message ProfileShowcaseCollectible {
|
|||
string uid = 1 [deprecated = true];
|
||||
uint32 order = 2;
|
||||
string contract_address = 3;
|
||||
string community_id = 4;
|
||||
string community_id = 4 [deprecated = true];
|
||||
uint64 chain_id = 5;
|
||||
string token_id = 6;
|
||||
string account_address = 7;
|
||||
string account_address = 7 [deprecated = true];
|
||||
}
|
||||
|
||||
message ProfileShowcaseVerifiedToken {
|
||||
|
@ -38,7 +38,7 @@ message ProfileShowcaseUnverifiedToken {
|
|||
string contract_address = 1;
|
||||
uint32 order = 2;
|
||||
uint64 chain_id = 3;
|
||||
string community_id = 4;
|
||||
string community_id = 4 [deprecated = true];
|
||||
}
|
||||
|
||||
message ProfileShowcaseSocialLink {
|
||||
|
@ -84,9 +84,9 @@ message ProfileShowcaseCommunityPreference {
|
|||
|
||||
message ProfileShowcaseAccountPreference {
|
||||
string address = 1;
|
||||
string name = 2;
|
||||
string color_id = 3;
|
||||
string emoji = 4;
|
||||
string name = 2 [deprecated = true];
|
||||
string color_id = 3 [deprecated = true];
|
||||
string emoji = 4 [deprecated = true];
|
||||
ProfileShowcaseVisibility showcase_visibility = 5;
|
||||
uint32 order = 6;
|
||||
}
|
||||
|
@ -95,8 +95,8 @@ message ProfileShowcaseCollectiblePreference {
|
|||
string contract_address = 1;
|
||||
uint64 chain_id = 2;
|
||||
string token_id = 3;
|
||||
string community_id = 4;
|
||||
string account_address = 5;
|
||||
string community_id = 4 [deprecated = true];
|
||||
string account_address = 5 [deprecated = true];
|
||||
ProfileShowcaseVisibility showcase_visibility = 6;
|
||||
uint32 order = 7;
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ message ProfileShowcaseVerifiedTokenPreference {
|
|||
message ProfileShowcaseUnverifiedTokenPreference {
|
||||
string contract_address = 1;
|
||||
uint64 chain_id = 2;
|
||||
string community_id = 3;
|
||||
string community_id = 3 [deprecated = true];
|
||||
ProfileShowcaseVisibility showcase_visibility = 4;
|
||||
uint32 order = 5;
|
||||
}
|
||||
|
|
|
@ -1706,6 +1706,16 @@ func (api *PublicAPI) GetProfileShowcaseAccountsByAddress(address string) ([]*id
|
|||
return api.service.messenger.GetProfileShowcaseAccountsByAddress(address)
|
||||
}
|
||||
|
||||
// Get profile showcase max social link entries count
|
||||
func (api *PublicAPI) GetProfileShowcaseSocialLinksLimit() (int, error) {
|
||||
return api.service.messenger.GetProfileShowcaseSocialLinksLimit()
|
||||
}
|
||||
|
||||
// Get profile showcase max entries count (excluding social links)
|
||||
func (api *PublicAPI) GetProfileShowcaseEntriesLimit() (int, error) {
|
||||
return api.service.messenger.GetProfileShowcaseEntriesLimit()
|
||||
}
|
||||
|
||||
// Returns response with AC notification when owner token is received
|
||||
func (api *PublicAPI) RegisterOwnerTokenReceivedNotification(communityID string) (*protocol.MessengerResponse, error) {
|
||||
return api.service.messenger.CreateResponseWithACNotification(communityID, protocol.ActivityCenterNotificationTypeOwnerTokenReceived, false, "")
|
||||
|
|
Loading…
Reference in New Issue