diff --git a/bff/db/migration/000001_init_schema.up.sql b/bff/db/migration/000001_init_schema.up.sql index 858ce6e..f53f893 100644 --- a/bff/db/migration/000001_init_schema.up.sql +++ b/bff/db/migration/000001_init_schema.up.sql @@ -18,6 +18,7 @@ CREATE TABLE "accounts" ( "passwordhash" varchar NOT NULL, "email" varchar UNIQUE NOT NULL, "secret_key" varchar, + "verification_sent" timestamptz, "email_verified" boolean DEFAULT false, "email_verified_time" timestamptz ); diff --git a/bff/db/query/account.sql b/bff/db/query/account.sql index 36a89a5..d496fa2 100644 --- a/bff/db/query/account.sql +++ b/bff/db/query/account.sql @@ -10,12 +10,14 @@ WHERE "email" = sqlc.arg(email); INSERT INTO accounts ( "email", "passwordhash", - "secret_key" + "secret_key", + "verification_sent" ) VALUES ( sqlc.arg(email), sqlc.arg(passwordhash), - sqlc.arg(secret_key) + sqlc.arg(secret_key), + now() ) RETURNING *; @@ -34,6 +36,14 @@ ORDER BY "email" LIMIT $1 OFFSET $2; +-- name: ResendVerification :one +UPDATE accounts +SET + "secret_key" = sqlc.arg(secret_key), + "verification_sent" = now() +WHERE "id" = sqlc.arg(id) +RETURNING *; + -- name: VerifyAccountEmail :exec UPDATE accounts SET diff --git a/bff/db/sqlc/account.sql.go b/bff/db/sqlc/account.sql.go index 8f8bab1..4ecc2f8 100644 --- a/bff/db/sqlc/account.sql.go +++ b/bff/db/sqlc/account.sql.go @@ -14,14 +14,16 @@ const createAccount = `-- name: CreateAccount :one INSERT INTO accounts ( "email", "passwordhash", - "secret_key" + "secret_key", + "verification_sent" ) VALUES ( $1, $2, - $3 + $3, + now() ) -RETURNING id, permission_level, passwordhash, email, secret_key, email_verified, email_verified_time +RETURNING id, permission_level, passwordhash, email, secret_key, verification_sent, email_verified, email_verified_time ` type CreateAccountParams struct { @@ -39,6 +41,7 @@ func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (A &i.Passwordhash, &i.Email, &i.SecretKey, + &i.VerificationSent, &i.EmailVerified, &i.EmailVerifiedTime, ) @@ -56,7 +59,7 @@ func (q *Queries) DeleteAccount(ctx context.Context, id uint64) error { } const getAccount = `-- name: GetAccount :one -SELECT id, permission_level, passwordhash, email, secret_key, email_verified, email_verified_time FROM accounts +SELECT id, permission_level, passwordhash, email, secret_key, verification_sent, email_verified, email_verified_time FROM accounts WHERE "id" = $1 ` @@ -69,6 +72,7 @@ func (q *Queries) GetAccount(ctx context.Context, id uint64) (Account, error) { &i.Passwordhash, &i.Email, &i.SecretKey, + &i.VerificationSent, &i.EmailVerified, &i.EmailVerifiedTime, ) @@ -76,7 +80,7 @@ func (q *Queries) GetAccount(ctx context.Context, id uint64) (Account, error) { } const getAccountByEmail = `-- name: GetAccountByEmail :one -SELECT id, permission_level, passwordhash, email, secret_key, email_verified, email_verified_time FROM accounts +SELECT id, permission_level, passwordhash, email, secret_key, verification_sent, email_verified, email_verified_time FROM accounts WHERE "email" = $1 ` @@ -89,6 +93,7 @@ func (q *Queries) GetAccountByEmail(ctx context.Context, email string) (Account, &i.Passwordhash, &i.Email, &i.SecretKey, + &i.VerificationSent, &i.EmailVerified, &i.EmailVerifiedTime, ) @@ -96,7 +101,7 @@ func (q *Queries) GetAccountByEmail(ctx context.Context, email string) (Account, } const listAccounts = `-- name: ListAccounts :many -SELECT id, permission_level, passwordhash, email, secret_key, email_verified, email_verified_time FROM accounts +SELECT id, permission_level, passwordhash, email, secret_key, verification_sent, email_verified, email_verified_time FROM accounts ORDER BY "email" LIMIT $1 OFFSET $2 @@ -122,6 +127,7 @@ func (q *Queries) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]A &i.Passwordhash, &i.Email, &i.SecretKey, + &i.VerificationSent, &i.EmailVerified, &i.EmailVerifiedTime, ); err != nil { @@ -138,6 +144,36 @@ func (q *Queries) ListAccounts(ctx context.Context, arg ListAccountsParams) ([]A return items, nil } +const resendVerification = `-- name: ResendVerification :one +UPDATE accounts +SET + "secret_key" = $1, + "verification_sent" = now() +WHERE "id" = $2 +RETURNING id, permission_level, passwordhash, email, secret_key, verification_sent, email_verified, email_verified_time +` + +type ResendVerificationParams struct { + SecretKey sql.NullString `json:"secret_key"` + ID uint64 `json:"id"` +} + +func (q *Queries) ResendVerification(ctx context.Context, arg ResendVerificationParams) (Account, error) { + row := q.db.QueryRowContext(ctx, resendVerification, arg.SecretKey, arg.ID) + var i Account + err := row.Scan( + &i.ID, + &i.PermissionLevel, + &i.Passwordhash, + &i.Email, + &i.SecretKey, + &i.VerificationSent, + &i.EmailVerified, + &i.EmailVerifiedTime, + ) + return i, err +} + const updateAccount = `-- name: UpdateAccount :one UPDATE accounts SET @@ -145,7 +181,7 @@ SET "passwordhash" = COALESCE($2, "passwordhash"), "secret_key" = COALESCE($3, "secret_key") WHERE "id" = $4 -RETURNING id, permission_level, passwordhash, email, secret_key, email_verified, email_verified_time +RETURNING id, permission_level, passwordhash, email, secret_key, verification_sent, email_verified, email_verified_time ` type UpdateAccountParams struct { @@ -169,6 +205,7 @@ func (q *Queries) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (A &i.Passwordhash, &i.Email, &i.SecretKey, + &i.VerificationSent, &i.EmailVerified, &i.EmailVerifiedTime, ) diff --git a/bff/db/sqlc/models.go b/bff/db/sqlc/models.go index 56e5782..6a571d2 100644 --- a/bff/db/sqlc/models.go +++ b/bff/db/sqlc/models.go @@ -17,6 +17,7 @@ type Account struct { Passwordhash string `json:"passwordhash"` Email string `json:"email"` SecretKey sql.NullString `json:"secret_key"` + VerificationSent sql.NullTime `json:"verification_sent"` EmailVerified sql.NullBool `json:"email_verified"` EmailVerifiedTime sql.NullTime `json:"email_verified_time"` } diff --git a/bff/db/sqlc/querier.go b/bff/db/sqlc/querier.go index c165ec9..ff2cefa 100644 --- a/bff/db/sqlc/querier.go +++ b/bff/db/sqlc/querier.go @@ -78,6 +78,7 @@ type Querier interface { ListReturnsLogs(ctx context.Context, arg ListReturnsLogsParams) ([]ReturnsLog, error) ListReturnsLogsByPersonID(ctx context.Context, personID uint64) ([]ReturnsLog, error) ListSessions(ctx context.Context, accountID uint64) ([]Session, error) + ResendVerification(ctx context.Context, arg ResendVerificationParams) (Account, error) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (Account, error) UpdateAccountInfo(ctx context.Context, arg UpdateAccountInfoParams) (AccountInfo, error) UpdateAccountPrivacy(ctx context.Context, arg UpdateAccountPrivacyParams) (AccountInfo, error) diff --git a/bff/db/sqlc/store.go b/bff/db/sqlc/store.go index d7aa081..75de22e 100644 --- a/bff/db/sqlc/store.go +++ b/bff/db/sqlc/store.go @@ -18,6 +18,7 @@ type Store interface { CreateDocumentTx(ctx context.Context, arg CreateDocumentTxParams) (doc Document, code int, err error) DeleteDocumentTx(ctx context.Context, id uint64) (code codes.Code, err error) UpdateAccountTx(ctx context.Context, arg UpdateAccountTxParams) (Account, error) + ResendVerificationTx(ctx context.Context, arg ResendVerificationTxParams) (Account, error) } // Store provides all functions to execute db queries and transactions diff --git a/bff/db/sqlc/tx_resend_verification.go b/bff/db/sqlc/tx_resend_verification.go new file mode 100644 index 0000000..9d86fb0 --- /dev/null +++ b/bff/db/sqlc/tx_resend_verification.go @@ -0,0 +1,47 @@ +package db + +import ( + "context" + "database/sql" + + "github.com/google/uuid" +) + +type ResendVerificationTxParams struct { + ResendVerificationParams + AfterCreate func(Account) error +} + +type ResendVerificationTxResult struct { + Account Account `json:"account"` +} + +func (store *SQLStore) ResendVerificationTx(ctx context.Context, arg ResendVerificationTxParams) (Account, error) { + var result ResendVerificationTxResult + var err error + + uid, _ := uuid.NewUUID() + + arg.SecretKey = sql.NullString{ + Valid: uid.String() != "", + String: uid.String(), + } + + // arg.Passwordhash, err = util.HashPassword(arg.Passwordhash) + // if err != nil { + // return Account{}, nil + // } + + err = store.execTx(ctx, func(q *Queries) error { + var err error + + result.Account, err = q.ResendVerification(ctx, arg.ResendVerificationParams) + if err != nil { + return err + } + + return arg.AfterCreate(result.Account) + }) + + return result.Account, err +} diff --git a/bff/doc/swagger/df.swagger.json b/bff/doc/swagger/df.swagger.json index 123493c..0e39f4c 100644 --- a/bff/doc/swagger/df.swagger.json +++ b/bff/doc/swagger/df.swagger.json @@ -1012,6 +1012,43 @@ ] } }, + "/v1/verify_email/{accountId}": { + "get": { + "summary": "Resend Verification Email", + "operationId": "df_ResendVerification", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/pbResendVerificationResponse" + } + }, + "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": [] + } + ] + } + }, "/v1/verify_email/{accountId}/{secretKey}": { "get": { "summary": "Verify Email with account_id and secret_key", @@ -1909,6 +1946,15 @@ }, "title": "Refresh Token Response" }, + "pbResendVerificationResponse": { + "type": "object", + "properties": { + "account": { + "$ref": "#/definitions/pbAccount" + } + }, + "title": "Resend Verification Email" + }, "pbReturnsLog": { "type": "object", "example": { diff --git a/bff/gapi/rpc_resend_verification.go b/bff/gapi/rpc_resend_verification.go new file mode 100644 index 0000000..0426f1a --- /dev/null +++ b/bff/gapi/rpc_resend_verification.go @@ -0,0 +1,76 @@ +package gapi + +import ( + "context" + "database/sql" + "errors" + "fmt" + "log/slog" + "time" + + db "github.com/itsscb/df/bff/db/sqlc" + "github.com/itsscb/df/bff/pb" + "google.golang.org/genproto/googleapis/rpc/errdetails" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (server *Server) ResendVerification(ctx context.Context, req *pb.ResendVerificationRequest) (*pb.ResendVerificationResponse, error) { + authPayload, err := server.authorizeUser(ctx) + if err != nil { + return nil, unauthenticatedError(err) + } + + violations := validateResendVerificationRequest(req) + if violations != nil { + return nil, invalidArgumentError(violations) + } + + account, err := server.store.GetAccount(ctx, req.GetAccountId()) + if err != nil { + if errors.Is(err, sql.ErrNoRows) { + return nil, status.Errorf(codes.NotFound, "account not found") + } + slog.Error("create_person (get_account)", slog.Int64("invoked_by", int64(authPayload.AccountID)), slog.Int64("account_id", int64(req.GetAccountId())), slog.String("error", err.Error())) + return nil, status.Error(codes.NotFound, "failed to get account") + } + + if authPayload.AccountID != account.ID { + if !server.isAdmin(ctx, authPayload) { + return nil, status.Error(codes.NotFound, "account not found") + } + } + + if account.VerificationSent.Time.Add(time.Minute * 5).After(time.Now()) { + return nil, status.Error(codes.AlreadyExists, "already sent. Only allowed every 5 Minutes") + } + + arg := db.ResendVerificationTxParams{ + ResendVerificationParams: db.ResendVerificationParams{ + ID: req.GetAccountId(), + }, + AfterCreate: func(a db.Account) error { + return server.mailSender.SendEmail("Verify your E-Mail Address", fmt.Sprintf("Hello %s,

please verify your E-Mail Addres by clicking on the following link:
Verification Link


Your Team of DF", account.Email, a.ID, a.SecretKey.String), []string{account.Email}, nil, nil, nil) + }, + } + + account, err = server.store.ResendVerificationTx(ctx, arg) + if err != nil { + slog.Error("resend_verification (db)", slog.Int64("invoked_by", int64(authPayload.AccountID)), slog.String("error", err.Error())) + return nil, status.Errorf(codes.Internal, "failed to resend verification") + } + + rsp := &pb.ResendVerificationResponse{ + Account: convertAccount(account), + } + + return rsp, nil +} + +func validateResendVerificationRequest(req *pb.ResendVerificationRequest) (violations []*errdetails.BadRequest_FieldViolation) { + if req.GetAccountId() < 1 { + violations = append(violations, fieldViolation("account_id", errors.New("must be greater than 0"))) + } + + return violations +} diff --git a/bff/pb/rpc_resend_verification.pb.go b/bff/pb/rpc_resend_verification.pb.go new file mode 100644 index 0000000..b0a5cd7 --- /dev/null +++ b/bff/pb/rpc_resend_verification.pb.go @@ -0,0 +1,224 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.4 +// source: rpc_resend_verification.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 ResendVerificationRequest 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 *ResendVerificationRequest) Reset() { + *x = ResendVerificationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_resend_verification_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResendVerificationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendVerificationRequest) ProtoMessage() {} + +func (x *ResendVerificationRequest) ProtoReflect() protoreflect.Message { + mi := &file_rpc_resend_verification_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 ResendVerificationRequest.ProtoReflect.Descriptor instead. +func (*ResendVerificationRequest) Descriptor() ([]byte, []int) { + return file_rpc_resend_verification_proto_rawDescGZIP(), []int{0} +} + +func (x *ResendVerificationRequest) GetAccountId() uint64 { + if x != nil { + return x.AccountId + } + return 0 +} + +type ResendVerificationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Account *Account `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` +} + +func (x *ResendVerificationResponse) Reset() { + *x = ResendVerificationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_rpc_resend_verification_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResendVerificationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendVerificationResponse) ProtoMessage() {} + +func (x *ResendVerificationResponse) ProtoReflect() protoreflect.Message { + mi := &file_rpc_resend_verification_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 ResendVerificationResponse.ProtoReflect.Descriptor instead. +func (*ResendVerificationResponse) Descriptor() ([]byte, []int) { + return file_rpc_resend_verification_proto_rawDescGZIP(), []int{1} +} + +func (x *ResendVerificationResponse) GetAccount() *Account { + if x != nil { + return x.Account + } + return nil +} + +var File_rpc_resend_verification_proto protoreflect.FileDescriptor + +var file_rpc_resend_verification_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x76, 0x65, 0x72, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x43, + 0x92, 0x41, 0x40, 0x0a, 0x28, 0x2a, 0x19, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x20, 0x56, 0x65, + 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 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, 0x6a, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x20, 0x92, + 0x41, 0x1d, 0x0a, 0x1b, 0x2a, 0x19, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x20, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x45, 0x6d, 0x61, 0x69, 0x6c, 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_resend_verification_proto_rawDescOnce sync.Once + file_rpc_resend_verification_proto_rawDescData = file_rpc_resend_verification_proto_rawDesc +) + +func file_rpc_resend_verification_proto_rawDescGZIP() []byte { + file_rpc_resend_verification_proto_rawDescOnce.Do(func() { + file_rpc_resend_verification_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_resend_verification_proto_rawDescData) + }) + return file_rpc_resend_verification_proto_rawDescData +} + +var file_rpc_resend_verification_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_rpc_resend_verification_proto_goTypes = []interface{}{ + (*ResendVerificationRequest)(nil), // 0: pb.ResendVerificationRequest + (*ResendVerificationResponse)(nil), // 1: pb.ResendVerificationResponse + (*Account)(nil), // 2: pb.Account +} +var file_rpc_resend_verification_proto_depIdxs = []int32{ + 2, // 0: pb.ResendVerificationResponse.account:type_name -> pb.Account + 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_resend_verification_proto_init() } +func file_rpc_resend_verification_proto_init() { + if File_rpc_resend_verification_proto != nil { + return + } + file_account_proto_init() + if !protoimpl.UnsafeEnabled { + file_rpc_resend_verification_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResendVerificationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_rpc_resend_verification_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResendVerificationResponse); 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_resend_verification_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_rpc_resend_verification_proto_goTypes, + DependencyIndexes: file_rpc_resend_verification_proto_depIdxs, + MessageInfos: file_rpc_resend_verification_proto_msgTypes, + }.Build() + File_rpc_resend_verification_proto = out.File + file_rpc_resend_verification_proto_rawDesc = nil + file_rpc_resend_verification_proto_goTypes = nil + file_rpc_resend_verification_proto_depIdxs = nil +} diff --git a/bff/pb/service_df.pb.go b/bff/pb/service_df.pb.go index e1795e9..38c4773 100644 --- a/bff/pb/service_df.pb.go +++ b/bff/pb/service_df.pb.go @@ -74,288 +74,300 @@ var file_service_df_proto_rawDesc = []byte{ 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xc8, 0x21, 0x0a, 0x02, - 0x64, 0x66, 0x12, 0x42, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x2e, 0x70, 0x62, - 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, - 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x3a, 0x01, 0x2a, 0x22, 0x09, 0x2f, 0x76, 0x31, - 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x68, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0xa4, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x92, 0x41, 0x2f, 0x12, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x20, - 0x53, 0x65, 0x73, 0x73, 0x69, 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, 0x72, - 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, - 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x69, 0x73, - 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x92, 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x6c, - 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x92, 0x41, 0x27, - 0x12, 0x13, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x53, 0x65, 0x73, 0x73, 0x69, 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, 0x1f, 0x3a, 0x01, 0x2a, - 0x32, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x92, 0x01, 0x0a, - 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 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, 0x83, 0x01, 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, 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, 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, 0xaf, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, - 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, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x31, 0x2f, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 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, 0xa6, 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, 0x54, 0x92, 0x41, 0x26, 0x12, 0x12, 0x43, 0x72, 0x65, 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, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 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, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xa6, 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, 0x54, 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, 0x25, 0x3a, 0x01, 0x2a, - 0x32, 0x20, 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, 0x69, 0x6e, - 0x66, 0x6f, 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, 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, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x4d, 0x92, 0x41, 0x25, 0x12, 0x11, 0x47, 0x65, 0x74, 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, 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, 0x22, 0x2a, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x0c, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x2e, 0x70, - 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x61, 0x92, 0x41, 0x2f, 0x12, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x20, 0x62, 0x79, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x72, 0x70, 0x63, + 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xf5, 0x22, 0x0a, 0x02, 0x64, + 0x66, 0x12, 0x42, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, + 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x70, + 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x3a, 0x01, 0x2a, 0x22, 0x09, 0x2f, 0x76, 0x31, 0x2f, + 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x68, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, + 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, + 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, + 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0xa4, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x61, 0x92, 0x41, 0x2f, 0x12, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x53, + 0x65, 0x73, 0x73, 0x69, 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, 0x72, 0x65, + 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, + 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, + 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x92, 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x6c, 0x6f, + 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x92, 0x41, 0x27, 0x12, + 0x13, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x53, 0x65, 0x73, 0x73, 0x69, 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, 0x1f, 0x3a, 0x01, 0x2a, 0x32, + 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x92, 0x01, 0x0a, 0x0a, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 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, 0x83, 0x01, 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, 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, + 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, 0xaf, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 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, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, - 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 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, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x10, + 0x68, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 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, + 0xa6, 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, 0x54, 0x92, 0x41, 0x26, 0x12, 0x12, 0x43, 0x72, 0x65, 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, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 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, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xa6, 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, 0x54, 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, 0x25, 0x3a, 0x01, 0x2a, 0x32, + 0x20, 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, 0x69, 0x6e, 0x66, + 0x6f, 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, 0x72, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x32, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0xb0, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x67, 0x92, 0x41, 0x30, 0x12, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x52, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x20, 0x62, 0x79, 0x20, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, - 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, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x2f, 0x6c, 0x69, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x2f, 0x7b, 0x70, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xca, 0x02, 0x0a, 0x0e, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x80, 0x02, 0x92, 0x41, 0xe0, 0x01, 0x12, 0x1b, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x20, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x5b, 0x6f, 0x6e, 0x6c, - 0x79, 0x20, 0x48, 0x54, 0x54, 0x50, 0x5d, 0x1a, 0xae, 0x01, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x76, 0x69, 0x61, 0x20, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x20, 0x69, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x2e, 0x20, 0x54, - 0x72, 0x79, 0x20, 0x60, 0x60, 0x60, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x58, 0x20, 0x50, 0x4f, - 0x53, 0x54, 0x20, 0x2d, 0x48, 0x20, 0x22, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x20, 0x7b, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x7d, 0x22, 0x20, 0x2d, 0x46, 0x20, 0x22, 0x66, 0x69, 0x6c, 0x65, 0x3d, 0x40, - 0x2f, 0x70, 0x61, 0x74, 0x68, 0x2f, 0x74, 0x6f, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x20, 0x2d, - 0x46, 0x20, 0x22, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x3d, 0x31, 0x22, 0x20, - 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, - 0x52, 0x49, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 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, 0x6e, 0x3a, 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, 0x68, 0x12, 0x13, 0x08, 0x02, 0x1a, - 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x02, - 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, + 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, 0x12, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x4d, 0x92, 0x41, 0x25, 0x12, 0x11, 0x47, 0x65, 0x74, 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, 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, 0x22, 0x2a, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x0c, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x17, 0x2e, 0x70, 0x62, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, + 0x92, 0x41, 0x2f, 0x12, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 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, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x7d, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, + 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 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, 0x55, + 0x70, 0x64, 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, 0x12, 0x00, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x32, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0xb0, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x67, 0x92, 0x41, 0x30, 0x12, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x73, 0x4c, 0x6f, 0x67, 0x20, 0x62, 0x79, 0x20, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 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, 0x2e, 0x12, 0x2c, 0x2f, 0x76, 0x31, 0x2f, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x2f, 0x7b, 0x70, 0x65, + 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xca, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x70, 0x62, + 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x80, 0x02, 0x92, 0x41, 0xe0, 0x01, 0x12, 0x1b, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x20, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x5b, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x48, 0x54, 0x54, 0x50, 0x5d, 0x1a, 0xae, 0x01, 0x54, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x76, 0x69, 0x61, 0x20, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, + 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x2e, 0x20, 0x54, 0x72, + 0x79, 0x20, 0x60, 0x60, 0x60, 0x63, 0x75, 0x72, 0x6c, 0x20, 0x2d, 0x58, 0x20, 0x50, 0x4f, 0x53, + 0x54, 0x20, 0x2d, 0x48, 0x20, 0x22, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x20, 0x7b, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x7d, 0x22, 0x20, 0x2d, 0x46, 0x20, 0x22, 0x66, 0x69, 0x6c, 0x65, 0x3d, 0x40, 0x2f, + 0x70, 0x61, 0x74, 0x68, 0x2f, 0x74, 0x6f, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x20, 0x2d, 0x46, + 0x20, 0x22, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x3d, 0x31, 0x22, 0x20, 0x22, + 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x7b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x52, + 0x49, 0x7d, 0x2f, 0x64, 0x6f, 0x63, 0x75, 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, 0xaa, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, + 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, + 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, + 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x92, + 0x41, 0x2d, 0x12, 0x19, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x20, 0x56, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x45, 0x6d, 0x61, 0x69, 0x6c, 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, 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, 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, 0x6e, 0x3a, 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, 0x68, 0x12, 0x13, 0x08, 0x02, 0x1a, 0x0d, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x02, 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_service_df_proto_goTypes = []interface{}{ @@ -385,34 +397,36 @@ var file_service_df_proto_goTypes = []interface{}{ (*ListReturnsLogRequest)(nil), // 23: pb.ListReturnsLogRequest (*UploadDocumentRequest)(nil), // 24: pb.UploadDocumentRequest (*DeleteDocumentRequest)(nil), // 25: pb.DeleteDocumentRequest - (*VerifyEmailRequest)(nil), // 26: pb.VerifyEmailRequest - (*LoginResponse)(nil), // 27: pb.LoginResponse - (*RefreshTokenResponse)(nil), // 28: pb.RefreshTokenResponse - (*ListSessionsResponse)(nil), // 29: pb.ListSessionsResponse - (*BlockSessionResponse)(nil), // 30: pb.BlockSessionResponse - (*GetAccountResponse)(nil), // 31: pb.GetAccountResponse - (*ListAccountsResponse)(nil), // 32: pb.ListAccountsResponse - (*CreateAccountResponse)(nil), // 33: pb.CreateAccountResponse - (*UpdateAccountResponse)(nil), // 34: pb.UpdateAccountResponse - (*GetAccountInfoResponse)(nil), // 35: pb.GetAccountInfoResponse - (*ListAccountInfoResponse)(nil), // 36: pb.ListAccountInfoResponse - (*CreateAccountInfoResponse)(nil), // 37: pb.CreateAccountInfoResponse - (*UpdateAccountInfoResponse)(nil), // 38: pb.UpdateAccountInfoResponse - (*UpdateAccountPrivacyResponse)(nil), // 39: pb.UpdateAccountPrivacyResponse - (*CreatePersonResponse)(nil), // 40: pb.CreatePersonResponse - (*UpdatePersonResponse)(nil), // 41: pb.UpdatePersonResponse - (*GetPersonResponse)(nil), // 42: pb.GetPersonResponse - (*DeletePersonResponse)(nil), // 43: pb.DeletePersonResponse - (*ListPersonsResponse)(nil), // 44: pb.ListPersonsResponse - (*CreatePaymentResponse)(nil), // 45: pb.CreatePaymentResponse - (*GetPaymentResponse)(nil), // 46: pb.GetPaymentResponse - (*DeletePaymentResponse)(nil), // 47: pb.DeletePaymentResponse - (*ListPaymentsResponse)(nil), // 48: pb.ListPaymentsResponse - (*UpdatePaymentResponse)(nil), // 49: pb.UpdatePaymentResponse - (*ListReturnsLogResponse)(nil), // 50: pb.ListReturnsLogResponse - (*UploadDocumentResponse)(nil), // 51: pb.UploadDocumentResponse - (*DeleteDocumentResponse)(nil), // 52: pb.DeleteDocumentResponse - (*VerifyEmailResponse)(nil), // 53: pb.VerifyEmailResponse + (*ResendVerificationRequest)(nil), // 26: pb.ResendVerificationRequest + (*VerifyEmailRequest)(nil), // 27: pb.VerifyEmailRequest + (*LoginResponse)(nil), // 28: pb.LoginResponse + (*RefreshTokenResponse)(nil), // 29: pb.RefreshTokenResponse + (*ListSessionsResponse)(nil), // 30: pb.ListSessionsResponse + (*BlockSessionResponse)(nil), // 31: pb.BlockSessionResponse + (*GetAccountResponse)(nil), // 32: pb.GetAccountResponse + (*ListAccountsResponse)(nil), // 33: pb.ListAccountsResponse + (*CreateAccountResponse)(nil), // 34: pb.CreateAccountResponse + (*UpdateAccountResponse)(nil), // 35: pb.UpdateAccountResponse + (*GetAccountInfoResponse)(nil), // 36: pb.GetAccountInfoResponse + (*ListAccountInfoResponse)(nil), // 37: pb.ListAccountInfoResponse + (*CreateAccountInfoResponse)(nil), // 38: pb.CreateAccountInfoResponse + (*UpdateAccountInfoResponse)(nil), // 39: pb.UpdateAccountInfoResponse + (*UpdateAccountPrivacyResponse)(nil), // 40: pb.UpdateAccountPrivacyResponse + (*CreatePersonResponse)(nil), // 41: pb.CreatePersonResponse + (*UpdatePersonResponse)(nil), // 42: pb.UpdatePersonResponse + (*GetPersonResponse)(nil), // 43: pb.GetPersonResponse + (*DeletePersonResponse)(nil), // 44: pb.DeletePersonResponse + (*ListPersonsResponse)(nil), // 45: pb.ListPersonsResponse + (*CreatePaymentResponse)(nil), // 46: pb.CreatePaymentResponse + (*GetPaymentResponse)(nil), // 47: pb.GetPaymentResponse + (*DeletePaymentResponse)(nil), // 48: pb.DeletePaymentResponse + (*ListPaymentsResponse)(nil), // 49: pb.ListPaymentsResponse + (*UpdatePaymentResponse)(nil), // 50: pb.UpdatePaymentResponse + (*ListReturnsLogResponse)(nil), // 51: pb.ListReturnsLogResponse + (*UploadDocumentResponse)(nil), // 52: pb.UploadDocumentResponse + (*DeleteDocumentResponse)(nil), // 53: pb.DeleteDocumentResponse + (*ResendVerificationResponse)(nil), // 54: pb.ResendVerificationResponse + (*VerifyEmailResponse)(nil), // 55: pb.VerifyEmailResponse } var file_service_df_proto_depIdxs = []int32{ 0, // 0: pb.df.Login:input_type -> pb.LoginRequest @@ -441,36 +455,38 @@ var file_service_df_proto_depIdxs = []int32{ 23, // 23: pb.df.ListReturnsLog:input_type -> pb.ListReturnsLogRequest 24, // 24: pb.df.UploadDocument:input_type -> pb.UploadDocumentRequest 25, // 25: pb.df.DeleteDocument:input_type -> pb.DeleteDocumentRequest - 26, // 26: pb.df.VerifyEmail:input_type -> pb.VerifyEmailRequest - 27, // 27: pb.df.Login:output_type -> pb.LoginResponse - 28, // 28: pb.df.RefreshToken:output_type -> pb.RefreshTokenResponse - 29, // 29: pb.df.ListSessions:output_type -> pb.ListSessionsResponse - 30, // 30: pb.df.BlockSession:output_type -> pb.BlockSessionResponse - 31, // 31: pb.df.GetAccount:output_type -> pb.GetAccountResponse - 32, // 32: pb.df.ListAccounts:output_type -> pb.ListAccountsResponse - 33, // 33: pb.df.CreateAccount:output_type -> pb.CreateAccountResponse - 34, // 34: pb.df.UpdateAccount:output_type -> pb.UpdateAccountResponse - 35, // 35: pb.df.GetAccountInfo:output_type -> pb.GetAccountInfoResponse - 36, // 36: pb.df.ListAccountInfo:output_type -> pb.ListAccountInfoResponse - 37, // 37: pb.df.CreateAccountInfo:output_type -> pb.CreateAccountInfoResponse - 38, // 38: pb.df.UpdateAccountInfo:output_type -> pb.UpdateAccountInfoResponse - 39, // 39: pb.df.UpdateAccountPrivacy:output_type -> pb.UpdateAccountPrivacyResponse - 40, // 40: pb.df.CreatePerson:output_type -> pb.CreatePersonResponse - 41, // 41: pb.df.UpdatePerson:output_type -> pb.UpdatePersonResponse - 42, // 42: pb.df.GetPerson:output_type -> pb.GetPersonResponse - 43, // 43: pb.df.DeletePerson:output_type -> pb.DeletePersonResponse - 44, // 44: pb.df.ListPersons:output_type -> pb.ListPersonsResponse - 45, // 45: pb.df.CreatePayment:output_type -> pb.CreatePaymentResponse - 46, // 46: pb.df.GetPayment:output_type -> pb.GetPaymentResponse - 47, // 47: pb.df.DeletePayment:output_type -> pb.DeletePaymentResponse - 48, // 48: pb.df.ListPayments:output_type -> pb.ListPaymentsResponse - 49, // 49: pb.df.UpdatePayment:output_type -> pb.UpdatePaymentResponse - 50, // 50: pb.df.ListReturnsLog:output_type -> pb.ListReturnsLogResponse - 51, // 51: pb.df.UploadDocument:output_type -> pb.UploadDocumentResponse - 52, // 52: pb.df.DeleteDocument:output_type -> pb.DeleteDocumentResponse - 53, // 53: pb.df.VerifyEmail:output_type -> pb.VerifyEmailResponse - 27, // [27:54] is the sub-list for method output_type - 0, // [0:27] is the sub-list for method input_type + 26, // 26: pb.df.ResendVerification:input_type -> pb.ResendVerificationRequest + 27, // 27: pb.df.VerifyEmail:input_type -> pb.VerifyEmailRequest + 28, // 28: pb.df.Login:output_type -> pb.LoginResponse + 29, // 29: pb.df.RefreshToken:output_type -> pb.RefreshTokenResponse + 30, // 30: pb.df.ListSessions:output_type -> pb.ListSessionsResponse + 31, // 31: pb.df.BlockSession:output_type -> pb.BlockSessionResponse + 32, // 32: pb.df.GetAccount:output_type -> pb.GetAccountResponse + 33, // 33: pb.df.ListAccounts:output_type -> pb.ListAccountsResponse + 34, // 34: pb.df.CreateAccount:output_type -> pb.CreateAccountResponse + 35, // 35: pb.df.UpdateAccount:output_type -> pb.UpdateAccountResponse + 36, // 36: pb.df.GetAccountInfo:output_type -> pb.GetAccountInfoResponse + 37, // 37: pb.df.ListAccountInfo:output_type -> pb.ListAccountInfoResponse + 38, // 38: pb.df.CreateAccountInfo:output_type -> pb.CreateAccountInfoResponse + 39, // 39: pb.df.UpdateAccountInfo:output_type -> pb.UpdateAccountInfoResponse + 40, // 40: pb.df.UpdateAccountPrivacy:output_type -> pb.UpdateAccountPrivacyResponse + 41, // 41: pb.df.CreatePerson:output_type -> pb.CreatePersonResponse + 42, // 42: pb.df.UpdatePerson:output_type -> pb.UpdatePersonResponse + 43, // 43: pb.df.GetPerson:output_type -> pb.GetPersonResponse + 44, // 44: pb.df.DeletePerson:output_type -> pb.DeletePersonResponse + 45, // 45: pb.df.ListPersons:output_type -> pb.ListPersonsResponse + 46, // 46: pb.df.CreatePayment:output_type -> pb.CreatePaymentResponse + 47, // 47: pb.df.GetPayment:output_type -> pb.GetPaymentResponse + 48, // 48: pb.df.DeletePayment:output_type -> pb.DeletePaymentResponse + 49, // 49: pb.df.ListPayments:output_type -> pb.ListPaymentsResponse + 50, // 50: pb.df.UpdatePayment:output_type -> pb.UpdatePaymentResponse + 51, // 51: pb.df.ListReturnsLog:output_type -> pb.ListReturnsLogResponse + 52, // 52: pb.df.UploadDocument:output_type -> pb.UploadDocumentResponse + 53, // 53: pb.df.DeleteDocument:output_type -> pb.DeleteDocumentResponse + 54, // 54: pb.df.ResendVerification:output_type -> pb.ResendVerificationResponse + 55, // 55: pb.df.VerifyEmail:output_type -> pb.VerifyEmailResponse + 28, // [28:56] is the sub-list for method output_type + 0, // [0:28] 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 extendee 0, // [0:0] is the sub-list for field type_name @@ -508,6 +524,7 @@ func file_service_df_proto_init() { file_rpc_upload_document_proto_init() file_rpc_delete_document_proto_init() file_rpc_verify_email_proto_init() + file_rpc_resend_verification_proto_init() type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/bff/pb/service_df.pb.gw.go b/bff/pb/service_df.pb.gw.go index 66e10e8..5e731cd 100644 --- a/bff/pb/service_df.pb.gw.go +++ b/bff/pb/service_df.pb.gw.go @@ -1117,6 +1117,58 @@ func local_request_Df_DeleteDocument_0(ctx context.Context, marshaler runtime.Ma } +func request_Df_ResendVerification_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ResendVerificationRequest + 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 := client.ResendVerification(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Df_ResendVerification_0(ctx context.Context, marshaler runtime.Marshaler, server DfServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ResendVerificationRequest + 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.ResendVerification(ctx, &protoReq) + return msg, metadata, err + +} + func request_Df_VerifyEmail_0(ctx context.Context, marshaler runtime.Marshaler, client DfClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq VerifyEmailRequest var metadata runtime.ServerMetadata @@ -1845,6 +1897,31 @@ func RegisterDfHandlerServer(ctx context.Context, mux *runtime.ServeMux, server }) + mux.Handle("GET", pattern_Df_ResendVerification_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/ResendVerification", runtime.WithHTTPPathPattern("/v1/verify_email/{account_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Df_ResendVerification_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_ResendVerification_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Df_VerifyEmail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -2483,6 +2560,28 @@ func RegisterDfHandlerClient(ctx context.Context, mux *runtime.ServeMux, client }) + mux.Handle("GET", pattern_Df_ResendVerification_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/ResendVerification", runtime.WithHTTPPathPattern("/v1/verify_email/{account_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Df_ResendVerification_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_ResendVerification_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_Df_VerifyEmail_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -2561,6 +2660,8 @@ var ( pattern_Df_DeleteDocument_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"v1", "documents", "delete_document", "id"}, "")) + pattern_Df_ResendVerification_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"v1", "verify_email", "account_id"}, "")) + pattern_Df_VerifyEmail_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 1, 0, 4, 1, 5, 3}, []string{"v1", "verify_email", "account_id", "secret_key"}, "")) ) @@ -2617,5 +2718,7 @@ var ( forward_Df_DeleteDocument_0 = runtime.ForwardResponseMessage + forward_Df_ResendVerification_0 = runtime.ForwardResponseMessage + forward_Df_VerifyEmail_0 = runtime.ForwardResponseMessage ) diff --git a/bff/pb/service_df_grpc.pb.go b/bff/pb/service_df_grpc.pb.go index 568a0c0..f35aa23 100644 --- a/bff/pb/service_df_grpc.pb.go +++ b/bff/pb/service_df_grpc.pb.go @@ -45,6 +45,7 @@ const ( Df_ListReturnsLog_FullMethodName = "/pb.df/ListReturnsLog" Df_UploadDocument_FullMethodName = "/pb.df/UploadDocument" Df_DeleteDocument_FullMethodName = "/pb.df/DeleteDocument" + Df_ResendVerification_FullMethodName = "/pb.df/ResendVerification" Df_VerifyEmail_FullMethodName = "/pb.df/VerifyEmail" ) @@ -78,6 +79,7 @@ type DfClient interface { ListReturnsLog(ctx context.Context, in *ListReturnsLogRequest, opts ...grpc.CallOption) (*ListReturnsLogResponse, error) UploadDocument(ctx context.Context, in *UploadDocumentRequest, opts ...grpc.CallOption) (*UploadDocumentResponse, error) DeleteDocument(ctx context.Context, in *DeleteDocumentRequest, opts ...grpc.CallOption) (*DeleteDocumentResponse, error) + ResendVerification(ctx context.Context, in *ResendVerificationRequest, opts ...grpc.CallOption) (*ResendVerificationResponse, error) VerifyEmail(ctx context.Context, in *VerifyEmailRequest, opts ...grpc.CallOption) (*VerifyEmailResponse, error) } @@ -323,6 +325,15 @@ func (c *dfClient) DeleteDocument(ctx context.Context, in *DeleteDocumentRequest return out, nil } +func (c *dfClient) ResendVerification(ctx context.Context, in *ResendVerificationRequest, opts ...grpc.CallOption) (*ResendVerificationResponse, error) { + out := new(ResendVerificationResponse) + err := c.cc.Invoke(ctx, Df_ResendVerification_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *dfClient) VerifyEmail(ctx context.Context, in *VerifyEmailRequest, opts ...grpc.CallOption) (*VerifyEmailResponse, error) { out := new(VerifyEmailResponse) err := c.cc.Invoke(ctx, Df_VerifyEmail_FullMethodName, in, out, opts...) @@ -362,6 +373,7 @@ type DfServer interface { ListReturnsLog(context.Context, *ListReturnsLogRequest) (*ListReturnsLogResponse, error) UploadDocument(context.Context, *UploadDocumentRequest) (*UploadDocumentResponse, error) DeleteDocument(context.Context, *DeleteDocumentRequest) (*DeleteDocumentResponse, error) + ResendVerification(context.Context, *ResendVerificationRequest) (*ResendVerificationResponse, error) VerifyEmail(context.Context, *VerifyEmailRequest) (*VerifyEmailResponse, error) mustEmbedUnimplementedDfServer() } @@ -448,6 +460,9 @@ func (UnimplementedDfServer) UploadDocument(context.Context, *UploadDocumentRequ func (UnimplementedDfServer) DeleteDocument(context.Context, *DeleteDocumentRequest) (*DeleteDocumentResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteDocument not implemented") } +func (UnimplementedDfServer) ResendVerification(context.Context, *ResendVerificationRequest) (*ResendVerificationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ResendVerification not implemented") +} func (UnimplementedDfServer) VerifyEmail(context.Context, *VerifyEmailRequest) (*VerifyEmailResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method VerifyEmail not implemented") } @@ -932,6 +947,24 @@ func _Df_DeleteDocument_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +func _Df_ResendVerification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResendVerificationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DfServer).ResendVerification(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Df_ResendVerification_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DfServer).ResendVerification(ctx, req.(*ResendVerificationRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Df_VerifyEmail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(VerifyEmailRequest) if err := dec(in); err != nil { @@ -1061,6 +1094,10 @@ var Df_ServiceDesc = grpc.ServiceDesc{ MethodName: "DeleteDocument", Handler: _Df_DeleteDocument_Handler, }, + { + MethodName: "ResendVerification", + Handler: _Df_ResendVerification_Handler, + }, { MethodName: "VerifyEmail", Handler: _Df_VerifyEmail_Handler, diff --git a/bff/proto/rpc_resend_verification.proto b/bff/proto/rpc_resend_verification.proto new file mode 100644 index 0000000..f007657 --- /dev/null +++ b/bff/proto/rpc_resend_verification.proto @@ -0,0 +1,32 @@ +syntax = "proto3"; + +package pb; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +import "account.proto"; + +option go_package = "github.com/itsscb/df/pb"; + +message ResendVerificationRequest { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Resend Verification Email"; + required: [ + "account_id" + ]; + }; + example: "{\"account_id\": \"1\" }"; + }; + uint64 account_id = 1; +} + +message ResendVerificationResponse { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Resend Verification Email"; + }; + }; + Account account = 1 [(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + }]; +} \ No newline at end of file diff --git a/bff/proto/service_df.proto b/bff/proto/service_df.proto index ba1cb27..2aeca56 100644 --- a/bff/proto/service_df.proto +++ b/bff/proto/service_df.proto @@ -39,6 +39,7 @@ import "rpc_upload_document.proto"; import "rpc_delete_document.proto"; import "rpc_verify_email.proto"; +import "rpc_resend_verification.proto"; option go_package = "github.com/itsscb/df/pb"; @@ -430,6 +431,20 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { } }; }; + rpc ResendVerification (ResendVerificationRequest) returns (ResendVerificationResponse) { + option (google.api.http) = { + get: "/v1/verify_email/{account_id}" + }; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + summary: "Resend Verification Email" + security: { + security_requirement: { + key: "BearerAuth"; + value: {} + } + } + }; + }; rpc VerifyEmail (VerifyEmailRequest) returns (VerifyEmailResponse) { option (google.api.http) = { get: "/v1/verify_email/{account_id}/{secret_key}" diff --git a/frontend/app/lib/model/services/backend_service.dart b/frontend/app/lib/model/services/backend_service.dart index 8cec418..f643c15 100644 --- a/frontend/app/lib/model/services/backend_service.dart +++ b/frontend/app/lib/model/services/backend_service.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'package:app/model/apis/app_exception.dart'; +import 'package:app/model/services/storage_service.dart'; import 'package:app/pb/account.pb.dart'; import 'package:app/pb/account_info.pb.dart'; import 'package:app/pb/google/protobuf/timestamp.pb.dart'; @@ -14,6 +15,7 @@ import 'package:app/pb/rpc_get_person.pb.dart'; import 'package:app/pb/rpc_list_persons.pb.dart'; import 'package:app/pb/rpc_login.pb.dart'; import 'package:app/pb/rpc_refresh_token.pb.dart'; +import 'package:app/pb/rpc_resend_verification.pb.dart'; import 'package:app/pb/rpc_update_person.pb.dart'; import 'package:app/pb/service_df.pbgrpc.dart'; import 'package:fixnum/fixnum.dart'; @@ -26,6 +28,8 @@ class BackendService { final String baseUrl = '10.0.0.2'; final String port = '9090'; + final StorageService _storageService = StorageService(); + late Session _session; final dfClient _client = dfClient( @@ -119,14 +123,16 @@ class BackendService { return (await Session.session).accountId; } - static Future createAccount( + Future createAccount( {required String email, required String password}) async { try { - await BackendService.client.createAccount(CreateAccountRequest( + final resp = + await BackendService.client.createAccount(CreateAccountRequest( email: email, password: password, )); - + print(resp); + await _storageService.setAccountId(resp.account.id); return await login(email: email, password: password); } on SocketException { throw FetchDataException('Keine Internet Verbindung'); @@ -137,6 +143,25 @@ class BackendService { } } + Future resendVerification({required Int64 accountId}) async { + try { + final resp = await BackendService.client.resendVerification( + ResendVerificationRequest( + accountId: accountId, + ), + options: CallOptions(metadata: { + 'Authorization': 'Bearer ${await _storageService.accessToken}' + })); + return resp.account.id == accountId; + } on SocketException { + throw FetchDataException('Keine Internet Verbindung'); + } on GrpcError catch (err) { + throw FetchDataException('${err.message}'); + } catch (err) { + throw InternalException(err.toString()); + } + } + Future getAccount() async { Session? session = await _isLoggedIn(); if (session == null) { @@ -356,8 +381,7 @@ class BackendService { // throw InternalException(err.toString()); // } // } - static Future login( - {required String email, required String password}) async { + Future login({required String email, required String password}) async { try { final LoginResponse response = await BackendService.client.login( LoginRequest( @@ -365,15 +389,18 @@ class BackendService { password: password, ), ); - Session s = Session( - accessToken: response.accessToken, - sessionId: response.sessionId, - accessTokenExpiresAt: response.accessTokenExpiresAt, - refreshToken: response.refreshToken, - refreshTokenExpiresAt: response.refreshTokenExpiresAt, - accountId: response.accountId, - ); - await Session.newSession(s); + // Session s = Session( + // accessToken: response.accessToken, + // sessionId: response.sessionId, + // accessTokenExpiresAt: response.accessTokenExpiresAt, + // refreshToken: response.refreshToken, + // refreshTokenExpiresAt: response.refreshTokenExpiresAt, + // accountId: response.accountId, + // ); + + await _storageService.setAccessToken(response.accessToken); + + // await Session.newSession(s); return response.accessToken != ''; } on SocketException { throw FetchDataException('Keine Internet Verbindung'); diff --git a/frontend/app/lib/model/services/storage_service.dart b/frontend/app/lib/model/services/storage_service.dart index 64ee2e2..1ea5ffd 100644 --- a/frontend/app/lib/model/services/storage_service.dart +++ b/frontend/app/lib/model/services/storage_service.dart @@ -1,3 +1,4 @@ +import 'package:fixnum/fixnum.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; class StorageItem { @@ -64,6 +65,30 @@ class StorageService { return level ?? 0; } + Future setAccessToken(String accessToken) async { + return await writeData(StorageItem('access_token', accessToken)); + } + + Future get accessToken async { + return await readData('access_token'); + } + + Future setAccountId(Int64 accountId) async { + return await writeData(StorageItem('account_id', '$accountId')); + } + + Future get accountId async { + Int64? accountId; + final id = await readData('account_id'); + if (id != null) { + final i = Int64.tryParseInt(id); + if (i != null) { + accountId = i; + } + } + return accountId ?? Int64(0); + } + Future setAccountLevel(int level) async { return await writeData(StorageItem('account_level', '$level')); } diff --git a/frontend/app/lib/model/view_model/base_vm.dart b/frontend/app/lib/model/view_model/base_vm.dart index 370e43d..df85f21 100644 --- a/frontend/app/lib/model/view_model/base_vm.dart +++ b/frontend/app/lib/model/view_model/base_vm.dart @@ -1,5 +1,6 @@ import 'package:app/model/apis/api_response.dart'; import 'package:app/model/services/backend_service.dart'; +import 'package:app/model/services/storage_service.dart'; import 'package:app/pages_draft/home_page.dart'; import 'package:app/util/colors.dart'; import 'package:flutter/material.dart'; @@ -11,6 +12,7 @@ class BaseViewModel with ChangeNotifier { ApiResponse _apiResponse = ApiResponse.initial('Keine Daten'); final BackendService _service = BackendService(); + final StorageService _storageService = StorageService(); ApiResponse get response { return _apiResponse; @@ -159,7 +161,7 @@ class BaseViewModel with ChangeNotifier { notifyListeners(); final messenger = ScaffoldMessenger.of(context); try { - resp = await BackendService.login(email: email, password: password); + resp = await _service.login(email: email, password: password); _apiResponse = ApiResponse.completed(resp); messenger.showSnackBar(SnackBar( backgroundColor: CustomColors.success, @@ -209,8 +211,7 @@ class BaseViewModel with ChangeNotifier { _apiResponse = ApiResponse.loading('Logge ein'); notifyListeners(); try { - resp = - await BackendService.createAccount(email: email, password: password); + resp = await _service.createAccount(email: email, password: password); messenger.showSnackBar(SnackBar( backgroundColor: CustomColors.success, content: const Text( @@ -251,4 +252,56 @@ class BaseViewModel with ChangeNotifier { notifyListeners(); return resp; } + + Future resendVerification( + BuildContext context, + ) async { + bool resp = false; + final messenger = ScaffoldMessenger.of(context); + + // _apiResponse = ApiResponse.loading('Logge ein'); + notifyListeners(); + try { + final accountId = await _storageService.accountId; + resp = await _service.resendVerification(accountId: accountId); + messenger.showSnackBar(SnackBar( + backgroundColor: CustomColors.success, + content: const Text( + 'E-Mail gesendet', + style: TextStyle(color: Colors.white), + ), + )); + _apiResponse = ApiResponse.completed(resp); + } catch (e) { + messenger.showSnackBar(SnackBar( + backgroundColor: CustomColors.error, + content: const Text( + 'E-Mail wurde nicht gesendet', + style: TextStyle(color: Colors.white), + ), + action: SnackBarAction( + label: 'Details', + onPressed: () { + showDialog( + context: context, + builder: (context) => AlertDialog( + backgroundColor: Colors.black, + icon: Icon( + Icons.error, + color: CustomColors.error, + ), + content: Text( + e.toString(), + textAlign: TextAlign.center, + ), + )); + }, + ), + )); + _apiResponse = ApiResponse.error(e.toString()); + } + print(_apiResponse.message); + notifyListeners(); + return resp; + } } diff --git a/frontend/app/lib/pages/verify_email_page.dart b/frontend/app/lib/pages/verify_email_page.dart index ddc26c4..046461d 100644 --- a/frontend/app/lib/pages/verify_email_page.dart +++ b/frontend/app/lib/pages/verify_email_page.dart @@ -1,4 +1,5 @@ import 'package:app/model/services/storage_service.dart'; +import 'package:app/model/view_model/base_vm.dart'; import 'package:app/util/colors.dart'; import 'package:flutter/material.dart'; @@ -11,6 +12,7 @@ class VerifyEmailPage extends StatefulWidget { class _VerifyEmailPageState extends State { final StorageService _storageService = StorageService(); + final BaseViewModel _vm = BaseViewModel(); bool _loading = true; @override @@ -135,7 +137,9 @@ class _VerifyEmailPageState extends State { height: 20, ), TextButton( - onPressed: () {}, + onPressed: () async { + await _vm.resendVerification(context); + }, child: Text( 'Erneut senden', // textAlign: TextAlign.center, diff --git a/frontend/app/lib/pages_old/login_page.dart b/frontend/app/lib/pages_old/login_page.dart index 43923c2..3bc0ae5 100644 --- a/frontend/app/lib/pages_old/login_page.dart +++ b/frontend/app/lib/pages_old/login_page.dart @@ -248,30 +248,30 @@ class _LoginPageState extends State { if (_formKey.currentState!.validate()) { // final navigator = Navigator.of(context); _setLoading(true); - BackendService.login( - email: mailController.text, - password: passwordController.text, - ).then( - (r) { - if (r) { - Navigator.pop(context); - Navigator.pop(context); - // Navigator.pushAndRemoveUntil( - // context, - // MaterialPageRoute( - // builder: (ctx) => const StartPage( - // // client: widget.client, - // ), - // ), - // (ctx) => false, - // ); - // widget.onChangePage( - // Pages.dashboard, - // ); - } - // _setLoading(false); - }, - ); + // BackendService.login( + // email: mailController.text, + // password: passwordController.text, + // ).then( + // (r) { + // if (r) { + // Navigator.pop(context); + // Navigator.pop(context); + // // Navigator.pushAndRemoveUntil( + // // context, + // // MaterialPageRoute( + // // builder: (ctx) => const StartPage( + // // // client: widget.client, + // // ), + // // ), + // // (ctx) => false, + // // ); + // // widget.onChangePage( + // // Pages.dashboard, + // // ); + // } + // // _setLoading(false); + // }, + // ); } }, child: const Icon(Icons.login)) diff --git a/frontend/app/lib/pb/account.pb.dart b/frontend/app/lib/pb/account.pb.dart index 6d897c5..706b8c1 100644 --- a/frontend/app/lib/pb/account.pb.dart +++ b/frontend/app/lib/pb/account.pb.dart @@ -14,16 +14,16 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'google/protobuf/timestamp.pb.dart' as $28; class Account extends $pb.GeneratedMessage { factory Account({ $fixnum.Int64? id, $core.String? email, $core.String? secretKey, - $27.Timestamp? emailVerifiedTime, + $28.Timestamp? emailVerifiedTime, $core.bool? emailVerified, - $27.Timestamp? privacyAcceptedDate, + $28.Timestamp? privacyAcceptedDate, $core.int? permissionLevel, }) { final $result = create(); @@ -58,9 +58,9 @@ class Account extends $pb.GeneratedMessage { ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'id', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) ..aOS(2, _omitFieldNames ? '' : 'email') ..aOS(3, _omitFieldNames ? '' : 'secretKey') - ..aOM<$27.Timestamp>(9, _omitFieldNames ? '' : 'emailVerifiedTime', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(9, _omitFieldNames ? '' : 'emailVerifiedTime', subBuilder: $28.Timestamp.create) ..aOB(10, _omitFieldNames ? '' : 'emailVerified') - ..aOM<$27.Timestamp>(12, _omitFieldNames ? '' : 'privacyAcceptedDate', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(12, _omitFieldNames ? '' : 'privacyAcceptedDate', subBuilder: $28.Timestamp.create) ..a<$core.int>(13, _omitFieldNames ? '' : 'permissionLevel', $pb.PbFieldType.O3) ..hasRequiredFields = false ; @@ -114,15 +114,15 @@ class Account extends $pb.GeneratedMessage { void clearSecretKey() => clearField(3); @$pb.TagNumber(9) - $27.Timestamp get emailVerifiedTime => $_getN(3); + $28.Timestamp get emailVerifiedTime => $_getN(3); @$pb.TagNumber(9) - set emailVerifiedTime($27.Timestamp v) { setField(9, v); } + set emailVerifiedTime($28.Timestamp v) { setField(9, v); } @$pb.TagNumber(9) $core.bool hasEmailVerifiedTime() => $_has(3); @$pb.TagNumber(9) void clearEmailVerifiedTime() => clearField(9); @$pb.TagNumber(9) - $27.Timestamp ensureEmailVerifiedTime() => $_ensure(3); + $28.Timestamp ensureEmailVerifiedTime() => $_ensure(3); @$pb.TagNumber(10) $core.bool get emailVerified => $_getBF(4); @@ -134,15 +134,15 @@ class Account extends $pb.GeneratedMessage { void clearEmailVerified() => clearField(10); @$pb.TagNumber(12) - $27.Timestamp get privacyAcceptedDate => $_getN(5); + $28.Timestamp get privacyAcceptedDate => $_getN(5); @$pb.TagNumber(12) - set privacyAcceptedDate($27.Timestamp v) { setField(12, v); } + set privacyAcceptedDate($28.Timestamp v) { setField(12, v); } @$pb.TagNumber(12) $core.bool hasPrivacyAcceptedDate() => $_has(5); @$pb.TagNumber(12) void clearPrivacyAcceptedDate() => clearField(12); @$pb.TagNumber(12) - $27.Timestamp ensurePrivacyAcceptedDate() => $_ensure(5); + $28.Timestamp ensurePrivacyAcceptedDate() => $_ensure(5); @$pb.TagNumber(13) $core.int get permissionLevel => $_getIZ(6); diff --git a/frontend/app/lib/pb/account_info.pb.dart b/frontend/app/lib/pb/account_info.pb.dart index 9db0a1e..bceaa97 100644 --- a/frontend/app/lib/pb/account_info.pb.dart +++ b/frontend/app/lib/pb/account_info.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'google/protobuf/timestamp.pb.dart' as $28; class AccountInfo extends $pb.GeneratedMessage { factory AccountInfo({ @@ -25,15 +25,15 @@ class AccountInfo extends $pb.GeneratedMessage { $core.String? city, $core.String? zip, $core.String? country, - $27.Timestamp? birthday, + $28.Timestamp? birthday, $core.String? phone, $core.bool? privacyAccepted, - $27.Timestamp? privacyAcceptedDate, + $28.Timestamp? privacyAcceptedDate, $core.int? permissionLevel, $core.String? creator, - $27.Timestamp? created, + $28.Timestamp? created, $core.String? changer, - $27.Timestamp? changed, + $28.Timestamp? changed, }) { final $result = create(); if (accountId != null) { @@ -98,15 +98,15 @@ class AccountInfo extends $pb.GeneratedMessage { ..aOS(6, _omitFieldNames ? '' : 'city') ..aOS(7, _omitFieldNames ? '' : 'zip') ..aOS(8, _omitFieldNames ? '' : 'country') - ..aOM<$27.Timestamp>(9, _omitFieldNames ? '' : 'birthday', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(9, _omitFieldNames ? '' : 'birthday', subBuilder: $28.Timestamp.create) ..aOS(10, _omitFieldNames ? '' : 'phone') ..aOB(11, _omitFieldNames ? '' : 'privacyAccepted') - ..aOM<$27.Timestamp>(12, _omitFieldNames ? '' : 'privacyAcceptedDate', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(12, _omitFieldNames ? '' : 'privacyAcceptedDate', subBuilder: $28.Timestamp.create) ..a<$core.int>(13, _omitFieldNames ? '' : 'permissionLevel', $pb.PbFieldType.O3) ..aOS(14, _omitFieldNames ? '' : 'creator') - ..aOM<$27.Timestamp>(15, _omitFieldNames ? '' : 'created', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(15, _omitFieldNames ? '' : 'created', subBuilder: $28.Timestamp.create) ..aOS(16, _omitFieldNames ? '' : 'changer') - ..aOM<$27.Timestamp>(17, _omitFieldNames ? '' : 'changed', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(17, _omitFieldNames ? '' : 'changed', subBuilder: $28.Timestamp.create) ..hasRequiredFields = false ; @@ -195,15 +195,15 @@ class AccountInfo extends $pb.GeneratedMessage { void clearCountry() => clearField(8); @$pb.TagNumber(9) - $27.Timestamp get birthday => $_getN(7); + $28.Timestamp get birthday => $_getN(7); @$pb.TagNumber(9) - set birthday($27.Timestamp v) { setField(9, v); } + set birthday($28.Timestamp v) { setField(9, v); } @$pb.TagNumber(9) $core.bool hasBirthday() => $_has(7); @$pb.TagNumber(9) void clearBirthday() => clearField(9); @$pb.TagNumber(9) - $27.Timestamp ensureBirthday() => $_ensure(7); + $28.Timestamp ensureBirthday() => $_ensure(7); @$pb.TagNumber(10) $core.String get phone => $_getSZ(8); @@ -224,15 +224,15 @@ class AccountInfo extends $pb.GeneratedMessage { void clearPrivacyAccepted() => clearField(11); @$pb.TagNumber(12) - $27.Timestamp get privacyAcceptedDate => $_getN(10); + $28.Timestamp get privacyAcceptedDate => $_getN(10); @$pb.TagNumber(12) - set privacyAcceptedDate($27.Timestamp v) { setField(12, v); } + set privacyAcceptedDate($28.Timestamp v) { setField(12, v); } @$pb.TagNumber(12) $core.bool hasPrivacyAcceptedDate() => $_has(10); @$pb.TagNumber(12) void clearPrivacyAcceptedDate() => clearField(12); @$pb.TagNumber(12) - $27.Timestamp ensurePrivacyAcceptedDate() => $_ensure(10); + $28.Timestamp ensurePrivacyAcceptedDate() => $_ensure(10); @$pb.TagNumber(13) $core.int get permissionLevel => $_getIZ(11); @@ -253,15 +253,15 @@ class AccountInfo extends $pb.GeneratedMessage { void clearCreator() => clearField(14); @$pb.TagNumber(15) - $27.Timestamp get created => $_getN(13); + $28.Timestamp get created => $_getN(13); @$pb.TagNumber(15) - set created($27.Timestamp v) { setField(15, v); } + set created($28.Timestamp v) { setField(15, v); } @$pb.TagNumber(15) $core.bool hasCreated() => $_has(13); @$pb.TagNumber(15) void clearCreated() => clearField(15); @$pb.TagNumber(15) - $27.Timestamp ensureCreated() => $_ensure(13); + $28.Timestamp ensureCreated() => $_ensure(13); @$pb.TagNumber(16) $core.String get changer => $_getSZ(14); @@ -273,15 +273,15 @@ class AccountInfo extends $pb.GeneratedMessage { void clearChanger() => clearField(16); @$pb.TagNumber(17) - $27.Timestamp get changed => $_getN(15); + $28.Timestamp get changed => $_getN(15); @$pb.TagNumber(17) - set changed($27.Timestamp v) { setField(17, v); } + set changed($28.Timestamp v) { setField(17, v); } @$pb.TagNumber(17) $core.bool hasChanged() => $_has(15); @$pb.TagNumber(17) void clearChanged() => clearField(17); @$pb.TagNumber(17) - $27.Timestamp ensureChanged() => $_ensure(15); + $28.Timestamp ensureChanged() => $_ensure(15); } diff --git a/frontend/app/lib/pb/document.pb.dart b/frontend/app/lib/pb/document.pb.dart index 515c25c..ceb5485 100644 --- a/frontend/app/lib/pb/document.pb.dart +++ b/frontend/app/lib/pb/document.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'google/protobuf/timestamp.pb.dart' as $28; class Document extends $pb.GeneratedMessage { factory Document({ @@ -26,11 +26,11 @@ class Document extends $pb.GeneratedMessage { $core.String? url, $core.bool? valid, $core.String? validatedBy, - $27.Timestamp? validDate, + $28.Timestamp? validDate, $core.String? creator, - $27.Timestamp? created, + $28.Timestamp? created, $core.String? changer, - $27.Timestamp? changed, + $28.Timestamp? changed, $fixnum.Int64? id, }) { final $result = create(); @@ -91,11 +91,11 @@ class Document extends $pb.GeneratedMessage { ..aOS(6, _omitFieldNames ? '' : 'url') ..aOB(7, _omitFieldNames ? '' : 'valid') ..aOS(8, _omitFieldNames ? '' : 'validatedBy') - ..aOM<$27.Timestamp>(9, _omitFieldNames ? '' : 'validDate', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(9, _omitFieldNames ? '' : 'validDate', subBuilder: $28.Timestamp.create) ..aOS(10, _omitFieldNames ? '' : 'creator') - ..aOM<$27.Timestamp>(11, _omitFieldNames ? '' : 'created', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(11, _omitFieldNames ? '' : 'created', subBuilder: $28.Timestamp.create) ..aOS(12, _omitFieldNames ? '' : 'changer') - ..aOM<$27.Timestamp>(13, _omitFieldNames ? '' : 'changed', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(13, _omitFieldNames ? '' : 'changed', subBuilder: $28.Timestamp.create) ..a<$fixnum.Int64>(14, _omitFieldNames ? '' : 'id', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) ..hasRequiredFields = false ; @@ -194,15 +194,15 @@ class Document extends $pb.GeneratedMessage { void clearValidatedBy() => clearField(8); @$pb.TagNumber(9) - $27.Timestamp get validDate => $_getN(8); + $28.Timestamp get validDate => $_getN(8); @$pb.TagNumber(9) - set validDate($27.Timestamp v) { setField(9, v); } + set validDate($28.Timestamp v) { setField(9, v); } @$pb.TagNumber(9) $core.bool hasValidDate() => $_has(8); @$pb.TagNumber(9) void clearValidDate() => clearField(9); @$pb.TagNumber(9) - $27.Timestamp ensureValidDate() => $_ensure(8); + $28.Timestamp ensureValidDate() => $_ensure(8); @$pb.TagNumber(10) $core.String get creator => $_getSZ(9); @@ -214,15 +214,15 @@ class Document extends $pb.GeneratedMessage { void clearCreator() => clearField(10); @$pb.TagNumber(11) - $27.Timestamp get created => $_getN(10); + $28.Timestamp get created => $_getN(10); @$pb.TagNumber(11) - set created($27.Timestamp v) { setField(11, v); } + set created($28.Timestamp v) { setField(11, v); } @$pb.TagNumber(11) $core.bool hasCreated() => $_has(10); @$pb.TagNumber(11) void clearCreated() => clearField(11); @$pb.TagNumber(11) - $27.Timestamp ensureCreated() => $_ensure(10); + $28.Timestamp ensureCreated() => $_ensure(10); @$pb.TagNumber(12) $core.String get changer => $_getSZ(11); @@ -234,15 +234,15 @@ class Document extends $pb.GeneratedMessage { void clearChanger() => clearField(12); @$pb.TagNumber(13) - $27.Timestamp get changed => $_getN(12); + $28.Timestamp get changed => $_getN(12); @$pb.TagNumber(13) - set changed($27.Timestamp v) { setField(13, v); } + set changed($28.Timestamp v) { setField(13, v); } @$pb.TagNumber(13) $core.bool hasChanged() => $_has(12); @$pb.TagNumber(13) void clearChanged() => clearField(13); @$pb.TagNumber(13) - $27.Timestamp ensureChanged() => $_ensure(12); + $28.Timestamp ensureChanged() => $_ensure(12); @$pb.TagNumber(14) $fixnum.Int64 get id => $_getI64(13); diff --git a/frontend/app/lib/pb/payment.pb.dart b/frontend/app/lib/pb/payment.pb.dart index 328f131..b2eb4ac 100644 --- a/frontend/app/lib/pb/payment.pb.dart +++ b/frontend/app/lib/pb/payment.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'google/protobuf/timestamp.pb.dart' as $28; class Payment extends $pb.GeneratedMessage { factory Payment({ @@ -29,9 +29,9 @@ class Payment extends $pb.GeneratedMessage { $core.String? paymentSystem, $core.String? type, $core.String? creator, - $27.Timestamp? created, + $28.Timestamp? created, $core.String? changer, - $27.Timestamp? changed, + $28.Timestamp? changed, }) { final $result = create(); if (id != null) { @@ -94,9 +94,9 @@ class Payment extends $pb.GeneratedMessage { ..aOS(9, _omitFieldNames ? '' : 'paymentSystem') ..aOS(10, _omitFieldNames ? '' : 'type') ..aOS(11, _omitFieldNames ? '' : 'creator') - ..aOM<$27.Timestamp>(12, _omitFieldNames ? '' : 'created', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(12, _omitFieldNames ? '' : 'created', subBuilder: $28.Timestamp.create) ..aOS(13, _omitFieldNames ? '' : 'changer') - ..aOM<$27.Timestamp>(14, _omitFieldNames ? '' : 'changed', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(14, _omitFieldNames ? '' : 'changed', subBuilder: $28.Timestamp.create) ..hasRequiredFields = false ; @@ -221,15 +221,15 @@ class Payment extends $pb.GeneratedMessage { void clearCreator() => clearField(11); @$pb.TagNumber(12) - $27.Timestamp get created => $_getN(11); + $28.Timestamp get created => $_getN(11); @$pb.TagNumber(12) - set created($27.Timestamp v) { setField(12, v); } + set created($28.Timestamp v) { setField(12, v); } @$pb.TagNumber(12) $core.bool hasCreated() => $_has(11); @$pb.TagNumber(12) void clearCreated() => clearField(12); @$pb.TagNumber(12) - $27.Timestamp ensureCreated() => $_ensure(11); + $28.Timestamp ensureCreated() => $_ensure(11); @$pb.TagNumber(13) $core.String get changer => $_getSZ(12); @@ -241,15 +241,15 @@ class Payment extends $pb.GeneratedMessage { void clearChanger() => clearField(13); @$pb.TagNumber(14) - $27.Timestamp get changed => $_getN(13); + $28.Timestamp get changed => $_getN(13); @$pb.TagNumber(14) - set changed($27.Timestamp v) { setField(14, v); } + set changed($28.Timestamp v) { setField(14, v); } @$pb.TagNumber(14) $core.bool hasChanged() => $_has(13); @$pb.TagNumber(14) void clearChanged() => clearField(14); @$pb.TagNumber(14) - $27.Timestamp ensureChanged() => $_ensure(13); + $28.Timestamp ensureChanged() => $_ensure(13); } diff --git a/frontend/app/lib/pb/person.pb.dart b/frontend/app/lib/pb/person.pb.dart index 265a285..a06b849 100644 --- a/frontend/app/lib/pb/person.pb.dart +++ b/frontend/app/lib/pb/person.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'google/protobuf/timestamp.pb.dart' as $28; class Person extends $pb.GeneratedMessage { factory Person({ @@ -26,11 +26,11 @@ class Person extends $pb.GeneratedMessage { $core.String? city, $core.String? zip, $core.String? country, - $27.Timestamp? birthday, + $28.Timestamp? birthday, $core.String? creator, - $27.Timestamp? created, + $28.Timestamp? created, $core.String? changer, - $27.Timestamp? changed, + $28.Timestamp? changed, }) { final $result = create(); if (id != null) { @@ -87,11 +87,11 @@ class Person extends $pb.GeneratedMessage { ..aOS(6, _omitFieldNames ? '' : 'city') ..aOS(7, _omitFieldNames ? '' : 'zip') ..aOS(8, _omitFieldNames ? '' : 'country') - ..aOM<$27.Timestamp>(9, _omitFieldNames ? '' : 'birthday', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(9, _omitFieldNames ? '' : 'birthday', subBuilder: $28.Timestamp.create) ..aOS(10, _omitFieldNames ? '' : 'creator') - ..aOM<$27.Timestamp>(11, _omitFieldNames ? '' : 'created', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(11, _omitFieldNames ? '' : 'created', subBuilder: $28.Timestamp.create) ..aOS(12, _omitFieldNames ? '' : 'changer') - ..aOM<$27.Timestamp>(13, _omitFieldNames ? '' : 'changed', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(13, _omitFieldNames ? '' : 'changed', subBuilder: $28.Timestamp.create) ..hasRequiredFields = false ; @@ -189,15 +189,15 @@ class Person extends $pb.GeneratedMessage { void clearCountry() => clearField(8); @$pb.TagNumber(9) - $27.Timestamp get birthday => $_getN(8); + $28.Timestamp get birthday => $_getN(8); @$pb.TagNumber(9) - set birthday($27.Timestamp v) { setField(9, v); } + set birthday($28.Timestamp v) { setField(9, v); } @$pb.TagNumber(9) $core.bool hasBirthday() => $_has(8); @$pb.TagNumber(9) void clearBirthday() => clearField(9); @$pb.TagNumber(9) - $27.Timestamp ensureBirthday() => $_ensure(8); + $28.Timestamp ensureBirthday() => $_ensure(8); @$pb.TagNumber(10) $core.String get creator => $_getSZ(9); @@ -209,15 +209,15 @@ class Person extends $pb.GeneratedMessage { void clearCreator() => clearField(10); @$pb.TagNumber(11) - $27.Timestamp get created => $_getN(10); + $28.Timestamp get created => $_getN(10); @$pb.TagNumber(11) - set created($27.Timestamp v) { setField(11, v); } + set created($28.Timestamp v) { setField(11, v); } @$pb.TagNumber(11) $core.bool hasCreated() => $_has(10); @$pb.TagNumber(11) void clearCreated() => clearField(11); @$pb.TagNumber(11) - $27.Timestamp ensureCreated() => $_ensure(10); + $28.Timestamp ensureCreated() => $_ensure(10); @$pb.TagNumber(12) $core.String get changer => $_getSZ(11); @@ -229,15 +229,15 @@ class Person extends $pb.GeneratedMessage { void clearChanger() => clearField(12); @$pb.TagNumber(13) - $27.Timestamp get changed => $_getN(12); + $28.Timestamp get changed => $_getN(12); @$pb.TagNumber(13) - set changed($27.Timestamp v) { setField(13, v); } + set changed($28.Timestamp v) { setField(13, v); } @$pb.TagNumber(13) $core.bool hasChanged() => $_has(12); @$pb.TagNumber(13) void clearChanged() => clearField(13); @$pb.TagNumber(13) - $27.Timestamp ensureChanged() => $_ensure(12); + $28.Timestamp ensureChanged() => $_ensure(12); } diff --git a/frontend/app/lib/pb/returns_log.pb.dart b/frontend/app/lib/pb/returns_log.pb.dart index 1ade51c..8045641 100644 --- a/frontend/app/lib/pb/returns_log.pb.dart +++ b/frontend/app/lib/pb/returns_log.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'google/protobuf/timestamp.pb.dart' as $28; class ReturnsLog extends $pb.GeneratedMessage { factory ReturnsLog({ @@ -23,9 +23,9 @@ class ReturnsLog extends $pb.GeneratedMessage { $fixnum.Int64? mailId, $core.String? status, $core.String? creator, - $27.Timestamp? created, + $28.Timestamp? created, $core.String? changer, - $27.Timestamp? changed, + $28.Timestamp? changed, }) { final $result = create(); if (id != null) { @@ -64,9 +64,9 @@ class ReturnsLog extends $pb.GeneratedMessage { ..a<$fixnum.Int64>(3, _omitFieldNames ? '' : 'mailId', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) ..aOS(4, _omitFieldNames ? '' : 'status') ..aOS(5, _omitFieldNames ? '' : 'creator') - ..aOM<$27.Timestamp>(6, _omitFieldNames ? '' : 'created', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(6, _omitFieldNames ? '' : 'created', subBuilder: $28.Timestamp.create) ..aOS(7, _omitFieldNames ? '' : 'changer') - ..aOM<$27.Timestamp>(8, _omitFieldNames ? '' : 'changed', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(8, _omitFieldNames ? '' : 'changed', subBuilder: $28.Timestamp.create) ..hasRequiredFields = false ; @@ -137,15 +137,15 @@ class ReturnsLog extends $pb.GeneratedMessage { void clearCreator() => clearField(5); @$pb.TagNumber(6) - $27.Timestamp get created => $_getN(5); + $28.Timestamp get created => $_getN(5); @$pb.TagNumber(6) - set created($27.Timestamp v) { setField(6, v); } + set created($28.Timestamp v) { setField(6, v); } @$pb.TagNumber(6) $core.bool hasCreated() => $_has(5); @$pb.TagNumber(6) void clearCreated() => clearField(6); @$pb.TagNumber(6) - $27.Timestamp ensureCreated() => $_ensure(5); + $28.Timestamp ensureCreated() => $_ensure(5); @$pb.TagNumber(7) $core.String get changer => $_getSZ(6); @@ -157,15 +157,15 @@ class ReturnsLog extends $pb.GeneratedMessage { void clearChanger() => clearField(7); @$pb.TagNumber(8) - $27.Timestamp get changed => $_getN(7); + $28.Timestamp get changed => $_getN(7); @$pb.TagNumber(8) - set changed($27.Timestamp v) { setField(8, v); } + set changed($28.Timestamp v) { setField(8, v); } @$pb.TagNumber(8) $core.bool hasChanged() => $_has(7); @$pb.TagNumber(8) void clearChanged() => clearField(8); @$pb.TagNumber(8) - $27.Timestamp ensureChanged() => $_ensure(7); + $28.Timestamp ensureChanged() => $_ensure(7); } diff --git a/frontend/app/lib/pb/rpc_create_account.pb.dart b/frontend/app/lib/pb/rpc_create_account.pb.dart index d5c1508..43b7b63 100644 --- a/frontend/app/lib/pb/rpc_create_account.pb.dart +++ b/frontend/app/lib/pb/rpc_create_account.pb.dart @@ -13,7 +13,7 @@ import 'dart:core' as $core; import 'package:protobuf/protobuf.dart' as $pb; -import 'account.pb.dart' as $29; +import 'account.pb.dart' as $30; class CreateAccountRequest extends $pb.GeneratedMessage { factory CreateAccountRequest({ @@ -81,7 +81,7 @@ class CreateAccountRequest extends $pb.GeneratedMessage { class CreateAccountResponse extends $pb.GeneratedMessage { factory CreateAccountResponse({ - $29.Account? account, + $30.Account? account, }) { final $result = create(); if (account != null) { @@ -94,7 +94,7 @@ class CreateAccountResponse extends $pb.GeneratedMessage { factory CreateAccountResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateAccountResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$29.Account>(1, _omitFieldNames ? '' : 'account', subBuilder: $29.Account.create) + ..aOM<$30.Account>(1, _omitFieldNames ? '' : 'account', subBuilder: $30.Account.create) ..hasRequiredFields = false ; @@ -120,15 +120,15 @@ class CreateAccountResponse extends $pb.GeneratedMessage { static CreateAccountResponse? _defaultInstance; @$pb.TagNumber(1) - $29.Account get account => $_getN(0); + $30.Account get account => $_getN(0); @$pb.TagNumber(1) - set account($29.Account v) { setField(1, v); } + set account($30.Account v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasAccount() => $_has(0); @$pb.TagNumber(1) void clearAccount() => clearField(1); @$pb.TagNumber(1) - $29.Account ensureAccount() => $_ensure(0); + $30.Account ensureAccount() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_create_account_info.pb.dart b/frontend/app/lib/pb/rpc_create_account_info.pb.dart index e8b6311..118ea7b 100644 --- a/frontend/app/lib/pb/rpc_create_account_info.pb.dart +++ b/frontend/app/lib/pb/rpc_create_account_info.pb.dart @@ -14,8 +14,8 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'account_info.pb.dart' as $28; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'account_info.pb.dart' as $29; +import 'google/protobuf/timestamp.pb.dart' as $28; class CreateAccountInfoRequest extends $pb.GeneratedMessage { factory CreateAccountInfoRequest({ @@ -27,7 +27,7 @@ class CreateAccountInfoRequest extends $pb.GeneratedMessage { $core.String? zip, $core.String? country, $core.String? phone, - $27.Timestamp? birthday, + $28.Timestamp? birthday, $core.bool? privacyAccepted, }) { final $result = create(); @@ -76,7 +76,7 @@ class CreateAccountInfoRequest extends $pb.GeneratedMessage { ..aOS(7, _omitFieldNames ? '' : 'zip') ..aOS(8, _omitFieldNames ? '' : 'country') ..aOS(9, _omitFieldNames ? '' : 'phone') - ..aOM<$27.Timestamp>(10, _omitFieldNames ? '' : 'birthday', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(10, _omitFieldNames ? '' : 'birthday', subBuilder: $28.Timestamp.create) ..aOB(11, _omitFieldNames ? '' : 'privacyAccepted') ..hasRequiredFields = false ; @@ -175,15 +175,15 @@ class CreateAccountInfoRequest extends $pb.GeneratedMessage { void clearPhone() => clearField(9); @$pb.TagNumber(10) - $27.Timestamp get birthday => $_getN(8); + $28.Timestamp get birthday => $_getN(8); @$pb.TagNumber(10) - set birthday($27.Timestamp v) { setField(10, v); } + set birthday($28.Timestamp v) { setField(10, v); } @$pb.TagNumber(10) $core.bool hasBirthday() => $_has(8); @$pb.TagNumber(10) void clearBirthday() => clearField(10); @$pb.TagNumber(10) - $27.Timestamp ensureBirthday() => $_ensure(8); + $28.Timestamp ensureBirthday() => $_ensure(8); @$pb.TagNumber(11) $core.bool get privacyAccepted => $_getBF(9); @@ -197,7 +197,7 @@ class CreateAccountInfoRequest extends $pb.GeneratedMessage { class CreateAccountInfoResponse extends $pb.GeneratedMessage { factory CreateAccountInfoResponse({ - $28.AccountInfo? accountInfo, + $29.AccountInfo? accountInfo, }) { final $result = create(); if (accountInfo != null) { @@ -210,7 +210,7 @@ class CreateAccountInfoResponse extends $pb.GeneratedMessage { factory CreateAccountInfoResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateAccountInfoResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$28.AccountInfo>(1, _omitFieldNames ? '' : 'accountInfo', subBuilder: $28.AccountInfo.create) + ..aOM<$29.AccountInfo>(1, _omitFieldNames ? '' : 'accountInfo', subBuilder: $29.AccountInfo.create) ..hasRequiredFields = false ; @@ -236,15 +236,15 @@ class CreateAccountInfoResponse extends $pb.GeneratedMessage { static CreateAccountInfoResponse? _defaultInstance; @$pb.TagNumber(1) - $28.AccountInfo get accountInfo => $_getN(0); + $29.AccountInfo get accountInfo => $_getN(0); @$pb.TagNumber(1) - set accountInfo($28.AccountInfo v) { setField(1, v); } + set accountInfo($29.AccountInfo v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasAccountInfo() => $_has(0); @$pb.TagNumber(1) void clearAccountInfo() => clearField(1); @$pb.TagNumber(1) - $28.AccountInfo ensureAccountInfo() => $_ensure(0); + $29.AccountInfo ensureAccountInfo() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_create_payment.pb.dart b/frontend/app/lib/pb/rpc_create_payment.pb.dart index 082d8ef..e977074 100644 --- a/frontend/app/lib/pb/rpc_create_payment.pb.dart +++ b/frontend/app/lib/pb/rpc_create_payment.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'payment.pb.dart' as $30; +import 'payment.pb.dart' as $31; class CreatePaymentRequest extends $pb.GeneratedMessage { factory CreatePaymentRequest({ @@ -180,7 +180,7 @@ class CreatePaymentRequest extends $pb.GeneratedMessage { class CreatePaymentResponse extends $pb.GeneratedMessage { factory CreatePaymentResponse({ - $30.Payment? payment, + $31.Payment? payment, }) { final $result = create(); if (payment != null) { @@ -193,7 +193,7 @@ class CreatePaymentResponse extends $pb.GeneratedMessage { factory CreatePaymentResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreatePaymentResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$30.Payment>(1, _omitFieldNames ? '' : 'payment', subBuilder: $30.Payment.create) + ..aOM<$31.Payment>(1, _omitFieldNames ? '' : 'payment', subBuilder: $31.Payment.create) ..hasRequiredFields = false ; @@ -219,15 +219,15 @@ class CreatePaymentResponse extends $pb.GeneratedMessage { static CreatePaymentResponse? _defaultInstance; @$pb.TagNumber(1) - $30.Payment get payment => $_getN(0); + $31.Payment get payment => $_getN(0); @$pb.TagNumber(1) - set payment($30.Payment v) { setField(1, v); } + set payment($31.Payment v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasPayment() => $_has(0); @$pb.TagNumber(1) void clearPayment() => clearField(1); @$pb.TagNumber(1) - $30.Payment ensurePayment() => $_ensure(0); + $31.Payment ensurePayment() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_create_person.pb.dart b/frontend/app/lib/pb/rpc_create_person.pb.dart index 3e165d4..9f58dd4 100644 --- a/frontend/app/lib/pb/rpc_create_person.pb.dart +++ b/frontend/app/lib/pb/rpc_create_person.pb.dart @@ -14,8 +14,8 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; -import 'person.pb.dart' as $31; +import 'google/protobuf/timestamp.pb.dart' as $28; +import 'person.pb.dart' as $32; class CreatePersonRequest extends $pb.GeneratedMessage { factory CreatePersonRequest({ @@ -26,7 +26,7 @@ class CreatePersonRequest extends $pb.GeneratedMessage { $core.String? city, $core.String? zip, $core.String? country, - $27.Timestamp? birthday, + $28.Timestamp? birthday, }) { final $result = create(); if (accountId != null) { @@ -67,7 +67,7 @@ class CreatePersonRequest extends $pb.GeneratedMessage { ..aOS(5, _omitFieldNames ? '' : 'city') ..aOS(6, _omitFieldNames ? '' : 'zip') ..aOS(7, _omitFieldNames ? '' : 'country') - ..aOM<$27.Timestamp>(8, _omitFieldNames ? '' : 'birthday', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(8, _omitFieldNames ? '' : 'birthday', subBuilder: $28.Timestamp.create) ..hasRequiredFields = false ; @@ -156,20 +156,20 @@ class CreatePersonRequest extends $pb.GeneratedMessage { void clearCountry() => clearField(7); @$pb.TagNumber(8) - $27.Timestamp get birthday => $_getN(7); + $28.Timestamp get birthday => $_getN(7); @$pb.TagNumber(8) - set birthday($27.Timestamp v) { setField(8, v); } + set birthday($28.Timestamp v) { setField(8, v); } @$pb.TagNumber(8) $core.bool hasBirthday() => $_has(7); @$pb.TagNumber(8) void clearBirthday() => clearField(8); @$pb.TagNumber(8) - $27.Timestamp ensureBirthday() => $_ensure(7); + $28.Timestamp ensureBirthday() => $_ensure(7); } class CreatePersonResponse extends $pb.GeneratedMessage { factory CreatePersonResponse({ - $31.Person? person, + $32.Person? person, }) { final $result = create(); if (person != null) { @@ -182,7 +182,7 @@ class CreatePersonResponse extends $pb.GeneratedMessage { factory CreatePersonResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreatePersonResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$31.Person>(1, _omitFieldNames ? '' : 'person', subBuilder: $31.Person.create) + ..aOM<$32.Person>(1, _omitFieldNames ? '' : 'person', subBuilder: $32.Person.create) ..hasRequiredFields = false ; @@ -208,15 +208,15 @@ class CreatePersonResponse extends $pb.GeneratedMessage { static CreatePersonResponse? _defaultInstance; @$pb.TagNumber(1) - $31.Person get person => $_getN(0); + $32.Person get person => $_getN(0); @$pb.TagNumber(1) - set person($31.Person v) { setField(1, v); } + set person($32.Person v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasPerson() => $_has(0); @$pb.TagNumber(1) void clearPerson() => clearField(1); @$pb.TagNumber(1) - $31.Person ensurePerson() => $_ensure(0); + $32.Person ensurePerson() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_get_account.pb.dart b/frontend/app/lib/pb/rpc_get_account.pb.dart index ab7db4c..334f998 100644 --- a/frontend/app/lib/pb/rpc_get_account.pb.dart +++ b/frontend/app/lib/pb/rpc_get_account.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'account.pb.dart' as $29; +import 'account.pb.dart' as $30; class GetAccountRequest extends $pb.GeneratedMessage { factory GetAccountRequest({ @@ -68,7 +68,7 @@ class GetAccountRequest extends $pb.GeneratedMessage { class GetAccountResponse extends $pb.GeneratedMessage { factory GetAccountResponse({ - $29.Account? account, + $30.Account? account, }) { final $result = create(); if (account != null) { @@ -81,7 +81,7 @@ class GetAccountResponse extends $pb.GeneratedMessage { factory GetAccountResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetAccountResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$29.Account>(1, _omitFieldNames ? '' : 'account', subBuilder: $29.Account.create) + ..aOM<$30.Account>(1, _omitFieldNames ? '' : 'account', subBuilder: $30.Account.create) ..hasRequiredFields = false ; @@ -107,15 +107,15 @@ class GetAccountResponse extends $pb.GeneratedMessage { static GetAccountResponse? _defaultInstance; @$pb.TagNumber(1) - $29.Account get account => $_getN(0); + $30.Account get account => $_getN(0); @$pb.TagNumber(1) - set account($29.Account v) { setField(1, v); } + set account($30.Account v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasAccount() => $_has(0); @$pb.TagNumber(1) void clearAccount() => clearField(1); @$pb.TagNumber(1) - $29.Account ensureAccount() => $_ensure(0); + $30.Account ensureAccount() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_get_account_info.pb.dart b/frontend/app/lib/pb/rpc_get_account_info.pb.dart index 92c48f9..28abcba 100644 --- a/frontend/app/lib/pb/rpc_get_account_info.pb.dart +++ b/frontend/app/lib/pb/rpc_get_account_info.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'account_info.pb.dart' as $28; +import 'account_info.pb.dart' as $29; class GetAccountInfoRequest extends $pb.GeneratedMessage { factory GetAccountInfoRequest({ @@ -68,7 +68,7 @@ class GetAccountInfoRequest extends $pb.GeneratedMessage { class GetAccountInfoResponse extends $pb.GeneratedMessage { factory GetAccountInfoResponse({ - $28.AccountInfo? accountInfo, + $29.AccountInfo? accountInfo, }) { final $result = create(); if (accountInfo != null) { @@ -81,7 +81,7 @@ class GetAccountInfoResponse extends $pb.GeneratedMessage { factory GetAccountInfoResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetAccountInfoResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$28.AccountInfo>(1, _omitFieldNames ? '' : 'accountInfo', subBuilder: $28.AccountInfo.create) + ..aOM<$29.AccountInfo>(1, _omitFieldNames ? '' : 'accountInfo', subBuilder: $29.AccountInfo.create) ..hasRequiredFields = false ; @@ -107,15 +107,15 @@ class GetAccountInfoResponse extends $pb.GeneratedMessage { static GetAccountInfoResponse? _defaultInstance; @$pb.TagNumber(1) - $28.AccountInfo get accountInfo => $_getN(0); + $29.AccountInfo get accountInfo => $_getN(0); @$pb.TagNumber(1) - set accountInfo($28.AccountInfo v) { setField(1, v); } + set accountInfo($29.AccountInfo v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasAccountInfo() => $_has(0); @$pb.TagNumber(1) void clearAccountInfo() => clearField(1); @$pb.TagNumber(1) - $28.AccountInfo ensureAccountInfo() => $_ensure(0); + $29.AccountInfo ensureAccountInfo() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_get_payment.pb.dart b/frontend/app/lib/pb/rpc_get_payment.pb.dart index 65116df..261c13c 100644 --- a/frontend/app/lib/pb/rpc_get_payment.pb.dart +++ b/frontend/app/lib/pb/rpc_get_payment.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'payment.pb.dart' as $30; +import 'payment.pb.dart' as $31; class GetPaymentRequest extends $pb.GeneratedMessage { factory GetPaymentRequest({ @@ -68,7 +68,7 @@ class GetPaymentRequest extends $pb.GeneratedMessage { class GetPaymentResponse extends $pb.GeneratedMessage { factory GetPaymentResponse({ - $30.Payment? payment, + $31.Payment? payment, }) { final $result = create(); if (payment != null) { @@ -81,7 +81,7 @@ class GetPaymentResponse extends $pb.GeneratedMessage { factory GetPaymentResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetPaymentResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$30.Payment>(1, _omitFieldNames ? '' : 'payment', subBuilder: $30.Payment.create) + ..aOM<$31.Payment>(1, _omitFieldNames ? '' : 'payment', subBuilder: $31.Payment.create) ..hasRequiredFields = false ; @@ -107,15 +107,15 @@ class GetPaymentResponse extends $pb.GeneratedMessage { static GetPaymentResponse? _defaultInstance; @$pb.TagNumber(1) - $30.Payment get payment => $_getN(0); + $31.Payment get payment => $_getN(0); @$pb.TagNumber(1) - set payment($30.Payment v) { setField(1, v); } + set payment($31.Payment v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasPayment() => $_has(0); @$pb.TagNumber(1) void clearPayment() => clearField(1); @$pb.TagNumber(1) - $30.Payment ensurePayment() => $_ensure(0); + $31.Payment ensurePayment() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_get_person.pb.dart b/frontend/app/lib/pb/rpc_get_person.pb.dart index 153be84..27d38f6 100644 --- a/frontend/app/lib/pb/rpc_get_person.pb.dart +++ b/frontend/app/lib/pb/rpc_get_person.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'person.pb.dart' as $31; +import 'person.pb.dart' as $32; class GetPersonRequest extends $pb.GeneratedMessage { factory GetPersonRequest({ @@ -68,7 +68,7 @@ class GetPersonRequest extends $pb.GeneratedMessage { class GetPersonResponse extends $pb.GeneratedMessage { factory GetPersonResponse({ - $31.Person? person, + $32.Person? person, }) { final $result = create(); if (person != null) { @@ -81,7 +81,7 @@ class GetPersonResponse extends $pb.GeneratedMessage { factory GetPersonResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetPersonResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$31.Person>(1, _omitFieldNames ? '' : 'person', subBuilder: $31.Person.create) + ..aOM<$32.Person>(1, _omitFieldNames ? '' : 'person', subBuilder: $32.Person.create) ..hasRequiredFields = false ; @@ -107,15 +107,15 @@ class GetPersonResponse extends $pb.GeneratedMessage { static GetPersonResponse? _defaultInstance; @$pb.TagNumber(1) - $31.Person get person => $_getN(0); + $32.Person get person => $_getN(0); @$pb.TagNumber(1) - set person($31.Person v) { setField(1, v); } + set person($32.Person v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasPerson() => $_has(0); @$pb.TagNumber(1) void clearPerson() => clearField(1); @$pb.TagNumber(1) - $31.Person ensurePerson() => $_ensure(0); + $32.Person ensurePerson() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_list_account_info.pb.dart b/frontend/app/lib/pb/rpc_list_account_info.pb.dart index 26e2431..88c935b 100644 --- a/frontend/app/lib/pb/rpc_list_account_info.pb.dart +++ b/frontend/app/lib/pb/rpc_list_account_info.pb.dart @@ -13,7 +13,7 @@ import 'dart:core' as $core; import 'package:protobuf/protobuf.dart' as $pb; -import 'account_info.pb.dart' as $28; +import 'account_info.pb.dart' as $29; class ListAccountInfoRequest extends $pb.GeneratedMessage { factory ListAccountInfoRequest({ @@ -81,7 +81,7 @@ class ListAccountInfoRequest extends $pb.GeneratedMessage { class ListAccountInfoResponse extends $pb.GeneratedMessage { factory ListAccountInfoResponse({ - $core.Iterable<$28.AccountInfo>? accountInfo, + $core.Iterable<$29.AccountInfo>? accountInfo, }) { final $result = create(); if (accountInfo != null) { @@ -94,7 +94,7 @@ class ListAccountInfoResponse extends $pb.GeneratedMessage { factory ListAccountInfoResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListAccountInfoResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..pc<$28.AccountInfo>(1, _omitFieldNames ? '' : 'accountInfo', $pb.PbFieldType.PM, subBuilder: $28.AccountInfo.create) + ..pc<$29.AccountInfo>(1, _omitFieldNames ? '' : 'accountInfo', $pb.PbFieldType.PM, subBuilder: $29.AccountInfo.create) ..hasRequiredFields = false ; @@ -120,7 +120,7 @@ class ListAccountInfoResponse extends $pb.GeneratedMessage { static ListAccountInfoResponse? _defaultInstance; @$pb.TagNumber(1) - $core.List<$28.AccountInfo> get accountInfo => $_getList(0); + $core.List<$29.AccountInfo> get accountInfo => $_getList(0); } diff --git a/frontend/app/lib/pb/rpc_list_accounts.pb.dart b/frontend/app/lib/pb/rpc_list_accounts.pb.dart index 341c749..85c1510 100644 --- a/frontend/app/lib/pb/rpc_list_accounts.pb.dart +++ b/frontend/app/lib/pb/rpc_list_accounts.pb.dart @@ -13,7 +13,7 @@ import 'dart:core' as $core; import 'package:protobuf/protobuf.dart' as $pb; -import 'account.pb.dart' as $29; +import 'account.pb.dart' as $30; class ListAccountsRequest extends $pb.GeneratedMessage { factory ListAccountsRequest({ @@ -81,7 +81,7 @@ class ListAccountsRequest extends $pb.GeneratedMessage { class ListAccountsResponse extends $pb.GeneratedMessage { factory ListAccountsResponse({ - $core.Iterable<$29.Account>? accounts, + $core.Iterable<$30.Account>? accounts, }) { final $result = create(); if (accounts != null) { @@ -94,7 +94,7 @@ class ListAccountsResponse extends $pb.GeneratedMessage { factory ListAccountsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListAccountsResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..pc<$29.Account>(1, _omitFieldNames ? '' : 'accounts', $pb.PbFieldType.PM, subBuilder: $29.Account.create) + ..pc<$30.Account>(1, _omitFieldNames ? '' : 'accounts', $pb.PbFieldType.PM, subBuilder: $30.Account.create) ..hasRequiredFields = false ; @@ -120,7 +120,7 @@ class ListAccountsResponse extends $pb.GeneratedMessage { static ListAccountsResponse? _defaultInstance; @$pb.TagNumber(1) - $core.List<$29.Account> get accounts => $_getList(0); + $core.List<$30.Account> get accounts => $_getList(0); } diff --git a/frontend/app/lib/pb/rpc_list_payments.pb.dart b/frontend/app/lib/pb/rpc_list_payments.pb.dart index 2478efc..0bb3df1 100644 --- a/frontend/app/lib/pb/rpc_list_payments.pb.dart +++ b/frontend/app/lib/pb/rpc_list_payments.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'payment.pb.dart' as $30; +import 'payment.pb.dart' as $31; class ListPaymentsRequest extends $pb.GeneratedMessage { factory ListPaymentsRequest({ @@ -68,7 +68,7 @@ class ListPaymentsRequest extends $pb.GeneratedMessage { class ListPaymentsResponse extends $pb.GeneratedMessage { factory ListPaymentsResponse({ - $core.Iterable<$30.Payment>? payments, + $core.Iterable<$31.Payment>? payments, }) { final $result = create(); if (payments != null) { @@ -81,7 +81,7 @@ class ListPaymentsResponse extends $pb.GeneratedMessage { factory ListPaymentsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListPaymentsResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..pc<$30.Payment>(1, _omitFieldNames ? '' : 'payments', $pb.PbFieldType.PM, subBuilder: $30.Payment.create) + ..pc<$31.Payment>(1, _omitFieldNames ? '' : 'payments', $pb.PbFieldType.PM, subBuilder: $31.Payment.create) ..hasRequiredFields = false ; @@ -107,7 +107,7 @@ class ListPaymentsResponse extends $pb.GeneratedMessage { static ListPaymentsResponse? _defaultInstance; @$pb.TagNumber(1) - $core.List<$30.Payment> get payments => $_getList(0); + $core.List<$31.Payment> get payments => $_getList(0); } diff --git a/frontend/app/lib/pb/rpc_list_persons.pb.dart b/frontend/app/lib/pb/rpc_list_persons.pb.dart index fe13d8b..297cbb2 100644 --- a/frontend/app/lib/pb/rpc_list_persons.pb.dart +++ b/frontend/app/lib/pb/rpc_list_persons.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'person.pb.dart' as $31; +import 'person.pb.dart' as $32; class ListPersonsRequest extends $pb.GeneratedMessage { factory ListPersonsRequest({ @@ -68,7 +68,7 @@ class ListPersonsRequest extends $pb.GeneratedMessage { class ListPersonsResponse extends $pb.GeneratedMessage { factory ListPersonsResponse({ - $core.Iterable<$31.Person>? persons, + $core.Iterable<$32.Person>? persons, }) { final $result = create(); if (persons != null) { @@ -81,7 +81,7 @@ class ListPersonsResponse extends $pb.GeneratedMessage { factory ListPersonsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListPersonsResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..pc<$31.Person>(1, _omitFieldNames ? '' : 'persons', $pb.PbFieldType.PM, subBuilder: $31.Person.create) + ..pc<$32.Person>(1, _omitFieldNames ? '' : 'persons', $pb.PbFieldType.PM, subBuilder: $32.Person.create) ..hasRequiredFields = false ; @@ -107,7 +107,7 @@ class ListPersonsResponse extends $pb.GeneratedMessage { static ListPersonsResponse? _defaultInstance; @$pb.TagNumber(1) - $core.List<$31.Person> get persons => $_getList(0); + $core.List<$32.Person> get persons => $_getList(0); } diff --git a/frontend/app/lib/pb/rpc_list_returns_log_by_person_id.pb.dart b/frontend/app/lib/pb/rpc_list_returns_log_by_person_id.pb.dart index 90a2f62..44a6367 100644 --- a/frontend/app/lib/pb/rpc_list_returns_log_by_person_id.pb.dart +++ b/frontend/app/lib/pb/rpc_list_returns_log_by_person_id.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'returns_log.pb.dart' as $32; +import 'returns_log.pb.dart' as $33; class ListReturnsLogRequest extends $pb.GeneratedMessage { factory ListReturnsLogRequest({ @@ -68,7 +68,7 @@ class ListReturnsLogRequest extends $pb.GeneratedMessage { class ListReturnsLogResponse extends $pb.GeneratedMessage { factory ListReturnsLogResponse({ - $core.Iterable<$32.ReturnsLog>? returnsLog, + $core.Iterable<$33.ReturnsLog>? returnsLog, }) { final $result = create(); if (returnsLog != null) { @@ -81,7 +81,7 @@ class ListReturnsLogResponse extends $pb.GeneratedMessage { factory ListReturnsLogResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListReturnsLogResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..pc<$32.ReturnsLog>(1, _omitFieldNames ? '' : 'returnsLog', $pb.PbFieldType.PM, subBuilder: $32.ReturnsLog.create) + ..pc<$33.ReturnsLog>(1, _omitFieldNames ? '' : 'returnsLog', $pb.PbFieldType.PM, subBuilder: $33.ReturnsLog.create) ..hasRequiredFields = false ; @@ -107,7 +107,7 @@ class ListReturnsLogResponse extends $pb.GeneratedMessage { static ListReturnsLogResponse? _defaultInstance; @$pb.TagNumber(1) - $core.List<$32.ReturnsLog> get returnsLog => $_getList(0); + $core.List<$33.ReturnsLog> get returnsLog => $_getList(0); } diff --git a/frontend/app/lib/pb/rpc_list_sessions.pb.dart b/frontend/app/lib/pb/rpc_list_sessions.pb.dart index 1856def..315de82 100644 --- a/frontend/app/lib/pb/rpc_list_sessions.pb.dart +++ b/frontend/app/lib/pb/rpc_list_sessions.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'session.pb.dart' as $33; +import 'session.pb.dart' as $34; class ListSessionsRequest extends $pb.GeneratedMessage { factory ListSessionsRequest({ @@ -68,7 +68,7 @@ class ListSessionsRequest extends $pb.GeneratedMessage { class ListSessionsResponse extends $pb.GeneratedMessage { factory ListSessionsResponse({ - $core.Iterable<$33.Session>? sessions, + $core.Iterable<$34.Session>? sessions, }) { final $result = create(); if (sessions != null) { @@ -81,7 +81,7 @@ class ListSessionsResponse extends $pb.GeneratedMessage { factory ListSessionsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListSessionsResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..pc<$33.Session>(1, _omitFieldNames ? '' : 'sessions', $pb.PbFieldType.PM, subBuilder: $33.Session.create) + ..pc<$34.Session>(1, _omitFieldNames ? '' : 'sessions', $pb.PbFieldType.PM, subBuilder: $34.Session.create) ..hasRequiredFields = false ; @@ -107,7 +107,7 @@ class ListSessionsResponse extends $pb.GeneratedMessage { static ListSessionsResponse? _defaultInstance; @$pb.TagNumber(1) - $core.List<$33.Session> get sessions => $_getList(0); + $core.List<$34.Session> get sessions => $_getList(0); } diff --git a/frontend/app/lib/pb/rpc_login.pb.dart b/frontend/app/lib/pb/rpc_login.pb.dart index 1b2c155..ee7ee16 100644 --- a/frontend/app/lib/pb/rpc_login.pb.dart +++ b/frontend/app/lib/pb/rpc_login.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'google/protobuf/timestamp.pb.dart' as $28; class LoginRequest extends $pb.GeneratedMessage { factory LoginRequest({ @@ -84,9 +84,9 @@ class LoginResponse extends $pb.GeneratedMessage { factory LoginResponse({ $core.String? sessionId, $core.String? accessToken, - $27.Timestamp? accessTokenExpiresAt, + $28.Timestamp? accessTokenExpiresAt, $core.String? refreshToken, - $27.Timestamp? refreshTokenExpiresAt, + $28.Timestamp? refreshTokenExpiresAt, $fixnum.Int64? accountId, }) { final $result = create(); @@ -117,9 +117,9 @@ class LoginResponse extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LoginResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) ..aOS(1, _omitFieldNames ? '' : 'sessionId') ..aOS(2, _omitFieldNames ? '' : 'accessToken') - ..aOM<$27.Timestamp>(3, _omitFieldNames ? '' : 'accessTokenExpiresAt', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(3, _omitFieldNames ? '' : 'accessTokenExpiresAt', subBuilder: $28.Timestamp.create) ..aOS(4, _omitFieldNames ? '' : 'refreshToken') - ..aOM<$27.Timestamp>(5, _omitFieldNames ? '' : 'refreshTokenExpiresAt', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(5, _omitFieldNames ? '' : 'refreshTokenExpiresAt', subBuilder: $28.Timestamp.create) ..a<$fixnum.Int64>(6, _omitFieldNames ? '' : 'accountId', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) ..hasRequiredFields = false ; @@ -164,15 +164,15 @@ class LoginResponse extends $pb.GeneratedMessage { void clearAccessToken() => clearField(2); @$pb.TagNumber(3) - $27.Timestamp get accessTokenExpiresAt => $_getN(2); + $28.Timestamp get accessTokenExpiresAt => $_getN(2); @$pb.TagNumber(3) - set accessTokenExpiresAt($27.Timestamp v) { setField(3, v); } + set accessTokenExpiresAt($28.Timestamp v) { setField(3, v); } @$pb.TagNumber(3) $core.bool hasAccessTokenExpiresAt() => $_has(2); @$pb.TagNumber(3) void clearAccessTokenExpiresAt() => clearField(3); @$pb.TagNumber(3) - $27.Timestamp ensureAccessTokenExpiresAt() => $_ensure(2); + $28.Timestamp ensureAccessTokenExpiresAt() => $_ensure(2); @$pb.TagNumber(4) $core.String get refreshToken => $_getSZ(3); @@ -184,15 +184,15 @@ class LoginResponse extends $pb.GeneratedMessage { void clearRefreshToken() => clearField(4); @$pb.TagNumber(5) - $27.Timestamp get refreshTokenExpiresAt => $_getN(4); + $28.Timestamp get refreshTokenExpiresAt => $_getN(4); @$pb.TagNumber(5) - set refreshTokenExpiresAt($27.Timestamp v) { setField(5, v); } + set refreshTokenExpiresAt($28.Timestamp v) { setField(5, v); } @$pb.TagNumber(5) $core.bool hasRefreshTokenExpiresAt() => $_has(4); @$pb.TagNumber(5) void clearRefreshTokenExpiresAt() => clearField(5); @$pb.TagNumber(5) - $27.Timestamp ensureRefreshTokenExpiresAt() => $_ensure(4); + $28.Timestamp ensureRefreshTokenExpiresAt() => $_ensure(4); @$pb.TagNumber(6) $fixnum.Int64 get accountId => $_getI64(5); diff --git a/frontend/app/lib/pb/rpc_refresh_token.pb.dart b/frontend/app/lib/pb/rpc_refresh_token.pb.dart index 0011b5e..a654923 100644 --- a/frontend/app/lib/pb/rpc_refresh_token.pb.dart +++ b/frontend/app/lib/pb/rpc_refresh_token.pb.dart @@ -13,7 +13,7 @@ import 'dart:core' as $core; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'google/protobuf/timestamp.pb.dart' as $28; class RefreshTokenRequest extends $pb.GeneratedMessage { factory RefreshTokenRequest({ @@ -68,7 +68,7 @@ class RefreshTokenRequest extends $pb.GeneratedMessage { class RefreshTokenResponse extends $pb.GeneratedMessage { factory RefreshTokenResponse({ $core.String? accessToken, - $27.Timestamp? accessTokenExpiresAt, + $28.Timestamp? accessTokenExpiresAt, }) { final $result = create(); if (accessToken != null) { @@ -85,7 +85,7 @@ class RefreshTokenResponse extends $pb.GeneratedMessage { static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RefreshTokenResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) ..aOS(1, _omitFieldNames ? '' : 'accessToken') - ..aOM<$27.Timestamp>(2, _omitFieldNames ? '' : 'accessTokenExpiresAt', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(2, _omitFieldNames ? '' : 'accessTokenExpiresAt', subBuilder: $28.Timestamp.create) ..hasRequiredFields = false ; @@ -120,15 +120,15 @@ class RefreshTokenResponse extends $pb.GeneratedMessage { void clearAccessToken() => clearField(1); @$pb.TagNumber(2) - $27.Timestamp get accessTokenExpiresAt => $_getN(1); + $28.Timestamp get accessTokenExpiresAt => $_getN(1); @$pb.TagNumber(2) - set accessTokenExpiresAt($27.Timestamp v) { setField(2, v); } + set accessTokenExpiresAt($28.Timestamp v) { setField(2, v); } @$pb.TagNumber(2) $core.bool hasAccessTokenExpiresAt() => $_has(1); @$pb.TagNumber(2) void clearAccessTokenExpiresAt() => clearField(2); @$pb.TagNumber(2) - $27.Timestamp ensureAccessTokenExpiresAt() => $_ensure(1); + $28.Timestamp ensureAccessTokenExpiresAt() => $_ensure(1); } diff --git a/frontend/app/lib/pb/rpc_resend_verification.pb.dart b/frontend/app/lib/pb/rpc_resend_verification.pb.dart new file mode 100644 index 0000000..6686ffa --- /dev/null +++ b/frontend/app/lib/pb/rpc_resend_verification.pb.dart @@ -0,0 +1,123 @@ +// +// Generated code. Do not modify. +// source: rpc_resend_verification.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:fixnum/fixnum.dart' as $fixnum; +import 'package:protobuf/protobuf.dart' as $pb; + +import 'account.pb.dart' as $30; + +class ResendVerificationRequest extends $pb.GeneratedMessage { + factory ResendVerificationRequest({ + $fixnum.Int64? accountId, + }) { + final $result = create(); + if (accountId != null) { + $result.accountId = accountId; + } + return $result; + } + ResendVerificationRequest._() : super(); + factory ResendVerificationRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ResendVerificationRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ResendVerificationRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) + ..a<$fixnum.Int64>(1, _omitFieldNames ? '' : 'accountId', $pb.PbFieldType.OU6, defaultOrMaker: $fixnum.Int64.ZERO) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ResendVerificationRequest clone() => ResendVerificationRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ResendVerificationRequest copyWith(void Function(ResendVerificationRequest) updates) => super.copyWith((message) => updates(message as ResendVerificationRequest)) as ResendVerificationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ResendVerificationRequest create() => ResendVerificationRequest._(); + ResendVerificationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ResendVerificationRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ResendVerificationRequest? _defaultInstance; + + @$pb.TagNumber(1) + $fixnum.Int64 get accountId => $_getI64(0); + @$pb.TagNumber(1) + set accountId($fixnum.Int64 v) { $_setInt64(0, v); } + @$pb.TagNumber(1) + $core.bool hasAccountId() => $_has(0); + @$pb.TagNumber(1) + void clearAccountId() => clearField(1); +} + +class ResendVerificationResponse extends $pb.GeneratedMessage { + factory ResendVerificationResponse({ + $30.Account? account, + }) { + final $result = create(); + if (account != null) { + $result.account = account; + } + return $result; + } + ResendVerificationResponse._() : super(); + factory ResendVerificationResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ResendVerificationResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ResendVerificationResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) + ..aOM<$30.Account>(1, _omitFieldNames ? '' : 'account', subBuilder: $30.Account.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ResendVerificationResponse clone() => ResendVerificationResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ResendVerificationResponse copyWith(void Function(ResendVerificationResponse) updates) => super.copyWith((message) => updates(message as ResendVerificationResponse)) as ResendVerificationResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ResendVerificationResponse create() => ResendVerificationResponse._(); + ResendVerificationResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ResendVerificationResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ResendVerificationResponse? _defaultInstance; + + @$pb.TagNumber(1) + $30.Account get account => $_getN(0); + @$pb.TagNumber(1) + set account($30.Account v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasAccount() => $_has(0); + @$pb.TagNumber(1) + void clearAccount() => clearField(1); + @$pb.TagNumber(1) + $30.Account ensureAccount() => $_ensure(0); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/frontend/app/lib/pb/rpc_resend_verification.pbenum.dart b/frontend/app/lib/pb/rpc_resend_verification.pbenum.dart new file mode 100644 index 0000000..19ea60d --- /dev/null +++ b/frontend/app/lib/pb/rpc_resend_verification.pbenum.dart @@ -0,0 +1,11 @@ +// +// Generated code. Do not modify. +// source: rpc_resend_verification.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + diff --git a/frontend/app/lib/pb/rpc_resend_verification.pbjson.dart b/frontend/app/lib/pb/rpc_resend_verification.pbjson.dart new file mode 100644 index 0000000..646f802 --- /dev/null +++ b/frontend/app/lib/pb/rpc_resend_verification.pbjson.dart @@ -0,0 +1,44 @@ +// +// Generated code. Do not modify. +// source: rpc_resend_verification.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use resendVerificationRequestDescriptor instead') +const ResendVerificationRequest$json = { + '1': 'ResendVerificationRequest', + '2': [ + {'1': 'account_id', '3': 1, '4': 1, '5': 4, '10': 'accountId'}, + ], + '7': {}, +}; + +/// Descriptor for `ResendVerificationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resendVerificationRequestDescriptor = $convert.base64Decode( + 'ChlSZXNlbmRWZXJpZmljYXRpb25SZXF1ZXN0Eh0KCmFjY291bnRfaWQYASABKARSCWFjY291bn' + 'RJZDpDkkFACigqGVJlc2VuZCBWZXJpZmljYXRpb24gRW1haWzSAQphY2NvdW50X2lkMhR7ImFj' + 'Y291bnRfaWQiOiAiMSIgfQ=='); + +@$core.Deprecated('Use resendVerificationResponseDescriptor instead') +const ResendVerificationResponse$json = { + '1': 'ResendVerificationResponse', + '2': [ + {'1': 'account', '3': 1, '4': 1, '5': 11, '6': '.pb.Account', '8': {}, '10': 'account'}, + ], + '7': {}, +}; + +/// Descriptor for `ResendVerificationResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resendVerificationResponseDescriptor = $convert.base64Decode( + 'ChpSZXNlbmRWZXJpZmljYXRpb25SZXNwb25zZRIqCgdhY2NvdW50GAEgASgLMgsucGIuQWNjb3' + 'VudEIDkkEAUgdhY2NvdW50OiCSQR0KGyoZUmVzZW5kIFZlcmlmaWNhdGlvbiBFbWFpbA=='); + diff --git a/frontend/app/lib/pb/rpc_update_account.pb.dart b/frontend/app/lib/pb/rpc_update_account.pb.dart index e1b01d8..b7d6b3e 100644 --- a/frontend/app/lib/pb/rpc_update_account.pb.dart +++ b/frontend/app/lib/pb/rpc_update_account.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'account.pb.dart' as $29; +import 'account.pb.dart' as $30; class UpdateAccountRequest extends $pb.GeneratedMessage { factory UpdateAccountRequest({ @@ -96,7 +96,7 @@ class UpdateAccountRequest extends $pb.GeneratedMessage { class UpdateAccountResponse extends $pb.GeneratedMessage { factory UpdateAccountResponse({ - $29.Account? account, + $30.Account? account, }) { final $result = create(); if (account != null) { @@ -109,7 +109,7 @@ class UpdateAccountResponse extends $pb.GeneratedMessage { factory UpdateAccountResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateAccountResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$29.Account>(1, _omitFieldNames ? '' : 'account', subBuilder: $29.Account.create) + ..aOM<$30.Account>(1, _omitFieldNames ? '' : 'account', subBuilder: $30.Account.create) ..hasRequiredFields = false ; @@ -135,15 +135,15 @@ class UpdateAccountResponse extends $pb.GeneratedMessage { static UpdateAccountResponse? _defaultInstance; @$pb.TagNumber(1) - $29.Account get account => $_getN(0); + $30.Account get account => $_getN(0); @$pb.TagNumber(1) - set account($29.Account v) { setField(1, v); } + set account($30.Account v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasAccount() => $_has(0); @$pb.TagNumber(1) void clearAccount() => clearField(1); @$pb.TagNumber(1) - $29.Account ensureAccount() => $_ensure(0); + $30.Account ensureAccount() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_update_account_info.pb.dart b/frontend/app/lib/pb/rpc_update_account_info.pb.dart index e6199e9..f68b3d5 100644 --- a/frontend/app/lib/pb/rpc_update_account_info.pb.dart +++ b/frontend/app/lib/pb/rpc_update_account_info.pb.dart @@ -14,8 +14,8 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'account_info.pb.dart' as $28; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'account_info.pb.dart' as $29; +import 'google/protobuf/timestamp.pb.dart' as $28; class UpdateAccountInfoRequest extends $pb.GeneratedMessage { factory UpdateAccountInfoRequest({ @@ -27,7 +27,7 @@ class UpdateAccountInfoRequest extends $pb.GeneratedMessage { $core.String? zip, $core.String? country, $core.String? phone, - $27.Timestamp? birthday, + $28.Timestamp? birthday, }) { final $result = create(); if (accountId != null) { @@ -72,7 +72,7 @@ class UpdateAccountInfoRequest extends $pb.GeneratedMessage { ..aOS(8, _omitFieldNames ? '' : 'zip') ..aOS(9, _omitFieldNames ? '' : 'country') ..aOS(10, _omitFieldNames ? '' : 'phone') - ..aOM<$27.Timestamp>(11, _omitFieldNames ? '' : 'birthday', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(11, _omitFieldNames ? '' : 'birthday', subBuilder: $28.Timestamp.create) ..hasRequiredFields = false ; @@ -170,20 +170,20 @@ class UpdateAccountInfoRequest extends $pb.GeneratedMessage { void clearPhone() => clearField(10); @$pb.TagNumber(11) - $27.Timestamp get birthday => $_getN(8); + $28.Timestamp get birthday => $_getN(8); @$pb.TagNumber(11) - set birthday($27.Timestamp v) { setField(11, v); } + set birthday($28.Timestamp v) { setField(11, v); } @$pb.TagNumber(11) $core.bool hasBirthday() => $_has(8); @$pb.TagNumber(11) void clearBirthday() => clearField(11); @$pb.TagNumber(11) - $27.Timestamp ensureBirthday() => $_ensure(8); + $28.Timestamp ensureBirthday() => $_ensure(8); } class UpdateAccountInfoResponse extends $pb.GeneratedMessage { factory UpdateAccountInfoResponse({ - $28.AccountInfo? accountInfo, + $29.AccountInfo? accountInfo, }) { final $result = create(); if (accountInfo != null) { @@ -196,7 +196,7 @@ class UpdateAccountInfoResponse extends $pb.GeneratedMessage { factory UpdateAccountInfoResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateAccountInfoResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$28.AccountInfo>(1, _omitFieldNames ? '' : 'accountInfo', subBuilder: $28.AccountInfo.create) + ..aOM<$29.AccountInfo>(1, _omitFieldNames ? '' : 'accountInfo', subBuilder: $29.AccountInfo.create) ..hasRequiredFields = false ; @@ -222,15 +222,15 @@ class UpdateAccountInfoResponse extends $pb.GeneratedMessage { static UpdateAccountInfoResponse? _defaultInstance; @$pb.TagNumber(1) - $28.AccountInfo get accountInfo => $_getN(0); + $29.AccountInfo get accountInfo => $_getN(0); @$pb.TagNumber(1) - set accountInfo($28.AccountInfo v) { setField(1, v); } + set accountInfo($29.AccountInfo v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasAccountInfo() => $_has(0); @$pb.TagNumber(1) void clearAccountInfo() => clearField(1); @$pb.TagNumber(1) - $28.AccountInfo ensureAccountInfo() => $_ensure(0); + $29.AccountInfo ensureAccountInfo() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_update_account_privacy.pb.dart b/frontend/app/lib/pb/rpc_update_account_privacy.pb.dart index 4f2ecfd..7c007a5 100644 --- a/frontend/app/lib/pb/rpc_update_account_privacy.pb.dart +++ b/frontend/app/lib/pb/rpc_update_account_privacy.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'account_info.pb.dart' as $28; +import 'account_info.pb.dart' as $29; class UpdateAccountPrivacyRequest extends $pb.GeneratedMessage { factory UpdateAccountPrivacyRequest({ @@ -82,7 +82,7 @@ class UpdateAccountPrivacyRequest extends $pb.GeneratedMessage { class UpdateAccountPrivacyResponse extends $pb.GeneratedMessage { factory UpdateAccountPrivacyResponse({ - $28.AccountInfo? accountInfo, + $29.AccountInfo? accountInfo, }) { final $result = create(); if (accountInfo != null) { @@ -95,7 +95,7 @@ class UpdateAccountPrivacyResponse extends $pb.GeneratedMessage { factory UpdateAccountPrivacyResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateAccountPrivacyResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$28.AccountInfo>(1, _omitFieldNames ? '' : 'accountInfo', subBuilder: $28.AccountInfo.create) + ..aOM<$29.AccountInfo>(1, _omitFieldNames ? '' : 'accountInfo', subBuilder: $29.AccountInfo.create) ..hasRequiredFields = false ; @@ -121,15 +121,15 @@ class UpdateAccountPrivacyResponse extends $pb.GeneratedMessage { static UpdateAccountPrivacyResponse? _defaultInstance; @$pb.TagNumber(1) - $28.AccountInfo get accountInfo => $_getN(0); + $29.AccountInfo get accountInfo => $_getN(0); @$pb.TagNumber(1) - set accountInfo($28.AccountInfo v) { setField(1, v); } + set accountInfo($29.AccountInfo v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasAccountInfo() => $_has(0); @$pb.TagNumber(1) void clearAccountInfo() => clearField(1); @$pb.TagNumber(1) - $28.AccountInfo ensureAccountInfo() => $_ensure(0); + $29.AccountInfo ensureAccountInfo() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_update_payment.pb.dart b/frontend/app/lib/pb/rpc_update_payment.pb.dart index 09c0acc..bf7012a 100644 --- a/frontend/app/lib/pb/rpc_update_payment.pb.dart +++ b/frontend/app/lib/pb/rpc_update_payment.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'payment.pb.dart' as $30; +import 'payment.pb.dart' as $31; class UpdatePaymentRequest extends $pb.GeneratedMessage { factory UpdatePaymentRequest({ @@ -180,7 +180,7 @@ class UpdatePaymentRequest extends $pb.GeneratedMessage { class UpdatePaymentResponse extends $pb.GeneratedMessage { factory UpdatePaymentResponse({ - $30.Payment? payment, + $31.Payment? payment, }) { final $result = create(); if (payment != null) { @@ -193,7 +193,7 @@ class UpdatePaymentResponse extends $pb.GeneratedMessage { factory UpdatePaymentResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdatePaymentResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$30.Payment>(1, _omitFieldNames ? '' : 'payment', subBuilder: $30.Payment.create) + ..aOM<$31.Payment>(1, _omitFieldNames ? '' : 'payment', subBuilder: $31.Payment.create) ..hasRequiredFields = false ; @@ -219,15 +219,15 @@ class UpdatePaymentResponse extends $pb.GeneratedMessage { static UpdatePaymentResponse? _defaultInstance; @$pb.TagNumber(1) - $30.Payment get payment => $_getN(0); + $31.Payment get payment => $_getN(0); @$pb.TagNumber(1) - set payment($30.Payment v) { setField(1, v); } + set payment($31.Payment v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasPayment() => $_has(0); @$pb.TagNumber(1) void clearPayment() => clearField(1); @$pb.TagNumber(1) - $30.Payment ensurePayment() => $_ensure(0); + $31.Payment ensurePayment() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_update_person.pb.dart b/frontend/app/lib/pb/rpc_update_person.pb.dart index 146ffb9..0daed93 100644 --- a/frontend/app/lib/pb/rpc_update_person.pb.dart +++ b/frontend/app/lib/pb/rpc_update_person.pb.dart @@ -14,8 +14,8 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; -import 'person.pb.dart' as $31; +import 'google/protobuf/timestamp.pb.dart' as $28; +import 'person.pb.dart' as $32; class UpdatePersonRequest extends $pb.GeneratedMessage { factory UpdatePersonRequest({ @@ -26,7 +26,7 @@ class UpdatePersonRequest extends $pb.GeneratedMessage { $core.String? city, $core.String? zip, $core.String? country, - $27.Timestamp? birthday, + $28.Timestamp? birthday, }) { final $result = create(); if (id != null) { @@ -67,7 +67,7 @@ class UpdatePersonRequest extends $pb.GeneratedMessage { ..aOS(5, _omitFieldNames ? '' : 'city') ..aOS(6, _omitFieldNames ? '' : 'zip') ..aOS(7, _omitFieldNames ? '' : 'country') - ..aOM<$27.Timestamp>(8, _omitFieldNames ? '' : 'birthday', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(8, _omitFieldNames ? '' : 'birthday', subBuilder: $28.Timestamp.create) ..hasRequiredFields = false ; @@ -156,20 +156,20 @@ class UpdatePersonRequest extends $pb.GeneratedMessage { void clearCountry() => clearField(7); @$pb.TagNumber(8) - $27.Timestamp get birthday => $_getN(7); + $28.Timestamp get birthday => $_getN(7); @$pb.TagNumber(8) - set birthday($27.Timestamp v) { setField(8, v); } + set birthday($28.Timestamp v) { setField(8, v); } @$pb.TagNumber(8) $core.bool hasBirthday() => $_has(7); @$pb.TagNumber(8) void clearBirthday() => clearField(8); @$pb.TagNumber(8) - $27.Timestamp ensureBirthday() => $_ensure(7); + $28.Timestamp ensureBirthday() => $_ensure(7); } class UpdatePersonResponse extends $pb.GeneratedMessage { factory UpdatePersonResponse({ - $31.Person? person, + $32.Person? person, }) { final $result = create(); if (person != null) { @@ -182,7 +182,7 @@ class UpdatePersonResponse extends $pb.GeneratedMessage { factory UpdatePersonResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdatePersonResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$31.Person>(1, _omitFieldNames ? '' : 'person', subBuilder: $31.Person.create) + ..aOM<$32.Person>(1, _omitFieldNames ? '' : 'person', subBuilder: $32.Person.create) ..hasRequiredFields = false ; @@ -208,15 +208,15 @@ class UpdatePersonResponse extends $pb.GeneratedMessage { static UpdatePersonResponse? _defaultInstance; @$pb.TagNumber(1) - $31.Person get person => $_getN(0); + $32.Person get person => $_getN(0); @$pb.TagNumber(1) - set person($31.Person v) { setField(1, v); } + set person($32.Person v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasPerson() => $_has(0); @$pb.TagNumber(1) void clearPerson() => clearField(1); @$pb.TagNumber(1) - $31.Person ensurePerson() => $_ensure(0); + $32.Person ensurePerson() => $_ensure(0); } diff --git a/frontend/app/lib/pb/rpc_upload_document.pb.dart b/frontend/app/lib/pb/rpc_upload_document.pb.dart index 652df8d..f914827 100644 --- a/frontend/app/lib/pb/rpc_upload_document.pb.dart +++ b/frontend/app/lib/pb/rpc_upload_document.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'document.pb.dart' as $34; +import 'document.pb.dart' as $35; class UploadDocumentRequest extends $pb.GeneratedMessage { factory UploadDocumentRequest({ @@ -96,7 +96,7 @@ class UploadDocumentRequest extends $pb.GeneratedMessage { class UploadDocumentResponse extends $pb.GeneratedMessage { factory UploadDocumentResponse({ - $34.Document? document, + $35.Document? document, }) { final $result = create(); if (document != null) { @@ -109,7 +109,7 @@ class UploadDocumentResponse extends $pb.GeneratedMessage { factory UploadDocumentResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UploadDocumentResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'pb'), createEmptyInstance: create) - ..aOM<$34.Document>(1, _omitFieldNames ? '' : 'document', subBuilder: $34.Document.create) + ..aOM<$35.Document>(1, _omitFieldNames ? '' : 'document', subBuilder: $35.Document.create) ..hasRequiredFields = false ; @@ -135,15 +135,15 @@ class UploadDocumentResponse extends $pb.GeneratedMessage { static UploadDocumentResponse? _defaultInstance; @$pb.TagNumber(1) - $34.Document get document => $_getN(0); + $35.Document get document => $_getN(0); @$pb.TagNumber(1) - set document($34.Document v) { setField(1, v); } + set document($35.Document v) { setField(1, v); } @$pb.TagNumber(1) $core.bool hasDocument() => $_has(0); @$pb.TagNumber(1) void clearDocument() => clearField(1); @$pb.TagNumber(1) - $34.Document ensureDocument() => $_ensure(0); + $35.Document ensureDocument() => $_ensure(0); } diff --git a/frontend/app/lib/pb/service_df.pbgrpc.dart b/frontend/app/lib/pb/service_df.pbgrpc.dart index 6a3cb48..80be41f 100644 --- a/frontend/app/lib/pb/service_df.pbgrpc.dart +++ b/frontend/app/lib/pb/service_df.pbgrpc.dart @@ -35,13 +35,14 @@ import 'rpc_list_returns_log_by_person_id.pb.dart' as $23; import 'rpc_list_sessions.pb.dart' as $2; import 'rpc_login.pb.dart' as $0; import 'rpc_refresh_token.pb.dart' as $1; +import 'rpc_resend_verification.pb.dart' as $26; import 'rpc_update_account.pb.dart' as $7; import 'rpc_update_account_info.pb.dart' as $11; import 'rpc_update_account_privacy.pb.dart' as $12; import 'rpc_update_payment.pb.dart' as $22; import 'rpc_update_person.pb.dart' as $14; import 'rpc_upload_document.pb.dart' as $24; -import 'rpc_verify_email.pb.dart' as $26; +import 'rpc_verify_email.pb.dart' as $27; export 'service_df.pb.dart'; @@ -151,10 +152,14 @@ class dfClient extends $grpc.Client { '/pb.df/DeleteDocument', ($25.DeleteDocumentRequest value) => value.writeToBuffer(), ($core.List<$core.int> value) => $25.DeleteDocumentResponse.fromBuffer(value)); - static final _$verifyEmail = $grpc.ClientMethod<$26.VerifyEmailRequest, $26.VerifyEmailResponse>( + static final _$resendVerification = $grpc.ClientMethod<$26.ResendVerificationRequest, $26.ResendVerificationResponse>( + '/pb.df/ResendVerification', + ($26.ResendVerificationRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $26.ResendVerificationResponse.fromBuffer(value)); + static final _$verifyEmail = $grpc.ClientMethod<$27.VerifyEmailRequest, $27.VerifyEmailResponse>( '/pb.df/VerifyEmail', - ($26.VerifyEmailRequest value) => value.writeToBuffer(), - ($core.List<$core.int> value) => $26.VerifyEmailResponse.fromBuffer(value)); + ($27.VerifyEmailRequest value) => value.writeToBuffer(), + ($core.List<$core.int> value) => $27.VerifyEmailResponse.fromBuffer(value)); dfClient($grpc.ClientChannel channel, {$grpc.CallOptions? options, @@ -266,7 +271,11 @@ class dfClient extends $grpc.Client { return $createUnaryCall(_$deleteDocument, request, options: options); } - $grpc.ResponseFuture<$26.VerifyEmailResponse> verifyEmail($26.VerifyEmailRequest request, {$grpc.CallOptions? options}) { + $grpc.ResponseFuture<$26.ResendVerificationResponse> resendVerification($26.ResendVerificationRequest request, {$grpc.CallOptions? options}) { + return $createUnaryCall(_$resendVerification, request, options: options); + } + + $grpc.ResponseFuture<$27.VerifyEmailResponse> verifyEmail($27.VerifyEmailRequest request, {$grpc.CallOptions? options}) { return $createUnaryCall(_$verifyEmail, request, options: options); } } @@ -458,13 +467,20 @@ abstract class dfServiceBase extends $grpc.Service { false, ($core.List<$core.int> value) => $25.DeleteDocumentRequest.fromBuffer(value), ($25.DeleteDocumentResponse value) => value.writeToBuffer())); - $addMethod($grpc.ServiceMethod<$26.VerifyEmailRequest, $26.VerifyEmailResponse>( + $addMethod($grpc.ServiceMethod<$26.ResendVerificationRequest, $26.ResendVerificationResponse>( + 'ResendVerification', + resendVerification_Pre, + false, + false, + ($core.List<$core.int> value) => $26.ResendVerificationRequest.fromBuffer(value), + ($26.ResendVerificationResponse value) => value.writeToBuffer())); + $addMethod($grpc.ServiceMethod<$27.VerifyEmailRequest, $27.VerifyEmailResponse>( 'VerifyEmail', verifyEmail_Pre, false, false, - ($core.List<$core.int> value) => $26.VerifyEmailRequest.fromBuffer(value), - ($26.VerifyEmailResponse value) => value.writeToBuffer())); + ($core.List<$core.int> value) => $27.VerifyEmailRequest.fromBuffer(value), + ($27.VerifyEmailResponse value) => value.writeToBuffer())); } $async.Future<$0.LoginResponse> login_Pre($grpc.ServiceCall call, $async.Future<$0.LoginRequest> request) async { @@ -571,7 +587,11 @@ abstract class dfServiceBase extends $grpc.Service { return deleteDocument(call, await request); } - $async.Future<$26.VerifyEmailResponse> verifyEmail_Pre($grpc.ServiceCall call, $async.Future<$26.VerifyEmailRequest> request) async { + $async.Future<$26.ResendVerificationResponse> resendVerification_Pre($grpc.ServiceCall call, $async.Future<$26.ResendVerificationRequest> request) async { + return resendVerification(call, await request); + } + + $async.Future<$27.VerifyEmailResponse> verifyEmail_Pre($grpc.ServiceCall call, $async.Future<$27.VerifyEmailRequest> request) async { return verifyEmail(call, await request); } @@ -601,5 +621,6 @@ abstract class dfServiceBase extends $grpc.Service { $async.Future<$23.ListReturnsLogResponse> listReturnsLog($grpc.ServiceCall call, $23.ListReturnsLogRequest request); $async.Future<$24.UploadDocumentResponse> uploadDocument($grpc.ServiceCall call, $24.UploadDocumentRequest request); $async.Future<$25.DeleteDocumentResponse> deleteDocument($grpc.ServiceCall call, $25.DeleteDocumentRequest request); - $async.Future<$26.VerifyEmailResponse> verifyEmail($grpc.ServiceCall call, $26.VerifyEmailRequest request); + $async.Future<$26.ResendVerificationResponse> resendVerification($grpc.ServiceCall call, $26.ResendVerificationRequest request); + $async.Future<$27.VerifyEmailResponse> verifyEmail($grpc.ServiceCall call, $27.VerifyEmailRequest request); } diff --git a/frontend/app/lib/pb/session.pb.dart b/frontend/app/lib/pb/session.pb.dart index 60af26d..bf78977 100644 --- a/frontend/app/lib/pb/session.pb.dart +++ b/frontend/app/lib/pb/session.pb.dart @@ -14,7 +14,7 @@ import 'dart:core' as $core; import 'package:fixnum/fixnum.dart' as $fixnum; import 'package:protobuf/protobuf.dart' as $pb; -import 'google/protobuf/timestamp.pb.dart' as $27; +import 'google/protobuf/timestamp.pb.dart' as $28; class Session extends $pb.GeneratedMessage { factory Session({ @@ -23,9 +23,9 @@ class Session extends $pb.GeneratedMessage { $core.String? userAgent, $core.String? clientIp, $core.bool? isBlocked, - $27.Timestamp? expiresAt, + $28.Timestamp? expiresAt, $core.String? refreshToken, - $27.Timestamp? createdAt, + $28.Timestamp? createdAt, }) { final $result = create(); if (id != null) { @@ -64,9 +64,9 @@ class Session extends $pb.GeneratedMessage { ..aOS(3, _omitFieldNames ? '' : 'userAgent') ..aOS(4, _omitFieldNames ? '' : 'clientIp') ..aOB(5, _omitFieldNames ? '' : 'isBlocked') - ..aOM<$27.Timestamp>(6, _omitFieldNames ? '' : 'expiresAt', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(6, _omitFieldNames ? '' : 'expiresAt', subBuilder: $28.Timestamp.create) ..aOS(7, _omitFieldNames ? '' : 'refreshToken') - ..aOM<$27.Timestamp>(8, _omitFieldNames ? '' : 'createdAt', subBuilder: $27.Timestamp.create) + ..aOM<$28.Timestamp>(8, _omitFieldNames ? '' : 'createdAt', subBuilder: $28.Timestamp.create) ..hasRequiredFields = false ; @@ -137,15 +137,15 @@ class Session extends $pb.GeneratedMessage { void clearIsBlocked() => clearField(5); @$pb.TagNumber(6) - $27.Timestamp get expiresAt => $_getN(5); + $28.Timestamp get expiresAt => $_getN(5); @$pb.TagNumber(6) - set expiresAt($27.Timestamp v) { setField(6, v); } + set expiresAt($28.Timestamp v) { setField(6, v); } @$pb.TagNumber(6) $core.bool hasExpiresAt() => $_has(5); @$pb.TagNumber(6) void clearExpiresAt() => clearField(6); @$pb.TagNumber(6) - $27.Timestamp ensureExpiresAt() => $_ensure(5); + $28.Timestamp ensureExpiresAt() => $_ensure(5); @$pb.TagNumber(7) $core.String get refreshToken => $_getSZ(6); @@ -157,15 +157,15 @@ class Session extends $pb.GeneratedMessage { void clearRefreshToken() => clearField(7); @$pb.TagNumber(8) - $27.Timestamp get createdAt => $_getN(7); + $28.Timestamp get createdAt => $_getN(7); @$pb.TagNumber(8) - set createdAt($27.Timestamp v) { setField(8, v); } + set createdAt($28.Timestamp v) { setField(8, v); } @$pb.TagNumber(8) $core.bool hasCreatedAt() => $_has(7); @$pb.TagNumber(8) void clearCreatedAt() => clearField(8); @$pb.TagNumber(8) - $27.Timestamp ensureCreatedAt() => $_ensure(7); + $28.Timestamp ensureCreatedAt() => $_ensure(7); }