rf/removes account_info out of accounts [partial]

This commit is contained in:
itsscb 2023-10-20 01:46:15 +02:00
parent 54a7f6d183
commit 70bee293c8
46 changed files with 3654 additions and 2012 deletions

View File

@ -13,16 +13,8 @@ import (
type createAccountRequest struct { type createAccountRequest struct {
Passwordhash string `binding:"required" json:"passwordhash"` Passwordhash string `binding:"required" json:"passwordhash"`
PrivacyAccepted bool `json:"privacy_accepted"`
Firstname string `binding:"required" json:"firstname"`
Lastname string `binding:"required" json:"lastname"`
Birthday time.Time `binding:"required" json:"birthday"`
Email string `binding:"required" json:"email"` Email string `binding:"required" json:"email"`
Phone string `json:"phone"` SecretKey string `binding:"required" json:"secret_key"`
City string `binding:"required" json:"city"`
Zip string `binding:"required" json:"zip"`
Street string `binding:"required" json:"street"`
Country string `binding:"required" json:"country"`
} }
func (server *Server) createAccount(ctx *gin.Context) { func (server *Server) createAccount(ctx *gin.Context) {
@ -35,22 +27,10 @@ func (server *Server) createAccount(ctx *gin.Context) {
arg := db.CreateAccountTxParams{ arg := db.CreateAccountTxParams{
CreateAccountParams: db.CreateAccountParams{ CreateAccountParams: db.CreateAccountParams{
Passwordhash: req.Passwordhash, Passwordhash: req.Passwordhash,
PrivacyAccepted: sql.NullBool{
Valid: true,
Bool: req.PrivacyAccepted,
},
Firstname: req.Firstname,
Lastname: req.Lastname,
Birthday: req.Birthday,
Email: req.Email, Email: req.Email,
City: req.City, SecretKey: sql.NullString{
Zip: req.Zip, Valid: req.SecretKey != "",
Street: req.Street, String: req.SecretKey,
Country: req.Country,
Creator: req.Email,
Phone: sql.NullString{
Valid: req.Phone != "",
String: req.Phone,
}, },
}, },
AfterCreate: func(a db.Account) error { return nil }, AfterCreate: func(a db.Account) error { return nil },
@ -169,7 +149,7 @@ func (server *Server) updateAccountPrivacy(ctx *gin.Context) {
return return
} }
account, err = server.store.UpdateAccountPrivacyTx(ctx, db.UpdateAccountPrivacyTxParams{ account_info, err := server.store.UpdateAccountPrivacyTx(ctx, db.UpdateAccountPrivacyTxParams{
ID: req.ID, ID: req.ID,
Changer: account.Email, Changer: account.Email,
PrivacyAccepted: req.PrivacyAccepted, PrivacyAccepted: req.PrivacyAccepted,
@ -179,10 +159,10 @@ func (server *Server) updateAccountPrivacy(ctx *gin.Context) {
return return
} }
ctx.JSON(http.StatusOK, account) ctx.JSON(http.StatusOK, account_info)
} }
type updateAccountRequest struct { type updateAccountInfoRequest struct {
ID uint64 `binding:"required" json:"ID"` ID uint64 `binding:"required" json:"ID"`
NewPassword string `json:"new_password"` NewPassword string `json:"new_password"`
Firstname string `json:"firstname"` Firstname string `json:"firstname"`
@ -196,8 +176,8 @@ type updateAccountRequest struct {
Country string `json:"country"` Country string `json:"country"`
} }
func (server *Server) updateAccount(ctx *gin.Context) { func (server *Server) updateAccountInfo(ctx *gin.Context) {
var req updateAccountRequest var req updateAccountInfoRequest
if err := ctx.ShouldBindJSON(&req); err != nil { if err := ctx.ShouldBindJSON(&req); err != nil {
ctx.JSON(http.StatusBadRequest, errorResponse(err)) ctx.JSON(http.StatusBadRequest, errorResponse(err))
return return
@ -216,13 +196,9 @@ func (server *Server) updateAccount(ctx *gin.Context) {
return return
} }
arg := db.UpdateAccountTxParams{ arg := db.UpdateAccountInfoTxParams{
ID: req.ID, AccountID: req.ID,
Changer: account.Email, Changer: account.Email,
Passwordhash: sql.NullString{
String: req.NewPassword,
Valid: req.NewPassword != "",
},
Firstname: sql.NullString{ Firstname: sql.NullString{
String: req.Firstname, String: req.Firstname,
Valid: req.Firstname != "", Valid: req.Firstname != "",
@ -235,10 +211,6 @@ func (server *Server) updateAccount(ctx *gin.Context) {
Time: req.Birthday, Time: req.Birthday,
Valid: req.Birthday != time.Time{}, Valid: req.Birthday != time.Time{},
}, },
Email: sql.NullString{
String: req.Email,
Valid: req.Email != "",
},
City: sql.NullString{ City: sql.NullString{
String: req.City, String: req.City,
Valid: req.City != "", Valid: req.City != "",
@ -261,11 +233,11 @@ func (server *Server) updateAccount(ctx *gin.Context) {
}, },
} }
account, err = server.store.UpdateAccountTx(ctx, arg) account_info, err := server.store.UpdateAccountInfoTx(ctx, arg)
if err != nil { if err != nil {
ctx.JSON(http.StatusInternalServerError, errorResponse(err)) ctx.JSON(http.StatusInternalServerError, errorResponse(err))
return return
} }
ctx.JSON(http.StatusOK, account) ctx.JSON(http.StatusOK, account_info)
} }

View File

@ -2,6 +2,7 @@ package api
import ( import (
"bytes" "bytes"
"context"
"database/sql" "database/sql"
"encoding/json" "encoding/json"
"fmt" "fmt"
@ -73,17 +74,8 @@ func TestCreateAccountAPI(t *testing.T) {
name: "OK", name: "OK",
body: gin.H{ body: gin.H{
"passwordhash": account.Passwordhash, "passwordhash": account.Passwordhash,
"privacy_accepted": account.PrivacyAccepted.Bool,
"firstname": account.Firstname,
"lastname": account.Lastname,
"birthday": account.Birthday,
"email": account.Email, "email": account.Email,
"city": account.City, "secret_key": account.SecretKey,
"zip": account.Zip,
"street": account.Street,
"country": account.Country,
"phone": account.Phone.String,
"creator": account.Email,
}, },
setupAuth: func(t *testing.T, request *http.Request, tokenMaker token.Maker) { setupAuth: func(t *testing.T, request *http.Request, tokenMaker token.Maker) {
addAuthorization(t, request, tokenMaker, authorizationTypeBearer, account.ID, time.Minute) addAuthorization(t, request, tokenMaker, authorizationTypeBearer, account.ID, time.Minute)
@ -92,17 +84,8 @@ func TestCreateAccountAPI(t *testing.T) {
arg := db.CreateAccountTxParams{ arg := db.CreateAccountTxParams{
CreateAccountParams: db.CreateAccountParams{ CreateAccountParams: db.CreateAccountParams{
Passwordhash: account.Passwordhash, Passwordhash: account.Passwordhash,
PrivacyAccepted: account.PrivacyAccepted,
Firstname: account.Firstname,
Lastname: account.Lastname,
Birthday: account.Birthday,
Email: account.Email, Email: account.Email,
City: account.City, SecretKey: account.SecretKey,
Zip: account.Zip,
Street: account.Street,
Country: account.Country,
Phone: account.Phone,
Creator: account.Email,
}, },
AfterCreate: func(a db.Account) error { return nil }, AfterCreate: func(a db.Account) error { return nil },
} }
@ -170,18 +153,8 @@ func TestCreateAccountAPI(t *testing.T) {
name: "InternalServerError", name: "InternalServerError",
body: gin.H{ body: gin.H{
"passwordhash": account.Passwordhash, "passwordhash": account.Passwordhash,
"privacy_accepted": account.PrivacyAccepted.Bool,
"privacy_accepted_date": account.PrivacyAcceptedDate.Time,
"firstname": account.Firstname,
"lastname": account.Lastname,
"birthday": account.Birthday,
"email": account.Email, "email": account.Email,
"city": account.City, "secret_key": account.SecretKey.String,
"zip": account.Zip,
"street": account.Street,
"country": account.Country,
"phone": account.Phone.String,
"creator": account.Email,
}, },
setupAuth: func(t *testing.T, request *http.Request, tokenMaker token.Maker) { setupAuth: func(t *testing.T, request *http.Request, tokenMaker token.Maker) {
addAuthorization(t, request, tokenMaker, authorizationTypeBearer, account.ID, time.Minute) addAuthorization(t, request, tokenMaker, authorizationTypeBearer, account.ID, time.Minute)
@ -359,7 +332,7 @@ func TestGetAccountAPI(t *testing.T) {
} }
} }
func TestUpdateAccountTxAPI(t *testing.T) { func TestUpdateAccountInfoTxAPI(t *testing.T) {
account, _ := randomAccount() account, _ := randomAccount()
newLastname := util.RandomName() newLastname := util.RandomName()
@ -387,7 +360,7 @@ func TestUpdateAccountTxAPI(t *testing.T) {
// accountTemp.Passwordhash, err = util.HashPassword(newPassword) // accountTemp.Passwordhash, err = util.HashPassword(newPassword)
// require.NoError(t, err) // require.NoError(t, err)
// accountTemp.Changer = changer // accountTemp.Changer = changer
// arg := db.UpdateAccountTxParams{ // arg := db.UpdateAccountInfoTxParams{
// ID: account.ID, // ID: account.ID,
// Passwordhash: sql.NullString{ // Passwordhash: sql.NullString{
// Valid: true, // Valid: true,
@ -397,7 +370,7 @@ func TestUpdateAccountTxAPI(t *testing.T) {
// } // }
// store.EXPECT(). // store.EXPECT().
// UpdateAccountTx(gomock.Any(), gomock.Eq(arg)). // UpdateAccountInfoTx(gomock.Any(), gomock.Eq(arg)).
// Times(1). // Times(1).
// Return(accountTemp, nil) // Return(accountTemp, nil)
// }, // },
@ -421,8 +394,8 @@ func TestUpdateAccountTxAPI(t *testing.T) {
addAuthorization(t, request, tokenMaker, authorizationTypeBearer, account.ID, time.Minute) addAuthorization(t, request, tokenMaker, authorizationTypeBearer, account.ID, time.Minute)
}, },
buildStubs: func(store *mockdb.MockStore) { buildStubs: func(store *mockdb.MockStore) {
arg := db.UpdateAccountTxParams{ arg := db.UpdateAccountInfoTxParams{
ID: account.ID, AccountID: account.ID,
Lastname: sql.NullString{ Lastname: sql.NullString{
Valid: true, Valid: true,
String: newLastname, String: newLastname,
@ -436,7 +409,7 @@ func TestUpdateAccountTxAPI(t *testing.T) {
Return(account, nil) Return(account, nil)
store.EXPECT(). store.EXPECT().
UpdateAccountTx(gomock.Any(), gomock.Eq(arg)). UpdateAccountInfoTx(gomock.Any(), gomock.Eq(arg)).
Times(1). Times(1).
Return(account, nil) Return(account, nil)
}, },
@ -696,9 +669,6 @@ func TestUpdateAccountPrivacyTxAPI(t *testing.T) {
} }
account2 := account account2 := account
account2.PrivacyAccepted.Valid = true
account2.PrivacyAccepted.Bool = true
account2.Changer = account.Email
store.EXPECT(). store.EXPECT().
GetAccount(gomock.Any(), gomock.Eq(account.ID)). GetAccount(gomock.Any(), gomock.Eq(account.ID)).
@ -720,9 +690,6 @@ func TestUpdateAccountPrivacyTxAPI(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, account.ID, getAccount.ID) require.Equal(t, account.ID, getAccount.ID)
require.Equal(t, true, getAccount.PrivacyAccepted.Bool)
require.Equal(t, true, getAccount.PrivacyAccepted.Valid)
require.WithinDuration(t, timestamp, getAccount.PrivacyAcceptedDate.Time, time.Second)
}, },
}, },
{ {
@ -744,9 +711,6 @@ func TestUpdateAccountPrivacyTxAPI(t *testing.T) {
} }
account2 := account account2 := account
account2.PrivacyAccepted.Valid = true
account2.PrivacyAccepted.Bool = true
account2.Changer = account.Email
store.EXPECT(). store.EXPECT().
GetAccount(gomock.Any(), gomock.Eq(account.ID)). GetAccount(gomock.Any(), gomock.Eq(account.ID)).
@ -768,9 +732,6 @@ func TestUpdateAccountPrivacyTxAPI(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, account.ID, getAccount.ID) require.Equal(t, account.ID, getAccount.ID)
require.Equal(t, true, getAccount.PrivacyAccepted.Bool)
require.Equal(t, true, getAccount.PrivacyAccepted.Valid)
require.WithinDuration(t, timestamp, getAccount.PrivacyAcceptedDate.Time, time.Second)
}, },
}, },
{ {
@ -792,11 +753,6 @@ func TestUpdateAccountPrivacyTxAPI(t *testing.T) {
} }
account2 := account account2 := account
account2.PrivacyAccepted.Valid = true
account2.PrivacyAccepted.Bool = false
account2.PrivacyAcceptedDate.Valid = true
account2.PrivacyAcceptedDate.Time = time.Time{}
account2.Changer = account.Email
store.EXPECT(). store.EXPECT().
GetAccount(gomock.Any(), gomock.Eq(account.ID)). GetAccount(gomock.Any(), gomock.Eq(account.ID)).
@ -818,9 +774,6 @@ func TestUpdateAccountPrivacyTxAPI(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, account.ID, getAccount.ID) require.Equal(t, account.ID, getAccount.ID)
require.Equal(t, false, getAccount.PrivacyAccepted.Bool)
require.Equal(t, true, getAccount.PrivacyAccepted.Valid)
require.Equal(t, time.Time{}, getAccount.PrivacyAcceptedDate.Time)
}, },
}, { }, {
@ -885,9 +838,28 @@ func randomAccount() (db.Account, string) {
acc := db.Account{ acc := db.Account{
ID: util.RandomInt(1, 1000), ID: util.RandomInt(1, 1000),
Passwordhash: hashedPassword, Passwordhash: hashedPassword,
Email: email,
SecretKey: sql.NullString{
String: util.RandomString(100),
Valid: true,
},
}
return acc, password
}
func createRandomAccountInfo(t *testing.T) db.AccountInfo {
creator := util.RandomName()
arg := db.CreateAccountInfoParams{
Firstname: util.RandomName(), Firstname: util.RandomName(),
Lastname: util.RandomName(), Lastname: util.RandomName(),
Email: email, Birthday: time.Date(1990, 1, 1, 0, 0, 0, 0, time.UTC),
Phone: sql.NullString{
Valid: true,
String: util.RandomPhone(),
},
PrivacyAccepted: sql.NullBool{ PrivacyAccepted: sql.NullBool{
Valid: true, Valid: true,
Bool: true, Bool: true,
@ -896,22 +868,32 @@ func randomAccount() (db.Account, string) {
Valid: true, Valid: true,
Time: timestamp, Time: timestamp,
}, },
Phone: sql.NullString{ City: util.RandomString(15),
String: util.RandomPhone(), Zip: util.RandomString(5),
Valid: true, Street: util.RandomString(20),
}, Country: util.RandomString(15),
Zip: util.RandomName(), Creator: creator,
Street: util.RandomName(),
City: util.RandomName(),
Country: util.RandomName(),
Creator: email,
Changer: email,
Created: time.Date(1990, 1, 1, 0, 0, 0, 0, time.UTC),
Changed: time.Date(1990, 1, 1, 0, 0, 0, 0, time.UTC),
Birthday: time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC),
} }
return acc, password account_info, err := testQueries.CreateAccountInfo(context.Background(), arg)
require.NoError(t, err)
require.NotEmpty(t, account_info)
require.Equal(t, arg.Firstname, account_info.Firstname)
require.Equal(t, arg.Lastname, account_info.Lastname)
require.Equal(t, arg.Birthday, account_info.Birthday)
require.Equal(t, arg.Phone, account_info.Phone)
require.Equal(t, arg.City, account_info.City)
require.Equal(t, arg.Zip, account_info.Zip)
require.Equal(t, arg.Street, account_info.Street)
require.Equal(t, arg.Country, account_info.Country)
require.Equal(t, arg.Creator, account_info.Creator)
require.Equal(t, arg.Creator, account_info.Changer)
require.NotZero(t, account_info.ID)
require.NotZero(t, account_info.Created)
return account_info
} }
func requireBodyMatchAccount(t *testing.T, body *bytes.Buffer, account db.Account) { func requireBodyMatchAccount(t *testing.T, body *bytes.Buffer, account db.Account) {
@ -921,17 +903,9 @@ func requireBodyMatchAccount(t *testing.T, body *bytes.Buffer, account db.Accoun
var getAccount db.Account var getAccount db.Account
err = json.Unmarshal(data, &getAccount) err = json.Unmarshal(data, &getAccount)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, account.Firstname, getAccount.Firstname)
require.Equal(t, account.Lastname, getAccount.Lastname)
require.Equal(t, account.Passwordhash, getAccount.Passwordhash) require.Equal(t, account.Passwordhash, getAccount.Passwordhash)
require.Equal(t, account.Email, getAccount.Email) require.Equal(t, account.Email, getAccount.Email)
require.Equal(t, account.Phone, getAccount.Phone) require.Equal(t, account.SecretKey, getAccount.SecretKey)
require.Equal(t, account.City, getAccount.City)
require.Equal(t, account.Street, getAccount.Street)
require.Equal(t, account.Country, getAccount.Country)
require.Equal(t, account.Zip, getAccount.Zip)
require.Equal(t, account.Email, getAccount.Creator)
require.Equal(t, account.PrivacyAccepted, getAccount.PrivacyAccepted)
// require.WithinDuration(t, account.PrivacyAcceptedDate.Time, getAccount.PrivacyAcceptedDate.Time, time.Minute) // require.WithinDuration(t, account.PrivacyAcceptedDate.Time, getAccount.PrivacyAcceptedDate.Time, time.Minute)
} }
@ -947,17 +921,9 @@ func requireBodyMatchAccounts(t *testing.T, body *bytes.Buffer, accounts []db.Ac
a := accounts[i] a := accounts[i]
b := gotAccounts[i] b := gotAccounts[i]
require.Equal(t, a.Firstname, b.Firstname)
require.Equal(t, a.Lastname, b.Lastname)
require.Equal(t, a.Passwordhash, b.Passwordhash) require.Equal(t, a.Passwordhash, b.Passwordhash)
require.Equal(t, a.Email, b.Email) require.Equal(t, a.Email, b.Email)
require.Equal(t, a.Phone, b.Phone) require.Equal(t, a.SecretKey, b.SecretKey)
require.Equal(t, a.City, b.City)
require.Equal(t, a.Street, b.Street)
require.Equal(t, a.Country, b.Country)
require.Equal(t, a.Zip, b.Zip)
require.Equal(t, a.Creator, b.Creator)
require.Equal(t, a.PrivacyAccepted, b.PrivacyAccepted)
} }
// require.Equal(t, accounts, gotAccounts) // require.Equal(t, accounts, gotAccounts)

View File

@ -65,8 +65,8 @@ func NewServer(config util.Config, store db.Store, swaggerFS http.FileSystem) (*
router.POST("/accounts", server.createAccount) router.POST("/accounts", server.createAccount)
authRoutes := router.Group("/").Use(authMiddleware(server.tokenMaker)) authRoutes := router.Group("/").Use(authMiddleware(server.tokenMaker))
authRoutes.PUT("/accounts", server.updateAccount) authRoutes.PUT("/account", server.updateAccountInfo)
authRoutes.PUT("/accounts/privacy", server.updateAccountPrivacy) authRoutes.PUT("/account/privacy", server.updateAccountPrivacy)
authRoutes.GET("/accounts/:id", server.getAccount) authRoutes.GET("/accounts/:id", server.getAccount)
authRoutes.GET("/accounts", server.listAccounts) authRoutes.GET("/accounts", server.listAccounts)
authRoutes.POST("/sessions", server.blockSession) authRoutes.POST("/sessions", server.blockSession)

View File

@ -6,7 +6,7 @@ DROP TABLE IF EXISTS "mails";
DROP TABLE IF EXISTS "persons"; DROP TABLE IF EXISTS "persons";
DROP TABLE IF EXISTS "providers"; DROP TABLE IF EXISTS "providers";
DROP TABLE IF EXISTS "sessions"; DROP TABLE IF EXISTS "sessions";
DROP TABLE IF EXISTS "accounts_data"; DROP TABLE IF EXISTS "account_info";
DROP TABLE IF EXISTS "accounts"; DROP TABLE IF EXISTS "accounts";

View File

@ -22,9 +22,8 @@ CREATE TABLE "accounts" (
"email_verified_time" timestamptz "email_verified_time" timestamptz
); );
CREATE TABLE "accounts_data" ( CREATE TABLE "account_info" (
"id" BIGSERIAL UNIQUE PRIMARY KEY NOT NULL, "account_id" BIGSERIAL UNIQUE PRIMARY KEY NOT NULL,
"account_id" bigint NOT NULL,
"firstname" varchar NOT NULL, "firstname" varchar NOT NULL,
"lastname" varchar NOT NULL, "lastname" varchar NOT NULL,
"birthday" timestamptz NOT NULL, "birthday" timestamptz NOT NULL,
@ -141,7 +140,7 @@ CREATE TABLE "returnsLog" (
); );
ALTER TABLE "accounts_data" ADD FOREIGN KEY ("account_id") REFERENCES "accounts" ("id"); ALTER TABLE "account_info" ADD FOREIGN KEY ("account_id") REFERENCES "accounts" ("id");
ALTER TABLE "sessions" ADD FOREIGN KEY ("account_id") REFERENCES "accounts" ("id"); ALTER TABLE "sessions" ADD FOREIGN KEY ("account_id") REFERENCES "accounts" ("id");

View File

@ -85,6 +85,21 @@ func (mr *MockStoreMockRecorder) CreateAccount(arg0, arg1 any) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccount", reflect.TypeOf((*MockStore)(nil).CreateAccount), arg0, arg1) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccount", reflect.TypeOf((*MockStore)(nil).CreateAccount), arg0, arg1)
} }
// CreateAccountInfo mocks base method.
func (m *MockStore) CreateAccountInfo(arg0 context.Context, arg1 db.CreateAccountInfoParams) (db.AccountInfo, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "CreateAccountInfo", arg0, arg1)
ret0, _ := ret[0].(db.AccountInfo)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// CreateAccountInfo indicates an expected call of CreateAccountInfo.
func (mr *MockStoreMockRecorder) CreateAccountInfo(arg0, arg1 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccountInfo", reflect.TypeOf((*MockStore)(nil).CreateAccountInfo), arg0, arg1)
}
// CreateAccountTx mocks base method. // CreateAccountTx mocks base method.
func (m *MockStore) CreateAccountTx(arg0 context.Context, arg1 db.CreateAccountTxParams) (db.Account, error) { func (m *MockStore) CreateAccountTx(arg0 context.Context, arg1 db.CreateAccountTxParams) (db.Account, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()
@ -295,6 +310,20 @@ func (mr *MockStoreMockRecorder) DeleteAccount(arg0, arg1 any) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccount", reflect.TypeOf((*MockStore)(nil).DeleteAccount), arg0, arg1) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccount", reflect.TypeOf((*MockStore)(nil).DeleteAccount), arg0, arg1)
} }
// DeleteAccountInfo mocks base method.
func (m *MockStore) DeleteAccountInfo(arg0 context.Context, arg1 uint64) error {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DeleteAccountInfo", arg0, arg1)
ret0, _ := ret[0].(error)
return ret0
}
// DeleteAccountInfo indicates an expected call of DeleteAccountInfo.
func (mr *MockStoreMockRecorder) DeleteAccountInfo(arg0, arg1 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccountInfo", reflect.TypeOf((*MockStore)(nil).DeleteAccountInfo), arg0, arg1)
}
// DeleteDocument mocks base method. // DeleteDocument mocks base method.
func (m *MockStore) DeleteDocument(arg0 context.Context, arg1 uint64) error { func (m *MockStore) DeleteDocument(arg0 context.Context, arg1 uint64) error {
m.ctrl.T.Helper() m.ctrl.T.Helper()
@ -494,19 +523,19 @@ func (mr *MockStoreMockRecorder) GetAccountByEmail(arg0, arg1 any) *gomock.Call
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccountByEmail", reflect.TypeOf((*MockStore)(nil).GetAccountByEmail), arg0, arg1) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccountByEmail", reflect.TypeOf((*MockStore)(nil).GetAccountByEmail), arg0, arg1)
} }
// GetAccountForUpdate mocks base method. // GetAccountInfo mocks base method.
func (m *MockStore) GetAccountForUpdate(arg0 context.Context, arg1 uint64) (db.Account, error) { func (m *MockStore) GetAccountInfo(arg0 context.Context, arg1 uint64) (db.AccountInfo, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "GetAccountForUpdate", arg0, arg1) ret := m.ctrl.Call(m, "GetAccountInfo", arg0, arg1)
ret0, _ := ret[0].(db.Account) ret0, _ := ret[0].(db.AccountInfo)
ret1, _ := ret[1].(error) ret1, _ := ret[1].(error)
return ret0, ret1 return ret0, ret1
} }
// GetAccountForUpdate indicates an expected call of GetAccountForUpdate. // GetAccountInfo indicates an expected call of GetAccountInfo.
func (mr *MockStoreMockRecorder) GetAccountForUpdate(arg0, arg1 any) *gomock.Call { func (mr *MockStoreMockRecorder) GetAccountInfo(arg0, arg1 any) *gomock.Call {
mr.mock.ctrl.T.Helper() mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccountForUpdate", reflect.TypeOf((*MockStore)(nil).GetAccountForUpdate), arg0, arg1) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccountInfo", reflect.TypeOf((*MockStore)(nil).GetAccountInfo), arg0, arg1)
} }
// GetDocument mocks base method. // GetDocument mocks base method.
@ -704,6 +733,21 @@ func (mr *MockStoreMockRecorder) InvalidateDocument(arg0, arg1 any) *gomock.Call
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InvalidateDocument", reflect.TypeOf((*MockStore)(nil).InvalidateDocument), arg0, arg1) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InvalidateDocument", reflect.TypeOf((*MockStore)(nil).InvalidateDocument), arg0, arg1)
} }
// ListAccountInfo mocks base method.
func (m *MockStore) ListAccountInfo(arg0 context.Context, arg1 db.ListAccountInfoParams) ([]db.AccountInfo, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "ListAccountInfo", arg0, arg1)
ret0, _ := ret[0].([]db.AccountInfo)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// ListAccountInfo indicates an expected call of ListAccountInfo.
func (mr *MockStoreMockRecorder) ListAccountInfo(arg0, arg1 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAccountInfo", reflect.TypeOf((*MockStore)(nil).ListAccountInfo), arg0, arg1)
}
// ListAccounts mocks base method. // ListAccounts mocks base method.
func (m *MockStore) ListAccounts(arg0 context.Context, arg1 db.ListAccountsParams) ([]db.Account, error) { func (m *MockStore) ListAccounts(arg0 context.Context, arg1 db.ListAccountsParams) ([]db.Account, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()
@ -854,26 +898,41 @@ func (mr *MockStoreMockRecorder) ListSessions(arg0, arg1 any) *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSessions", reflect.TypeOf((*MockStore)(nil).ListSessions), arg0, arg1) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSessions", reflect.TypeOf((*MockStore)(nil).ListSessions), arg0, arg1)
} }
// UpdateAccount mocks base method. // UpdateAccountInfo mocks base method.
func (m *MockStore) UpdateAccount(arg0 context.Context, arg1 db.UpdateAccountParams) (db.Account, error) { func (m *MockStore) UpdateAccountInfo(arg0 context.Context, arg1 db.UpdateAccountInfoParams) (db.AccountInfo, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "UpdateAccount", arg0, arg1) ret := m.ctrl.Call(m, "UpdateAccountInfo", arg0, arg1)
ret0, _ := ret[0].(db.Account) ret0, _ := ret[0].(db.AccountInfo)
ret1, _ := ret[1].(error) ret1, _ := ret[1].(error)
return ret0, ret1 return ret0, ret1
} }
// UpdateAccount indicates an expected call of UpdateAccount. // UpdateAccountInfo indicates an expected call of UpdateAccountInfo.
func (mr *MockStoreMockRecorder) UpdateAccount(arg0, arg1 any) *gomock.Call { func (mr *MockStoreMockRecorder) UpdateAccountInfo(arg0, arg1 any) *gomock.Call {
mr.mock.ctrl.T.Helper() mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccount", reflect.TypeOf((*MockStore)(nil).UpdateAccount), arg0, arg1) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccountInfo", reflect.TypeOf((*MockStore)(nil).UpdateAccountInfo), arg0, arg1)
}
// UpdateAccountInfoTx mocks base method.
func (m *MockStore) UpdateAccountInfoTx(arg0 context.Context, arg1 db.UpdateAccountInfoTxParams) (db.AccountInfo, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "UpdateAccountInfoTx", arg0, arg1)
ret0, _ := ret[0].(db.AccountInfo)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// UpdateAccountInfoTx indicates an expected call of UpdateAccountInfoTx.
func (mr *MockStoreMockRecorder) UpdateAccountInfoTx(arg0, arg1 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccountInfoTx", reflect.TypeOf((*MockStore)(nil).UpdateAccountInfoTx), arg0, arg1)
} }
// UpdateAccountPrivacy mocks base method. // UpdateAccountPrivacy mocks base method.
func (m *MockStore) UpdateAccountPrivacy(arg0 context.Context, arg1 db.UpdateAccountPrivacyParams) (db.Account, error) { func (m *MockStore) UpdateAccountPrivacy(arg0 context.Context, arg1 db.UpdateAccountPrivacyParams) (db.AccountInfo, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "UpdateAccountPrivacy", arg0, arg1) ret := m.ctrl.Call(m, "UpdateAccountPrivacy", arg0, arg1)
ret0, _ := ret[0].(db.Account) ret0, _ := ret[0].(db.AccountInfo)
ret1, _ := ret[1].(error) ret1, _ := ret[1].(error)
return ret0, ret1 return ret0, ret1
} }
@ -885,10 +944,10 @@ func (mr *MockStoreMockRecorder) UpdateAccountPrivacy(arg0, arg1 any) *gomock.Ca
} }
// UpdateAccountPrivacyTx mocks base method. // UpdateAccountPrivacyTx mocks base method.
func (m *MockStore) UpdateAccountPrivacyTx(arg0 context.Context, arg1 db.UpdateAccountPrivacyTxParams) (db.Account, error) { func (m *MockStore) UpdateAccountPrivacyTx(arg0 context.Context, arg1 db.UpdateAccountPrivacyTxParams) (db.AccountInfo, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "UpdateAccountPrivacyTx", arg0, arg1) ret := m.ctrl.Call(m, "UpdateAccountPrivacyTx", arg0, arg1)
ret0, _ := ret[0].(db.Account) ret0, _ := ret[0].(db.AccountInfo)
ret1, _ := ret[1].(error) ret1, _ := ret[1].(error)
return ret0, ret1 return ret0, ret1
} }
@ -899,21 +958,6 @@ func (mr *MockStoreMockRecorder) UpdateAccountPrivacyTx(arg0, arg1 any) *gomock.
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccountPrivacyTx", reflect.TypeOf((*MockStore)(nil).UpdateAccountPrivacyTx), arg0, arg1) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccountPrivacyTx", reflect.TypeOf((*MockStore)(nil).UpdateAccountPrivacyTx), arg0, arg1)
} }
// UpdateAccountTx mocks base method.
func (m *MockStore) UpdateAccountTx(arg0 context.Context, arg1 db.UpdateAccountTxParams) (db.Account, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "UpdateAccountTx", arg0, arg1)
ret0, _ := ret[0].(db.Account)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// UpdateAccountTx indicates an expected call of UpdateAccountTx.
func (mr *MockStoreMockRecorder) UpdateAccountTx(arg0, arg1 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccountTx", reflect.TypeOf((*MockStore)(nil).UpdateAccountTx), arg0, arg1)
}
// UpdateDocument mocks base method. // UpdateDocument mocks base method.
func (m *MockStore) UpdateDocument(arg0 context.Context, arg1 db.UpdateDocumentParams) (db.Document, error) { func (m *MockStore) UpdateDocument(arg0 context.Context, arg1 db.UpdateDocumentParams) (db.Document, error) {
m.ctrl.T.Helper() m.ctrl.T.Helper()

View File

@ -1,85 +1,30 @@
-- name: GetAccount :one -- name: GetAccount :one
SELECT * FROM accounts SELECT * FROM accounts
WHERE "id" = $1 LIMIT 1; WHERE "id" = sqlc.arg(id);
-- name: GetAccountByEmail :one -- name: GetAccountByEmail :one
SELECT * FROM accounts SELECT * FROM accounts
WHERE "email" = $1 LIMIT 1; WHERE "email" = sqlc.arg(email);
-- name: GetAccountForUpdate :one
SELECT * FROM accounts
WHERE "id" = $1 LIMIT 1
FOR NO KEY UPDATE;
-- name: CreateAccount :one -- name: CreateAccount :one
INSERT INTO accounts ( INSERT INTO accounts (
"passwordhash",
"privacy_accepted",
"privacy_accepted_date",
"firstname",
"lastname",
"birthday",
"email", "email",
"secret_key", "passwordhash",
"phone", "secret_key"
"city", )
"zip", VALUES (
"street",
"country",
"creator",
"changer"
) VALUES (
sqlc.arg(passwordhash),
sqlc.arg(privacy_accepted),
sqlc.arg(privacy_accepted_date),
sqlc.arg(firstname),
sqlc.arg(lastname),
sqlc.arg(birthday),
sqlc.arg(email), sqlc.arg(email),
sqlc.arg(secret_key), sqlc.arg(passwordhash),
sqlc.arg(phone), sqlc.arg(secret_key)
sqlc.arg(city), )
sqlc.arg(zip), RETURNING *;
sqlc.arg(street),
sqlc.arg(country),
sqlc.arg(creator),
sqlc.arg(creator)
) RETURNING *;
-- name: ListAccounts :many -- name: ListAccounts :many
SELECT * FROM accounts SELECT * FROM accounts
ORDER BY "lastname", "firstname" ORDER BY "email"
LIMIT $1 LIMIT $1
OFFSET $2; OFFSET $2;
-- name: UpdateAccount :one
UPDATE accounts
SET
"passwordhash" = COALESCE(sqlc.narg(passwordhash), "passwordhash"),
"firstname" = COALESCE(sqlc.narg(firstname), "firstname"),
"lastname" = COALESCE(sqlc.narg(lastname), "lastname"),
"birthday" = COALESCE(sqlc.narg(birthday), "birthday"),
"email" = COALESCE(sqlc.narg(email), "email"),
"phone" = COALESCE(sqlc.narg(phone), "phone"),
"city" = COALESCE(sqlc.narg(city), "city"),
"zip" = COALESCE(sqlc.narg(zip), "zip"),
"street" = COALESCE(sqlc.narg(street), "street"),
"country" = COALESCE(sqlc.narg(country), "country"),
"changer" = $2,
"changed" = now()
WHERE "id" = $1
RETURNING *;
-- name: UpdateAccountPrivacy :one
UPDATE accounts
SET
"privacy_accepted" = sqlc.arg(privacy_accepted),
"privacy_accepted_date" = sqlc.arg(privacy_accepted_date),
"changer" = sqlc.arg(changer),
"changed" = now()
WHERE "id" = sqlc.arg(id)
RETURNING *;
-- name: VerifyAccountEmail :exec -- name: VerifyAccountEmail :exec
UPDATE accounts UPDATE accounts
SET SET
@ -90,4 +35,4 @@ WHERE "id" = sqlc.arg(id);
-- name: DeleteAccount :exec -- name: DeleteAccount :exec
DELETE FROM accounts DELETE FROM accounts
WHERE "id" = $1; WHERE "id" = sqlc.arg(id);

View File

@ -0,0 +1,70 @@
-- name: GetAccountInfo :one
SELECT * FROM account_info
WHERE "account_id" = $1 LIMIT 1;
-- name: CreateAccountInfo :one
INSERT INTO account_info (
"account_id",
"privacy_accepted",
"privacy_accepted_date",
"firstname",
"lastname",
"birthday",
"phone",
"city",
"zip",
"street",
"country",
"creator",
"changer"
) VALUES (
sqlc.arg(account_id),
sqlc.arg(privacy_accepted),
sqlc.arg(privacy_accepted_date),
sqlc.arg(firstname),
sqlc.arg(lastname),
sqlc.arg(birthday),
sqlc.arg(phone),
sqlc.arg(city),
sqlc.arg(zip),
sqlc.arg(street),
sqlc.arg(country),
sqlc.arg(creator),
sqlc.arg(creator)
) RETURNING *;
-- name: ListAccountInfo :many
SELECT * FROM account_info
ORDER BY "lastname", "firstname"
LIMIT $1
OFFSET $2;
-- name: UpdateAccountInfo :one
UPDATE account_info
SET
"firstname" = COALESCE(sqlc.narg(firstname), "firstname"),
"lastname" = COALESCE(sqlc.narg(lastname), "lastname"),
"birthday" = COALESCE(sqlc.narg(birthday), "birthday"),
"phone" = COALESCE(sqlc.narg(phone), "phone"),
"city" = COALESCE(sqlc.narg(city), "city"),
"zip" = COALESCE(sqlc.narg(zip), "zip"),
"street" = COALESCE(sqlc.narg(street), "street"),
"country" = COALESCE(sqlc.narg(country), "country"),
"changer" = $2,
"changed" = now()
WHERE "account_id" = $1
RETURNING *;
-- name: UpdateAccountPrivacy :one
UPDATE account_info
SET
"privacy_accepted" = sqlc.arg(privacy_accepted),
"privacy_accepted_date" = sqlc.arg(privacy_accepted_date),
"changer" = sqlc.arg(changer),
"changed" = now()
WHERE "account_id" = sqlc.arg(id)
RETURNING *;
-- name: DeleteAccountInfo :exec
DELETE FROM account_info
WHERE "account_id" = $1;

View File

@ -8,102 +8,39 @@ package db
import ( import (
"context" "context"
"database/sql" "database/sql"
"time"
) )
const createAccount = `-- name: CreateAccount :one const createAccount = `-- name: CreateAccount :one
INSERT INTO accounts ( INSERT INTO accounts (
"passwordhash",
"privacy_accepted",
"privacy_accepted_date",
"firstname",
"lastname",
"birthday",
"email", "email",
"secret_key", "passwordhash",
"phone", "secret_key"
"city", )
"zip", VALUES (
"street",
"country",
"creator",
"changer"
) VALUES (
$1, $1,
$2, $2,
$3, $3
$4, )
$5, RETURNING id, permission_level, passwordhash, email, secret_key, email_verified, email_verified_time
$6,
$7,
$8,
$9,
$10,
$11,
$12,
$13,
$14,
$14
) RETURNING id, permission_level, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, secret_key, email_verified, email_verified_time, phone, city, zip, street, country, creator, created, changer, changed
` `
type CreateAccountParams struct { type CreateAccountParams struct {
Passwordhash string `json:"passwordhash"`
PrivacyAccepted sql.NullBool `json:"privacy_accepted"`
PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"`
Firstname string `json:"firstname"`
Lastname string `json:"lastname"`
Birthday time.Time `json:"birthday"`
Email string `json:"email"` Email string `json:"email"`
Passwordhash string `json:"passwordhash"`
SecretKey sql.NullString `json:"secret_key"` SecretKey sql.NullString `json:"secret_key"`
Phone sql.NullString `json:"phone"`
City string `json:"city"`
Zip string `json:"zip"`
Street string `json:"street"`
Country string `json:"country"`
Creator string `json:"creator"`
} }
func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error) { func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error) {
row := q.db.QueryRowContext(ctx, createAccount, row := q.db.QueryRowContext(ctx, createAccount, arg.Email, arg.Passwordhash, arg.SecretKey)
arg.Passwordhash,
arg.PrivacyAccepted,
arg.PrivacyAcceptedDate,
arg.Firstname,
arg.Lastname,
arg.Birthday,
arg.Email,
arg.SecretKey,
arg.Phone,
arg.City,
arg.Zip,
arg.Street,
arg.Country,
arg.Creator,
)
var i Account var i Account
err := row.Scan( err := row.Scan(
&i.ID, &i.ID,
&i.PermissionLevel, &i.PermissionLevel,
&i.Passwordhash, &i.Passwordhash,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Email, &i.Email,
&i.SecretKey, &i.SecretKey,
&i.EmailVerified, &i.EmailVerified,
&i.EmailVerifiedTime, &i.EmailVerifiedTime,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
) )
return i, err return i, err
} }
@ -119,8 +56,8 @@ func (q *Queries) DeleteAccount(ctx context.Context, id uint64) error {
} }
const getAccount = `-- name: GetAccount :one const getAccount = `-- name: GetAccount :one
SELECT id, permission_level, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, secret_key, email_verified, email_verified_time, phone, city, zip, street, country, creator, created, changer, changed FROM accounts SELECT id, permission_level, passwordhash, email, secret_key, email_verified, email_verified_time FROM accounts
WHERE "id" = $1 LIMIT 1 WHERE "id" = $1
` `
func (q *Queries) GetAccount(ctx context.Context, id uint64) (Account, error) { func (q *Queries) GetAccount(ctx context.Context, id uint64) (Account, error) {
@ -130,31 +67,17 @@ func (q *Queries) GetAccount(ctx context.Context, id uint64) (Account, error) {
&i.ID, &i.ID,
&i.PermissionLevel, &i.PermissionLevel,
&i.Passwordhash, &i.Passwordhash,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Email, &i.Email,
&i.SecretKey, &i.SecretKey,
&i.EmailVerified, &i.EmailVerified,
&i.EmailVerifiedTime, &i.EmailVerifiedTime,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
) )
return i, err return i, err
} }
const getAccountByEmail = `-- name: GetAccountByEmail :one const getAccountByEmail = `-- name: GetAccountByEmail :one
SELECT id, permission_level, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, secret_key, email_verified, email_verified_time, phone, city, zip, street, country, creator, created, changer, changed FROM accounts SELECT id, permission_level, passwordhash, email, secret_key, email_verified, email_verified_time FROM accounts
WHERE "email" = $1 LIMIT 1 WHERE "email" = $1
` `
func (q *Queries) GetAccountByEmail(ctx context.Context, email string) (Account, error) { func (q *Queries) GetAccountByEmail(ctx context.Context, email string) (Account, error) {
@ -164,66 +87,17 @@ func (q *Queries) GetAccountByEmail(ctx context.Context, email string) (Account,
&i.ID, &i.ID,
&i.PermissionLevel, &i.PermissionLevel,
&i.Passwordhash, &i.Passwordhash,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Email, &i.Email,
&i.SecretKey, &i.SecretKey,
&i.EmailVerified, &i.EmailVerified,
&i.EmailVerifiedTime, &i.EmailVerifiedTime,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
)
return i, err
}
const getAccountForUpdate = `-- name: GetAccountForUpdate :one
SELECT id, permission_level, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, secret_key, email_verified, email_verified_time, phone, city, zip, street, country, creator, created, changer, changed FROM accounts
WHERE "id" = $1 LIMIT 1
FOR NO KEY UPDATE
`
func (q *Queries) GetAccountForUpdate(ctx context.Context, id uint64) (Account, error) {
row := q.db.QueryRowContext(ctx, getAccountForUpdate, id)
var i Account
err := row.Scan(
&i.ID,
&i.PermissionLevel,
&i.Passwordhash,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Email,
&i.SecretKey,
&i.EmailVerified,
&i.EmailVerifiedTime,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
) )
return i, err return i, err
} }
const listAccounts = `-- name: ListAccounts :many const listAccounts = `-- name: ListAccounts :many
SELECT id, permission_level, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, secret_key, email_verified, email_verified_time, phone, city, zip, street, country, creator, created, changer, changed FROM accounts SELECT id, permission_level, passwordhash, email, secret_key, email_verified, email_verified_time FROM accounts
ORDER BY "lastname", "firstname" ORDER BY "email"
LIMIT $1 LIMIT $1
OFFSET $2 OFFSET $2
` `
@ -246,24 +120,10 @@ func (q *Queries) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]A
&i.ID, &i.ID,
&i.PermissionLevel, &i.PermissionLevel,
&i.Passwordhash, &i.Passwordhash,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Email, &i.Email,
&i.SecretKey, &i.SecretKey,
&i.EmailVerified, &i.EmailVerified,
&i.EmailVerifiedTime, &i.EmailVerifiedTime,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
); err != nil { ); err != nil {
return nil, err return nil, err
} }
@ -278,134 +138,6 @@ func (q *Queries) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]A
return items, nil return items, nil
} }
const updateAccount = `-- name: UpdateAccount :one
UPDATE accounts
SET
"passwordhash" = COALESCE($3, "passwordhash"),
"firstname" = COALESCE($4, "firstname"),
"lastname" = COALESCE($5, "lastname"),
"birthday" = COALESCE($6, "birthday"),
"email" = COALESCE($7, "email"),
"phone" = COALESCE($8, "phone"),
"city" = COALESCE($9, "city"),
"zip" = COALESCE($10, "zip"),
"street" = COALESCE($11, "street"),
"country" = COALESCE($12, "country"),
"changer" = $2,
"changed" = now()
WHERE "id" = $1
RETURNING id, permission_level, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, secret_key, email_verified, email_verified_time, phone, city, zip, street, country, creator, created, changer, changed
`
type UpdateAccountParams struct {
ID uint64 `json:"id"`
Changer string `json:"changer"`
Passwordhash sql.NullString `json:"passwordhash"`
Firstname sql.NullString `json:"firstname"`
Lastname sql.NullString `json:"lastname"`
Birthday sql.NullTime `json:"birthday"`
Email sql.NullString `json:"email"`
Phone sql.NullString `json:"phone"`
City sql.NullString `json:"city"`
Zip sql.NullString `json:"zip"`
Street sql.NullString `json:"street"`
Country sql.NullString `json:"country"`
}
func (q *Queries) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error) {
row := q.db.QueryRowContext(ctx, updateAccount,
arg.ID,
arg.Changer,
arg.Passwordhash,
arg.Firstname,
arg.Lastname,
arg.Birthday,
arg.Email,
arg.Phone,
arg.City,
arg.Zip,
arg.Street,
arg.Country,
)
var i Account
err := row.Scan(
&i.ID,
&i.PermissionLevel,
&i.Passwordhash,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Email,
&i.SecretKey,
&i.EmailVerified,
&i.EmailVerifiedTime,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
)
return i, err
}
const updateAccountPrivacy = `-- name: UpdateAccountPrivacy :one
UPDATE accounts
SET
"privacy_accepted" = $1,
"privacy_accepted_date" = $2,
"changer" = $3,
"changed" = now()
WHERE "id" = $4
RETURNING id, permission_level, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, secret_key, email_verified, email_verified_time, phone, city, zip, street, country, creator, created, changer, changed
`
type UpdateAccountPrivacyParams struct {
PrivacyAccepted sql.NullBool `json:"privacy_accepted"`
PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"`
Changer string `json:"changer"`
ID uint64 `json:"id"`
}
func (q *Queries) UpdateAccountPrivacy(ctx context.Context, arg UpdateAccountPrivacyParams) (Account, error) {
row := q.db.QueryRowContext(ctx, updateAccountPrivacy,
arg.PrivacyAccepted,
arg.PrivacyAcceptedDate,
arg.Changer,
arg.ID,
)
var i Account
err := row.Scan(
&i.ID,
&i.PermissionLevel,
&i.Passwordhash,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Email,
&i.SecretKey,
&i.EmailVerified,
&i.EmailVerifiedTime,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
)
return i, err
}
const verifyAccountEmail = `-- name: VerifyAccountEmail :exec const verifyAccountEmail = `-- name: VerifyAccountEmail :exec
UPDATE accounts UPDATE accounts
SET SET

View File

@ -0,0 +1,294 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.22.0
// source: account_info.sql
package db
import (
"context"
"database/sql"
"time"
)
const createAccountInfo = `-- name: CreateAccountInfo :one
INSERT INTO account_info (
"account_id",
"privacy_accepted",
"privacy_accepted_date",
"firstname",
"lastname",
"birthday",
"phone",
"city",
"zip",
"street",
"country",
"creator",
"changer"
) VALUES (
$1,
$2,
$3,
$4,
$5,
$6,
$7,
$8,
$9,
$10,
$11,
$12,
$12
) RETURNING account_id, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, phone, city, zip, street, country, creator, created, changer, changed
`
type CreateAccountInfoParams struct {
AccountID uint64 `json:"account_id"`
PrivacyAccepted sql.NullBool `json:"privacy_accepted"`
PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"`
Firstname string `json:"firstname"`
Lastname string `json:"lastname"`
Birthday time.Time `json:"birthday"`
Phone sql.NullString `json:"phone"`
City string `json:"city"`
Zip string `json:"zip"`
Street string `json:"street"`
Country string `json:"country"`
Creator string `json:"creator"`
}
func (q *Queries) CreateAccountInfo(ctx context.Context, arg CreateAccountInfoParams) (AccountInfo, error) {
row := q.db.QueryRowContext(ctx, createAccountInfo,
arg.AccountID,
arg.PrivacyAccepted,
arg.PrivacyAcceptedDate,
arg.Firstname,
arg.Lastname,
arg.Birthday,
arg.Phone,
arg.City,
arg.Zip,
arg.Street,
arg.Country,
arg.Creator,
)
var i AccountInfo
err := row.Scan(
&i.AccountID,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
)
return i, err
}
const deleteAccountInfo = `-- name: DeleteAccountInfo :exec
DELETE FROM account_info
WHERE "account_id" = $1
`
func (q *Queries) DeleteAccountInfo(ctx context.Context, accountID uint64) error {
_, err := q.db.ExecContext(ctx, deleteAccountInfo, accountID)
return err
}
const getAccountInfo = `-- name: GetAccountInfo :one
SELECT account_id, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, phone, city, zip, street, country, creator, created, changer, changed FROM account_info
WHERE "account_id" = $1 LIMIT 1
`
func (q *Queries) GetAccountInfo(ctx context.Context, accountID uint64) (AccountInfo, error) {
row := q.db.QueryRowContext(ctx, getAccountInfo, accountID)
var i AccountInfo
err := row.Scan(
&i.AccountID,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
)
return i, err
}
const listAccountInfo = `-- name: ListAccountInfo :many
SELECT account_id, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, phone, city, zip, street, country, creator, created, changer, changed FROM account_info
ORDER BY "lastname", "firstname"
LIMIT $1
OFFSET $2
`
type ListAccountInfoParams struct {
Limit int32 `json:"limit"`
Offset int32 `json:"offset"`
}
func (q *Queries) ListAccountInfo(ctx context.Context, arg ListAccountInfoParams) ([]AccountInfo, error) {
rows, err := q.db.QueryContext(ctx, listAccountInfo, arg.Limit, arg.Offset)
if err != nil {
return nil, err
}
defer rows.Close()
items := []AccountInfo{}
for rows.Next() {
var i AccountInfo
if err := rows.Scan(
&i.AccountID,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const updateAccountInfo = `-- name: UpdateAccountInfo :one
UPDATE account_info
SET
"firstname" = COALESCE($3, "firstname"),
"lastname" = COALESCE($4, "lastname"),
"birthday" = COALESCE($5, "birthday"),
"phone" = COALESCE($6, "phone"),
"city" = COALESCE($7, "city"),
"zip" = COALESCE($8, "zip"),
"street" = COALESCE($9, "street"),
"country" = COALESCE($10, "country"),
"changer" = $2,
"changed" = now()
WHERE "account_id" = $1
RETURNING account_id, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, phone, city, zip, street, country, creator, created, changer, changed
`
type UpdateAccountInfoParams struct {
AccountID uint64 `json:"account_id"`
Changer string `json:"changer"`
Firstname sql.NullString `json:"firstname"`
Lastname sql.NullString `json:"lastname"`
Birthday sql.NullTime `json:"birthday"`
Phone sql.NullString `json:"phone"`
City sql.NullString `json:"city"`
Zip sql.NullString `json:"zip"`
Street sql.NullString `json:"street"`
Country sql.NullString `json:"country"`
}
func (q *Queries) UpdateAccountInfo(ctx context.Context, arg UpdateAccountInfoParams) (AccountInfo, error) {
row := q.db.QueryRowContext(ctx, updateAccountInfo,
arg.AccountID,
arg.Changer,
arg.Firstname,
arg.Lastname,
arg.Birthday,
arg.Phone,
arg.City,
arg.Zip,
arg.Street,
arg.Country,
)
var i AccountInfo
err := row.Scan(
&i.AccountID,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
)
return i, err
}
const updateAccountPrivacy = `-- name: UpdateAccountPrivacy :one
UPDATE account_info
SET
"privacy_accepted" = $1,
"privacy_accepted_date" = $2,
"changer" = $3,
"changed" = now()
WHERE "account_id" = $4
RETURNING account_id, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, phone, city, zip, street, country, creator, created, changer, changed
`
type UpdateAccountPrivacyParams struct {
PrivacyAccepted sql.NullBool `json:"privacy_accepted"`
PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"`
Changer string `json:"changer"`
ID uint64 `json:"id"`
}
func (q *Queries) UpdateAccountPrivacy(ctx context.Context, arg UpdateAccountPrivacyParams) (AccountInfo, error) {
row := q.db.QueryRowContext(ctx, updateAccountPrivacy,
arg.PrivacyAccepted,
arg.PrivacyAcceptedDate,
arg.Changer,
arg.ID,
)
var i AccountInfo
err := row.Scan(
&i.AccountID,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.PrivacyAccepted,
&i.PrivacyAcceptedDate,
&i.Phone,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
)
return i, err
}

View File

@ -14,31 +14,13 @@ var timestamp = time.Now()
func createRandomAccount(t *testing.T) Account { func createRandomAccount(t *testing.T) Account {
creator := util.RandomName()
arg := CreateAccountParams{ arg := CreateAccountParams{
Passwordhash: util.RandomString(30), Passwordhash: util.RandomString(30),
Firstname: util.RandomName(),
Lastname: util.RandomName(),
Birthday: time.Date(1990, 1, 1, 0, 0, 0, 0, time.UTC),
Email: util.RandomEmail(), Email: util.RandomEmail(),
Phone: sql.NullString{ SecretKey: sql.NullString{
String: util.RandomString(100),
Valid: true, Valid: true,
String: util.RandomPhone(),
}, },
PrivacyAccepted: sql.NullBool{
Valid: true,
Bool: true,
},
PrivacyAcceptedDate: sql.NullTime{
Valid: true,
Time: timestamp,
},
City: util.RandomString(15),
Zip: util.RandomString(5),
Street: util.RandomString(20),
Country: util.RandomString(15),
Creator: creator,
} }
account, err := testQueries.CreateAccount(context.Background(), arg) account, err := testQueries.CreateAccount(context.Background(), arg)
@ -46,20 +28,10 @@ func createRandomAccount(t *testing.T) Account {
require.NotEmpty(t, account) require.NotEmpty(t, account)
require.Equal(t, arg.Passwordhash, account.Passwordhash) require.Equal(t, arg.Passwordhash, account.Passwordhash)
require.Equal(t, arg.Firstname, account.Firstname)
require.Equal(t, arg.Lastname, account.Lastname)
require.Equal(t, arg.Birthday, account.Birthday)
require.Equal(t, arg.Email, account.Email) require.Equal(t, arg.Email, account.Email)
require.Equal(t, arg.Phone, account.Phone) require.Equal(t, arg.SecretKey, account.SecretKey)
require.Equal(t, arg.City, account.City)
require.Equal(t, arg.Zip, account.Zip)
require.Equal(t, arg.Street, account.Street)
require.Equal(t, arg.Country, account.Country)
require.Equal(t, arg.Creator, account.Creator)
require.Equal(t, arg.Creator, account.Changer)
require.NotZero(t, account.ID) require.NotZero(t, account.ID)
require.NotZero(t, account.Created)
return account return account
} }
@ -77,19 +49,8 @@ func TestGetAccount(t *testing.T) {
require.NotEmpty(t, account) require.NotEmpty(t, account)
require.Equal(t, newAccount.Passwordhash, account.Passwordhash) require.Equal(t, newAccount.Passwordhash, account.Passwordhash)
require.Equal(t, newAccount.Firstname, account.Firstname)
require.Equal(t, newAccount.Lastname, account.Lastname)
require.Equal(t, newAccount.Birthday, account.Birthday)
require.Equal(t, newAccount.Email, account.Email) require.Equal(t, newAccount.Email, account.Email)
require.Equal(t, newAccount.Phone, account.Phone) require.Equal(t, newAccount.SecretKey, account.SecretKey)
require.Equal(t, newAccount.City, account.City)
require.Equal(t, newAccount.Zip, account.Zip)
require.Equal(t, newAccount.Street, account.Street)
require.Equal(t, newAccount.Country, account.Country)
require.Equal(t, newAccount.Creator, account.Creator)
require.Equal(t, newAccount.Changer, account.Changer)
require.WithinDuration(t, newAccount.Created, account.Created, time.Second)
} }
func TestDeleteAccount(t *testing.T) { func TestDeleteAccount(t *testing.T) {
@ -103,78 +64,6 @@ func TestDeleteAccount(t *testing.T) {
require.Empty(t, account2) require.Empty(t, account2)
} }
func TestUpdateAccount(t *testing.T) {
account1 := createRandomAccount(t)
require.NotEmpty(t, account1)
arg := UpdateAccountParams{
ID: account1.ID,
Phone: sql.NullString{
String: util.RandomPhone(),
Valid: true,
},
}
account2, err := testQueries.UpdateAccount(context.Background(), arg)
require.NoError(t, err)
require.NotEmpty(t, account2)
require.Equal(t, account1.ID, account2.ID)
require.Equal(t, account1.Lastname, account2.Lastname)
require.NotEqual(t, account1.Phone, account2.Phone)
require.NotEqual(t, account1.Changer, account2.Changer)
}
func TestUpdateAccountPrivacy(t *testing.T) {
account1 := createRandomAccount(t)
require.NotEmpty(t, account1)
changer1 := util.RandomName()
arg := UpdateAccountPrivacyParams{
ID: account1.ID,
PrivacyAccepted: sql.NullBool{
Valid: true,
Bool: false,
},
PrivacyAcceptedDate: sql.NullTime{
Valid: true,
Time: time.Time{},
},
Changer: changer1,
}
account2, err := testQueries.UpdateAccountPrivacy(context.Background(), arg)
require.NoError(t, err)
require.NotEmpty(t, account2)
require.Equal(t, account1.ID, account2.ID)
require.Equal(t, account1.Lastname, account2.Lastname)
require.WithinDuration(t, time.Time{}, account2.PrivacyAcceptedDate.Time, time.Second)
require.NotEqual(t, account1.PrivacyAccepted.Bool, account2.PrivacyAccepted.Bool)
require.NotEqual(t, account1.PrivacyAcceptedDate.Time, account2.PrivacyAcceptedDate.Time)
arg.PrivacyAccepted = sql.NullBool{
Valid: true,
Bool: true,
}
arg.PrivacyAcceptedDate = sql.NullTime{
Valid: true,
Time: timestamp.UTC(),
}
account1, err = testQueries.UpdateAccountPrivacy(context.Background(), arg)
require.NoError(t, err)
require.NotEmpty(t, account2)
require.Equal(t, account1.ID, account2.ID)
require.Equal(t, account1.Lastname, account2.Lastname)
require.WithinDuration(t, timestamp.UTC(), account1.PrivacyAcceptedDate.Time, time.Second)
require.NotEqual(t, account1.PrivacyAccepted.Bool, account2.PrivacyAccepted.Bool)
require.NotEqual(t, account1.PrivacyAcceptedDate.Time, account2.PrivacyAcceptedDate.Time)
}
func TestListAccounts(t *testing.T) { func TestListAccounts(t *testing.T) {
for i := 0; i < 10; i++ { for i := 0; i < 10; i++ {
createRandomAccount(t) createRandomAccount(t)

View File

@ -15,15 +15,19 @@ type Account struct {
ID uint64 `json:"id"` ID uint64 `json:"id"`
PermissionLevel int32 `json:"permission_level"` PermissionLevel int32 `json:"permission_level"`
Passwordhash string `json:"passwordhash"` Passwordhash string `json:"passwordhash"`
Email string `json:"email"`
SecretKey sql.NullString `json:"secret_key"`
EmailVerified sql.NullBool `json:"email_verified"`
EmailVerifiedTime sql.NullTime `json:"email_verified_time"`
}
type AccountInfo struct {
AccountID uint64 `json:"account_id"`
Firstname string `json:"firstname"` Firstname string `json:"firstname"`
Lastname string `json:"lastname"` Lastname string `json:"lastname"`
Birthday time.Time `json:"birthday"` Birthday time.Time `json:"birthday"`
PrivacyAccepted sql.NullBool `json:"privacy_accepted"` PrivacyAccepted sql.NullBool `json:"privacy_accepted"`
PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"` PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"`
Email string `json:"email"`
SecretKey sql.NullString `json:"secret_key"`
EmailVerified sql.NullBool `json:"email_verified"`
EmailVerifiedTime sql.NullTime `json:"email_verified_time"`
Phone sql.NullString `json:"phone"` Phone sql.NullString `json:"phone"`
City string `json:"city"` City string `json:"city"`
Zip string `json:"zip"` Zip string `json:"zip"`

View File

@ -15,6 +15,7 @@ type Querier interface {
BlockSession(ctx context.Context, id uuid.UUID) error BlockSession(ctx context.Context, id uuid.UUID) error
CloneProviders(ctx context.Context, arg CloneProvidersParams) error CloneProviders(ctx context.Context, arg CloneProvidersParams) error
CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error) CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error)
CreateAccountInfo(ctx context.Context, arg CreateAccountInfoParams) (AccountInfo, error)
CreateDocument(ctx context.Context, arg CreateDocumentParams) (Document, error) CreateDocument(ctx context.Context, arg CreateDocumentParams) (Document, error)
CreateDocumentMail(ctx context.Context, arg CreateDocumentMailParams) (Document, error) CreateDocumentMail(ctx context.Context, arg CreateDocumentMailParams) (Document, error)
CreateDocumentUpload(ctx context.Context, arg CreateDocumentUploadParams) (Document, error) CreateDocumentUpload(ctx context.Context, arg CreateDocumentUploadParams) (Document, error)
@ -26,6 +27,7 @@ type Querier interface {
CreateReturnsLog(ctx context.Context, arg CreateReturnsLogParams) (ReturnsLog, error) CreateReturnsLog(ctx context.Context, arg CreateReturnsLogParams) (ReturnsLog, error)
CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error) CreateSession(ctx context.Context, arg CreateSessionParams) (Session, error)
DeleteAccount(ctx context.Context, id uint64) error DeleteAccount(ctx context.Context, id uint64) error
DeleteAccountInfo(ctx context.Context, accountID uint64) error
DeleteDocument(ctx context.Context, id uint64) error DeleteDocument(ctx context.Context, id uint64) error
DeleteDocumentsByPersonID(ctx context.Context, personID sql.NullInt64) error DeleteDocumentsByPersonID(ctx context.Context, personID sql.NullInt64) error
// -- name: UpdateMail :one // -- name: UpdateMail :one
@ -51,7 +53,7 @@ type Querier interface {
DeleteReturnsLogsByPersonID(ctx context.Context, personID uint64) error DeleteReturnsLogsByPersonID(ctx context.Context, personID uint64) error
GetAccount(ctx context.Context, id uint64) (Account, error) GetAccount(ctx context.Context, id uint64) (Account, error)
GetAccountByEmail(ctx context.Context, email string) (Account, error) GetAccountByEmail(ctx context.Context, email string) (Account, error)
GetAccountForUpdate(ctx context.Context, id uint64) (Account, error) GetAccountInfo(ctx context.Context, accountID uint64) (AccountInfo, error)
GetDocument(ctx context.Context, id uint64) (Document, error) GetDocument(ctx context.Context, id uint64) (Document, error)
GetDocumentByHash(ctx context.Context, arg GetDocumentByHashParams) ([]uint64, error) GetDocumentByHash(ctx context.Context, arg GetDocumentByHashParams) ([]uint64, error)
GetDocumentByIDWithAccountID(ctx context.Context, arg GetDocumentByIDWithAccountIDParams) (Document, error) GetDocumentByIDWithAccountID(ctx context.Context, arg GetDocumentByIDWithAccountIDParams) (Document, error)
@ -65,6 +67,7 @@ type Querier interface {
GetReturnsLog(ctx context.Context, id uint64) (ReturnsLog, error) GetReturnsLog(ctx context.Context, id uint64) (ReturnsLog, error)
GetSession(ctx context.Context, id uuid.UUID) (Session, error) GetSession(ctx context.Context, id uuid.UUID) (Session, error)
InvalidateDocument(ctx context.Context, arg InvalidateDocumentParams) (Document, error) InvalidateDocument(ctx context.Context, arg InvalidateDocumentParams) (Document, error)
ListAccountInfo(ctx context.Context, arg ListAccountInfoParams) ([]AccountInfo, error)
ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]Account, error)
ListDocuments(ctx context.Context, arg ListDocumentsParams) ([]Document, error) ListDocuments(ctx context.Context, arg ListDocumentsParams) ([]Document, error)
ListMails(ctx context.Context, arg ListMailsParams) ([]Mail, error) ListMails(ctx context.Context, arg ListMailsParams) ([]Mail, error)
@ -75,8 +78,8 @@ type Querier interface {
ListReturnsLogs(ctx context.Context, arg ListReturnsLogsParams) ([]ReturnsLog, error) ListReturnsLogs(ctx context.Context, arg ListReturnsLogsParams) ([]ReturnsLog, error)
ListReturnsLogsByPersonID(ctx context.Context, personID uint64) ([]ReturnsLog, error) ListReturnsLogsByPersonID(ctx context.Context, personID uint64) ([]ReturnsLog, error)
ListSessions(ctx context.Context, accountID uint64) ([]Session, error) ListSessions(ctx context.Context, accountID uint64) ([]Session, error)
UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error) UpdateAccountInfo(ctx context.Context, arg UpdateAccountInfoParams) (AccountInfo, error)
UpdateAccountPrivacy(ctx context.Context, arg UpdateAccountPrivacyParams) (Account, error) UpdateAccountPrivacy(ctx context.Context, arg UpdateAccountPrivacyParams) (AccountInfo, error)
UpdateDocument(ctx context.Context, arg UpdateDocumentParams) (Document, error) UpdateDocument(ctx context.Context, arg UpdateDocumentParams) (Document, error)
UpdatePayment(ctx context.Context, arg UpdatePaymentParams) (Payment, error) UpdatePayment(ctx context.Context, arg UpdatePaymentParams) (Payment, error)
UpdatePerson(ctx context.Context, arg UpdatePersonParams) (Person, error) UpdatePerson(ctx context.Context, arg UpdatePersonParams) (Person, error)

View File

@ -11,8 +11,8 @@ import (
type Store interface { type Store interface {
Querier Querier
CreateAccountTx(ctx context.Context, arg CreateAccountTxParams) (Account, error) CreateAccountTx(ctx context.Context, arg CreateAccountTxParams) (Account, error)
UpdateAccountTx(ctx context.Context, arg UpdateAccountTxParams) (Account, error) UpdateAccountInfoTx(ctx context.Context, arg UpdateAccountInfoTxParams) (AccountInfo, error)
UpdateAccountPrivacyTx(ctx context.Context, arg UpdateAccountPrivacyTxParams) (Account, error) UpdateAccountPrivacyTx(ctx context.Context, arg UpdateAccountPrivacyTxParams) (AccountInfo, error)
CreatePersonTx(ctx context.Context, arg CreatePersonTxParams) (Person, error) CreatePersonTx(ctx context.Context, arg CreatePersonTxParams) (Person, error)
DeletePersonTx(ctx context.Context, id uint64) error DeletePersonTx(ctx context.Context, id uint64) error
CreateDocumentTx(ctx context.Context, arg CreateDocumentTxParams) (doc Document, code int, err error) CreateDocumentTx(ctx context.Context, arg CreateDocumentTxParams) (doc Document, code int, err error)

View File

@ -3,7 +3,6 @@ package db
import ( import (
"context" "context"
"database/sql" "database/sql"
"time"
"github.com/google/uuid" "github.com/google/uuid"
) )
@ -28,13 +27,6 @@ func (store *SQLStore) CreateAccountTx(ctx context.Context, arg CreateAccountTxP
String: uid.String(), String: uid.String(),
} }
if arg.PrivacyAccepted.Bool && arg.PrivacyAccepted.Valid && !arg.PrivacyAcceptedDate.Valid {
arg.PrivacyAcceptedDate = sql.NullTime{
Valid: true,
Time: time.Now(),
}
}
// arg.Passwordhash, err = util.HashPassword(arg.Passwordhash) // arg.Passwordhash, err = util.HashPassword(arg.Passwordhash)
// if err != nil { // if err != nil {
// return Account{}, nil // return Account{}, nil

View File

@ -5,14 +5,12 @@ import (
"database/sql" "database/sql"
) )
type UpdateAccountTxParams struct { type UpdateAccountInfoTxParams struct {
ID uint64 `json:"ID"` AccountID uint64 `json:"account_id"`
Changer string `json:"changer"` Changer string `json:"changer"`
Passwordhash sql.NullString `json:"passwordhash"`
Firstname sql.NullString `json:"firstname"` Firstname sql.NullString `json:"firstname"`
Lastname sql.NullString `json:"lastname"` Lastname sql.NullString `json:"lastname"`
Birthday sql.NullTime `json:"birthday"` Birthday sql.NullTime `json:"birthday"`
Email sql.NullString `json:"email"`
Phone sql.NullString `json:"phone"` Phone sql.NullString `json:"phone"`
City sql.NullString `json:"city"` City sql.NullString `json:"city"`
Zip sql.NullString `json:"zip"` Zip sql.NullString `json:"zip"`
@ -20,12 +18,12 @@ type UpdateAccountTxParams struct {
Country sql.NullString `json:"country"` Country sql.NullString `json:"country"`
} }
type UpdateAccountTxResult struct { type UpdateAccountInfoTxResult struct {
Account Account `json:"account"` AccountInfo AccountInfo `json:"account_info"`
} }
func (store *SQLStore) UpdateAccountTx(ctx context.Context, arg UpdateAccountTxParams) (Account, error) { func (store *SQLStore) UpdateAccountInfoTx(ctx context.Context, arg UpdateAccountInfoTxParams) (AccountInfo, error) {
var result UpdateAccountTxResult var result UpdateAccountInfoTxResult
// if arg.Passwordhash.Valid { // if arg.Passwordhash.Valid {
// arg.Passwordhash.String, err = util.HashPassword(arg.Passwordhash.String) // arg.Passwordhash.String, err = util.HashPassword(arg.Passwordhash.String)
@ -36,9 +34,9 @@ func (store *SQLStore) UpdateAccountTx(ctx context.Context, arg UpdateAccountTxP
err := store.execTx(ctx, func(q *Queries) error { err := store.execTx(ctx, func(q *Queries) error {
var err error var err error
result.Account, err = q.UpdateAccount(ctx, UpdateAccountParams(arg)) result.AccountInfo, err = q.UpdateAccountInfo(ctx, UpdateAccountInfoParams(arg))
return err return err
}) })
return result.Account, err return result.AccountInfo, err
} }

View File

@ -16,9 +16,9 @@ type UpdateAccountPrivacyTxResult struct {
Account Account `json:"account"` Account Account `json:"account"`
} }
func (store *SQLStore) UpdateAccountPrivacyTx(ctx context.Context, arg UpdateAccountPrivacyTxParams) (Account, error) { func (store *SQLStore) UpdateAccountPrivacyTx(ctx context.Context, arg UpdateAccountPrivacyTxParams) (AccountInfo, error) {
var date sql.NullTime var date sql.NullTime
var account Account var account AccountInfo
if *arg.PrivacyAccepted { if *arg.PrivacyAccepted {
date = sql.NullTime{ date = sql.NullTime{

View File

@ -68,7 +68,41 @@
}, },
"/v1/accounts/create_account": { "/v1/accounts/create_account": {
"post": { "post": {
"summary": "Create Account", "summary": "Create AccountInfo",
"operationId": "df_CreateAccountInfo",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/pbCreateAccountInfoResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/rpcStatus"
}
}
},
"parameters": [
{
"name": "body",
"description": "Create an AccountInfo",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/pbCreateAccountInfoRequest"
}
}
],
"tags": [
"df"
]
}
},
"/v1/accounts/create_account_info": {
"post": {
"summary": "Create AccountInfo",
"operationId": "df_CreateAccount", "operationId": "df_CreateAccount",
"responses": { "responses": {
"200": { "200": {
@ -97,6 +131,48 @@
], ],
"tags": [ "tags": [
"df" "df"
],
"security": [
{
"BearerAuth": []
}
]
}
},
"/v1/accounts/get_account/{accountId}": {
"get": {
"summary": "Get AccountInfo by account_id",
"operationId": "df_GetAccountInfo",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/pbGetAccountInfoResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/rpcStatus"
}
}
},
"parameters": [
{
"name": "accountId",
"in": "path",
"required": true,
"type": "string",
"format": "uint64"
}
],
"tags": [
"df"
],
"security": [
{
"BearerAuth": []
}
] ]
} }
}, },
@ -137,6 +213,50 @@
] ]
} }
}, },
"/v1/accounts/list_account_info": {
"get": {
"summary": "List AccountInfos [admin only]",
"operationId": "df_ListAccountInfo",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/pbListAccountInfoResponse"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/rpcStatus"
}
}
},
"parameters": [
{
"name": "pageId",
"in": "query",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "pageSize",
"in": "query",
"required": true,
"type": "integer",
"format": "int64"
}
],
"tags": [
"df"
],
"security": [
{
"BearerAuth": []
}
]
}
},
"/v1/accounts/list_accounts": { "/v1/accounts/list_accounts": {
"get": { "get": {
"summary": "List Accounts [admin only]", "summary": "List Accounts [admin only]",
@ -183,13 +303,13 @@
}, },
"/v1/accounts/update_account": { "/v1/accounts/update_account": {
"patch": { "patch": {
"summary": "Update Account", "summary": "Update AccountInfo",
"operationId": "df_UpdateAccount", "operationId": "df_UpdateAccountInfo",
"responses": { "responses": {
"200": { "200": {
"description": "A successful response.", "description": "A successful response.",
"schema": { "schema": {
"$ref": "#/definitions/pbUpdateAccountResponse" "$ref": "#/definitions/pbUpdateAccountInfoResponse"
} }
}, },
"default": { "default": {
@ -202,11 +322,11 @@
"parameters": [ "parameters": [
{ {
"name": "body", "name": "body",
"description": "Update an Account", "description": "Update an AccountInfo",
"in": "body", "in": "body",
"required": true, "required": true,
"schema": { "schema": {
"$ref": "#/definitions/pbUpdateAccountRequest" "$ref": "#/definitions/pbUpdateAccountInfoRequest"
} }
} }
], ],
@ -241,7 +361,7 @@
"parameters": [ "parameters": [
{ {
"name": "body", "name": "body",
"description": "Update the Privacy Consent of an Account", "description": "Update the Privacy Consent of an AccountInfo",
"in": "body", "in": "body",
"required": true, "required": true,
"schema": { "schema": {
@ -921,6 +1041,54 @@
"email": { "email": {
"type": "string" "type": "string"
}, },
"secretKey": {
"type": "string"
},
"emailVerifiedTime": {
"type": "string",
"format": "date-time",
"example": "2023-10-05T00:00:00Z"
},
"emailVerified": {
"type": "boolean"
},
"privacyAcceptedDate": {
"type": "string",
"format": "date-time",
"example": "2023-10-05T00:00:00Z"
},
"permissionLevel": {
"type": "integer",
"format": "int32",
"description": "Default is 0 (non-priviledged)"
}
},
"title": "Account"
},
"pbAccountInfo": {
"type": "object",
"example": {
"account_id": "1",
"firstname": "John",
"lastname": "Doe",
"phone": "",
"street": "Death Star 2",
"zip": "0815",
"city": "New York",
"country": "USA",
"birthday": "1990-10-05T00:00:00Z",
"privacy_accepted": false,
"privacy_accepted_date": "0001-01-01T00:00:00Z",
"creator": "john.doe@example.com",
"created": "2023-10-05T02:30:53Z",
"changer": "john.doe@example.com",
"changed": "2023-10-05T02:30:53Z"
},
"properties": {
"accountId": {
"type": "string",
"format": "uint64"
},
"firstname": { "firstname": {
"type": "string" "type": "string"
}, },
@ -977,7 +1145,7 @@
"example": "2023-10-05T00:00:00Z" "example": "2023-10-05T00:00:00Z"
} }
}, },
"title": "Account" "title": "AccountInfo"
}, },
"pbBlockSessionRequest": { "pbBlockSessionRequest": {
"type": "object", "type": "object",
@ -1016,11 +1184,10 @@
}, },
"title": "Blocked Session" "title": "Blocked Session"
}, },
"pbCreateAccountRequest": { "pbCreateAccountInfoRequest": {
"type": "object", "type": "object",
"example": { "example": {
"email": "john.doe@example.com", "account_id": "1",
"password": "MayTheForceBeWithYou!",
"firstname": "John", "firstname": "John",
"lastname": "Doe", "lastname": "Doe",
"street": "Main Street 1", "street": "Main Street 1",
@ -1030,12 +1197,6 @@
"birthday": "1990-10-05T00:00:00Z" "birthday": "1990-10-05T00:00:00Z"
}, },
"properties": { "properties": {
"email": {
"type": "string"
},
"password": {
"type": "string"
},
"firstname": { "firstname": {
"type": "string" "type": "string"
}, },
@ -1067,11 +1228,10 @@
"example": true "example": true
} }
}, },
"description": "Create an Account", "description": "Create an AccountInfo",
"title": "Create Account", "title": "Create AccountInfo",
"required": [ "required": [
"email", "account_id",
"password",
"firstname", "firstname",
"lastname", "lastname",
"street", "street",
@ -1081,6 +1241,37 @@
"birthday" "birthday"
] ]
}, },
"pbCreateAccountInfoResponse": {
"type": "object",
"properties": {
"accountInfo": {
"$ref": "#/definitions/pbAccountInfo"
}
},
"description": "Returns the created AccountInfo",
"title": "Created AccountInfo"
},
"pbCreateAccountRequest": {
"type": "object",
"example": {
"email": "john.doe@example.com",
"password": "MayTheForceBeWithYou!"
},
"properties": {
"email": {
"type": "string"
},
"password": {
"type": "string"
}
},
"description": "Create an Account",
"title": "Create Account",
"required": [
"email",
"password"
]
},
"pbCreateAccountResponse": { "pbCreateAccountResponse": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -1321,6 +1512,16 @@
}, },
"title": "Document" "title": "Document"
}, },
"pbGetAccountInfoResponse": {
"type": "object",
"properties": {
"accountInfo": {
"$ref": "#/definitions/pbAccountInfo"
}
},
"description": "Returns the AccountInfo",
"title": "GetAccountInfo Response"
},
"pbGetAccountResponse": { "pbGetAccountResponse": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -1328,7 +1529,7 @@
"$ref": "#/definitions/pbAccount" "$ref": "#/definitions/pbAccount"
} }
}, },
"description": "Returns the Account", "description": "Returns the AccountInfo",
"title": "GetAccount Response" "title": "GetAccount Response"
}, },
"pbGetPaymentResponse": { "pbGetPaymentResponse": {
@ -1351,6 +1552,20 @@
"description": "Returns the Person", "description": "Returns the Person",
"title": "GetPerson Response" "title": "GetPerson Response"
}, },
"pbListAccountInfoResponse": {
"type": "object",
"properties": {
"accountInfo": {
"type": "array",
"items": {
"type": "object",
"$ref": "#/definitions/pbAccountInfo"
}
}
},
"description": "Returns the AccountInfo",
"title": "ListAccountInfo Response"
},
"pbListAccountsResponse": { "pbListAccountsResponse": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -1751,57 +1966,17 @@
}, },
"title": "Session" "title": "Session"
}, },
"pbUpdateAccountPrivacyRequest": { "pbUpdateAccountInfoRequest": {
"type": "object", "type": "object",
"example": { "example": {
"id": "1", "account_id": "1",
"privacy_accepted": true
},
"properties": {
"id": {
"type": "string",
"format": "int64",
"example": 1
},
"privacyAccepted": {
"type": "boolean",
"example": false
}
},
"description": "Update the Privacy Consent of an Account",
"title": "Update Account Privacy Consent",
"required": [
"id",
"privacyAccepted"
]
},
"pbUpdateAccountPrivacyResponse": {
"type": "object",
"properties": {
"account": {
"$ref": "#/definitions/pbAccount",
"title": "Updated Account"
}
},
"title": "Update Account Privacy Response"
},
"pbUpdateAccountRequest": {
"type": "object",
"example": {
"id": "1",
"street": "Death Star 2" "street": "Death Star 2"
}, },
"properties": { "properties": {
"id": { "accountId": {
"type": "string", "type": "string",
"format": "uint64" "format": "uint64"
}, },
"email": {
"type": "string"
},
"password": {
"type": "string"
},
"firstname": { "firstname": {
"type": "string" "type": "string"
}, },
@ -1829,22 +2004,56 @@
"example": "1990-10-05T00:00:00Z" "example": "1990-10-05T00:00:00Z"
} }
}, },
"description": "Update an Account", "description": "Update an AccountInfo",
"title": "Update Account", "title": "Update AccountInfo",
"required": [ "required": [
"id" "id"
] ]
}, },
"pbUpdateAccountResponse": { "pbUpdateAccountInfoResponse": {
"type": "object", "type": "object",
"properties": { "properties": {
"account": { "accountInfo": {
"$ref": "#/definitions/pbAccount" "$ref": "#/definitions/pbAccountInfo"
} }
}, },
"description": "Returns the updated Account", "description": "Returns the updated Account",
"title": "Updated Account" "title": "Updated Account"
}, },
"pbUpdateAccountPrivacyRequest": {
"type": "object",
"example": {
"account_id": "1",
"privacy_accepted": true
},
"properties": {
"accountId": {
"type": "string",
"format": "int64",
"example": 1
},
"privacyAccepted": {
"type": "boolean",
"example": false
}
},
"description": "Update the Privacy Consent of an AccountInfo",
"title": "Update Account Info Privacy Consent",
"required": [
"id",
"privacyAccepted"
]
},
"pbUpdateAccountPrivacyResponse": {
"type": "object",
"properties": {
"accountInfo": {
"$ref": "#/definitions/pbAccountInfo",
"title": "Updated AccountInfo"
}
},
"title": "Update Account Info Privacy Response"
},
"pbUpdatePaymentRequest": { "pbUpdatePaymentRequest": {
"type": "object", "type": "object",
"example": { "example": {

View File

@ -11,20 +11,27 @@ func convertAccount(account db.Account) *pb.Account {
Id: account.ID, Id: account.ID,
PermissionLevel: account.PermissionLevel, PermissionLevel: account.PermissionLevel,
Email: account.Email, Email: account.Email,
Firstname: account.Firstname, SecretKey: &account.SecretKey.String,
Lastname: account.Lastname, }
City: account.City, }
Street: account.Street,
Zip: account.Zip, func convertAccountInfo(account_info db.AccountInfo) *pb.AccountInfo {
Country: account.Country, return &pb.AccountInfo{
Creator: account.Creator, AccountId: account_info.AccountID,
Changer: account.Changer, Firstname: account_info.Firstname,
PrivacyAccepted: account.PrivacyAccepted.Bool, Lastname: account_info.Lastname,
PrivacyAcceptedDate: timestamppb.New(account.PrivacyAcceptedDate.Time), City: account_info.City,
Birthday: timestamppb.New(account.Birthday), Street: account_info.Street,
Created: timestamppb.New(account.Created), Zip: account_info.Zip,
Changed: timestamppb.New(account.Changed), Country: account_info.Country,
Phone: account.Phone.String, Creator: account_info.Creator,
Changer: account_info.Changer,
PrivacyAccepted: account_info.PrivacyAccepted.Bool,
PrivacyAcceptedDate: timestamppb.New(account_info.PrivacyAcceptedDate.Time),
Birthday: timestamppb.New(account_info.Birthday),
Created: timestamppb.New(account_info.Created),
Changed: timestamppb.New(account_info.Changed),
Phone: account_info.Phone.String,
} }
} }

View File

@ -2,8 +2,6 @@ package gapi
import ( import (
"context" "context"
"database/sql"
"errors"
"fmt" "fmt"
"log/slog" "log/slog"
@ -31,26 +29,10 @@ func (server *Server) CreateAccount(ctx context.Context, req *pb.CreateAccountRe
arg := db.CreateAccountTxParams{ arg := db.CreateAccountTxParams{
CreateAccountParams: db.CreateAccountParams{ CreateAccountParams: db.CreateAccountParams{
Passwordhash: hashedPassword, Passwordhash: hashedPassword,
PrivacyAccepted: sql.NullBool{
Valid: true,
Bool: req.GetPrivacyAccepted(),
},
Firstname: req.GetFirstname(),
Lastname: req.GetLastname(),
Birthday: req.GetBirthday().AsTime(),
Email: req.GetEmail(), Email: req.GetEmail(),
City: req.GetCity(),
Zip: req.GetZip(),
Street: req.GetStreet(),
Country: req.GetCountry(),
Creator: req.GetEmail(),
Phone: sql.NullString{
Valid: req.GetPhone() != "",
String: req.GetPhone(),
},
}, },
AfterCreate: func(a db.Account) error { AfterCreate: func(a db.Account) error {
return server.mailSender.SendEmail("Verify your E-Mail Address", fmt.Sprintf("Hello %s %s,</br></br>please verify your E-Mail Addres by clicking on the following link:</br><a href=\"http://localhost:8080/v1/verify_email/%d/%s\">Verification Link</a></br></br></br>Your Team of DF", req.GetFirstname(), req.GetLastname(), a.ID, a.SecretKey.String), []string{req.GetEmail()}, nil, nil, nil) return server.mailSender.SendEmail("Verify your E-Mail Address", fmt.Sprintf("Hello %s,</br></br>please verify your E-Mail Addres by clicking on the following link:</br><a href=\"http://localhost:8080/v1/verify_email/%d/%s\">Verification Link</a></br></br></br>Your Team of DF", req.GetEmail(), a.ID, a.SecretKey.String), []string{req.GetEmail()}, nil, nil, nil)
}, },
} }
@ -76,21 +58,5 @@ func validateCreateAccountRequest(req *pb.CreateAccountRequest) (violations []*e
violations = append(violations, fieldViolation("password", err)) violations = append(violations, fieldViolation("password", err))
} }
if err := val.ValidateName(req.GetFirstname()); err != nil {
violations = append(violations, fieldViolation("first_name", err))
}
if err := val.ValidateName(req.GetLastname()); err != nil {
violations = append(violations, fieldViolation("last_name", err))
}
if err := val.ValidateName(req.GetCity()); err != nil {
violations = append(violations, fieldViolation("city", err))
}
if len(req.GetZip()) < 4 {
violations = append(violations, fieldViolation("zip", errors.New("must be at least 4 characters long")))
}
return violations return violations
} }

View File

@ -8,14 +8,13 @@ import (
db "github.com/itsscb/df/bff/db/sqlc" db "github.com/itsscb/df/bff/db/sqlc"
"github.com/itsscb/df/bff/pb" "github.com/itsscb/df/bff/pb"
"github.com/itsscb/df/bff/util"
"github.com/itsscb/df/bff/val" "github.com/itsscb/df/bff/val"
"google.golang.org/genproto/googleapis/rpc/errdetails" "google.golang.org/genproto/googleapis/rpc/errdetails"
"google.golang.org/grpc/codes" "google.golang.org/grpc/codes"
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
) )
func (server *Server) UpdateAccount(ctx context.Context, req *pb.UpdateAccountRequest) (*pb.UpdateAccountResponse, error) { func (server *Server) UpdateAccount(ctx context.Context, req *pb.UpdateAccountInfoRequest) (*pb.UpdateAccountInfoResponse, error) {
authPayload, err := server.authorizeUser(ctx) authPayload, err := server.authorizeUser(ctx)
if err != nil { if err != nil {
return nil, unauthenticatedError(err) return nil, unauthenticatedError(err)
@ -26,24 +25,20 @@ func (server *Server) UpdateAccount(ctx context.Context, req *pb.UpdateAccountRe
return nil, invalidArgumentError(violations) return nil, invalidArgumentError(violations)
} }
if authPayload.AccountID != req.GetId() { if authPayload.AccountID != req.GetAccountId() {
if !server.isAdmin(ctx, authPayload) { if !server.isAdmin(ctx, authPayload) {
return nil, status.Error(codes.NotFound, "account not found") return nil, status.Error(codes.NotFound, "account not found")
} }
} }
account, err := server.store.GetAccount(ctx, req.GetId()) account, err := server.store.GetAccount(ctx, req.GetAccountId())
if err != nil { if err != nil {
return nil, status.Error(codes.NotFound, "account not found") return nil, status.Error(codes.NotFound, "account not found")
} }
arg := db.UpdateAccountTxParams{ arg := db.UpdateAccountInfoTxParams{
ID: req.GetId(), AccountID: req.GetAccountId(),
Changer: account.Email, Changer: account.Email,
Email: sql.NullString{
Valid: req.GetEmail() != "",
String: req.GetEmail(),
},
Firstname: sql.NullString{ Firstname: sql.NullString{
Valid: req.GetFirstname() != "", Valid: req.GetFirstname() != "",
String: req.GetFirstname(), String: req.GetFirstname(),
@ -78,47 +73,24 @@ func (server *Server) UpdateAccount(ctx context.Context, req *pb.UpdateAccountRe
}, },
} }
if req.Password != nil { account_info, err := server.store.UpdateAccountInfoTx(ctx, arg)
hashedPassword, err := util.HashPassword(req.GetPassword())
if err != nil { if err != nil {
slog.Error("update_account (hash_password)", slog.Int64("invoked_by", int64(authPayload.AccountID)), slog.Int64("account_id", int64(req.GetId())), slog.String("error", err.Error())) slog.Error("update_account (db)", slog.Int64("invoked_by", int64(authPayload.AccountID)), slog.Int64("account_id", int64(req.GetAccountId())), slog.String("error", err.Error()))
return nil, status.Error(codes.Internal, "failed to hash password")
}
arg.Passwordhash = sql.NullString{
Valid: true,
String: hashedPassword,
}
}
account, err = server.store.UpdateAccountTx(ctx, arg)
if err != nil {
slog.Error("update_account (db)", slog.Int64("invoked_by", int64(authPayload.AccountID)), slog.Int64("account_id", int64(req.GetId())), slog.String("error", err.Error()))
return nil, status.Error(codes.Internal, "failed to update account") return nil, status.Error(codes.Internal, "failed to update account")
} }
rsp := &pb.UpdateAccountResponse{ rsp := &pb.UpdateAccountInfoResponse{
Account: convertAccount(account), AccountInfo: convertAccountInfo(account_info),
} }
return rsp, nil return rsp, nil
} }
func validateUpdateAccountRequest(req *pb.UpdateAccountRequest) (violations []*errdetails.BadRequest_FieldViolation) { func validateUpdateAccountRequest(req *pb.UpdateAccountInfoRequest) (violations []*errdetails.BadRequest_FieldViolation) {
if req.GetId() < 1 { if req.GetAccountId() < 1 {
violations = append(violations, fieldViolation("id", errors.New("must be greater than 0"))) violations = append(violations, fieldViolation("id", errors.New("must be greater than 0")))
} }
if req.GetEmail() != "" {
if err := val.ValidateEmail(req.GetEmail()); err != nil {
violations = append(violations, fieldViolation("email", err))
}
}
if req.GetPassword() != "" {
if err := val.ValidatePassword(req.GetPassword()); err != nil {
violations = append(violations, fieldViolation("password", err))
}
}
if req.GetFirstname() != "" { if req.GetFirstname() != "" {
if err := val.ValidateName(req.GetFirstname()); err != nil { if err := val.ValidateName(req.GetFirstname()); err != nil {
violations = append(violations, fieldViolation("first_name", err)) violations = append(violations, fieldViolation("first_name", err))

View File

@ -24,12 +24,12 @@ func (server *Server) UpdateAccountPrivacy(ctx context.Context, req *pb.UpdateAc
return nil, invalidArgumentError(violations) return nil, invalidArgumentError(violations)
} }
account, err := server.store.GetAccount(ctx, req.GetId()) account, err := server.store.GetAccount(ctx, req.GetAccountId())
if err != nil { if err != nil {
if errors.Is(err, sql.ErrNoRows) { if errors.Is(err, sql.ErrNoRows) {
return nil, status.Errorf(codes.NotFound, "account not found") return nil, status.Errorf(codes.NotFound, "account not found")
} }
slog.Error("update_account_privacy (get_account)", slog.Int64("invoked_by", int64(authPayload.AccountID)), slog.Int64("account_id", int64(req.GetId())), slog.String("error", err.Error())) slog.Error("update_account_privacy (get_account)", slog.Int64("invoked_by", int64(authPayload.AccountID)), slog.Int64("account_id", int64(req.GetAccountId())), slog.String("error", err.Error()))
return nil, status.Errorf(codes.Internal, "failed to get account") return nil, status.Errorf(codes.Internal, "failed to get account")
} }
@ -42,25 +42,25 @@ func (server *Server) UpdateAccountPrivacy(ctx context.Context, req *pb.UpdateAc
arg := db.UpdateAccountPrivacyTxParams{ arg := db.UpdateAccountPrivacyTxParams{
Changer: account.Email, Changer: account.Email,
ID: req.GetId(), ID: req.GetAccountId(),
PrivacyAccepted: &privacyAccepted, PrivacyAccepted: &privacyAccepted,
} }
account, err = server.store.UpdateAccountPrivacyTx(ctx, arg) account_info, err := server.store.UpdateAccountPrivacyTx(ctx, arg)
if err != nil { if err != nil {
slog.Error("update_account_privacy (db)", slog.Int64("invoked_by", int64(authPayload.AccountID)), slog.Int64("account_id", int64(req.GetId())), slog.String("error", err.Error())) slog.Error("update_account_privacy (db)", slog.Int64("invoked_by", int64(authPayload.AccountID)), slog.Int64("account_id", int64(req.GetAccountId())), slog.String("error", err.Error()))
return nil, status.Error(codes.Internal, "failed to update account privacy") return nil, status.Error(codes.Internal, "failed to update account privacy")
} }
rsp := &pb.UpdateAccountPrivacyResponse{ rsp := &pb.UpdateAccountPrivacyResponse{
Account: convertAccount(account), AccountInfo: convertAccountInfo(account_info),
} }
return rsp, nil return rsp, nil
} }
func validateUpdateAccountPrivacyRequest(req *pb.UpdateAccountPrivacyRequest) (violations []*errdetails.BadRequest_FieldViolation) { func validateUpdateAccountPrivacyRequest(req *pb.UpdateAccountPrivacyRequest) (violations []*errdetails.BadRequest_FieldViolation) {
if req.GetId() < 1 { if req.GetAccountId() < 1 {
violations = append(violations, fieldViolation("id", errors.New("must be greater than 0"))) violations = append(violations, fieldViolation("id", errors.New("must be greater than 0")))
} }
return violations return violations

View File

@ -29,21 +29,11 @@ type Account struct {
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
Firstname string `protobuf:"bytes,3,opt,name=firstname,proto3" json:"firstname,omitempty"` SecretKey *string `protobuf:"bytes,3,opt,name=secret_key,json=secretKey,proto3,oneof" json:"secret_key,omitempty"`
Lastname string `protobuf:"bytes,4,opt,name=lastname,proto3" json:"lastname,omitempty"` EmailVerifiedTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=email_verified_time,json=emailVerifiedTime,proto3" json:"email_verified_time,omitempty"`
Street string `protobuf:"bytes,5,opt,name=street,proto3" json:"street,omitempty"` EmailVerified bool `protobuf:"varint,10,opt,name=email_verified,json=emailVerified,proto3" json:"email_verified,omitempty"`
City string `protobuf:"bytes,6,opt,name=city,proto3" json:"city,omitempty"`
Zip string `protobuf:"bytes,7,opt,name=zip,proto3" json:"zip,omitempty"`
Country string `protobuf:"bytes,8,opt,name=country,proto3" json:"country,omitempty"`
Birthday *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=birthday,proto3" json:"birthday,omitempty"`
Phone string `protobuf:"bytes,10,opt,name=phone,proto3" json:"phone,omitempty"`
PrivacyAccepted bool `protobuf:"varint,11,opt,name=privacy_accepted,json=privacyAccepted,proto3" json:"privacy_accepted,omitempty"`
PrivacyAcceptedDate *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=privacy_accepted_date,json=privacyAcceptedDate,proto3" json:"privacy_accepted_date,omitempty"` PrivacyAcceptedDate *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=privacy_accepted_date,json=privacyAcceptedDate,proto3" json:"privacy_accepted_date,omitempty"`
PermissionLevel int32 `protobuf:"varint,13,opt,name=permission_level,json=permissionLevel,proto3" json:"permission_level,omitempty"` PermissionLevel int32 `protobuf:"varint,13,opt,name=permission_level,json=permissionLevel,proto3" json:"permission_level,omitempty"`
Creator string `protobuf:"bytes,14,opt,name=creator,proto3" json:"creator,omitempty"`
Created *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=created,proto3" json:"created,omitempty"`
Changer string `protobuf:"bytes,16,opt,name=changer,proto3" json:"changer,omitempty"`
Changed *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=changed,proto3" json:"changed,omitempty"`
} }
func (x *Account) Reset() { func (x *Account) Reset() {
@ -92,65 +82,23 @@ func (x *Account) GetEmail() string {
return "" return ""
} }
func (x *Account) GetFirstname() string { func (x *Account) GetSecretKey() string {
if x != nil { if x != nil && x.SecretKey != nil {
return x.Firstname return *x.SecretKey
} }
return "" return ""
} }
func (x *Account) GetLastname() string { func (x *Account) GetEmailVerifiedTime() *timestamppb.Timestamp {
if x != nil { if x != nil {
return x.Lastname return x.EmailVerifiedTime
}
return ""
}
func (x *Account) GetStreet() string {
if x != nil {
return x.Street
}
return ""
}
func (x *Account) GetCity() string {
if x != nil {
return x.City
}
return ""
}
func (x *Account) GetZip() string {
if x != nil {
return x.Zip
}
return ""
}
func (x *Account) GetCountry() string {
if x != nil {
return x.Country
}
return ""
}
func (x *Account) GetBirthday() *timestamppb.Timestamp {
if x != nil {
return x.Birthday
} }
return nil return nil
} }
func (x *Account) GetPhone() string { func (x *Account) GetEmailVerified() bool {
if x != nil { if x != nil {
return x.Phone return x.EmailVerified
}
return ""
}
func (x *Account) GetPrivacyAccepted() bool {
if x != nil {
return x.PrivacyAccepted
} }
return false return false
} }
@ -169,34 +117,6 @@ func (x *Account) GetPermissionLevel() int32 {
return 0 return 0
} }
func (x *Account) GetCreator() string {
if x != nil {
return x.Creator
}
return ""
}
func (x *Account) GetCreated() *timestamppb.Timestamp {
if x != nil {
return x.Created
}
return nil
}
func (x *Account) GetChanger() string {
if x != nil {
return x.Changer
}
return ""
}
func (x *Account) GetChanged() *timestamppb.Timestamp {
if x != nil {
return x.Changed
}
return nil
}
var File_account_proto protoreflect.FileDescriptor var File_account_proto protoreflect.FileDescriptor
var file_account_proto_rawDesc = []byte{ var file_account_proto_rawDesc = []byte{
@ -206,84 +126,64 @@ var file_account_proto_rawDesc = []byte{
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e,
0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x09, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x06, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64,
0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x73, 0x65,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x13, 0x65, 0x6d,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d,
0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d,
0x7a, 0x69, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x7a, 0x69, 0x70, 0x12, 0x18, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22,
0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x52, 0x11, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54,
0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72,
0x68, 0x64, 0x61, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6d, 0x61,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x6b, 0x0a, 0x15, 0x70, 0x72,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x22, 0x31, 0x39, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64,
0x39, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x30, 0x5a, 0x22, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32,
0x6f, 0x6e, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x33, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30,
0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x5a, 0x22, 0x52, 0x13, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70,
0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x6b, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x6d, 0x69,
0x0a, 0x15, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x05, 0x42, 0x23, 0x92, 0x41, 0x20, 0x32, 0x1e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x69, 0x73, 0x20, 0x30, 0x20, 0x28, 0x6e, 0x6f, 0x6e, 0x2d, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x65, 0x64, 0x67, 0x65, 0x64, 0x29, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0xbd, 0x03, 0x92, 0x41, 0xb9, 0x03, 0x0a, 0x09,
0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x13, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x41, 0x2a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0xab, 0x03, 0x7b, 0x22, 0x69, 0x64,
0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x3a, 0x20,
0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x22, 0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c,
0x0d, 0x20, 0x01, 0x28, 0x05, 0x42, 0x23, 0x92, 0x41, 0x20, 0x32, 0x1e, 0x44, 0x65, 0x66, 0x61, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x61,
0x75, 0x6c, 0x74, 0x20, 0x69, 0x73, 0x20, 0x30, 0x20, 0x28, 0x6e, 0x6f, 0x6e, 0x2d, 0x70, 0x72, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x4a, 0x6f, 0x68, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x6c, 0x61,
0x69, 0x76, 0x69, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x29, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x44, 0x6f, 0x65, 0x22, 0x2c, 0x20,
0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x22, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x20, 0x22, 0x73, 0x74,
0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x72, 0x65, 0x65, 0x74, 0x22, 0x3a, 0x20, 0x22, 0x44, 0x65, 0x61, 0x74, 0x68, 0x20, 0x53, 0x74,
0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x61, 0x72, 0x20, 0x32, 0x22, 0x2c, 0x20, 0x22, 0x7a, 0x69, 0x70, 0x22, 0x3a, 0x20, 0x22, 0x30,
0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x38, 0x31, 0x35, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x4e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x65, 0x77, 0x20, 0x59, 0x6f, 0x72, 0x6b, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x6d, 0x70, 0x42, 0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x72, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x55, 0x53, 0x41, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x69, 0x72,
0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x74, 0x68, 0x64, 0x61, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x39, 0x39, 0x30, 0x2d, 0x31, 0x30,
0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x2c, 0x20,
0x67, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65,
0x65, 0x72, 0x12, 0x51, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x11, 0x20, 0x64, 0x22, 0x3a, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x20, 0x22, 0x70, 0x72, 0x69, 0x76,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x30, 0x30, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54,
0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x72, 0x65,
0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x07, 0x63, 0x68, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65,
0x61, 0x6e, 0x67, 0x65, 0x64, 0x3a, 0xbd, 0x03, 0x92, 0x41, 0xb9, 0x03, 0x0a, 0x09, 0x2a, 0x07, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0xab, 0x03, 0x7b, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d,
0x20, 0x22, 0x31, 0x22, 0x2c, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x3a, 0x20, 0x22, 0x6a, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x32, 0x3a, 0x33, 0x30, 0x3a, 0x35, 0x33, 0x5a, 0x22,
0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x2c, 0x20, 0x22, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x22, 0x3a, 0x20, 0x22, 0x6a, 0x6f,
0x63, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63,
0x22, 0x3a, 0x20, 0x22, 0x4a, 0x6f, 0x68, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x6c, 0x61, 0x73, 0x74, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x3a, 0x20,
0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x44, 0x6f, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x32, 0x3a, 0x33,
0x68, 0x6f, 0x6e, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x20, 0x22, 0x73, 0x74, 0x72, 0x65, 0x30, 0x3a, 0x35, 0x33, 0x5a, 0x22, 0x7d, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x65, 0x63, 0x72,
0x65, 0x74, 0x22, 0x3a, 0x20, 0x22, 0x44, 0x65, 0x61, 0x74, 0x68, 0x20, 0x53, 0x74, 0x61, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x20, 0x32, 0x22, 0x2c, 0x20, 0x22, 0x7a, 0x69, 0x70, 0x22, 0x3a, 0x20, 0x22, 0x30, 0x38, 0x31, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70,
0x35, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x4e, 0x65, 0x77, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x20, 0x59, 0x6f, 0x72, 0x6b, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
0x22, 0x3a, 0x20, 0x22, 0x55, 0x53, 0x41, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x69, 0x72, 0x74, 0x68,
0x64, 0x61, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x39, 0x39, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30,
0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x70,
0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22,
0x3a, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x20, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22,
0x3a, 0x20, 0x22, 0x30, 0x30, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30,
0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74,
0x6f, 0x72, 0x22, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65,
0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x30,
0x2d, 0x30, 0x35, 0x54, 0x30, 0x32, 0x3a, 0x33, 0x30, 0x3a, 0x35, 0x33, 0x5a, 0x22, 0x2c, 0x20,
0x22, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x22, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x68, 0x6e,
0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
0x22, 0x2c, 0x20, 0x22, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x32,
0x30, 0x32, 0x33, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x32, 0x3a, 0x33, 0x30, 0x3a,
0x35, 0x33, 0x5a, 0x22, 0x7d, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -304,15 +204,13 @@ var file_account_proto_goTypes = []interface{}{
(*timestamppb.Timestamp)(nil), // 1: google.protobuf.Timestamp (*timestamppb.Timestamp)(nil), // 1: google.protobuf.Timestamp
} }
var file_account_proto_depIdxs = []int32{ var file_account_proto_depIdxs = []int32{
1, // 0: pb.Account.birthday:type_name -> google.protobuf.Timestamp 1, // 0: pb.Account.email_verified_time:type_name -> google.protobuf.Timestamp
1, // 1: pb.Account.privacy_accepted_date:type_name -> google.protobuf.Timestamp 1, // 1: pb.Account.privacy_accepted_date:type_name -> google.protobuf.Timestamp
1, // 2: pb.Account.created:type_name -> google.protobuf.Timestamp 2, // [2:2] is the sub-list for method output_type
1, // 3: pb.Account.changed:type_name -> google.protobuf.Timestamp 2, // [2:2] is the sub-list for method input_type
4, // [4:4] is the sub-list for method output_type 2, // [2:2] is the sub-list for extension type_name
4, // [4:4] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension extendee
4, // [4:4] is the sub-list for extension type_name 0, // [0:2] is the sub-list for field type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
} }
func init() { file_account_proto_init() } func init() { file_account_proto_init() }
@ -334,6 +232,7 @@ func file_account_proto_init() {
} }
} }
} }
file_account_proto_msgTypes[0].OneofWrappers = []interface{}{}
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{ File: protoimpl.DescBuilder{

346
bff/pb/account_info.pb.go Normal file
View File

@ -0,0 +1,346 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v4.24.4
// source: account_info.proto
package pb
import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type AccountInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AccountId uint64 `protobuf:"varint,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
Firstname string `protobuf:"bytes,3,opt,name=firstname,proto3" json:"firstname,omitempty"`
Lastname string `protobuf:"bytes,4,opt,name=lastname,proto3" json:"lastname,omitempty"`
Street string `protobuf:"bytes,5,opt,name=street,proto3" json:"street,omitempty"`
City string `protobuf:"bytes,6,opt,name=city,proto3" json:"city,omitempty"`
Zip string `protobuf:"bytes,7,opt,name=zip,proto3" json:"zip,omitempty"`
Country string `protobuf:"bytes,8,opt,name=country,proto3" json:"country,omitempty"`
Birthday *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=birthday,proto3" json:"birthday,omitempty"`
Phone string `protobuf:"bytes,10,opt,name=phone,proto3" json:"phone,omitempty"`
PrivacyAccepted bool `protobuf:"varint,11,opt,name=privacy_accepted,json=privacyAccepted,proto3" json:"privacy_accepted,omitempty"`
PrivacyAcceptedDate *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=privacy_accepted_date,json=privacyAcceptedDate,proto3" json:"privacy_accepted_date,omitempty"`
PermissionLevel int32 `protobuf:"varint,13,opt,name=permission_level,json=permissionLevel,proto3" json:"permission_level,omitempty"`
Creator string `protobuf:"bytes,14,opt,name=creator,proto3" json:"creator,omitempty"`
Created *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=created,proto3" json:"created,omitempty"`
Changer string `protobuf:"bytes,16,opt,name=changer,proto3" json:"changer,omitempty"`
Changed *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=changed,proto3" json:"changed,omitempty"`
}
func (x *AccountInfo) Reset() {
*x = AccountInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_account_info_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AccountInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AccountInfo) ProtoMessage() {}
func (x *AccountInfo) ProtoReflect() protoreflect.Message {
mi := &file_account_info_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AccountInfo.ProtoReflect.Descriptor instead.
func (*AccountInfo) Descriptor() ([]byte, []int) {
return file_account_info_proto_rawDescGZIP(), []int{0}
}
func (x *AccountInfo) GetAccountId() uint64 {
if x != nil {
return x.AccountId
}
return 0
}
func (x *AccountInfo) GetFirstname() string {
if x != nil {
return x.Firstname
}
return ""
}
func (x *AccountInfo) GetLastname() string {
if x != nil {
return x.Lastname
}
return ""
}
func (x *AccountInfo) GetStreet() string {
if x != nil {
return x.Street
}
return ""
}
func (x *AccountInfo) GetCity() string {
if x != nil {
return x.City
}
return ""
}
func (x *AccountInfo) GetZip() string {
if x != nil {
return x.Zip
}
return ""
}
func (x *AccountInfo) GetCountry() string {
if x != nil {
return x.Country
}
return ""
}
func (x *AccountInfo) GetBirthday() *timestamppb.Timestamp {
if x != nil {
return x.Birthday
}
return nil
}
func (x *AccountInfo) GetPhone() string {
if x != nil {
return x.Phone
}
return ""
}
func (x *AccountInfo) GetPrivacyAccepted() bool {
if x != nil {
return x.PrivacyAccepted
}
return false
}
func (x *AccountInfo) GetPrivacyAcceptedDate() *timestamppb.Timestamp {
if x != nil {
return x.PrivacyAcceptedDate
}
return nil
}
func (x *AccountInfo) GetPermissionLevel() int32 {
if x != nil {
return x.PermissionLevel
}
return 0
}
func (x *AccountInfo) GetCreator() string {
if x != nil {
return x.Creator
}
return ""
}
func (x *AccountInfo) GetCreated() *timestamppb.Timestamp {
if x != nil {
return x.Created
}
return nil
}
func (x *AccountInfo) GetChanger() string {
if x != nil {
return x.Changer
}
return ""
}
func (x *AccountInfo) GetChanged() *timestamppb.Timestamp {
if x != nil {
return x.Changed
}
return nil
}
var File_account_info_proto protoreflect.FileDescriptor
var file_account_info_proto_rawDesc = []byte{
0x0a, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f,
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x09, 0x0a, 0x0b, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x73,
0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72,
0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69,
0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x7a, 0x69, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x7a, 0x69, 0x70,
0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28,
0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x53, 0x0a, 0x08, 0x62, 0x69,
0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x22,
0x31, 0x39, 0x39, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30,
0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64,
0x12, 0x6b, 0x0a, 0x15, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65,
0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92, 0x41, 0x18,
0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30,
0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x13, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a,
0x10, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65,
0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x42, 0x23, 0x92, 0x41, 0x20, 0x32, 0x1e, 0x44, 0x65,
0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x69, 0x73, 0x20, 0x30, 0x20, 0x28, 0x6e, 0x6f, 0x6e, 0x2d,
0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x29, 0x52, 0x0f, 0x70, 0x65,
0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a,
0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33,
0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a,
0x22, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68,
0x61, 0x6e, 0x67, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18,
0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x42, 0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x30,
0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x07,
0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x3a, 0xa9, 0x03, 0x92, 0x41, 0xa5, 0x03, 0x0a, 0x0d,
0x2a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x32, 0x93, 0x03,
0x7b, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22,
0x31, 0x22, 0x2c, 0x20, 0x22, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a,
0x20, 0x22, 0x4a, 0x6f, 0x68, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61,
0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x44, 0x6f, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x68, 0x6f,
0x6e, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x22, 0x2c, 0x20, 0x22, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74,
0x22, 0x3a, 0x20, 0x22, 0x44, 0x65, 0x61, 0x74, 0x68, 0x20, 0x53, 0x74, 0x61, 0x72, 0x20, 0x32,
0x22, 0x2c, 0x20, 0x22, 0x7a, 0x69, 0x70, 0x22, 0x3a, 0x20, 0x22, 0x30, 0x38, 0x31, 0x35, 0x22,
0x2c, 0x20, 0x22, 0x63, 0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x4e, 0x65, 0x77, 0x20, 0x59,
0x6f, 0x72, 0x6b, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x3a,
0x20, 0x22, 0x55, 0x53, 0x41, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61,
0x79, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x39, 0x39, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54,
0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x72, 0x69,
0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22, 0x3a, 0x20,
0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x20, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f,
0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x3a, 0x20,
0x22, 0x30, 0x30, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30,
0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72,
0x22, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61,
0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x31, 0x30, 0x2d, 0x30,
0x35, 0x54, 0x30, 0x32, 0x3a, 0x33, 0x30, 0x3a, 0x35, 0x33, 0x5a, 0x22, 0x2c, 0x20, 0x22, 0x63,
0x68, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x22, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64,
0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2c,
0x20, 0x22, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x32, 0x30, 0x32,
0x33, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x32, 0x3a, 0x33, 0x30, 0x3a, 0x35, 0x33,
0x5a, 0x22, 0x7d, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_account_info_proto_rawDescOnce sync.Once
file_account_info_proto_rawDescData = file_account_info_proto_rawDesc
)
func file_account_info_proto_rawDescGZIP() []byte {
file_account_info_proto_rawDescOnce.Do(func() {
file_account_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_account_info_proto_rawDescData)
})
return file_account_info_proto_rawDescData
}
var file_account_info_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_account_info_proto_goTypes = []interface{}{
(*AccountInfo)(nil), // 0: pb.AccountInfo
(*timestamppb.Timestamp)(nil), // 1: google.protobuf.Timestamp
}
var file_account_info_proto_depIdxs = []int32{
1, // 0: pb.AccountInfo.birthday:type_name -> google.protobuf.Timestamp
1, // 1: pb.AccountInfo.privacy_accepted_date:type_name -> google.protobuf.Timestamp
1, // 2: pb.AccountInfo.created:type_name -> google.protobuf.Timestamp
1, // 3: pb.AccountInfo.changed:type_name -> google.protobuf.Timestamp
4, // [4:4] is the sub-list for method output_type
4, // [4:4] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
}
func init() { file_account_info_proto_init() }
func file_account_info_proto_init() {
if File_account_info_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_account_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AccountInfo); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_account_info_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_account_info_proto_goTypes,
DependencyIndexes: file_account_info_proto_depIdxs,
MessageInfos: file_account_info_proto_msgTypes,
}.Build()
File_account_info_proto = out.File
file_account_info_proto_rawDesc = nil
file_account_info_proto_goTypes = nil
file_account_info_proto_depIdxs = nil
}

View File

@ -10,7 +10,6 @@ import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl" protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect" reflect "reflect"
sync "sync" sync "sync"
) )
@ -29,15 +28,6 @@ type CreateAccountRequest struct {
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
Firstname string `protobuf:"bytes,3,opt,name=firstname,proto3" json:"firstname,omitempty"`
Lastname string `protobuf:"bytes,4,opt,name=lastname,proto3" json:"lastname,omitempty"`
Street string `protobuf:"bytes,5,opt,name=street,proto3" json:"street,omitempty"`
City string `protobuf:"bytes,6,opt,name=city,proto3" json:"city,omitempty"`
Zip string `protobuf:"bytes,7,opt,name=zip,proto3" json:"zip,omitempty"`
Country string `protobuf:"bytes,8,opt,name=country,proto3" json:"country,omitempty"`
Phone string `protobuf:"bytes,9,opt,name=phone,proto3" json:"phone,omitempty"`
Birthday *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=birthday,proto3" json:"birthday,omitempty"`
PrivacyAccepted *bool `protobuf:"varint,11,opt,name=privacy_accepted,json=privacyAccepted,proto3,oneof" json:"privacy_accepted,omitempty"`
} }
func (x *CreateAccountRequest) Reset() { func (x *CreateAccountRequest) Reset() {
@ -86,69 +76,6 @@ func (x *CreateAccountRequest) GetPassword() string {
return "" return ""
} }
func (x *CreateAccountRequest) GetFirstname() string {
if x != nil {
return x.Firstname
}
return ""
}
func (x *CreateAccountRequest) GetLastname() string {
if x != nil {
return x.Lastname
}
return ""
}
func (x *CreateAccountRequest) GetStreet() string {
if x != nil {
return x.Street
}
return ""
}
func (x *CreateAccountRequest) GetCity() string {
if x != nil {
return x.City
}
return ""
}
func (x *CreateAccountRequest) GetZip() string {
if x != nil {
return x.Zip
}
return ""
}
func (x *CreateAccountRequest) GetCountry() string {
if x != nil {
return x.Country
}
return ""
}
func (x *CreateAccountRequest) GetPhone() string {
if x != nil {
return x.Phone
}
return ""
}
func (x *CreateAccountRequest) GetBirthday() *timestamppb.Timestamp {
if x != nil {
return x.Birthday
}
return nil
}
func (x *CreateAccountRequest) GetPrivacyAccepted() bool {
if x != nil && x.PrivacyAccepted != nil {
return *x.PrivacyAccepted
}
return false
}
type CreateAccountResponse struct { type CreateAccountResponse struct {
state protoimpl.MessageState state protoimpl.MessageState
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
@ -200,71 +127,34 @@ var File_rpc_create_account_proto protoreflect.FileDescriptor
var file_rpc_create_account_proto_rawDesc = []byte{ var file_rpc_create_account_proto_rawDesc = []byte{
0x0a, 0x18, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x0a, 0x18, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x1f, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d,
0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x01,
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18,
0x05, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x3a, 0x84, 0x01, 0x92, 0x41, 0x80, 0x01, 0x0a,
0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x36, 0x2a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x74, 0x32, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x63, 0x63,
0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x6f, 0x75, 0x6e, 0x74, 0xd2, 0x01, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2, 0x01, 0x08, 0x70,
0x72, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x32, 0x46, 0x7b, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c,
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x22, 0x3a, 0x20, 0x22, 0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61,
0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x18, 0x05, 0x20, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x73, 0x73,
0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x4d, 0x61, 0x79, 0x54, 0x68, 0x65, 0x46, 0x6f,
0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x72, 0x63, 0x65, 0x42, 0x65, 0x57, 0x69, 0x74, 0x68, 0x59, 0x6f, 0x75, 0x21, 0x22, 0x7d, 0x22,
0x10, 0x0a, 0x03, 0x7a, 0x69, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x7a, 0x69, 0x78, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f,
0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41,
0x68, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x07, 0x61, 0x63, 0x63,
0x65, 0x12, 0x53, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x0a, 0x20, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x33, 0x92, 0x41, 0x30, 0x0a, 0x2e, 0x2a, 0x0f, 0x43, 0x72, 0x65,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x61, 0x74, 0x65, 0x64, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x1b, 0x52, 0x65,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x1b, 0x92, 0x41, 0x18, 0x4a, 0x16, 0x22, 0x31, 0x39, 0x39, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x64, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74,
0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x08, 0x62, 0x69, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64,
0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x39, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08,
0x42, 0x09, 0x92, 0x41, 0x06, 0x4a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x70,
0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x88, 0x01,
0x01, 0x3a, 0xe3, 0x02, 0x92, 0x41, 0xdf, 0x02, 0x0a, 0x78, 0x2a, 0x0e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x11, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xd2, 0x01, 0x05,
0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd2, 0x01, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0xd2, 0x01, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x08, 0x6c,
0x61, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74,
0xd2, 0x01, 0x04, 0x63, 0x69, 0x74, 0x79, 0xd2, 0x01, 0x03, 0x7a, 0x69, 0x70, 0xd2, 0x01, 0x07,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0xd2, 0x01, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64,
0x61, 0x79, 0x32, 0xe2, 0x01, 0x7b, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x3a, 0x20, 0x22,
0x6a, 0x6f, 0x68, 0x6e, 0x2e, 0x64, 0x6f, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65,
0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x22, 0x3a, 0x20, 0x22, 0x4d, 0x61, 0x79, 0x54, 0x68, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x42,
0x65, 0x57, 0x69, 0x74, 0x68, 0x59, 0x6f, 0x75, 0x21, 0x22, 0x2c, 0x20, 0x22, 0x66, 0x69, 0x72,
0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x4a, 0x6f, 0x68, 0x6e, 0x22, 0x2c,
0x20, 0x22, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x44, 0x6f,
0x65, 0x22, 0x2c, 0x20, 0x22, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x22, 0x3a, 0x20, 0x22, 0x4d,
0x61, 0x69, 0x6e, 0x20, 0x53, 0x74, 0x72, 0x65, 0x65, 0x74, 0x20, 0x31, 0x22, 0x2c, 0x20, 0x22,
0x7a, 0x69, 0x70, 0x22, 0x3a, 0x20, 0x22, 0x30, 0x38, 0x31, 0x35, 0x22, 0x2c, 0x20, 0x22, 0x63,
0x69, 0x74, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x4e, 0x65, 0x77, 0x20, 0x59, 0x6f, 0x72, 0x6b, 0x22,
0x2c, 0x20, 0x22, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x55, 0x53,
0x41, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x22, 0x3a, 0x20,
0x22, 0x31, 0x39, 0x39, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30,
0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x7d, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x72, 0x69, 0x76,
0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22, 0x78, 0x0a, 0x15,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x3a, 0x33, 0x92, 0x41, 0x30, 0x0a, 0x2e, 0x2a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x1b, 0x52, 0x65, 0x74, 0x75, 0x72,
0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -283,17 +173,15 @@ var file_rpc_create_account_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_rpc_create_account_proto_goTypes = []interface{}{ var file_rpc_create_account_proto_goTypes = []interface{}{
(*CreateAccountRequest)(nil), // 0: pb.CreateAccountRequest (*CreateAccountRequest)(nil), // 0: pb.CreateAccountRequest
(*CreateAccountResponse)(nil), // 1: pb.CreateAccountResponse (*CreateAccountResponse)(nil), // 1: pb.CreateAccountResponse
(*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp (*Account)(nil), // 2: pb.Account
(*Account)(nil), // 3: pb.Account
} }
var file_rpc_create_account_proto_depIdxs = []int32{ var file_rpc_create_account_proto_depIdxs = []int32{
2, // 0: pb.CreateAccountRequest.birthday:type_name -> google.protobuf.Timestamp 2, // 0: pb.CreateAccountResponse.account:type_name -> pb.Account
3, // 1: pb.CreateAccountResponse.account:type_name -> pb.Account 1, // [1:1] is the sub-list for method output_type
2, // [2:2] is the sub-list for method output_type 1, // [1:1] is the sub-list for method input_type
2, // [2:2] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee
2, // [2:2] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name
0, // [0:2] is the sub-list for field type_name
} }
func init() { file_rpc_create_account_proto_init() } func init() { file_rpc_create_account_proto_init() }
@ -328,7 +216,6 @@ func file_rpc_create_account_proto_init() {
} }
} }
} }
file_rpc_create_account_proto_msgTypes[0].OneofWrappers = []interface{}{}
type x struct{} type x struct{}
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{ File: protoimpl.DescBuilder{

View File

@ -0,0 +1,330 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v4.24.4
// source: rpc_create_account_info.proto
package pb
import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type CreateAccountInfoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Firstname string `protobuf:"bytes,3,opt,name=firstname,proto3" json:"firstname,omitempty"`
Lastname string `protobuf:"bytes,4,opt,name=lastname,proto3" json:"lastname,omitempty"`
Street string `protobuf:"bytes,5,opt,name=street,proto3" json:"street,omitempty"`
City string `protobuf:"bytes,6,opt,name=city,proto3" json:"city,omitempty"`
Zip string `protobuf:"bytes,7,opt,name=zip,proto3" json:"zip,omitempty"`
Country string `protobuf:"bytes,8,opt,name=country,proto3" json:"country,omitempty"`
Phone string `protobuf:"bytes,9,opt,name=phone,proto3" json:"phone,omitempty"`
Birthday *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=birthday,proto3" json:"birthday,omitempty"`
PrivacyAccepted *bool `protobuf:"varint,11,opt,name=privacy_accepted,json=privacyAccepted,proto3,oneof" json:"privacy_accepted,omitempty"`
}
func (x *CreateAccountInfoRequest) Reset() {
*x = CreateAccountInfoRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_rpc_create_account_info_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateAccountInfoRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateAccountInfoRequest) ProtoMessage() {}
func (x *CreateAccountInfoRequest) ProtoReflect() protoreflect.Message {
mi := &file_rpc_create_account_info_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateAccountInfoRequest.ProtoReflect.Descriptor instead.
func (*CreateAccountInfoRequest) Descriptor() ([]byte, []int) {
return file_rpc_create_account_info_proto_rawDescGZIP(), []int{0}
}
func (x *CreateAccountInfoRequest) GetFirstname() string {
if x != nil {
return x.Firstname
}
return ""
}
func (x *CreateAccountInfoRequest) GetLastname() string {
if x != nil {
return x.Lastname
}
return ""
}
func (x *CreateAccountInfoRequest) GetStreet() string {
if x != nil {
return x.Street
}
return ""
}
func (x *CreateAccountInfoRequest) GetCity() string {
if x != nil {
return x.City
}
return ""
}
func (x *CreateAccountInfoRequest) GetZip() string {
if x != nil {
return x.Zip
}
return ""
}
func (x *CreateAccountInfoRequest) GetCountry() string {
if x != nil {
return x.Country
}
return ""
}
func (x *CreateAccountInfoRequest) GetPhone() string {
if x != nil {
return x.Phone
}
return ""
}
func (x *CreateAccountInfoRequest) GetBirthday() *timestamppb.Timestamp {
if x != nil {
return x.Birthday
}
return nil
}
func (x *CreateAccountInfoRequest) GetPrivacyAccepted() bool {
if x != nil && x.PrivacyAccepted != nil {
return *x.PrivacyAccepted
}
return false
}
type CreateAccountInfoResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=account_info,json=accountInfo,proto3" json:"account_info,omitempty"`
}
func (x *CreateAccountInfoResponse) Reset() {
*x = CreateAccountInfoResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_rpc_create_account_info_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CreateAccountInfoResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateAccountInfoResponse) ProtoMessage() {}
func (x *CreateAccountInfoResponse) ProtoReflect() protoreflect.Message {
mi := &file_rpc_create_account_info_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CreateAccountInfoResponse.ProtoReflect.Descriptor instead.
func (*CreateAccountInfoResponse) Descriptor() ([]byte, []int) {
return file_rpc_create_account_info_proto_rawDescGZIP(), []int{1}
}
func (x *CreateAccountInfoResponse) GetAccountInfo() *AccountInfo {
if x != nil {
return x.AccountInfo
}
return nil
}
var File_rpc_create_account_info_proto protoreflect.FileDescriptor
var file_rpc_create_account_info_proto_rawDesc = []byte{
0x0a, 0x1d, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x02, 0x70, 0x62, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e,
0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e,
0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x05, 0x0a, 0x18, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e,
0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x7a,
0x69, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x7a, 0x69, 0x70, 0x12, 0x18, 0x0a,
0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65,
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x53, 0x0a,
0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92, 0x41, 0x18,
0x4a, 0x16, 0x22, 0x31, 0x39, 0x39, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30,
0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64,
0x61, 0x79, 0x12, 0x39, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63,
0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x09, 0x92, 0x41,
0x06, 0x4a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61,
0x63, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x3a, 0xb2, 0x02,
0x92, 0x41, 0xae, 0x02, 0x0a, 0x7a, 0x2a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x32, 0x15, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66,
0x6f, 0xd2, 0x01, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01,
0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x08, 0x6c, 0x61, 0x73,
0x74, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0xd2, 0x01,
0x04, 0x63, 0x69, 0x74, 0x79, 0xd2, 0x01, 0x03, 0x7a, 0x69, 0x70, 0xd2, 0x01, 0x07, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x72, 0x79, 0xd2, 0x01, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79,
0x32, 0xaf, 0x01, 0x7b, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22,
0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x61, 0x6d,
0x65, 0x22, 0x3a, 0x20, 0x22, 0x4a, 0x6f, 0x68, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x6c, 0x61, 0x73,
0x74, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x44, 0x6f, 0x65, 0x22, 0x2c, 0x20, 0x22,
0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x22, 0x3a, 0x20, 0x22, 0x4d, 0x61, 0x69, 0x6e, 0x20, 0x53,
0x74, 0x72, 0x65, 0x65, 0x74, 0x20, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x7a, 0x69, 0x70, 0x22, 0x3a,
0x20, 0x22, 0x30, 0x38, 0x31, 0x35, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x69, 0x74, 0x79, 0x22, 0x3a,
0x20, 0x22, 0x4e, 0x65, 0x77, 0x20, 0x59, 0x6f, 0x72, 0x6b, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x55, 0x53, 0x41, 0x22, 0x2c, 0x20, 0x22,
0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x39, 0x39, 0x30,
0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a,
0x22, 0x7d, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61,
0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0x92, 0x41,
0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x3a, 0x3b,
0x92, 0x41, 0x38, 0x0a, 0x36, 0x2a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x32, 0x1f, 0x52, 0x65, 0x74, 0x75,
0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x19, 0x5a, 0x17, 0x67,
0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62,
0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_rpc_create_account_info_proto_rawDescOnce sync.Once
file_rpc_create_account_info_proto_rawDescData = file_rpc_create_account_info_proto_rawDesc
)
func file_rpc_create_account_info_proto_rawDescGZIP() []byte {
file_rpc_create_account_info_proto_rawDescOnce.Do(func() {
file_rpc_create_account_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_create_account_info_proto_rawDescData)
})
return file_rpc_create_account_info_proto_rawDescData
}
var file_rpc_create_account_info_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_rpc_create_account_info_proto_goTypes = []interface{}{
(*CreateAccountInfoRequest)(nil), // 0: pb.CreateAccountInfoRequest
(*CreateAccountInfoResponse)(nil), // 1: pb.CreateAccountInfoResponse
(*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp
(*AccountInfo)(nil), // 3: pb.AccountInfo
}
var file_rpc_create_account_info_proto_depIdxs = []int32{
2, // 0: pb.CreateAccountInfoRequest.birthday:type_name -> google.protobuf.Timestamp
3, // 1: pb.CreateAccountInfoResponse.account_info:type_name -> pb.AccountInfo
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_rpc_create_account_info_proto_init() }
func file_rpc_create_account_info_proto_init() {
if File_rpc_create_account_info_proto != nil {
return
}
file_account_info_proto_init()
if !protoimpl.UnsafeEnabled {
file_rpc_create_account_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateAccountInfoRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rpc_create_account_info_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CreateAccountInfoResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_rpc_create_account_info_proto_msgTypes[0].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_rpc_create_account_info_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_rpc_create_account_info_proto_goTypes,
DependencyIndexes: file_rpc_create_account_info_proto_depIdxs,
MessageInfos: file_rpc_create_account_info_proto_msgTypes,
}.Build()
File_rpc_create_account_info_proto = out.File
file_rpc_create_account_info_proto_rawDesc = nil
file_rpc_create_account_info_proto_goTypes = nil
file_rpc_create_account_info_proto_depIdxs = nil
}

View File

@ -123,23 +123,23 @@ var file_rpc_get_account_proto_rawDesc = []byte{
0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76,
0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x61, 0x63, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x11, 0x47, 0x65, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x11, 0x47, 0x65,
0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x3a,
0x3a, 0x92, 0x41, 0x37, 0x0a, 0x27, 0x2a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x43, 0x92, 0x41, 0x40, 0x0a, 0x30, 0x2a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x32, 0x14, 0x47, 0x65, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x1d, 0x47, 0x65, 0x74, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
0x6e, 0x74, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x32, 0x0c, 0x7b, 0x6e, 0x66, 0x6f, 0x20, 0x62, 0x79, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69,
0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x20, 0x7d, 0x22, 0x71, 0x0a, 0x12, 0x47, 0x64, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x32, 0x0c, 0x7b, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22,
0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x31, 0x22, 0x20, 0x7d, 0x22, 0x75, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x65, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x63,
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62,
0x03, 0x92, 0x41, 0x00, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x2f, 0x92, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x07, 0x61,
0x41, 0x2c, 0x0a, 0x2a, 0x2a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x33, 0x92, 0x41, 0x30, 0x0a, 0x2e, 0x2a, 0x13, 0x47,
0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x13, 0x52, 0x65, 0x74, 0x75, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x19, 0x73, 0x65, 0x32, 0x17, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20,
0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x19, 0x5a, 0x17, 0x67,
0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62,
0x33, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (

View File

@ -0,0 +1,227 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v4.24.4
// source: rpc_get_account_info.proto
package pb
import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type GetAccountInfoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AccountId uint64 `protobuf:"varint,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
}
func (x *GetAccountInfoRequest) Reset() {
*x = GetAccountInfoRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_rpc_get_account_info_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAccountInfoRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAccountInfoRequest) ProtoMessage() {}
func (x *GetAccountInfoRequest) ProtoReflect() protoreflect.Message {
mi := &file_rpc_get_account_info_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAccountInfoRequest.ProtoReflect.Descriptor instead.
func (*GetAccountInfoRequest) Descriptor() ([]byte, []int) {
return file_rpc_get_account_info_proto_rawDescGZIP(), []int{0}
}
func (x *GetAccountInfoRequest) GetAccountId() uint64 {
if x != nil {
return x.AccountId
}
return 0
}
type GetAccountInfoResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=account_info,json=accountInfo,proto3" json:"account_info,omitempty"`
}
func (x *GetAccountInfoResponse) Reset() {
*x = GetAccountInfoResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_rpc_get_account_info_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetAccountInfoResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetAccountInfoResponse) ProtoMessage() {}
func (x *GetAccountInfoResponse) ProtoReflect() protoreflect.Message {
mi := &file_rpc_get_account_info_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetAccountInfoResponse.ProtoReflect.Descriptor instead.
func (*GetAccountInfoResponse) Descriptor() ([]byte, []int) {
return file_rpc_get_account_info_proto_rawDescGZIP(), []int{1}
}
func (x *GetAccountInfoResponse) GetAccountInfo() *AccountInfo {
if x != nil {
return x.AccountInfo
}
return nil
}
var File_rpc_get_account_info_proto protoreflect.FileDescriptor
var file_rpc_get_account_info_proto_rawDesc = []byte{
0x0a, 0x1a, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65,
0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61,
0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x1a, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x04, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x57, 0x92,
0x41, 0x54, 0x0a, 0x3c, 0x2a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x49, 0x6e, 0x66, 0x6f, 0x32, 0x1d, 0x47, 0x65, 0x74, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x62, 0x79, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64,
0x32, 0x14, 0x7b, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x3a,
0x20, 0x22, 0x31, 0x22, 0x20, 0x7d, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66,
0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x0b, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x3a, 0x37, 0x92, 0x41, 0x34, 0x0a,
0x32, 0x2a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66,
0x6f, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x17, 0x52, 0x65, 0x74, 0x75,
0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
0x6e, 0x66, 0x6f, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_rpc_get_account_info_proto_rawDescOnce sync.Once
file_rpc_get_account_info_proto_rawDescData = file_rpc_get_account_info_proto_rawDesc
)
func file_rpc_get_account_info_proto_rawDescGZIP() []byte {
file_rpc_get_account_info_proto_rawDescOnce.Do(func() {
file_rpc_get_account_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_get_account_info_proto_rawDescData)
})
return file_rpc_get_account_info_proto_rawDescData
}
var file_rpc_get_account_info_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_rpc_get_account_info_proto_goTypes = []interface{}{
(*GetAccountInfoRequest)(nil), // 0: pb.GetAccountInfoRequest
(*GetAccountInfoResponse)(nil), // 1: pb.GetAccountInfoResponse
(*AccountInfo)(nil), // 2: pb.AccountInfo
}
var file_rpc_get_account_info_proto_depIdxs = []int32{
2, // 0: pb.GetAccountInfoResponse.account_info:type_name -> pb.AccountInfo
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_rpc_get_account_info_proto_init() }
func file_rpc_get_account_info_proto_init() {
if File_rpc_get_account_info_proto != nil {
return
}
file_account_info_proto_init()
if !protoimpl.UnsafeEnabled {
file_rpc_get_account_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAccountInfoRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rpc_get_account_info_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetAccountInfoResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_rpc_get_account_info_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_rpc_get_account_info_proto_goTypes,
DependencyIndexes: file_rpc_get_account_info_proto_depIdxs,
MessageInfos: file_rpc_get_account_info_proto_msgTypes,
}.Build()
File_rpc_get_account_info_proto = out.File
file_rpc_get_account_info_proto_rawDesc = nil
file_rpc_get_account_info_proto_goTypes = nil
file_rpc_get_account_info_proto_depIdxs = nil
}

View File

@ -0,0 +1,238 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v4.24.4
// source: rpc_list_account_info.proto
package pb
import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type ListAccountInfoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PageId uint32 `protobuf:"varint,1,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
}
func (x *ListAccountInfoRequest) Reset() {
*x = ListAccountInfoRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_rpc_list_account_info_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAccountInfoRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAccountInfoRequest) ProtoMessage() {}
func (x *ListAccountInfoRequest) ProtoReflect() protoreflect.Message {
mi := &file_rpc_list_account_info_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListAccountInfoRequest.ProtoReflect.Descriptor instead.
func (*ListAccountInfoRequest) Descriptor() ([]byte, []int) {
return file_rpc_list_account_info_proto_rawDescGZIP(), []int{0}
}
func (x *ListAccountInfoRequest) GetPageId() uint32 {
if x != nil {
return x.PageId
}
return 0
}
func (x *ListAccountInfoRequest) GetPageSize() uint32 {
if x != nil {
return x.PageSize
}
return 0
}
type ListAccountInfoResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AccountInfo []*AccountInfo `protobuf:"bytes,1,rep,name=account_info,json=accountInfo,proto3" json:"account_info,omitempty"`
}
func (x *ListAccountInfoResponse) Reset() {
*x = ListAccountInfoResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_rpc_list_account_info_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListAccountInfoResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListAccountInfoResponse) ProtoMessage() {}
func (x *ListAccountInfoResponse) ProtoReflect() protoreflect.Message {
mi := &file_rpc_list_account_info_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListAccountInfoResponse.ProtoReflect.Descriptor instead.
func (*ListAccountInfoResponse) Descriptor() ([]byte, []int) {
return file_rpc_list_account_info_proto_rawDescGZIP(), []int{1}
}
func (x *ListAccountInfoResponse) GetAccountInfo() []*AccountInfo {
if x != nil {
return x.AccountInfo
}
return nil
}
var File_rpc_list_account_info_proto protoreflect.FileDescriptor
var file_rpc_list_account_info_proto_rawDesc = []byte{
0x0a, 0x1b, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70,
0x62, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70,
0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x06, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67,
0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61,
0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x3a, 0x6a, 0x92, 0x41, 0x67, 0x0a, 0x43, 0x2a, 0x0f, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x32, 0x1a,
0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f,
0x66, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0xd2, 0x01, 0x07, 0x70, 0x61, 0x67,
0x65, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
0x32, 0x20, 0x7b, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x31, 0x2c,
0x20, 0x22, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3a, 0x20, 0x31, 0x30,
0x20, 0x7d, 0x22, 0x8c, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37,
0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x3a, 0x38, 0x92, 0x41, 0x35, 0x0a, 0x33, 0x2a, 0x18,
0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x20,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x17, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e,
0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66,
0x6f, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_rpc_list_account_info_proto_rawDescOnce sync.Once
file_rpc_list_account_info_proto_rawDescData = file_rpc_list_account_info_proto_rawDesc
)
func file_rpc_list_account_info_proto_rawDescGZIP() []byte {
file_rpc_list_account_info_proto_rawDescOnce.Do(func() {
file_rpc_list_account_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_list_account_info_proto_rawDescData)
})
return file_rpc_list_account_info_proto_rawDescData
}
var file_rpc_list_account_info_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_rpc_list_account_info_proto_goTypes = []interface{}{
(*ListAccountInfoRequest)(nil), // 0: pb.ListAccountInfoRequest
(*ListAccountInfoResponse)(nil), // 1: pb.ListAccountInfoResponse
(*AccountInfo)(nil), // 2: pb.AccountInfo
}
var file_rpc_list_account_info_proto_depIdxs = []int32{
2, // 0: pb.ListAccountInfoResponse.account_info:type_name -> pb.AccountInfo
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_rpc_list_account_info_proto_init() }
func file_rpc_list_account_info_proto_init() {
if File_rpc_list_account_info_proto != nil {
return
}
file_account_info_proto_init()
if !protoimpl.UnsafeEnabled {
file_rpc_list_account_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAccountInfoRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rpc_list_account_info_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListAccountInfoResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_rpc_list_account_info_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_rpc_list_account_info_proto_goTypes,
DependencyIndexes: file_rpc_list_account_info_proto_depIdxs,
MessageInfos: file_rpc_list_account_info_proto_msgTypes,
}.Build()
File_rpc_list_account_info_proto = out.File
file_rpc_list_account_info_proto_rawDesc = nil
file_rpc_list_account_info_proto_goTypes = nil
file_rpc_list_account_info_proto_depIdxs = nil
}

View File

@ -1,339 +0,0 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v4.24.4
// source: rpc_update_account.proto
package pb
import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type UpdateAccountRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Email *string `protobuf:"bytes,2,opt,name=email,proto3,oneof" json:"email,omitempty"`
Password *string `protobuf:"bytes,3,opt,name=password,proto3,oneof" json:"password,omitempty"`
Firstname *string `protobuf:"bytes,4,opt,name=firstname,proto3,oneof" json:"firstname,omitempty"`
Lastname *string `protobuf:"bytes,5,opt,name=lastname,proto3,oneof" json:"lastname,omitempty"`
Street *string `protobuf:"bytes,6,opt,name=street,proto3,oneof" json:"street,omitempty"`
City *string `protobuf:"bytes,7,opt,name=city,proto3,oneof" json:"city,omitempty"`
Zip *string `protobuf:"bytes,8,opt,name=zip,proto3,oneof" json:"zip,omitempty"`
Country *string `protobuf:"bytes,9,opt,name=country,proto3,oneof" json:"country,omitempty"`
Phone *string `protobuf:"bytes,10,opt,name=phone,proto3,oneof" json:"phone,omitempty"`
Birthday *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=birthday,proto3,oneof" json:"birthday,omitempty"`
}
func (x *UpdateAccountRequest) Reset() {
*x = UpdateAccountRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_rpc_update_account_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateAccountRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateAccountRequest) ProtoMessage() {}
func (x *UpdateAccountRequest) ProtoReflect() protoreflect.Message {
mi := &file_rpc_update_account_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateAccountRequest.ProtoReflect.Descriptor instead.
func (*UpdateAccountRequest) Descriptor() ([]byte, []int) {
return file_rpc_update_account_proto_rawDescGZIP(), []int{0}
}
func (x *UpdateAccountRequest) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *UpdateAccountRequest) GetEmail() string {
if x != nil && x.Email != nil {
return *x.Email
}
return ""
}
func (x *UpdateAccountRequest) GetPassword() string {
if x != nil && x.Password != nil {
return *x.Password
}
return ""
}
func (x *UpdateAccountRequest) GetFirstname() string {
if x != nil && x.Firstname != nil {
return *x.Firstname
}
return ""
}
func (x *UpdateAccountRequest) GetLastname() string {
if x != nil && x.Lastname != nil {
return *x.Lastname
}
return ""
}
func (x *UpdateAccountRequest) GetStreet() string {
if x != nil && x.Street != nil {
return *x.Street
}
return ""
}
func (x *UpdateAccountRequest) GetCity() string {
if x != nil && x.City != nil {
return *x.City
}
return ""
}
func (x *UpdateAccountRequest) GetZip() string {
if x != nil && x.Zip != nil {
return *x.Zip
}
return ""
}
func (x *UpdateAccountRequest) GetCountry() string {
if x != nil && x.Country != nil {
return *x.Country
}
return ""
}
func (x *UpdateAccountRequest) GetPhone() string {
if x != nil && x.Phone != nil {
return *x.Phone
}
return ""
}
func (x *UpdateAccountRequest) GetBirthday() *timestamppb.Timestamp {
if x != nil {
return x.Birthday
}
return nil
}
type UpdateAccountResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Account *Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
}
func (x *UpdateAccountResponse) Reset() {
*x = UpdateAccountResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_rpc_update_account_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateAccountResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateAccountResponse) ProtoMessage() {}
func (x *UpdateAccountResponse) ProtoReflect() protoreflect.Message {
mi := &file_rpc_update_account_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateAccountResponse.ProtoReflect.Descriptor instead.
func (*UpdateAccountResponse) Descriptor() ([]byte, []int) {
return file_rpc_update_account_proto_rawDescGZIP(), []int{1}
}
func (x *UpdateAccountResponse) GetAccount() *Account {
if x != nil {
return x.Account
}
return nil
}
var File_rpc_update_account_proto protoreflect.FileDescriptor
var file_rpc_update_account_proto_rawDesc = []byte{
0x0a, 0x18, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x1f,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e,
0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e,
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce,
0x04, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x88,
0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e,
0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74,
0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65,
0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x65,
0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a,
0x03, 0x7a, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x03, 0x7a, 0x69,
0x70, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18,
0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x58,
0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92, 0x41,
0x18, 0x4a, 0x16, 0x22, 0x31, 0x39, 0x39, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54, 0x30,
0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x48, 0x09, 0x52, 0x08, 0x62, 0x69, 0x72,
0x74, 0x68, 0x64, 0x61, 0x79, 0x88, 0x01, 0x01, 0x3a, 0x54, 0x92, 0x41, 0x51, 0x0a, 0x28, 0x2a,
0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32,
0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0xd2, 0x01, 0x02, 0x69, 0x64, 0x32, 0x25, 0x7b, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20,
0x22, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x22, 0x3a, 0x20, 0x22,
0x44, 0x65, 0x61, 0x74, 0x68, 0x20, 0x53, 0x74, 0x61, 0x72, 0x20, 0x32, 0x22, 0x7d, 0x42, 0x08,
0x0a, 0x06, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x61, 0x73,
0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e,
0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65,
0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f,
0x63, 0x69, 0x74, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x7a, 0x69, 0x70, 0x42, 0x0a, 0x0a, 0x08,
0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x68, 0x6f,
0x6e, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x22,
0x78, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0x92, 0x41, 0x00, 0x52, 0x07, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x33, 0x92, 0x41, 0x30, 0x0a, 0x2e, 0x2a, 0x0f, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x64, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x1b, 0x52, 0x65,
0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x64, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74,
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64,
0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_rpc_update_account_proto_rawDescOnce sync.Once
file_rpc_update_account_proto_rawDescData = file_rpc_update_account_proto_rawDesc
)
func file_rpc_update_account_proto_rawDescGZIP() []byte {
file_rpc_update_account_proto_rawDescOnce.Do(func() {
file_rpc_update_account_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_update_account_proto_rawDescData)
})
return file_rpc_update_account_proto_rawDescData
}
var file_rpc_update_account_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_rpc_update_account_proto_goTypes = []interface{}{
(*UpdateAccountRequest)(nil), // 0: pb.UpdateAccountRequest
(*UpdateAccountResponse)(nil), // 1: pb.UpdateAccountResponse
(*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp
(*Account)(nil), // 3: pb.Account
}
var file_rpc_update_account_proto_depIdxs = []int32{
2, // 0: pb.UpdateAccountRequest.birthday:type_name -> google.protobuf.Timestamp
3, // 1: pb.UpdateAccountResponse.account:type_name -> pb.Account
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_rpc_update_account_proto_init() }
func file_rpc_update_account_proto_init() {
if File_rpc_update_account_proto != nil {
return
}
file_account_proto_init()
if !protoimpl.UnsafeEnabled {
file_rpc_update_account_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateAccountRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rpc_update_account_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateAccountResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_rpc_update_account_proto_msgTypes[0].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_rpc_update_account_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_rpc_update_account_proto_goTypes,
DependencyIndexes: file_rpc_update_account_proto_depIdxs,
MessageInfos: file_rpc_update_account_proto_msgTypes,
}.Build()
File_rpc_update_account_proto = out.File
file_rpc_update_account_proto_rawDesc = nil
file_rpc_update_account_proto_goTypes = nil
file_rpc_update_account_proto_depIdxs = nil
}

View File

@ -0,0 +1,322 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v4.24.4
// source: rpc_update_account_info.proto
package pb
import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type UpdateAccountInfoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AccountId uint64 `protobuf:"varint,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
Firstname *string `protobuf:"bytes,4,opt,name=firstname,proto3,oneof" json:"firstname,omitempty"`
Lastname *string `protobuf:"bytes,5,opt,name=lastname,proto3,oneof" json:"lastname,omitempty"`
Street *string `protobuf:"bytes,6,opt,name=street,proto3,oneof" json:"street,omitempty"`
City *string `protobuf:"bytes,7,opt,name=city,proto3,oneof" json:"city,omitempty"`
Zip *string `protobuf:"bytes,8,opt,name=zip,proto3,oneof" json:"zip,omitempty"`
Country *string `protobuf:"bytes,9,opt,name=country,proto3,oneof" json:"country,omitempty"`
Phone *string `protobuf:"bytes,10,opt,name=phone,proto3,oneof" json:"phone,omitempty"`
Birthday *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=birthday,proto3,oneof" json:"birthday,omitempty"`
}
func (x *UpdateAccountInfoRequest) Reset() {
*x = UpdateAccountInfoRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_rpc_update_account_info_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateAccountInfoRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateAccountInfoRequest) ProtoMessage() {}
func (x *UpdateAccountInfoRequest) ProtoReflect() protoreflect.Message {
mi := &file_rpc_update_account_info_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateAccountInfoRequest.ProtoReflect.Descriptor instead.
func (*UpdateAccountInfoRequest) Descriptor() ([]byte, []int) {
return file_rpc_update_account_info_proto_rawDescGZIP(), []int{0}
}
func (x *UpdateAccountInfoRequest) GetAccountId() uint64 {
if x != nil {
return x.AccountId
}
return 0
}
func (x *UpdateAccountInfoRequest) GetFirstname() string {
if x != nil && x.Firstname != nil {
return *x.Firstname
}
return ""
}
func (x *UpdateAccountInfoRequest) GetLastname() string {
if x != nil && x.Lastname != nil {
return *x.Lastname
}
return ""
}
func (x *UpdateAccountInfoRequest) GetStreet() string {
if x != nil && x.Street != nil {
return *x.Street
}
return ""
}
func (x *UpdateAccountInfoRequest) GetCity() string {
if x != nil && x.City != nil {
return *x.City
}
return ""
}
func (x *UpdateAccountInfoRequest) GetZip() string {
if x != nil && x.Zip != nil {
return *x.Zip
}
return ""
}
func (x *UpdateAccountInfoRequest) GetCountry() string {
if x != nil && x.Country != nil {
return *x.Country
}
return ""
}
func (x *UpdateAccountInfoRequest) GetPhone() string {
if x != nil && x.Phone != nil {
return *x.Phone
}
return ""
}
func (x *UpdateAccountInfoRequest) GetBirthday() *timestamppb.Timestamp {
if x != nil {
return x.Birthday
}
return nil
}
type UpdateAccountInfoResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=account_info,json=accountInfo,proto3" json:"account_info,omitempty"`
}
func (x *UpdateAccountInfoResponse) Reset() {
*x = UpdateAccountInfoResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_rpc_update_account_info_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateAccountInfoResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateAccountInfoResponse) ProtoMessage() {}
func (x *UpdateAccountInfoResponse) ProtoReflect() protoreflect.Message {
mi := &file_rpc_update_account_info_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateAccountInfoResponse.ProtoReflect.Descriptor instead.
func (*UpdateAccountInfoResponse) Descriptor() ([]byte, []int) {
return file_rpc_update_account_info_proto_rawDescGZIP(), []int{1}
}
func (x *UpdateAccountInfoResponse) GetAccountInfo() *AccountInfo {
if x != nil {
return x.AccountInfo
}
return nil
}
var File_rpc_update_account_info_proto protoreflect.FileDescriptor
var file_rpc_update_account_info_proto_rawDesc = []byte{
0x0a, 0x1d, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x02, 0x70, 0x62, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e,
0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e,
0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x04, 0x0a, 0x18, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74,
0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x73,
0x74, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65,
0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65,
0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20,
0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x15,
0x0a, 0x03, 0x7a, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x03, 0x7a,
0x69, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72,
0x79, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12,
0x58, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x92,
0x41, 0x18, 0x4a, 0x16, 0x22, 0x31, 0x39, 0x39, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x54,
0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x22, 0x48, 0x07, 0x52, 0x08, 0x62, 0x69,
0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x88, 0x01, 0x01, 0x3a, 0x64, 0x92, 0x41, 0x61, 0x0a, 0x30,
0x2a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x49, 0x6e, 0x66, 0x6f, 0x32, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0xd2, 0x01, 0x02, 0x69, 0x64,
0x32, 0x2d, 0x7b, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x3a,
0x20, 0x22, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x73, 0x74, 0x72, 0x65, 0x65, 0x74, 0x22, 0x3a, 0x20,
0x22, 0x44, 0x65, 0x61, 0x74, 0x68, 0x20, 0x53, 0x74, 0x61, 0x72, 0x20, 0x32, 0x22, 0x7d, 0x42,
0x0c, 0x0a, 0x0a, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a,
0x09, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73,
0x74, 0x72, 0x65, 0x65, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x69, 0x74, 0x79, 0x42, 0x06,
0x0a, 0x04, 0x5f, 0x7a, 0x69, 0x70, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x42, 0x0b, 0x0a, 0x09,
0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x22, 0x89, 0x01, 0x0a, 0x19, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x70, 0x62, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03,
0x92, 0x41, 0x00, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
0x3a, 0x33, 0x92, 0x41, 0x30, 0x0a, 0x2e, 0x2a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0x1b, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e,
0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_rpc_update_account_info_proto_rawDescOnce sync.Once
file_rpc_update_account_info_proto_rawDescData = file_rpc_update_account_info_proto_rawDesc
)
func file_rpc_update_account_info_proto_rawDescGZIP() []byte {
file_rpc_update_account_info_proto_rawDescOnce.Do(func() {
file_rpc_update_account_info_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_update_account_info_proto_rawDescData)
})
return file_rpc_update_account_info_proto_rawDescData
}
var file_rpc_update_account_info_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_rpc_update_account_info_proto_goTypes = []interface{}{
(*UpdateAccountInfoRequest)(nil), // 0: pb.UpdateAccountInfoRequest
(*UpdateAccountInfoResponse)(nil), // 1: pb.UpdateAccountInfoResponse
(*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp
(*AccountInfo)(nil), // 3: pb.AccountInfo
}
var file_rpc_update_account_info_proto_depIdxs = []int32{
2, // 0: pb.UpdateAccountInfoRequest.birthday:type_name -> google.protobuf.Timestamp
3, // 1: pb.UpdateAccountInfoResponse.account_info:type_name -> pb.AccountInfo
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_rpc_update_account_info_proto_init() }
func file_rpc_update_account_info_proto_init() {
if File_rpc_update_account_info_proto != nil {
return
}
file_account_info_proto_init()
if !protoimpl.UnsafeEnabled {
file_rpc_update_account_info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateAccountInfoRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_rpc_update_account_info_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateAccountInfoResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_rpc_update_account_info_proto_msgTypes[0].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_rpc_update_account_info_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_rpc_update_account_info_proto_goTypes,
DependencyIndexes: file_rpc_update_account_info_proto_depIdxs,
MessageInfos: file_rpc_update_account_info_proto_msgTypes,
}.Build()
File_rpc_update_account_info_proto = out.File
file_rpc_update_account_info_proto_rawDesc = nil
file_rpc_update_account_info_proto_goTypes = nil
file_rpc_update_account_info_proto_depIdxs = nil
}

View File

@ -26,7 +26,7 @@ type UpdateAccountPrivacyRequest struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` AccountId uint64 `protobuf:"varint,1,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
PrivacyAccepted bool `protobuf:"varint,2,opt,name=privacy_accepted,json=privacyAccepted,proto3" json:"privacy_accepted,omitempty"` PrivacyAccepted bool `protobuf:"varint,2,opt,name=privacy_accepted,json=privacyAccepted,proto3" json:"privacy_accepted,omitempty"`
} }
@ -62,9 +62,9 @@ func (*UpdateAccountPrivacyRequest) Descriptor() ([]byte, []int) {
return file_rpc_update_account_privacy_proto_rawDescGZIP(), []int{0} return file_rpc_update_account_privacy_proto_rawDescGZIP(), []int{0}
} }
func (x *UpdateAccountPrivacyRequest) GetId() uint64 { func (x *UpdateAccountPrivacyRequest) GetAccountId() uint64 {
if x != nil { if x != nil {
return x.Id return x.AccountId
} }
return 0 return 0
} }
@ -81,7 +81,7 @@ type UpdateAccountPrivacyResponse struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Account *Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=account_info,json=accountInfo,proto3" json:"account_info,omitempty"`
} }
func (x *UpdateAccountPrivacyResponse) Reset() { func (x *UpdateAccountPrivacyResponse) Reset() {
@ -116,9 +116,9 @@ func (*UpdateAccountPrivacyResponse) Descriptor() ([]byte, []int) {
return file_rpc_update_account_privacy_proto_rawDescGZIP(), []int{1} return file_rpc_update_account_privacy_proto_rawDescGZIP(), []int{1}
} }
func (x *UpdateAccountPrivacyResponse) GetAccount() *Account { func (x *UpdateAccountPrivacyResponse) GetAccountInfo() *AccountInfo {
if x != nil { if x != nil {
return x.Account return x.AccountInfo
} }
return nil return nil
} }
@ -131,35 +131,39 @@ var file_rpc_update_account_privacy_proto_rawDesc = []byte{
0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67,
0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x02, 0x0a, 0x1b, 0x55,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x52, 0x65, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x61, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x61, 0x63,
0x04, 0x42, 0x0e, 0x92, 0x41, 0x0b, 0x4a, 0x01, 0x31, 0xa2, 0x02, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0e,
0x34, 0x52, 0x02, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x92, 0x41, 0x0b, 0x4a, 0x01, 0x31, 0xa2, 0x02, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x09,
0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x10, 0x70, 0x72, 0x69,
0x0a, 0x92, 0x41, 0x07, 0x4a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20,
0x76, 0x61, 0x63, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x3a, 0x90, 0x01, 0x92, 0x01, 0x28, 0x08, 0x42, 0x0a, 0x92, 0x41, 0x07, 0x4a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52,
0x41, 0x8c, 0x01, 0x0a, 0x62, 0x2a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x20, 0x43, 0x6f, 0x3a, 0xa1, 0x01, 0x92, 0x41, 0x9d, 0x01, 0x0a, 0x6b, 0x2a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74,
0x6e, 0x73, 0x65, 0x6e, 0x74, 0x32, 0x28, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x50,
0x65, 0x20, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x32, 0x2c,
0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0xd2, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x50, 0x72, 0x69, 0x76, 0x61,
0x01, 0x02, 0x69, 0x64, 0xd2, 0x01, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x79, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e,
0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x32, 0x26, 0x7b, 0x22, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0xd2, 0x01, 0x02, 0x69,
0x22, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x64, 0xd2, 0x01, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65,
0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22, 0x3a, 0x20, 0x74, 0x72, 0x75, 0x65, 0x20, 0x7d, 0x22, 0x70, 0x74, 0x65, 0x64, 0x32, 0x2e, 0x7b, 0x22, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
0x83, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x69, 0x64, 0x22, 0x3a, 0x20, 0x22, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61,
0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22, 0x3a, 0x20, 0x74, 0x72,
0x12, 0x3b, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x75, 0x65, 0x20, 0x7d, 0x22, 0x99, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41,
0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x52, 0x65, 0x73,
0x92, 0x41, 0x11, 0x2a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x41, 0x63, 0x63, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x26, 0x92, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
0x41, 0x23, 0x0a, 0x21, 0x2a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x18, 0x92, 0x41,
0x6f, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x20, 0x52, 0x65, 0x73, 0x15, 0x2a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x6e, 0x66, 0x6f, 0x3a, 0x2b, 0x92, 0x41, 0x28, 0x0a, 0x26, 0x2a, 0x24, 0x55, 0x70, 0x64, 0x61,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x20,
0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x42, 0x19, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69,
0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
} }
var ( var (
@ -178,10 +182,10 @@ var file_rpc_update_account_privacy_proto_msgTypes = make([]protoimpl.MessageInf
var file_rpc_update_account_privacy_proto_goTypes = []interface{}{ var file_rpc_update_account_privacy_proto_goTypes = []interface{}{
(*UpdateAccountPrivacyRequest)(nil), // 0: pb.UpdateAccountPrivacyRequest (*UpdateAccountPrivacyRequest)(nil), // 0: pb.UpdateAccountPrivacyRequest
(*UpdateAccountPrivacyResponse)(nil), // 1: pb.UpdateAccountPrivacyResponse (*UpdateAccountPrivacyResponse)(nil), // 1: pb.UpdateAccountPrivacyResponse
(*Account)(nil), // 2: pb.Account (*AccountInfo)(nil), // 2: pb.AccountInfo
} }
var file_rpc_update_account_privacy_proto_depIdxs = []int32{ var file_rpc_update_account_privacy_proto_depIdxs = []int32{
2, // 0: pb.UpdateAccountPrivacyResponse.account:type_name -> pb.Account 2, // 0: pb.UpdateAccountPrivacyResponse.account_info:type_name -> pb.AccountInfo
1, // [1:1] is the sub-list for method output_type 1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type 1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension type_name
@ -194,7 +198,7 @@ func file_rpc_update_account_privacy_proto_init() {
if File_rpc_update_account_privacy_proto != nil { if File_rpc_update_account_privacy_proto != nil {
return return
} }
file_account_proto_init() file_account_info_proto_init()
if !protoimpl.UnsafeEnabled { if !protoimpl.UnsafeEnabled {
file_rpc_update_account_privacy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { file_rpc_update_account_privacy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateAccountPrivacyRequest); i { switch v := v.(*UpdateAccountPrivacyRequest); i {

View File

@ -50,261 +50,300 @@ var file_service_df_proto_rawDesc = []byte{
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70,
0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
0x20, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x72, 0x65,
0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
0x6f, 0x1a, 0x0f, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x65, 0x74, 0x5f,
0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x74, 0x6f, 0x1a, 0x1b, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63,
0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x1d, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f,
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x72, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f,
0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x6c, 0x6f, 0x67, 0x5f, 0x62, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65,
0x61, 0x64, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x1a, 0x19, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x64, 0x6f, 0x6f, 0x1a, 0x17, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x73,
0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x72, 0x70, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x72, 0x70, 0x63, 0x5f,
0x63, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x67,
0x72, 0x6f, 0x74, 0x6f, 0x32, 0x95, 0x1c, 0x0a, 0x02, 0x64, 0x66, 0x12, 0x42, 0x0a, 0x05, 0x4c, 0x5f, 0x62, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x2e, 0x70, 0x72,
0x6f, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x72, 0x70, 0x63, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d,
0x0e, 0x3a, 0x01, 0x2a, 0x22, 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x72, 0x70, 0x63, 0x5f, 0x76,
0x68, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6f, 0x32, 0xaa, 0x20, 0x0a, 0x02, 0x64, 0x66, 0x12, 0x42, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69,
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6e, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75,
0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x3a, 0x01,
0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x72, 0x2a, 0x22, 0x09, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x68, 0x0a, 0x0c,
0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0xa4, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x17, 0x2e, 0x70,
0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x62, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65,
0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65,
0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x92, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x2f,
0x41, 0x2f, 0x12, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
0x73, 0x20, 0x62, 0x79, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x62, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0xa4, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53,
0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x92, 0x41, 0x2f, 0x12,
0x12, 0x92, 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62,
0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x79, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x62, 0x10, 0x0a, 0x0e,
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3,
0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x92, 0x41, 0x27, 0x12, 0x13, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x6e, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73,
0x20, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x62, 0x10, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x92, 0x01,
0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x32, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x6c, 0x6f,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x92, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x22, 0x4f, 0x92, 0x41, 0x27, 0x12, 0x13, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x53, 0x65,
0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x62, 0x10, 0x0a, 0x0e, 0x0a,
0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x55, 0x92, 0x41, 0x2d, 0x12, 0x19, 0x47, 0x65, 0x74, 0x20, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x62, 0x79, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x5f, 0x69, 0x64, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41,
0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x31,
0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x0c, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53,
0x92, 0x41, 0x2e, 0x12, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x73, 0x20, 0x5b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x5d, 0x62,
0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12,
0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x73, 0x12, 0x7f, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x92, 0x41, 0x10, 0x12, 0x0e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x92, 0x41, 0x22,
0x12, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68,
0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x32, 0x1b, 0x2f, 0x76, 0x31,
0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0xbf, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63,
0x79, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, 0x41, 0x33, 0x12, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63,
0x79, 0x20, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a,
0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0x28, 0x3a, 0x01, 0x2a, 0x32, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x12, 0x8b, 0x01, 0x0a, 0x0c, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62,
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48,
0x92, 0x41, 0x21, 0x12, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x50, 0x65, 0x72, 0x73,
0x6f, 0x6e, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75,
0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f,
0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x8b, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65,
0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x92, 0x41,
0x21, 0x12, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,
0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68,
0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x32, 0x19, 0x2f, 0x76, 0x31,
0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x50, 0x65,
0x72, 0x73, 0x6f, 0x6e, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72,
0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e,
0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x4a, 0x92, 0x41, 0x24, 0x12, 0x10, 0x47, 0x65, 0x74, 0x20, 0x50, 0x65, 0x72, 0x73,
0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65,
0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d,
0x12, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x65,
0x74, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x93, 0x01,
0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x17,
0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x50, 0x92, 0x41, 0x27, 0x12, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x50,
0x65, 0x72, 0x73, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x62, 0x10, 0x0a, 0x0e, 0x0a,
0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x20, 0x2a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x32, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73,
0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2f, 0x7b, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69,
0x69, 0x64, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x92, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x6f, 0x6e, 0x73, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x73, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x92, 0x41, 0x2e, 0x12, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x22, 0x55, 0x92, 0x41, 0x2d, 0x12, 0x19, 0x47, 0x65, 0x74, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x79, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x62, 0x79, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64,
0x6e, 0x74, 0x5f, 0x69, 0x64, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65,
0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f,
0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f,
0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x5f, 0x69, 0x64, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50,
0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x92, 0x41, 0x22,
0x12, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74,
0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68,
0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x31, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63,
0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x6e, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74,
0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x92, 0x41, 0x25, 0x12, 0x11, 0x47, 0x65, 0x74, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x92, 0x41, 0x2e,
0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x62, 0x10, 0x12, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20,
0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x5b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x5d, 0x62, 0x10, 0x0a, 0x0e,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3,
0x65, 0x6e, 0x74, 0x73, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x99, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x74, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73,
0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x12, 0x9a, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63,
0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70,
0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53, 0x92, 0x41, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
0x28, 0x12, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x92, 0x41, 0x26, 0x12, 0x12, 0x43, 0x72,
0x74, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x65, 0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x2a, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68,
0x20, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x64, 0x65, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x76, 0x31,
0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xaa, 0x01,
0x74, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x92, 0x41, 0x2f, 0x12, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x62, 0x79, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x92, 0x41, 0x31, 0x12, 0x1d, 0x47, 0x65,
0x74, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x62, 0x79,
0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x62, 0x10, 0x0a, 0x0e, 0x0a,
0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x73, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x7b, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xa7, 0x01, 0x0a, 0x0f, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a,
0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e,
0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x92, 0x41, 0x32, 0x12, 0x1e, 0x4c, 0x69,
0x73, 0x74, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x20,
0x5b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x5d, 0x62, 0x10, 0x0a, 0x0e,
0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
0x69, 0x6e, 0x66, 0x6f, 0x12, 0x8f, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x92, 0x41, 0x14, 0x12, 0x12, 0x43, 0x72,
0x65, 0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0xa1, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x2e, 0x70,
0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x62, 0x2e,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66,
0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x92, 0x41, 0x26, 0x12, 0x12,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e,
0x66, 0x6f, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75,
0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x32, 0x1b, 0x2f,
0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0xbf, 0x01, 0x0a, 0x14, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76,
0x61, 0x63, 0x79, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41,
0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, 0x41, 0x33, 0x12, 0x1f, 0x55, 0x70, 0x64,
0x61, 0x74, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x69, 0x76,
0x61, 0x63, 0x79, 0x20, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x62, 0x10, 0x0a, 0x0e,
0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x32, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x12, 0x8b, 0x01, 0x0a,
0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x2e,
0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x48, 0x92, 0x41, 0x21, 0x12, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x50, 0x65,
0x72, 0x73, 0x6f, 0x6e, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72,
0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22,
0x19, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x8b, 0x01, 0x0a, 0x0c, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62,
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48,
0x92, 0x41, 0x21, 0x12, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x50, 0x65, 0x72, 0x73,
0x6f, 0x6e, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75,
0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x32, 0x19, 0x2f,
0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x84, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74,
0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50,
0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70,
0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x24, 0x12, 0x10, 0x47, 0x65, 0x74, 0x20, 0x50, 0x65,
0x72, 0x73, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a,
0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93,
0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f,
0x67, 0x65, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12,
0x93, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,
0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x50, 0x92, 0x41, 0x27, 0x12, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x20, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x62, 0x10, 0x0a,
0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82,
0xd3, 0xe4, 0x93, 0x02, 0x20, 0x2a, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f,
0x6e, 0x73, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,
0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65,
0x72, 0x73, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50,
0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e,
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x92, 0x41, 0x2e, 0x12, 0x1a, 0x4c, 0x69, 0x73,
0x74, 0x20, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x79, 0x20, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61,
0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12,
0x27, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x6c, 0x69, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x69, 0x73,
0x73, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75,
0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74,
0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61,
0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x92,
0x4b, 0x92, 0x41, 0x22, 0x12, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x50, 0x61, 0x79, 0x41, 0x22, 0x12, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65,
0x6d, 0x65, 0x6e, 0x74, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x6e, 0x74, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75,
0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x32, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f,
0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61,
0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0xb0, 0x01, 0x0a, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x47,
0x0e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x47,
0x19, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74,
0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x92, 0x41, 0x25, 0x12, 0x11, 0x47,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x92, 0x41, 0x30, 0x12, 0x1c, 0x4c, 0x69, 0x73, 0x65, 0x74, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44,
0x74, 0x20, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x20, 0x62, 0x79, 0x20, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68,
0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61,
0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65,
0x6e, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x99, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50,
0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x53,
0x92, 0x41, 0x28, 0x12, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x50, 0x61, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42,
0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x5f, 0x6c, 0x22, 0x2a, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f,
0x6f, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x7b,
0x6c, 0x6f, 0x67, 0x2f, 0x7b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x69, 0x64, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d,
0xca, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61,
0x6e, 0x74, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e,
0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52,
0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x92, 0x41, 0x2f, 0x12, 0x1b, 0x4c, 0x69,
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, 0x02, 0x92, 0x41, 0xe0, 0x01, 0x73, 0x74, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x62, 0x79, 0x20, 0x61,
0x12, 0x1b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42,
0x74, 0x20, 0x5b, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x48, 0x54, 0x54, 0x50, 0x5d, 0x1a, 0xae, 0x01, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x54, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x69, 0x61, 0x20, 0x73, 0x77, 0x61, 0x67, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f,
0x67, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61,
0x62, 0x6c, 0x65, 0x2e, 0x20, 0x54, 0x72, 0x79, 0x20, 0x60, 0x60, 0x60, 0x63, 0x75, 0x72, 0x6c, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x55,
0x20, 0x2d, 0x58, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x2d, 0x48, 0x20, 0x22, 0x41, 0x75, 0x74, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70,
0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x42, 0x65, 0x61, 0x72, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52,
0x65, 0x72, 0x20, 0x7b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x7d, 0x22, 0x20, 0x2d, 0x46, 0x20, 0x22, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61,
0x66, 0x69, 0x6c, 0x65, 0x3d, 0x40, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2f, 0x74, 0x6f, 0x2f, 0x66, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x69, 0x6c, 0x65, 0x22, 0x20, 0x2d, 0x46, 0x20, 0x22, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x65, 0x22, 0x4b, 0x92, 0x41, 0x22, 0x12, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x50,
0x69, 0x64, 0x3d, 0x31, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x7b, 0x73, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72,
0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x52, 0x49, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01,
0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x60, 0x60, 0x60, 0x62, 0x10, 0x2a, 0x32, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f,
0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0xb0,
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f,
0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x9f, 0x01, 0x0a, 0x67, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x74, 0x75, 0x72,
0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70,
0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67,
0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x92, 0x41, 0x30, 0x12, 0x1c, 0x4c,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x69, 0x73, 0x74, 0x20, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x20, 0x62,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, 0x29, 0x12, 0x15, 0x44, 0x65, 0x6c, 0x79, 0x20, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x62, 0x10, 0x0a, 0x0e, 0x0a,
0x65, 0x74, 0x65, 0x20, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x62, 0x79, 0x20, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4,
0x49, 0x44, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73,
0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x2a, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x5f, 0x6c, 0x6f, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e,
0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x2f, 0x7b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xa2, 0x7d, 0x12, 0xca, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75,
0x01, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
0x2e, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d,
0x66, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, 0x02, 0x92, 0x41,
0x62, 0x92, 0x41, 0x2d, 0x12, 0x2b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x20, 0x45, 0x6d, 0x61, 0xe0, 0x01, 0x12, 0x1b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x44, 0x6f, 0x63, 0x75, 0x6d,
0x69, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x20, 0x5b, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x48, 0x54, 0x54, 0x50, 0x5d, 0x1a,
0x69, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0xae, 0x01, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x69, 0x61, 0x20, 0x73, 0x77,
0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x67, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x6f, 0x73,
0x69, 0x66, 0x79, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x2e, 0x20, 0x54, 0x72, 0x79, 0x20, 0x60, 0x60, 0x60, 0x63, 0x75,
0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x72, 0x6c, 0x20, 0x2d, 0x58, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x20, 0x2d, 0x48, 0x20, 0x22, 0x41,
0x65, 0x79, 0x7d, 0x1a, 0x07, 0x92, 0x41, 0x04, 0x12, 0x02, 0x64, 0x66, 0x42, 0xb0, 0x01, 0x92, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x42, 0x65,
0x41, 0x93, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x64, 0x66, 0x20, 0x41, 0x50, 0x49, 0x22, 0x35, 0x0a, 0x61, 0x72, 0x65, 0x72, 0x20, 0x7b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x7d, 0x22, 0x20, 0x2d, 0x46,
0x06, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x12, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x20, 0x22, 0x66, 0x69, 0x6c, 0x65, 0x3d, 0x40, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2f, 0x74, 0x6f,
0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x20, 0x2d, 0x46, 0x20, 0x22, 0x70, 0x65, 0x72, 0x73, 0x6f,
0x63, 0x62, 0x2f, 0x64, 0x66, 0x1a, 0x0d, 0x64, 0x65, 0x76, 0x40, 0x69, 0x74, 0x73, 0x73, 0x63, 0x6e, 0x5f, 0x69, 0x64, 0x3d, 0x31, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
0x62, 0x2e, 0x64, 0x65, 0x32, 0x03, 0x31, 0x2e, 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x52, 0x49, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75,
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x60, 0x60, 0x60,
0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68,
0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x64, 0x6f,
0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x9f,
0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
0x74, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63,
0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70,
0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, 0x29, 0x12, 0x15, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x62,
0x79, 0x20, 0x49, 0x44, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72,
0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x2a, 0x22, 0x2f, 0x76,
0x31, 0x2f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x64, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d,
0x12, 0xa2, 0x01, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c,
0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x45, 0x6d, 0x61, 0x69,
0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x56, 0x65,
0x72, 0x69, 0x66, 0x79, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x62, 0x92, 0x41, 0x2d, 0x12, 0x2b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x20, 0x45,
0x6d, 0x61, 0x69, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x5f, 0x69, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f,
0x6b, 0x65, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x76,
0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x2f, 0x7b, 0x61, 0x63, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x1a, 0x07, 0x92, 0x41, 0x04, 0x12, 0x02, 0x64, 0x66, 0x42, 0xb0,
0x01, 0x92, 0x41, 0x93, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x64, 0x66, 0x20, 0x41, 0x50, 0x49, 0x22,
0x35, 0x0a, 0x06, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x12, 0x1c, 0x68, 0x74, 0x74, 0x70, 0x73,
0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74,
0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x1a, 0x0d, 0x64, 0x65, 0x76, 0x40, 0x69, 0x74, 0x73,
0x73, 0x63, 0x62, 0x2e, 0x64, 0x65, 0x32, 0x03, 0x31, 0x2e, 0x30, 0x2a, 0x02, 0x01, 0x02, 0x32,
0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f,
0x6e, 0x5a, 0x23, 0x0a, 0x21, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a,
0x68, 0x12, 0x13, 0x08, 0x02, 0x1a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x73, 0x6f, 0x6e, 0x5a, 0x23, 0x0a, 0x21, 0x0a, 0x0a, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x41,
0x74, 0x69, 0x6f, 0x6e, 0x20, 0x02, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x75, 0x74, 0x68, 0x12, 0x13, 0x08, 0x02, 0x1a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70, 0x62, 0x62, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x02, 0x5a, 0x17, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x69, 0x74, 0x73, 0x73, 0x63, 0x62, 0x2f, 0x64, 0x66, 0x2f, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var file_service_df_proto_goTypes = []interface{}{ var file_service_df_proto_goTypes = []interface{}{
@ -315,45 +354,51 @@ var file_service_df_proto_goTypes = []interface{}{
(*GetAccountRequest)(nil), // 4: pb.GetAccountRequest (*GetAccountRequest)(nil), // 4: pb.GetAccountRequest
(*ListAccountsRequest)(nil), // 5: pb.ListAccountsRequest (*ListAccountsRequest)(nil), // 5: pb.ListAccountsRequest
(*CreateAccountRequest)(nil), // 6: pb.CreateAccountRequest (*CreateAccountRequest)(nil), // 6: pb.CreateAccountRequest
(*UpdateAccountRequest)(nil), // 7: pb.UpdateAccountRequest (*GetAccountInfoRequest)(nil), // 7: pb.GetAccountInfoRequest
(*UpdateAccountPrivacyRequest)(nil), // 8: pb.UpdateAccountPrivacyRequest (*ListAccountInfoRequest)(nil), // 8: pb.ListAccountInfoRequest
(*CreatePersonRequest)(nil), // 9: pb.CreatePersonRequest (*CreateAccountInfoRequest)(nil), // 9: pb.CreateAccountInfoRequest
(*UpdatePersonRequest)(nil), // 10: pb.UpdatePersonRequest (*UpdateAccountInfoRequest)(nil), // 10: pb.UpdateAccountInfoRequest
(*GetPersonRequest)(nil), // 11: pb.GetPersonRequest (*UpdateAccountPrivacyRequest)(nil), // 11: pb.UpdateAccountPrivacyRequest
(*DeletePersonRequest)(nil), // 12: pb.DeletePersonRequest (*CreatePersonRequest)(nil), // 12: pb.CreatePersonRequest
(*ListPersonsRequest)(nil), // 13: pb.ListPersonsRequest (*UpdatePersonRequest)(nil), // 13: pb.UpdatePersonRequest
(*CreatePaymentRequest)(nil), // 14: pb.CreatePaymentRequest (*GetPersonRequest)(nil), // 14: pb.GetPersonRequest
(*GetPaymentRequest)(nil), // 15: pb.GetPaymentRequest (*DeletePersonRequest)(nil), // 15: pb.DeletePersonRequest
(*DeletePaymentRequest)(nil), // 16: pb.DeletePaymentRequest (*ListPersonsRequest)(nil), // 16: pb.ListPersonsRequest
(*ListPaymentsRequest)(nil), // 17: pb.ListPaymentsRequest (*CreatePaymentRequest)(nil), // 17: pb.CreatePaymentRequest
(*UpdatePaymentRequest)(nil), // 18: pb.UpdatePaymentRequest (*GetPaymentRequest)(nil), // 18: pb.GetPaymentRequest
(*ListReturnsLogRequest)(nil), // 19: pb.ListReturnsLogRequest (*DeletePaymentRequest)(nil), // 19: pb.DeletePaymentRequest
(*UploadDocumentRequest)(nil), // 20: pb.UploadDocumentRequest (*ListPaymentsRequest)(nil), // 20: pb.ListPaymentsRequest
(*DeleteDocumentRequest)(nil), // 21: pb.DeleteDocumentRequest (*UpdatePaymentRequest)(nil), // 21: pb.UpdatePaymentRequest
(*VerifyEmailRequest)(nil), // 22: pb.VerifyEmailRequest (*ListReturnsLogRequest)(nil), // 22: pb.ListReturnsLogRequest
(*LoginResponse)(nil), // 23: pb.LoginResponse (*UploadDocumentRequest)(nil), // 23: pb.UploadDocumentRequest
(*RefreshTokenResponse)(nil), // 24: pb.RefreshTokenResponse (*DeleteDocumentRequest)(nil), // 24: pb.DeleteDocumentRequest
(*ListSessionsResponse)(nil), // 25: pb.ListSessionsResponse (*VerifyEmailRequest)(nil), // 25: pb.VerifyEmailRequest
(*BlockSessionResponse)(nil), // 26: pb.BlockSessionResponse (*LoginResponse)(nil), // 26: pb.LoginResponse
(*GetAccountResponse)(nil), // 27: pb.GetAccountResponse (*RefreshTokenResponse)(nil), // 27: pb.RefreshTokenResponse
(*ListAccountsResponse)(nil), // 28: pb.ListAccountsResponse (*ListSessionsResponse)(nil), // 28: pb.ListSessionsResponse
(*CreateAccountResponse)(nil), // 29: pb.CreateAccountResponse (*BlockSessionResponse)(nil), // 29: pb.BlockSessionResponse
(*UpdateAccountResponse)(nil), // 30: pb.UpdateAccountResponse (*GetAccountResponse)(nil), // 30: pb.GetAccountResponse
(*UpdateAccountPrivacyResponse)(nil), // 31: pb.UpdateAccountPrivacyResponse (*ListAccountsResponse)(nil), // 31: pb.ListAccountsResponse
(*CreatePersonResponse)(nil), // 32: pb.CreatePersonResponse (*CreateAccountResponse)(nil), // 32: pb.CreateAccountResponse
(*UpdatePersonResponse)(nil), // 33: pb.UpdatePersonResponse (*GetAccountInfoResponse)(nil), // 33: pb.GetAccountInfoResponse
(*GetPersonResponse)(nil), // 34: pb.GetPersonResponse (*ListAccountInfoResponse)(nil), // 34: pb.ListAccountInfoResponse
(*DeletePersonResponse)(nil), // 35: pb.DeletePersonResponse (*CreateAccountInfoResponse)(nil), // 35: pb.CreateAccountInfoResponse
(*ListPersonsResponse)(nil), // 36: pb.ListPersonsResponse (*UpdateAccountInfoResponse)(nil), // 36: pb.UpdateAccountInfoResponse
(*CreatePaymentResponse)(nil), // 37: pb.CreatePaymentResponse (*UpdateAccountPrivacyResponse)(nil), // 37: pb.UpdateAccountPrivacyResponse
(*GetPaymentResponse)(nil), // 38: pb.GetPaymentResponse (*CreatePersonResponse)(nil), // 38: pb.CreatePersonResponse
(*DeletePaymentResponse)(nil), // 39: pb.DeletePaymentResponse (*UpdatePersonResponse)(nil), // 39: pb.UpdatePersonResponse
(*ListPaymentsResponse)(nil), // 40: pb.ListPaymentsResponse (*GetPersonResponse)(nil), // 40: pb.GetPersonResponse
(*UpdatePaymentResponse)(nil), // 41: pb.UpdatePaymentResponse (*DeletePersonResponse)(nil), // 41: pb.DeletePersonResponse
(*ListReturnsLogResponse)(nil), // 42: pb.ListReturnsLogResponse (*ListPersonsResponse)(nil), // 42: pb.ListPersonsResponse
(*UploadDocumentResponse)(nil), // 43: pb.UploadDocumentResponse (*CreatePaymentResponse)(nil), // 43: pb.CreatePaymentResponse
(*DeleteDocumentResponse)(nil), // 44: pb.DeleteDocumentResponse (*GetPaymentResponse)(nil), // 44: pb.GetPaymentResponse
(*VerifyEmailResponse)(nil), // 45: pb.VerifyEmailResponse (*DeletePaymentResponse)(nil), // 45: pb.DeletePaymentResponse
(*ListPaymentsResponse)(nil), // 46: pb.ListPaymentsResponse
(*UpdatePaymentResponse)(nil), // 47: pb.UpdatePaymentResponse
(*ListReturnsLogResponse)(nil), // 48: pb.ListReturnsLogResponse
(*UploadDocumentResponse)(nil), // 49: pb.UploadDocumentResponse
(*DeleteDocumentResponse)(nil), // 50: pb.DeleteDocumentResponse
(*VerifyEmailResponse)(nil), // 51: pb.VerifyEmailResponse
} }
var file_service_df_proto_depIdxs = []int32{ var file_service_df_proto_depIdxs = []int32{
0, // 0: pb.df.Login:input_type -> pb.LoginRequest 0, // 0: pb.df.Login:input_type -> pb.LoginRequest
@ -363,47 +408,53 @@ var file_service_df_proto_depIdxs = []int32{
4, // 4: pb.df.GetAccount:input_type -> pb.GetAccountRequest 4, // 4: pb.df.GetAccount:input_type -> pb.GetAccountRequest
5, // 5: pb.df.ListAccounts:input_type -> pb.ListAccountsRequest 5, // 5: pb.df.ListAccounts:input_type -> pb.ListAccountsRequest
6, // 6: pb.df.CreateAccount:input_type -> pb.CreateAccountRequest 6, // 6: pb.df.CreateAccount:input_type -> pb.CreateAccountRequest
7, // 7: pb.df.UpdateAccount:input_type -> pb.UpdateAccountRequest 7, // 7: pb.df.GetAccountInfo:input_type -> pb.GetAccountInfoRequest
8, // 8: pb.df.UpdateAccountPrivacy:input_type -> pb.UpdateAccountPrivacyRequest 8, // 8: pb.df.ListAccountInfo:input_type -> pb.ListAccountInfoRequest
9, // 9: pb.df.CreatePerson:input_type -> pb.CreatePersonRequest 9, // 9: pb.df.CreateAccountInfo:input_type -> pb.CreateAccountInfoRequest
10, // 10: pb.df.UpdatePerson:input_type -> pb.UpdatePersonRequest 10, // 10: pb.df.UpdateAccountInfo:input_type -> pb.UpdateAccountInfoRequest
11, // 11: pb.df.GetPerson:input_type -> pb.GetPersonRequest 11, // 11: pb.df.UpdateAccountPrivacy:input_type -> pb.UpdateAccountPrivacyRequest
12, // 12: pb.df.DeletePerson:input_type -> pb.DeletePersonRequest 12, // 12: pb.df.CreatePerson:input_type -> pb.CreatePersonRequest
13, // 13: pb.df.ListPersons:input_type -> pb.ListPersonsRequest 13, // 13: pb.df.UpdatePerson:input_type -> pb.UpdatePersonRequest
14, // 14: pb.df.CreatePayment:input_type -> pb.CreatePaymentRequest 14, // 14: pb.df.GetPerson:input_type -> pb.GetPersonRequest
15, // 15: pb.df.GetPayment:input_type -> pb.GetPaymentRequest 15, // 15: pb.df.DeletePerson:input_type -> pb.DeletePersonRequest
16, // 16: pb.df.DeletePayment:input_type -> pb.DeletePaymentRequest 16, // 16: pb.df.ListPersons:input_type -> pb.ListPersonsRequest
17, // 17: pb.df.ListPayments:input_type -> pb.ListPaymentsRequest 17, // 17: pb.df.CreatePayment:input_type -> pb.CreatePaymentRequest
18, // 18: pb.df.UpdatePayment:input_type -> pb.UpdatePaymentRequest 18, // 18: pb.df.GetPayment:input_type -> pb.GetPaymentRequest
19, // 19: pb.df.ListReturnsLog:input_type -> pb.ListReturnsLogRequest 19, // 19: pb.df.DeletePayment:input_type -> pb.DeletePaymentRequest
20, // 20: pb.df.UploadDocument:input_type -> pb.UploadDocumentRequest 20, // 20: pb.df.ListPayments:input_type -> pb.ListPaymentsRequest
21, // 21: pb.df.DeleteDocument:input_type -> pb.DeleteDocumentRequest 21, // 21: pb.df.UpdatePayment:input_type -> pb.UpdatePaymentRequest
22, // 22: pb.df.VerifyEmail:input_type -> pb.VerifyEmailRequest 22, // 22: pb.df.ListReturnsLog:input_type -> pb.ListReturnsLogRequest
23, // 23: pb.df.Login:output_type -> pb.LoginResponse 23, // 23: pb.df.UploadDocument:input_type -> pb.UploadDocumentRequest
24, // 24: pb.df.RefreshToken:output_type -> pb.RefreshTokenResponse 24, // 24: pb.df.DeleteDocument:input_type -> pb.DeleteDocumentRequest
25, // 25: pb.df.ListSessions:output_type -> pb.ListSessionsResponse 25, // 25: pb.df.VerifyEmail:input_type -> pb.VerifyEmailRequest
26, // 26: pb.df.BlockSession:output_type -> pb.BlockSessionResponse 26, // 26: pb.df.Login:output_type -> pb.LoginResponse
27, // 27: pb.df.GetAccount:output_type -> pb.GetAccountResponse 27, // 27: pb.df.RefreshToken:output_type -> pb.RefreshTokenResponse
28, // 28: pb.df.ListAccounts:output_type -> pb.ListAccountsResponse 28, // 28: pb.df.ListSessions:output_type -> pb.ListSessionsResponse
29, // 29: pb.df.CreateAccount:output_type -> pb.CreateAccountResponse 29, // 29: pb.df.BlockSession:output_type -> pb.BlockSessionResponse
30, // 30: pb.df.UpdateAccount:output_type -> pb.UpdateAccountResponse 30, // 30: pb.df.GetAccount:output_type -> pb.GetAccountResponse
31, // 31: pb.df.UpdateAccountPrivacy:output_type -> pb.UpdateAccountPrivacyResponse 31, // 31: pb.df.ListAccounts:output_type -> pb.ListAccountsResponse
32, // 32: pb.df.CreatePerson:output_type -> pb.CreatePersonResponse 32, // 32: pb.df.CreateAccount:output_type -> pb.CreateAccountResponse
33, // 33: pb.df.UpdatePerson:output_type -> pb.UpdatePersonResponse 33, // 33: pb.df.GetAccountInfo:output_type -> pb.GetAccountInfoResponse
34, // 34: pb.df.GetPerson:output_type -> pb.GetPersonResponse 34, // 34: pb.df.ListAccountInfo:output_type -> pb.ListAccountInfoResponse
35, // 35: pb.df.DeletePerson:output_type -> pb.DeletePersonResponse 35, // 35: pb.df.CreateAccountInfo:output_type -> pb.CreateAccountInfoResponse
36, // 36: pb.df.ListPersons:output_type -> pb.ListPersonsResponse 36, // 36: pb.df.UpdateAccountInfo:output_type -> pb.UpdateAccountInfoResponse
37, // 37: pb.df.CreatePayment:output_type -> pb.CreatePaymentResponse 37, // 37: pb.df.UpdateAccountPrivacy:output_type -> pb.UpdateAccountPrivacyResponse
38, // 38: pb.df.GetPayment:output_type -> pb.GetPaymentResponse 38, // 38: pb.df.CreatePerson:output_type -> pb.CreatePersonResponse
39, // 39: pb.df.DeletePayment:output_type -> pb.DeletePaymentResponse 39, // 39: pb.df.UpdatePerson:output_type -> pb.UpdatePersonResponse
40, // 40: pb.df.ListPayments:output_type -> pb.ListPaymentsResponse 40, // 40: pb.df.GetPerson:output_type -> pb.GetPersonResponse
41, // 41: pb.df.UpdatePayment:output_type -> pb.UpdatePaymentResponse 41, // 41: pb.df.DeletePerson:output_type -> pb.DeletePersonResponse
42, // 42: pb.df.ListReturnsLog:output_type -> pb.ListReturnsLogResponse 42, // 42: pb.df.ListPersons:output_type -> pb.ListPersonsResponse
43, // 43: pb.df.UploadDocument:output_type -> pb.UploadDocumentResponse 43, // 43: pb.df.CreatePayment:output_type -> pb.CreatePaymentResponse
44, // 44: pb.df.DeleteDocument:output_type -> pb.DeleteDocumentResponse 44, // 44: pb.df.GetPayment:output_type -> pb.GetPaymentResponse
45, // 45: pb.df.VerifyEmail:output_type -> pb.VerifyEmailResponse 45, // 45: pb.df.DeletePayment:output_type -> pb.DeletePaymentResponse
23, // [23:46] is the sub-list for method output_type 46, // 46: pb.df.ListPayments:output_type -> pb.ListPaymentsResponse
0, // [0:23] is the sub-list for method input_type 47, // 47: pb.df.UpdatePayment:output_type -> pb.UpdatePaymentResponse
48, // 48: pb.df.ListReturnsLog:output_type -> pb.ListReturnsLogResponse
49, // 49: pb.df.UploadDocument:output_type -> pb.UploadDocumentResponse
50, // 50: pb.df.DeleteDocument:output_type -> pb.DeleteDocumentResponse
51, // 51: pb.df.VerifyEmail:output_type -> pb.VerifyEmailResponse
26, // [26:52] is the sub-list for method output_type
0, // [0:26] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name 0, // [0:0] is the sub-list for field type_name
@ -427,8 +478,11 @@ func file_service_df_proto_init() {
file_rpc_create_account_proto_init() file_rpc_create_account_proto_init()
file_rpc_get_account_proto_init() file_rpc_get_account_proto_init()
file_rpc_list_accounts_proto_init() file_rpc_list_accounts_proto_init()
file_rpc_update_account_proto_init()
file_rpc_update_account_privacy_proto_init() file_rpc_update_account_privacy_proto_init()
file_rpc_create_account_info_proto_init()
file_rpc_get_account_info_proto_init()
file_rpc_list_account_info_proto_init()
file_rpc_update_account_info_proto_init()
file_rpc_login_proto_init() file_rpc_login_proto_init()
file_rpc_list_sessions_proto_init() file_rpc_list_sessions_proto_init()
file_rpc_refresh_token_proto_init() file_rpc_refresh_token_proto_init()

View File

@ -307,25 +307,96 @@ func local_request_Df_CreateAccount_0(ctx context.Context, marshaler runtime.Mar
} }
func request_Df_UpdateAccount_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { func request_Df_GetAccountInfo_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq UpdateAccountRequest var protoReq GetAccountInfoRequest
var metadata runtime.ServerMetadata var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body) var (
if berr != nil { val string
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) ok bool
} err error
if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { _ = err
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) )
val, ok = pathParams["account_id"]
if !ok {
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "account_id")
} }
msg, err := client.UpdateAccount(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) protoReq.AccountId, err = runtime.Uint64(val)
if err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "account_id", err)
}
msg, err := client.GetAccountInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err return msg, metadata, err
} }
func local_request_Df_UpdateAccount_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { func local_request_Df_GetAccountInfo_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq UpdateAccountRequest var protoReq GetAccountInfoRequest
var metadata runtime.ServerMetadata
var (
val string
ok bool
err error
_ = err
)
val, ok = pathParams["account_id"]
if !ok {
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "account_id")
}
protoReq.AccountId, err = runtime.Uint64(val)
if err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "account_id", err)
}
msg, err := server.GetAccountInfo(ctx, &protoReq)
return msg, metadata, err
}
var (
filter_Df_ListAccountInfo_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
)
func request_Df_ListAccountInfo_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq ListAccountInfoRequest
var metadata runtime.ServerMetadata
if err := req.ParseForm(); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Df_ListAccountInfo_0); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.ListAccountInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Df_ListAccountInfo_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq ListAccountInfoRequest
var metadata runtime.ServerMetadata
if err := req.ParseForm(); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Df_ListAccountInfo_0); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.ListAccountInfo(ctx, &protoReq)
return msg, metadata, err
}
func request_Df_CreateAccountInfo_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq CreateAccountInfoRequest
var metadata runtime.ServerMetadata var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body) newReader, berr := utilities.IOReaderFactory(req.Body)
@ -336,7 +407,58 @@ func local_request_Df_UpdateAccount_0(ctx context.Context, marshaler runtime.Mar
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
} }
msg, err := server.UpdateAccount(ctx, &protoReq) msg, err := client.CreateAccountInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Df_CreateAccountInfo_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq CreateAccountInfoRequest
var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body)
if berr != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
}
if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.CreateAccountInfo(ctx, &protoReq)
return msg, metadata, err
}
func request_Df_UpdateAccountInfo_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq UpdateAccountInfoRequest
var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body)
if berr != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
}
if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.UpdateAccountInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Df_UpdateAccountInfo_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq UpdateAccountInfoRequest
var metadata runtime.ServerMetadata
newReader, berr := utilities.IOReaderFactory(req.Body)
if berr != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
}
if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.UpdateAccountInfo(ctx, &protoReq)
return msg, metadata, err return msg, metadata, err
} }
@ -1197,7 +1319,7 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error var err error
var annotatedContext context.Context var annotatedContext context.Context
annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/CreateAccount", runtime.WithHTTPPathPattern("/v1/accounts/create_account")) annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/CreateAccount", runtime.WithHTTPPathPattern("/v1/accounts/create_account_info"))
if err != nil { if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return return
@ -1214,7 +1336,7 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server
}) })
mux.Handle("PATCH", pattern_Df_UpdateAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Df_GetAccountInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context()) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
var stream runtime.ServerTransportStream var stream runtime.ServerTransportStream
@ -1222,12 +1344,12 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error var err error
var annotatedContext context.Context var annotatedContext context.Context
annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/UpdateAccount", runtime.WithHTTPPathPattern("/v1/accounts/update_account")) annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/GetAccountInfo", runtime.WithHTTPPathPattern("/v1/accounts/get_account/{account_id}"))
if err != nil { if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return return
} }
resp, md, err := local_request_Df_UpdateAccount_0(annotatedContext, inboundMarshaler, server, req, pathParams) resp, md, err := local_request_Df_GetAccountInfo_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil { if err != nil {
@ -1235,7 +1357,82 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server
return return
} }
forward_Df_UpdateAccount_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) forward_Df_GetAccountInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("GET", pattern_Df_ListAccountInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error
var annotatedContext context.Context
annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/ListAccountInfo", runtime.WithHTTPPathPattern("/v1/accounts/list_account_info"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Df_ListAccountInfo_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Df_ListAccountInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("POST", pattern_Df_CreateAccountInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error
var annotatedContext context.Context
annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/CreateAccountInfo", runtime.WithHTTPPathPattern("/v1/accounts/create_account"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Df_CreateAccountInfo_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Df_CreateAccountInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("PATCH", pattern_Df_UpdateAccountInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error
var annotatedContext context.Context
annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/pb.Df/UpdateAccountInfo", runtime.WithHTTPPathPattern("/v1/accounts/update_account"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Df_UpdateAccountInfo_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Df_UpdateAccountInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
}) })
@ -1793,7 +1990,7 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error var err error
var annotatedContext context.Context var annotatedContext context.Context
annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/CreateAccount", runtime.WithHTTPPathPattern("/v1/accounts/create_account")) annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/CreateAccount", runtime.WithHTTPPathPattern("/v1/accounts/create_account_info"))
if err != nil { if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return return
@ -1809,25 +2006,91 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client
}) })
mux.Handle("PATCH", pattern_Df_UpdateAccount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Df_GetAccountInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context()) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error var err error
var annotatedContext context.Context var annotatedContext context.Context
annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/UpdateAccount", runtime.WithHTTPPathPattern("/v1/accounts/update_account")) annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/GetAccountInfo", runtime.WithHTTPPathPattern("/v1/accounts/get_account/{account_id}"))
if err != nil { if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return return
} }
resp, md, err := request_Df_UpdateAccount_0(annotatedContext, inboundMarshaler, client, req, pathParams) resp, md, err := request_Df_GetAccountInfo_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil { if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return return
} }
forward_Df_UpdateAccount_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) forward_Df_GetAccountInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("GET", pattern_Df_ListAccountInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error
var annotatedContext context.Context
annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/ListAccountInfo", runtime.WithHTTPPathPattern("/v1/accounts/list_account_info"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Df_ListAccountInfo_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Df_ListAccountInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("POST", pattern_Df_CreateAccountInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error
var annotatedContext context.Context
annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/CreateAccountInfo", runtime.WithHTTPPathPattern("/v1/accounts/create_account"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Df_CreateAccountInfo_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Df_CreateAccountInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("PATCH", pattern_Df_UpdateAccountInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
var err error
var annotatedContext context.Context
annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/pb.Df/UpdateAccountInfo", runtime.WithHTTPPathPattern("/v1/accounts/update_account"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Df_UpdateAccountInfo_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Df_UpdateAccountInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
}) })
@ -2177,9 +2440,15 @@ var (
pattern_Df_ListAccounts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "list_accounts"}, "")) pattern_Df_ListAccounts_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "list_accounts"}, ""))
pattern_Df_CreateAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "create_account"}, "")) pattern_Df_CreateAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "create_account_info"}, ""))
pattern_Df_UpdateAccount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "update_account"}, "")) pattern_Df_GetAccountInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v1", "accounts", "get_account", "account_id"}, ""))
pattern_Df_ListAccountInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "list_account_info"}, ""))
pattern_Df_CreateAccountInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "create_account"}, ""))
pattern_Df_UpdateAccountInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "update_account"}, ""))
pattern_Df_UpdateAccountPrivacy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "update_account_privacy"}, "")) pattern_Df_UpdateAccountPrivacy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1", "accounts", "update_account_privacy"}, ""))
@ -2227,7 +2496,13 @@ var (
forward_Df_CreateAccount_0 = runtime.ForwardResponseMessage forward_Df_CreateAccount_0 = runtime.ForwardResponseMessage
forward_Df_UpdateAccount_0 = runtime.ForwardResponseMessage forward_Df_GetAccountInfo_0 = runtime.ForwardResponseMessage
forward_Df_ListAccountInfo_0 = runtime.ForwardResponseMessage
forward_Df_CreateAccountInfo_0 = runtime.ForwardResponseMessage
forward_Df_UpdateAccountInfo_0 = runtime.ForwardResponseMessage
forward_Df_UpdateAccountPrivacy_0 = runtime.ForwardResponseMessage forward_Df_UpdateAccountPrivacy_0 = runtime.ForwardResponseMessage

View File

@ -26,7 +26,10 @@ const (
Df_GetAccount_FullMethodName = "/pb.df/GetAccount" Df_GetAccount_FullMethodName = "/pb.df/GetAccount"
Df_ListAccounts_FullMethodName = "/pb.df/ListAccounts" Df_ListAccounts_FullMethodName = "/pb.df/ListAccounts"
Df_CreateAccount_FullMethodName = "/pb.df/CreateAccount" Df_CreateAccount_FullMethodName = "/pb.df/CreateAccount"
Df_UpdateAccount_FullMethodName = "/pb.df/UpdateAccount" Df_GetAccountInfo_FullMethodName = "/pb.df/GetAccountInfo"
Df_ListAccountInfo_FullMethodName = "/pb.df/ListAccountInfo"
Df_CreateAccountInfo_FullMethodName = "/pb.df/CreateAccountInfo"
Df_UpdateAccountInfo_FullMethodName = "/pb.df/UpdateAccountInfo"
Df_UpdateAccountPrivacy_FullMethodName = "/pb.df/UpdateAccountPrivacy" Df_UpdateAccountPrivacy_FullMethodName = "/pb.df/UpdateAccountPrivacy"
Df_CreatePerson_FullMethodName = "/pb.df/CreatePerson" Df_CreatePerson_FullMethodName = "/pb.df/CreatePerson"
Df_UpdatePerson_FullMethodName = "/pb.df/UpdatePerson" Df_UpdatePerson_FullMethodName = "/pb.df/UpdatePerson"
@ -55,7 +58,25 @@ type DfClient interface {
GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error)
ListAccounts(ctx context.Context, in *ListAccountsRequest, opts ...grpc.CallOption) (*ListAccountsResponse, error) ListAccounts(ctx context.Context, in *ListAccountsRequest, opts ...grpc.CallOption) (*ListAccountsResponse, error)
CreateAccount(ctx context.Context, in *CreateAccountRequest, opts ...grpc.CallOption) (*CreateAccountResponse, error) CreateAccount(ctx context.Context, in *CreateAccountRequest, opts ...grpc.CallOption) (*CreateAccountResponse, error)
UpdateAccount(ctx context.Context, in *UpdateAccountRequest, opts ...grpc.CallOption) (*UpdateAccountResponse, error) // rpc UpdateAccount (UpdateAccountRequest) returns (UpdateAccountResponse) {
// option (google.api.http) = {
// patch: "/v1/accounts/update_account"
// body: "*"
// };
// option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
// summary: "Update Account"
// security: {
// security_requirement: {
// key: "BearerAuth";
// value: {}
// }
// }
// };
// };
GetAccountInfo(ctx context.Context, in *GetAccountInfoRequest, opts ...grpc.CallOption) (*GetAccountInfoResponse, error)
ListAccountInfo(ctx context.Context, in *ListAccountInfoRequest, opts ...grpc.CallOption) (*ListAccountInfoResponse, error)
CreateAccountInfo(ctx context.Context, in *CreateAccountInfoRequest, opts ...grpc.CallOption) (*CreateAccountInfoResponse, error)
UpdateAccountInfo(ctx context.Context, in *UpdateAccountInfoRequest, opts ...grpc.CallOption) (*UpdateAccountInfoResponse, error)
UpdateAccountPrivacy(ctx context.Context, in *UpdateAccountPrivacyRequest, opts ...grpc.CallOption) (*UpdateAccountPrivacyResponse, error) UpdateAccountPrivacy(ctx context.Context, in *UpdateAccountPrivacyRequest, opts ...grpc.CallOption) (*UpdateAccountPrivacyResponse, error)
CreatePerson(ctx context.Context, in *CreatePersonRequest, opts ...grpc.CallOption) (*CreatePersonResponse, error) CreatePerson(ctx context.Context, in *CreatePersonRequest, opts ...grpc.CallOption) (*CreatePersonResponse, error)
UpdatePerson(ctx context.Context, in *UpdatePersonRequest, opts ...grpc.CallOption) (*UpdatePersonResponse, error) UpdatePerson(ctx context.Context, in *UpdatePersonRequest, opts ...grpc.CallOption) (*UpdatePersonResponse, error)
@ -144,9 +165,36 @@ func (c *dfClient) CreateAccount(ctx context.Context, in *CreateAccountRequest,
return out, nil return out, nil
} }
func (c *dfClient) UpdateAccount(ctx context.Context, in *UpdateAccountRequest, opts ...grpc.CallOption) (*UpdateAccountResponse, error) { func (c *dfClient) GetAccountInfo(ctx context.Context, in *GetAccountInfoRequest, opts ...grpc.CallOption) (*GetAccountInfoResponse, error) {
out := new(UpdateAccountResponse) out := new(GetAccountInfoResponse)
err := c.cc.Invoke(ctx, Df_UpdateAccount_FullMethodName, in, out, opts...) err := c.cc.Invoke(ctx, Df_GetAccountInfo_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dfClient) ListAccountInfo(ctx context.Context, in *ListAccountInfoRequest, opts ...grpc.CallOption) (*ListAccountInfoResponse, error) {
out := new(ListAccountInfoResponse)
err := c.cc.Invoke(ctx, Df_ListAccountInfo_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dfClient) CreateAccountInfo(ctx context.Context, in *CreateAccountInfoRequest, opts ...grpc.CallOption) (*CreateAccountInfoResponse, error) {
out := new(CreateAccountInfoResponse)
err := c.cc.Invoke(ctx, Df_CreateAccountInfo_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dfClient) UpdateAccountInfo(ctx context.Context, in *UpdateAccountInfoRequest, opts ...grpc.CallOption) (*UpdateAccountInfoResponse, error) {
out := new(UpdateAccountInfoResponse)
err := c.cc.Invoke(ctx, Df_UpdateAccountInfo_FullMethodName, in, out, opts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -299,7 +347,25 @@ type DfServer interface {
GetAccount(context.Context, *GetAccountRequest) (*GetAccountResponse, error) GetAccount(context.Context, *GetAccountRequest) (*GetAccountResponse, error)
ListAccounts(context.Context, *ListAccountsRequest) (*ListAccountsResponse, error) ListAccounts(context.Context, *ListAccountsRequest) (*ListAccountsResponse, error)
CreateAccount(context.Context, *CreateAccountRequest) (*CreateAccountResponse, error) CreateAccount(context.Context, *CreateAccountRequest) (*CreateAccountResponse, error)
UpdateAccount(context.Context, *UpdateAccountRequest) (*UpdateAccountResponse, error) // rpc UpdateAccount (UpdateAccountRequest) returns (UpdateAccountResponse) {
// option (google.api.http) = {
// patch: "/v1/accounts/update_account"
// body: "*"
// };
// option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
// summary: "Update Account"
// security: {
// security_requirement: {
// key: "BearerAuth";
// value: {}
// }
// }
// };
// };
GetAccountInfo(context.Context, *GetAccountInfoRequest) (*GetAccountInfoResponse, error)
ListAccountInfo(context.Context, *ListAccountInfoRequest) (*ListAccountInfoResponse, error)
CreateAccountInfo(context.Context, *CreateAccountInfoRequest) (*CreateAccountInfoResponse, error)
UpdateAccountInfo(context.Context, *UpdateAccountInfoRequest) (*UpdateAccountInfoResponse, error)
UpdateAccountPrivacy(context.Context, *UpdateAccountPrivacyRequest) (*UpdateAccountPrivacyResponse, error) UpdateAccountPrivacy(context.Context, *UpdateAccountPrivacyRequest) (*UpdateAccountPrivacyResponse, error)
CreatePerson(context.Context, *CreatePersonRequest) (*CreatePersonResponse, error) CreatePerson(context.Context, *CreatePersonRequest) (*CreatePersonResponse, error)
UpdatePerson(context.Context, *UpdatePersonRequest) (*UpdatePersonResponse, error) UpdatePerson(context.Context, *UpdatePersonRequest) (*UpdatePersonResponse, error)
@ -343,8 +409,17 @@ func (UnimplementedDfServer) ListAccounts(context.Context, *ListAccountsRequest)
func (UnimplementedDfServer) CreateAccount(context.Context, *CreateAccountRequest) (*CreateAccountResponse, error) { func (UnimplementedDfServer) CreateAccount(context.Context, *CreateAccountRequest) (*CreateAccountResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateAccount not implemented") return nil, status.Errorf(codes.Unimplemented, "method CreateAccount not implemented")
} }
func (UnimplementedDfServer) UpdateAccount(context.Context, *UpdateAccountRequest) (*UpdateAccountResponse, error) { func (UnimplementedDfServer) GetAccountInfo(context.Context, *GetAccountInfoRequest) (*GetAccountInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateAccount not implemented") return nil, status.Errorf(codes.Unimplemented, "method GetAccountInfo not implemented")
}
func (UnimplementedDfServer) ListAccountInfo(context.Context, *ListAccountInfoRequest) (*ListAccountInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListAccountInfo not implemented")
}
func (UnimplementedDfServer) CreateAccountInfo(context.Context, *CreateAccountInfoRequest) (*CreateAccountInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method CreateAccountInfo not implemented")
}
func (UnimplementedDfServer) UpdateAccountInfo(context.Context, *UpdateAccountInfoRequest) (*UpdateAccountInfoResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateAccountInfo not implemented")
} }
func (UnimplementedDfServer) UpdateAccountPrivacy(context.Context, *UpdateAccountPrivacyRequest) (*UpdateAccountPrivacyResponse, error) { func (UnimplementedDfServer) UpdateAccountPrivacy(context.Context, *UpdateAccountPrivacyRequest) (*UpdateAccountPrivacyResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateAccountPrivacy not implemented") return nil, status.Errorf(codes.Unimplemented, "method UpdateAccountPrivacy not implemented")
@ -530,20 +605,74 @@ func _Df_CreateAccount_Handler(srv interface{}, ctx context.Context, dec func(in
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _Df_UpdateAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _Df_GetAccountInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateAccountRequest) in := new(GetAccountInfoRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
return nil, err return nil, err
} }
if interceptor == nil { if interceptor == nil {
return srv.(DfServer).UpdateAccount(ctx, in) return srv.(DfServer).GetAccountInfo(ctx, in)
} }
info := &grpc.UnaryServerInfo{ info := &grpc.UnaryServerInfo{
Server: srv, Server: srv,
FullMethod: Df_UpdateAccount_FullMethodName, FullMethod: Df_GetAccountInfo_FullMethodName,
} }
handler := func(ctx context.Context, req interface{}) (interface{}, error) { handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DfServer).UpdateAccount(ctx, req.(*UpdateAccountRequest)) return srv.(DfServer).GetAccountInfo(ctx, req.(*GetAccountInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Df_ListAccountInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListAccountInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DfServer).ListAccountInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Df_ListAccountInfo_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DfServer).ListAccountInfo(ctx, req.(*ListAccountInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Df_CreateAccountInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateAccountInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DfServer).CreateAccountInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Df_CreateAccountInfo_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DfServer).CreateAccountInfo(ctx, req.(*CreateAccountInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Df_UpdateAccountInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateAccountInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DfServer).UpdateAccountInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Df_UpdateAccountInfo_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DfServer).UpdateAccountInfo(ctx, req.(*UpdateAccountInfoRequest))
} }
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
@ -854,8 +983,20 @@ var Df_ServiceDesc = grpc.ServiceDesc{
Handler: _Df_CreateAccount_Handler, Handler: _Df_CreateAccount_Handler,
}, },
{ {
MethodName: "UpdateAccount", MethodName: "GetAccountInfo",
Handler: _Df_UpdateAccount_Handler, Handler: _Df_GetAccountInfo_Handler,
},
{
MethodName: "ListAccountInfo",
Handler: _Df_ListAccountInfo_Handler,
},
{
MethodName: "CreateAccountInfo",
Handler: _Df_CreateAccountInfo_Handler,
},
{
MethodName: "UpdateAccountInfo",
Handler: _Df_UpdateAccountInfo_Handler,
}, },
{ {
MethodName: "UpdateAccountPrivacy", MethodName: "UpdateAccountPrivacy",

View File

@ -16,29 +16,15 @@ message Account {
}; };
uint64 id = 1; uint64 id = 1;
string email = 2; string email = 2;
string firstname = 3; optional string secret_key = 3;
string lastname = 4; google.protobuf.Timestamp email_verified_time = 9 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
string street = 5; example: "\"2023-10-05T00:00:00Z\""
string city = 6;
string zip = 7;
string country = 8;
google.protobuf.Timestamp birthday = 9 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"1990-10-05T00:00:00Z\""
}]; }];
string phone = 10; bool email_verified = 10;
bool privacy_accepted = 11;
google.protobuf.Timestamp privacy_accepted_date = 12 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { google.protobuf.Timestamp privacy_accepted_date = 12 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"2023-10-05T00:00:00Z\"" example: "\"2023-10-05T00:00:00Z\""
}]; }];
int32 permission_level = 13 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { int32 permission_level = 13 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
description: "Default is 0 (non-priviledged)" description: "Default is 0 (non-priviledged)"
}]; }];
string creator = 14;
google.protobuf.Timestamp created = 15 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"2023-10-05T00:00:00Z\""
}];
string changer = 16;
google.protobuf.Timestamp changed = 17 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"2023-10-05T00:00:00Z\""
}];
} }

View File

@ -0,0 +1,43 @@
syntax = "proto3";
package pb;
import "google/protobuf/timestamp.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
option go_package = "github.com/itsscb/df/pb";
message AccountInfo {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: {
title: "AccountInfo";
};
example: "{\"account_id\": \"1\", \"firstname\": \"John\", \"lastname\": \"Doe\", \"phone\": \"\", \"street\": \"Death Star 2\", \"zip\": \"0815\", \"city\": \"New York\", \"country\": \"USA\", \"birthday\": \"1990-10-05T00:00:00Z\", \"privacy_accepted\": false, \"privacy_accepted_date\": \"0001-01-01T00:00:00Z\", \"creator\": \"john.doe@example.com\", \"created\": \"2023-10-05T02:30:53Z\", \"changer\": \"john.doe@example.com\", \"changed\": \"2023-10-05T02:30:53Z\"}";
};
uint64 account_id = 1;
string firstname = 3;
string lastname = 4;
string street = 5;
string city = 6;
string zip = 7;
string country = 8;
google.protobuf.Timestamp birthday = 9 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"1990-10-05T00:00:00Z\""
}];
string phone = 10;
bool privacy_accepted = 11;
google.protobuf.Timestamp privacy_accepted_date = 12 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"2023-10-05T00:00:00Z\""
}];
int32 permission_level = 13 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
description: "Default is 0 (non-priviledged)"
}];
string creator = 14;
google.protobuf.Timestamp created = 15 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"2023-10-05T00:00:00Z\""
}];
string changer = 16;
google.protobuf.Timestamp changed = 17 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"2023-10-05T00:00:00Z\""
}];
}

View File

@ -2,7 +2,6 @@ syntax = "proto3";
package pb; package pb;
import "google/protobuf/timestamp.proto";
import "protoc-gen-openapiv2/options/annotations.proto"; import "protoc-gen-openapiv2/options/annotations.proto";
import "account.proto"; import "account.proto";
@ -16,33 +15,13 @@ message CreateAccountRequest {
description: "Create an Account"; description: "Create an Account";
required: [ required: [
"email", "email",
"password", "password"
"firstname",
"lastname",
"street",
"city",
"zip",
"country",
"birthday"
]; ];
}; };
example: "{\"email\": \"john.doe@example.com\", \"password\": \"MayTheForceBeWithYou!\", \"firstname\": \"John\", \"lastname\": \"Doe\", \"street\": \"Main Street 1\", \"zip\": \"0815\", \"city\": \"New York\", \"country\": \"USA\", \"birthday\": \"1990-10-05T00:00:00Z\"}"; example: "{\"email\": \"john.doe@example.com\", \"password\": \"MayTheForceBeWithYou!\"}";
}; };
string email = 1; string email = 1;
string password = 2; string password = 2;
string firstname = 3;
string lastname = 4;
string street = 5;
string city = 6;
string zip = 7;
string country = 8;
string phone = 9;
google.protobuf.Timestamp birthday = 10 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"1990-10-05T00:00:00Z\""
}];
optional bool privacy_accepted = 11 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "true"
}];
} }
message CreateAccountResponse { message CreateAccountResponse {

View File

@ -0,0 +1,54 @@
syntax = "proto3";
package pb;
import "google/protobuf/timestamp.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
import "account_info.proto";
option go_package = "github.com/itsscb/df/pb";
message CreateAccountInfoRequest {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: {
title: "Create AccountInfo";
description: "Create an AccountInfo";
required: [
"account_id",
"firstname",
"lastname",
"street",
"city",
"zip",
"country",
"birthday"
];
};
example: "{\"account_id\": \"1\", \"firstname\": \"John\", \"lastname\": \"Doe\", \"street\": \"Main Street 1\", \"zip\": \"0815\", \"city\": \"New York\", \"country\": \"USA\", \"birthday\": \"1990-10-05T00:00:00Z\"}";
};
string firstname = 3;
string lastname = 4;
string street = 5;
string city = 6;
string zip = 7;
string country = 8;
string phone = 9;
google.protobuf.Timestamp birthday = 10 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"1990-10-05T00:00:00Z\""
}];
optional bool privacy_accepted = 11 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "true"
}];
}
message CreateAccountInfoResponse {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: {
title: "Created AccountInfo";
description: "Returns the created AccountInfo";
};
};
AccountInfo account_info = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
}];
}

View File

@ -12,7 +12,7 @@ message GetAccountRequest {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: { json_schema: {
title: "GetAccount"; title: "GetAccount";
description: "Get an Account by ID"; description: "Get AccountInfo by account_id";
required: [ required: [
"id" "id"
]; ];
@ -26,7 +26,7 @@ message GetAccountResponse {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: { json_schema: {
title: "GetAccount Response"; title: "GetAccount Response";
description: "Returns the Account"; description: "Returns the AccountInfo";
}; };
}; };
Account account = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { Account account = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {

View File

@ -0,0 +1,34 @@
syntax = "proto3";
package pb;
import "protoc-gen-openapiv2/options/annotations.proto";
import "account_info.proto";
option go_package = "github.com/itsscb/df/pb";
message GetAccountInfoRequest {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: {
title: "GetAccountInfo";
description: "Get AccountInfo by account_id";
required: [
"account_id"
];
};
example: "{\"account_id\": \"1\" }";
};
uint64 account_id = 1;
}
message GetAccountInfoResponse {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: {
title: "GetAccountInfo Response";
description: "Returns the AccountInfo";
};
};
AccountInfo account_info = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
}];
}

View File

@ -0,0 +1,36 @@
syntax = "proto3";
package pb;
import "protoc-gen-openapiv2/options/annotations.proto";
import "account_info.proto";
option go_package = "github.com/itsscb/df/pb";
message ListAccountInfoRequest {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: {
title: "ListAccountInfo";
description: "Returns a List of Accounts";
required: [
"page_id",
"page_size"
];
};
example: "{\"page_id\": 1, \"page_size\": 10 }";
};
uint32 page_id = 1;
uint32 page_size = 2;
}
message ListAccountInfoResponse {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: {
title: "ListAccountInfo Response";
description: "Returns the AccountInfo";
};
};
repeated AccountInfo account_info = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
}];
}

View File

@ -5,24 +5,22 @@ package pb;
import "google/protobuf/timestamp.proto"; import "google/protobuf/timestamp.proto";
import "protoc-gen-openapiv2/options/annotations.proto"; import "protoc-gen-openapiv2/options/annotations.proto";
import "account.proto"; import "account_info.proto";
option go_package = "github.com/itsscb/df/pb"; option go_package = "github.com/itsscb/df/pb";
message UpdateAccountRequest { message UpdateAccountInfoRequest {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: { json_schema: {
title: "Update Account"; title: "Update AccountInfo";
description: "Update an Account"; description: "Update an AccountInfo";
required: [ required: [
"id" "id"
]; ];
}; };
example: "{\"id\": \"1\", \"street\": \"Death Star 2\"}"; example: "{\"account_id\": \"1\", \"street\": \"Death Star 2\"}";
}; };
uint64 id = 1; uint64 account_id = 1;
optional string email = 2;
optional string password = 3;
optional string firstname = 4; optional string firstname = 4;
optional string lastname = 5; optional string lastname = 5;
optional string street = 6; optional string street = 6;
@ -35,13 +33,13 @@ message UpdateAccountRequest {
}]; }];
} }
message UpdateAccountResponse { message UpdateAccountInfoResponse {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: { json_schema: {
title: "Updated Account"; title: "Updated Account";
description: "Returns the updated Account"; description: "Returns the updated Account";
}; };
}; };
Account account = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { AccountInfo account_info = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
}]; }];
} }

View File

@ -4,23 +4,23 @@ package pb;
import "protoc-gen-openapiv2/options/annotations.proto"; import "protoc-gen-openapiv2/options/annotations.proto";
import "account.proto"; import "account_info.proto";
option go_package = "github.com/itsscb/df/pb"; option go_package = "github.com/itsscb/df/pb";
message UpdateAccountPrivacyRequest { message UpdateAccountPrivacyRequest {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: { json_schema: {
title: "Update Account Privacy Consent"; title: "Update Account Info Privacy Consent";
description: "Update the Privacy Consent of an Account"; description: "Update the Privacy Consent of an AccountInfo";
required: [ required: [
"id", "id",
"privacy_accepted" "privacy_accepted"
]; ];
}; };
example: "{\"id\": \"1\", \"privacy_accepted\": true }" example: "{\"account_id\": \"1\", \"privacy_accepted\": true }"
}; };
uint64 id = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { uint64 account_id = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "1", example: "1",
format: "int64" format: "int64"
}]; }];
@ -32,10 +32,10 @@ message UpdateAccountPrivacyRequest {
message UpdateAccountPrivacyResponse { message UpdateAccountPrivacyResponse {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
json_schema: { json_schema: {
title: "Update Account Privacy Response"; title: "Update Account Info Privacy Response";
}; };
}; };
Account account = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { AccountInfo account_info = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
title: "Updated Account" title: "Updated AccountInfo"
}]; }];
} }

View File

@ -20,9 +20,14 @@ import "rpc_delete_person.proto";
import "rpc_create_account.proto"; import "rpc_create_account.proto";
import "rpc_get_account.proto"; import "rpc_get_account.proto";
import "rpc_list_accounts.proto"; import "rpc_list_accounts.proto";
import "rpc_update_account.proto"; // import "rpc_update_account.proto";
import "rpc_update_account_privacy.proto"; import "rpc_update_account_privacy.proto";
import "rpc_create_account_info.proto";
import "rpc_get_account_info.proto";
import "rpc_list_account_info.proto";
import "rpc_update_account_info.proto";
import "rpc_login.proto"; import "rpc_login.proto";
import "rpc_list_sessions.proto"; import "rpc_list_sessions.proto";
import "rpc_refresh_token.proto"; import "rpc_refresh_token.proto";
@ -140,21 +145,80 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
}; };
}; };
rpc CreateAccount (CreateAccountRequest) returns (CreateAccountResponse) { rpc CreateAccount (CreateAccountRequest) returns (CreateAccountResponse) {
option (google.api.http) = {
post: "/v1/accounts/create_account_info"
body: "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Create AccountInfo"
security: {
security_requirement: {
key: "BearerAuth";
value: {}
}
}
};
};
// rpc UpdateAccount (UpdateAccountRequest) returns (UpdateAccountResponse) {
// option (google.api.http) = {
// patch: "/v1/accounts/update_account"
// body: "*"
// };
// option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
// summary: "Update Account"
// security: {
// security_requirement: {
// key: "BearerAuth";
// value: {}
// }
// }
// };
// };
rpc GetAccountInfo (GetAccountInfoRequest) returns (GetAccountInfoResponse) {
option (google.api.http) = {
get: "/v1/accounts/get_account/{account_id}"
// get: "/v1/accounts/{id=id}"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Get AccountInfo by account_id"
security: {
security_requirement: {
key: "BearerAuth";
value: {}
}
}
};
};
rpc ListAccountInfo (ListAccountInfoRequest) returns (ListAccountInfoResponse) {
option (google.api.http) = {
get: "/v1/accounts/list_account_info"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "List AccountInfos [admin only]"
security: {
security_requirement: {
key: "BearerAuth";
value: {}
}
}
};
};
rpc CreateAccountInfo (CreateAccountInfoRequest) returns (CreateAccountInfoResponse) {
option (google.api.http) = { option (google.api.http) = {
post: "/v1/accounts/create_account" post: "/v1/accounts/create_account"
body: "*" body: "*"
}; };
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Create Account" summary: "Create AccountInfo"
}; };
}; };
rpc UpdateAccount (UpdateAccountRequest) returns (UpdateAccountResponse) { rpc UpdateAccountInfo (UpdateAccountInfoRequest) returns (UpdateAccountInfoResponse) {
option (google.api.http) = { option (google.api.http) = {
patch: "/v1/accounts/update_account" patch: "/v1/accounts/update_account"
body: "*" body: "*"
}; };
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
summary: "Update Account" summary: "Update AccountInfo"
security: { security: {
security_requirement: { security_requirement: {
key: "BearerAuth"; key: "BearerAuth";

View File

@ -17,6 +17,8 @@ sql:
go_type: "uint64" go_type: "uint64"
- column: "payments.account_id" - column: "payments.account_id"
go_type: "uint64" go_type: "uint64"
- column: "account_info.account_id"
go_type: "uint64"
- column: "persons.account_id" - column: "persons.account_id"
go_type: "uint64" go_type: "uint64"
- column: "documents.account_id" - column: "documents.account_id"