From 78c6e1a0d91eebab60baba96ce376f4220f718f5 Mon Sep 17 00:00:00 2001 From: Michael Netshipise Date: Wed, 10 Jun 2026 21:00:41 +0200 Subject: [PATCH] =?UTF-8?q?Add=20admin=20surface=20(AuthAdminService)=20+?= =?UTF-8?q?=20scoped=20token=20verification=20=E2=80=94=20v0.2.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Vendor st-peter-admin.proto (sync-protos.sh now syncs both; health.proto remains excluded). Stubs generated for Rust/Go/TS. - Rust: AdminClient — actor-credentialed wrappers over the admin surface (assign_role/unassign_role with target + expiry, get_assignable_roles/ targets, get_user_with_roles, search_users, get_users_by_role, create/delete/restore_user, get/clear_user_sessions), Actor type, Error::Rejected for success=false responses, raw() escape hatch. - All languages: verify_token_scoped(token, scopes) — roles filtered by role_scopes (e.g. ["cms"]); cache keyed per (token, scopes) so filtered and unfiltered verifications never share an entry. verify_token now delegates to the scoped variant with no filter. - README: shared-vs-local role rule replaces 'authorization local'; admin surface documented; examples bumped. Tagged v0.2.1 in lockstep with the st-peter server line. Co-Authored-By: Claude Fable 5 --- README.md | 49 +- VERSION | 2 +- go/auth.go | 26 +- go/genpb/admin/st-peter-admin.pb.go | 5497 +++++++++++ go/genpb/admin/st-peter-admin_grpc.pb.go | 995 ++ proto/st-peter-admin.proto | 534 ++ rust/Cargo.toml | 2 +- rust/build.rs | 5 +- rust/src/lib.rs | 363 +- scripts/gen-go.sh | 1 + scripts/gen-ts.sh | 3 +- scripts/sync-protos.sh | 8 +- ts/package.json | 2 +- ts/src/auth.ts | Bin 6991 -> 7528 bytes ts/src/genpb/st-peter-admin.ts | 10218 +++++++++++++++++++++ ts/src/index.ts | 5 +- 16 files changed, 17671 insertions(+), 39 deletions(-) create mode 100644 go/genpb/admin/st-peter-admin.pb.go create mode 100644 go/genpb/admin/st-peter-admin_grpc.pb.go create mode 100644 proto/st-peter-admin.proto create mode 100644 ts/src/genpb/st-peter-admin.ts diff --git a/README.md b/README.md index db3fc29..49bd1ce 100644 --- a/README.md +++ b/README.md @@ -12,39 +12,54 @@ server**: | Go | `go/` | `git.awesomike.com/pub/st-peter-client/go` (module) | | TypeScript | `ts/` | `@st-peter/client` (npm) | -The `.proto` file in `proto/` is a **vendored copy**; the st-peter server repo -is the source of truth. `scripts/sync-protos.sh` refreshes it and keeps -`VERSION` aligned with the server. Only the **auth** surface is vendored — -services authenticate users; they do not administer st-peter. +The `.proto` files in `proto/` are **vendored copies**; the st-peter server repo +is the source of truth. `scripts/sync-protos.sh` refreshes them and keeps +`VERSION` aligned with the server. Two surfaces are vendored: **auth** +(authentication + roles-with-verification) and **admin** (`AuthAdminService` — +user administration and **targeted-role** management, actor-credentialed: +aura-users authorizes the acting admin by its own assignability rules). ## Versioning Every release is tagged at the **same version as the st-peter server** it -targets (see `VERSION`). A client tagged `v0.2.0` speaks the wire contract of -st-peter `v0.2.0`. The gRPC wire format is backward-compatible across patch +targets (see `VERSION`). A client tagged `v0.2.1` speaks the wire contract of +st-peter `v0.2.1`. The gRPC wire format is backward-compatible across patch releases (field numbers and enum integer values are stable), so a client one patch behind a server generally interoperates — but match versions for new surface. -## Design: authentication central, authorization local +## Design: authentication central; roles shared-vs-local st-peter answers *who is this token?* — every client returns the verified -identity plus the user's **platform** roles, with a ~60s token-verify cache. -What that identity may do inside a consuming service (media roles, CMS -roles, …) is that service's own concern: keep a local roles table keyed by -the st-peter `user_id` **by value** (no cross-DB FK) and map permissions -there. These clients deliberately ship no session/permission types. +identity plus the user's roles, with a ~60s token-verify cache. The role +rule: **roles shared among microservices live in st-peter as targeted roles** +(role + scope + opaque `target_id` + optional expiry — e.g. `cms-admin` +targeted at an organization), granted/revoked through the admin surface; +**truly service-local roles stay inside that service** (a local table keyed +by the st-peter `user_id` by value, no cross-DB FK). Either way, the +authorization *semantics* — what a role means, permission mapping — are the +consuming service's own concern: these clients deliberately ship no +session/permission types. The wrapper surface is the same in all three languages: - `connect(target)` — lazy dial; failures surface on the first call -- `verify_token(token)` — verified user + platform roles, cached ~60s +- `verify_token(token)` — verified user + all roles, cached ~60s +- `verify_token_scoped(token, scopes)` — roles filtered to the caller's + scope(s) (e.g. `["cms"]`); cached per `(token, scopes)` - `login(identifier, password)` → `Authenticated | TwoFactor | Failed` - `verify_two_factor(two_factor_id, code)` — complete an OTP challenge - `lookup_user(actor_id, actor_token, identifier)` — resolve a user by - email/phone/handle (for local role-grant flows) + email/phone/handle - `bearer(...)` helper + the shared `aura_session` cookie name +The **admin surface** (`AdminClient` — Rust first; Go/TS expose the generated +stubs): `assign_role` / `unassign_role` (targeted + time-bound grants), +`get_assignable_roles` / `get_assignable_targets`, `get_user_with_roles`, +`search_users`, `get_users_by_role`, `create_user` / `delete_user` / +`restore_user`, `get_user_sessions` / `clear_user_sessions` — every call +carries an `Actor { user_id, token }`. + ## Layout ``` @@ -72,17 +87,17 @@ Then tag at `v$(cat VERSION)`. Rust (`Cargo.toml`): ```toml -st-peter-client = { git = "https://git.awesomike.com/pub/st-peter-client.git", tag = "v0.2.0" } +st-peter-client = { git = "https://git.awesomike.com/pub/st-peter-client.git", tag = "v0.2.1" } ``` Go: ```bash -go get git.awesomike.com/pub/st-peter-client/go@v0.2.0 +go get git.awesomike.com/pub/st-peter-client/go@v0.2.1 ``` TypeScript (`package.json`): ```json -"@st-peter/client": "git+https://git.awesomike.com/pub/st-peter-client.git#v0.2.0" +"@st-peter/client": "git+https://git.awesomike.com/pub/st-peter-client.git#v0.2.1" ``` diff --git a/VERSION b/VERSION index 0ea3a94..0c62199 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.2.0 +0.2.1 diff --git a/go/auth.go b/go/auth.go index b31c459..018bf8d 100644 --- a/go/auth.go +++ b/go/auth.go @@ -75,10 +75,18 @@ func Connect(target string, opts ...grpc.DialOption) (*AuthClient, error) { func (c *AuthClient) Close() error { return c.conn.Close() } // VerifyToken verifies a session token, returning the authenticated user -// (+ platform roles). Verifications are cached ~60s to avoid a gRPC +// with all of their roles. Verifications are cached ~60s to avoid a gRPC // round-trip per request. Returns ErrUnauthorized on a bad token. func (c *AuthClient) VerifyToken(ctx context.Context, token string) (*pb.AuthenticatedUser, error) { - key := tokenHash(token) + return c.VerifyTokenScoped(ctx, token, nil) +} + +// VerifyTokenScoped verifies a session token, returning roles filtered to +// the given scopes (e.g. []string{"cms"}) — each service pulls only its own +// scope's roles. Nil/empty scopes = all roles. Cached ~60s per +// (token, scopes) combination. +func (c *AuthClient) VerifyTokenScoped(ctx context.Context, token string, roleScopes []string) (*pb.AuthenticatedUser, error) { + key := cacheKey(token, roleScopes) c.mu.RLock() if e, ok := c.cache[key]; ok && time.Since(e.at) < authCacheTTL { @@ -89,7 +97,8 @@ func (c *AuthClient) VerifyToken(ctx context.Context, token string) (*pb.Authent resp, err := c.svc.VerifyToken(ctx, &pb.VerifyTokenRequest{ Token: token, - IncludeUserRoles: true, // platform roles; service roles stay local + IncludeUserRoles: true, + RoleScopes: roleScopes, }) if err != nil { return nil, err @@ -192,10 +201,15 @@ func Bearer(authorization string) (string, bool) { return strings.TrimSpace(tok), true } -// tokenHash is a fast (non-cryptographic) hash of the token, used only as -// the cache key. -func tokenHash(token string) uint64 { +// cacheKey is a fast (non-cryptographic) hash of (token, scope filter), used +// only as the cache key — the same token verified under different scope +// filters returns different role sets and must not share an entry. +func cacheKey(token string, roleScopes []string) uint64 { h := fnv.New64a() _, _ = h.Write([]byte(token)) + for _, s := range roleScopes { + _, _ = h.Write([]byte{0}) + _, _ = h.Write([]byte(s)) + } return h.Sum64() } diff --git a/go/genpb/admin/st-peter-admin.pb.go b/go/genpb/admin/st-peter-admin.pb.go new file mode 100644 index 0000000..91762ba --- /dev/null +++ b/go/genpb/admin/st-peter-admin.pb.go @@ -0,0 +1,5497 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.11 +// protoc v7.34.1 +// source: st-peter-admin.proto + +package auth_admin_service + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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 ResultCode int32 + +const ( + ResultCode_RESULT_CODE_SUCCESS ResultCode = 0 + ResultCode_RESULT_CODE_BAD_INPUT ResultCode = 1 + ResultCode_RESULT_CODE_NOT_FOUND ResultCode = 2 + ResultCode_RESULT_CODE_INTERNAL_SERVER_ERROR ResultCode = 3 + ResultCode_RESULT_CODE_NOT_AUTHORIZED ResultCode = 4 // User is not authenticated + ResultCode_RESULT_CODE_FORBIDDEN ResultCode = 5 // User is authenticated but lacks required permissions +) + +// Enum value maps for ResultCode. +var ( + ResultCode_name = map[int32]string{ + 0: "RESULT_CODE_SUCCESS", + 1: "RESULT_CODE_BAD_INPUT", + 2: "RESULT_CODE_NOT_FOUND", + 3: "RESULT_CODE_INTERNAL_SERVER_ERROR", + 4: "RESULT_CODE_NOT_AUTHORIZED", + 5: "RESULT_CODE_FORBIDDEN", + } + ResultCode_value = map[string]int32{ + "RESULT_CODE_SUCCESS": 0, + "RESULT_CODE_BAD_INPUT": 1, + "RESULT_CODE_NOT_FOUND": 2, + "RESULT_CODE_INTERNAL_SERVER_ERROR": 3, + "RESULT_CODE_NOT_AUTHORIZED": 4, + "RESULT_CODE_FORBIDDEN": 5, + } +) + +func (x ResultCode) Enum() *ResultCode { + p := new(ResultCode) + *p = x + return p +} + +func (x ResultCode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ResultCode) Descriptor() protoreflect.EnumDescriptor { + return file_st_peter_admin_proto_enumTypes[0].Descriptor() +} + +func (ResultCode) Type() protoreflect.EnumType { + return &file_st_peter_admin_proto_enumTypes[0] +} + +func (x ResultCode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ResultCode.Descriptor instead. +func (ResultCode) EnumDescriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{0} +} + +type Date struct { + state protoimpl.MessageState `protogen:"open.v1"` + Year int32 `protobuf:"varint,1,opt,name=year,proto3" json:"year,omitempty"` + Month uint32 `protobuf:"varint,2,opt,name=month,proto3" json:"month,omitempty"` + Day uint32 `protobuf:"varint,3,opt,name=day,proto3" json:"day,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Date) Reset() { + *x = Date{} + mi := &file_st_peter_admin_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Date) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Date) ProtoMessage() {} + +func (x *Date) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Date.ProtoReflect.Descriptor instead. +func (*Date) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{0} +} + +func (x *Date) GetYear() int32 { + if x != nil { + return x.Year + } + return 0 +} + +func (x *Date) GetMonth() uint32 { + if x != nil { + return x.Month + } + return 0 +} + +func (x *Date) GetDay() uint32 { + if x != nil { + return x.Day + } + return 0 +} + +type User struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` + Phone string `protobuf:"bytes,3,opt,name=phone,proto3" json:"phone,omitempty"` + FirstNames string `protobuf:"bytes,4,opt,name=first_names,json=firstNames,proto3" json:"first_names,omitempty"` + LastName string `protobuf:"bytes,5,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + ProfilePictureUrl string `protobuf:"bytes,6,opt,name=profile_picture_url,json=profilePictureUrl,proto3" json:"profile_picture_url,omitempty"` + Handle *string `protobuf:"bytes,7,opt,name=handle,proto3,oneof" json:"handle,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + DeletedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"` + LastLogin *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=last_login,json=lastLogin,proto3,oneof" json:"last_login,omitempty"` + IsActive bool `protobuf:"varint,20,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + IsEmailVerified bool `protobuf:"varint,21,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"` + IsPhoneVerified bool `protobuf:"varint,22,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"` + DateOfBirth *Date `protobuf:"bytes,23,opt,name=date_of_birth,json=dateOfBirth,proto3" json:"date_of_birth,omitempty"` + Version int64 `protobuf:"varint,24,opt,name=version,proto3" json:"version,omitempty"` + SocialAccounts []*SocialAccount `protobuf:"bytes,30,rep,name=social_accounts,json=socialAccounts,proto3" json:"social_accounts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *User) Reset() { + *x = User{} + mi := &file_st_peter_admin_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *User) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*User) ProtoMessage() {} + +func (x *User) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use User.ProtoReflect.Descriptor instead. +func (*User) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{1} +} + +func (x *User) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *User) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *User) GetPhone() string { + if x != nil { + return x.Phone + } + return "" +} + +func (x *User) GetFirstNames() string { + if x != nil { + return x.FirstNames + } + return "" +} + +func (x *User) GetLastName() string { + if x != nil { + return x.LastName + } + return "" +} + +func (x *User) GetProfilePictureUrl() string { + if x != nil { + return x.ProfilePictureUrl + } + return "" +} + +func (x *User) GetHandle() string { + if x != nil && x.Handle != nil { + return *x.Handle + } + return "" +} + +func (x *User) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *User) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *User) GetDeletedAt() *timestamppb.Timestamp { + if x != nil { + return x.DeletedAt + } + return nil +} + +func (x *User) GetLastLogin() *timestamppb.Timestamp { + if x != nil { + return x.LastLogin + } + return nil +} + +func (x *User) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *User) GetIsEmailVerified() bool { + if x != nil { + return x.IsEmailVerified + } + return false +} + +func (x *User) GetIsPhoneVerified() bool { + if x != nil { + return x.IsPhoneVerified + } + return false +} + +func (x *User) GetDateOfBirth() *Date { + if x != nil { + return x.DateOfBirth + } + return nil +} + +func (x *User) GetVersion() int64 { + if x != nil { + return x.Version + } + return 0 +} + +func (x *User) GetSocialAccounts() []*SocialAccount { + if x != nil { + return x.SocialAccounts + } + return nil +} + +type Role struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Role) Reset() { + *x = Role{} + mi := &file_st_peter_admin_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Role) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Role) ProtoMessage() {} + +func (x *Role) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Role.ProtoReflect.Descriptor instead. +func (*Role) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{2} +} + +func (x *Role) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Role) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *Role) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Role) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *Role) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +type SocialAccount struct { + state protoimpl.MessageState `protogen:"open.v1"` + Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"` + ProviderUserId string `protobuf:"bytes,2,opt,name=provider_user_id,json=providerUserId,proto3" json:"provider_user_id,omitempty"` + AccessToken string `protobuf:"bytes,3,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SocialAccount) Reset() { + *x = SocialAccount{} + mi := &file_st_peter_admin_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SocialAccount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SocialAccount) ProtoMessage() {} + +func (x *SocialAccount) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SocialAccount.ProtoReflect.Descriptor instead. +func (*SocialAccount) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{3} +} + +func (x *SocialAccount) GetProvider() string { + if x != nil { + return x.Provider + } + return "" +} + +func (x *SocialAccount) GetProviderUserId() string { + if x != nil { + return x.ProviderUserId + } + return "" +} + +func (x *SocialAccount) GetAccessToken() string { + if x != nil { + return x.AccessToken + } + return "" +} + +func (x *SocialAccount) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +type RegisterUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + Phone string `protobuf:"bytes,3,opt,name=phone,proto3" json:"phone,omitempty"` + FirstName string `protobuf:"bytes,4,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"` + LastName string `protobuf:"bytes,5,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterUserRequest) Reset() { + *x = RegisterUserRequest{} + mi := &file_st_peter_admin_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterUserRequest) ProtoMessage() {} + +func (x *RegisterUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterUserRequest.ProtoReflect.Descriptor instead. +func (*RegisterUserRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{4} +} + +func (x *RegisterUserRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *RegisterUserRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *RegisterUserRequest) GetPhone() string { + if x != nil { + return x.Phone + } + return "" +} + +func (x *RegisterUserRequest) GetFirstName() string { + if x != nil { + return x.FirstName + } + return "" +} + +func (x *RegisterUserRequest) GetLastName() string { + if x != nil { + return x.LastName + } + return "" +} + +type UserResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + User *User `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserResponse) Reset() { + *x = UserResponse{} + mi := &file_st_peter_admin_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserResponse) ProtoMessage() {} + +func (x *UserResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserResponse.ProtoReflect.Descriptor instead. +func (*UserResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{5} +} + +func (x *UserResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *UserResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *UserResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *UserResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +type LoginRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LoginRequest) Reset() { + *x = LoginRequest{} + mi := &file_st_peter_admin_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LoginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginRequest) ProtoMessage() {} + +func (x *LoginRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoginRequest.ProtoReflect.Descriptor instead. +func (*LoginRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{6} +} + +func (x *LoginRequest) GetEmail() string { + if x != nil { + return x.Email + } + return "" +} + +func (x *LoginRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +type AuthenticationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Token string `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"` + User *User `protobuf:"bytes,5,opt,name=user,proto3" json:"user,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AuthenticationResponse) Reset() { + *x = AuthenticationResponse{} + mi := &file_st_peter_admin_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AuthenticationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticationResponse) ProtoMessage() {} + +func (x *AuthenticationResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticationResponse.ProtoReflect.Descriptor instead. +func (*AuthenticationResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{7} +} + +func (x *AuthenticationResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *AuthenticationResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *AuthenticationResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *AuthenticationResponse) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *AuthenticationResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +type GetUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + ActorId string `protobuf:"bytes,11,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,12,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUserRequest) Reset() { + *x = GetUserRequest{} + mi := &file_st_peter_admin_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserRequest) ProtoMessage() {} + +func (x *GetUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserRequest.ProtoReflect.Descriptor instead. +func (*GetUserRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{8} +} + +func (x *GetUserRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *GetUserRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetUserRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +type GetUsersByUsernamesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + EmailAddresses []string `protobuf:"bytes,2,rep,name=email_addresses,json=emailAddresses,proto3" json:"email_addresses,omitempty"` + PhoneNumbers []string `protobuf:"bytes,3,rep,name=phone_numbers,json=phoneNumbers,proto3" json:"phone_numbers,omitempty"` + ActorId string `protobuf:"bytes,11,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,12,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUsersByUsernamesRequest) Reset() { + *x = GetUsersByUsernamesRequest{} + mi := &file_st_peter_admin_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUsersByUsernamesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUsersByUsernamesRequest) ProtoMessage() {} + +func (x *GetUsersByUsernamesRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUsersByUsernamesRequest.ProtoReflect.Descriptor instead. +func (*GetUsersByUsernamesRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{9} +} + +func (x *GetUsersByUsernamesRequest) GetEmailAddresses() []string { + if x != nil { + return x.EmailAddresses + } + return nil +} + +func (x *GetUsersByUsernamesRequest) GetPhoneNumbers() []string { + if x != nil { + return x.PhoneNumbers + } + return nil +} + +func (x *GetUsersByUsernamesRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetUsersByUsernamesRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +type DeleteUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` + UserAgent string `protobuf:"bytes,5,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` + UnassignRoles bool `protobuf:"varint,6,opt,name=unassign_roles,json=unassignRoles,proto3" json:"unassign_roles,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteUserRequest) Reset() { + *x = DeleteUserRequest{} + mi := &file_st_peter_admin_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteUserRequest) ProtoMessage() {} + +func (x *DeleteUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteUserRequest.ProtoReflect.Descriptor instead. +func (*DeleteUserRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{10} +} + +func (x *DeleteUserRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *DeleteUserRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *DeleteUserRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *DeleteUserRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *DeleteUserRequest) GetUserAgent() string { + if x != nil { + return x.UserAgent + } + return "" +} + +func (x *DeleteUserRequest) GetUnassignRoles() bool { + if x != nil { + return x.UnassignRoles + } + return false +} + +type RestoreUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` + UserAgent string `protobuf:"bytes,5,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` + RestoreRoles bool `protobuf:"varint,6,opt,name=restore_roles,json=restoreRoles,proto3" json:"restore_roles,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RestoreUserRequest) Reset() { + *x = RestoreUserRequest{} + mi := &file_st_peter_admin_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RestoreUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RestoreUserRequest) ProtoMessage() {} + +func (x *RestoreUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RestoreUserRequest.ProtoReflect.Descriptor instead. +func (*RestoreUserRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{11} +} + +func (x *RestoreUserRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *RestoreUserRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *RestoreUserRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *RestoreUserRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *RestoreUserRequest) GetUserAgent() string { + if x != nil { + return x.UserAgent + } + return "" +} + +func (x *RestoreUserRequest) GetRestoreRoles() bool { + if x != nil { + return x.RestoreRoles + } + return false +} + +type AssignRoleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserId string `protobuf:"bytes,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + RoleId string `protobuf:"bytes,6,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` + ScopeCode string `protobuf:"bytes,7,opt,name=scope_code,json=scopeCode,proto3" json:"scope_code,omitempty"` + TargetId *string `protobuf:"bytes,8,opt,name=target_id,json=targetId,proto3,oneof" json:"target_id,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + SessionId string `protobuf:"bytes,10,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AssignRoleRequest) Reset() { + *x = AssignRoleRequest{} + mi := &file_st_peter_admin_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AssignRoleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssignRoleRequest) ProtoMessage() {} + +func (x *AssignRoleRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AssignRoleRequest.ProtoReflect.Descriptor instead. +func (*AssignRoleRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{12} +} + +func (x *AssignRoleRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *AssignRoleRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *AssignRoleRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *AssignRoleRequest) GetRoleId() string { + if x != nil { + return x.RoleId + } + return "" +} + +func (x *AssignRoleRequest) GetScopeCode() string { + if x != nil { + return x.ScopeCode + } + return "" +} + +func (x *AssignRoleRequest) GetTargetId() string { + if x != nil && x.TargetId != nil { + return *x.TargetId + } + return "" +} + +func (x *AssignRoleRequest) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +func (x *AssignRoleRequest) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +type UnassignRoleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserId string `protobuf:"bytes,5,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + UserRoleId string `protobuf:"bytes,6,opt,name=user_role_id,json=userRoleId,proto3" json:"user_role_id,omitempty"` + Reason string `protobuf:"bytes,7,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnassignRoleRequest) Reset() { + *x = UnassignRoleRequest{} + mi := &file_st_peter_admin_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnassignRoleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnassignRoleRequest) ProtoMessage() {} + +func (x *UnassignRoleRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnassignRoleRequest.ProtoReflect.Descriptor instead. +func (*UnassignRoleRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{13} +} + +func (x *UnassignRoleRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *UnassignRoleRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *UnassignRoleRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *UnassignRoleRequest) GetUserRoleId() string { + if x != nil { + return x.UserRoleId + } + return "" +} + +func (x *UnassignRoleRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type OperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OperationResponse) Reset() { + *x = OperationResponse{} + mi := &file_st_peter_admin_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationResponse) ProtoMessage() {} + +func (x *OperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OperationResponse.ProtoReflect.Descriptor instead. +func (*OperationResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{14} +} + +func (x *OperationResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *OperationResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *OperationResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type SearchUsersRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + Email *string `protobuf:"bytes,3,opt,name=email,proto3,oneof" json:"email,omitempty"` + Phone *string `protobuf:"bytes,4,opt,name=phone,proto3,oneof" json:"phone,omitempty"` + Search *string `protobuf:"bytes,11,opt,name=search,proto3,oneof" json:"search,omitempty"` + Page int32 `protobuf:"varint,12,opt,name=page,proto3" json:"page,omitempty"` + PageSize int32 `protobuf:"varint,13,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + IncludeInactive bool `protobuf:"varint,14,opt,name=include_inactive,json=includeInactive,proto3" json:"include_inactive,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SearchUsersRequest) Reset() { + *x = SearchUsersRequest{} + mi := &file_st_peter_admin_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SearchUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchUsersRequest) ProtoMessage() {} + +func (x *SearchUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchUsersRequest.ProtoReflect.Descriptor instead. +func (*SearchUsersRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{15} +} + +func (x *SearchUsersRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *SearchUsersRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *SearchUsersRequest) GetEmail() string { + if x != nil && x.Email != nil { + return *x.Email + } + return "" +} + +func (x *SearchUsersRequest) GetPhone() string { + if x != nil && x.Phone != nil { + return *x.Phone + } + return "" +} + +func (x *SearchUsersRequest) GetSearch() string { + if x != nil && x.Search != nil { + return *x.Search + } + return "" +} + +func (x *SearchUsersRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *SearchUsersRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *SearchUsersRequest) GetIncludeInactive() bool { + if x != nil { + return x.IncludeInactive + } + return false +} + +type CountUsersRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountUsersRequest) Reset() { + *x = CountUsersRequest{} + mi := &file_st_peter_admin_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountUsersRequest) ProtoMessage() {} + +func (x *CountUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountUsersRequest.ProtoReflect.Descriptor instead. +func (*CountUsersRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{16} +} + +func (x *CountUsersRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *CountUsersRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +type TimeSeriesStatistic struct { + state protoimpl.MessageState `protogen:"open.v1"` + Count uint32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + Year int64 `protobuf:"varint,3,opt,name=year,proto3" json:"year,omitempty"` + Month uint32 `protobuf:"varint,4,opt,name=month,proto3" json:"month,omitempty"` + Day uint32 `protobuf:"varint,5,opt,name=day,proto3" json:"day,omitempty"` + Hour uint32 `protobuf:"varint,6,opt,name=hour,proto3" json:"hour,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TimeSeriesStatistic) Reset() { + *x = TimeSeriesStatistic{} + mi := &file_st_peter_admin_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimeSeriesStatistic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimeSeriesStatistic) ProtoMessage() {} + +func (x *TimeSeriesStatistic) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimeSeriesStatistic.ProtoReflect.Descriptor instead. +func (*TimeSeriesStatistic) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{17} +} + +func (x *TimeSeriesStatistic) GetCount() uint32 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *TimeSeriesStatistic) GetYear() int64 { + if x != nil { + return x.Year + } + return 0 +} + +func (x *TimeSeriesStatistic) GetMonth() uint32 { + if x != nil { + return x.Month + } + return 0 +} + +func (x *TimeSeriesStatistic) GetDay() uint32 { + if x != nil { + return x.Day + } + return 0 +} + +func (x *TimeSeriesStatistic) GetHour() uint32 { + if x != nil { + return x.Hour + } + return 0 +} + +type CountUsersResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + GrandTotal uint32 `protobuf:"varint,4,opt,name=grand_total,json=grandTotal,proto3" json:"grand_total,omitempty"` + CurrentDate *Date `protobuf:"bytes,7,opt,name=current_date,json=currentDate,proto3" json:"current_date,omitempty"` + Daily []*TimeSeriesStatistic `protobuf:"bytes,5,rep,name=daily,proto3" json:"daily,omitempty"` // 30 past days + Monthly []*TimeSeriesStatistic `protobuf:"bytes,6,rep,name=monthly,proto3" json:"monthly,omitempty"` // 12 months + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountUsersResponse) Reset() { + *x = CountUsersResponse{} + mi := &file_st_peter_admin_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountUsersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountUsersResponse) ProtoMessage() {} + +func (x *CountUsersResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountUsersResponse.ProtoReflect.Descriptor instead. +func (*CountUsersResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{18} +} + +func (x *CountUsersResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *CountUsersResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *CountUsersResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *CountUsersResponse) GetGrandTotal() uint32 { + if x != nil { + return x.GrandTotal + } + return 0 +} + +func (x *CountUsersResponse) GetCurrentDate() *Date { + if x != nil { + return x.CurrentDate + } + return nil +} + +func (x *CountUsersResponse) GetDaily() []*TimeSeriesStatistic { + if x != nil { + return x.Daily + } + return nil +} + +func (x *CountUsersResponse) GetMonthly() []*TimeSeriesStatistic { + if x != nil { + return x.Monthly + } + return nil +} + +type SearchUsersResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Users []*User `protobuf:"bytes,4,rep,name=users,proto3" json:"users,omitempty"` + Total int32 `protobuf:"varint,5,opt,name=total,proto3" json:"total,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SearchUsersResponse) Reset() { + *x = SearchUsersResponse{} + mi := &file_st_peter_admin_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SearchUsersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchUsersResponse) ProtoMessage() {} + +func (x *SearchUsersResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchUsersResponse.ProtoReflect.Descriptor instead. +func (*SearchUsersResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{19} +} + +func (x *SearchUsersResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *SearchUsersResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *SearchUsersResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *SearchUsersResponse) GetUsers() []*User { + if x != nil { + return x.Users + } + return nil +} + +func (x *SearchUsersResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type SearchRolesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + Search string `protobuf:"bytes,11,opt,name=search,proto3" json:"search,omitempty"` + Page int32 `protobuf:"varint,12,opt,name=page,proto3" json:"page,omitempty"` + PageSize int32 `protobuf:"varint,13,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SearchRolesRequest) Reset() { + *x = SearchRolesRequest{} + mi := &file_st_peter_admin_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SearchRolesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchRolesRequest) ProtoMessage() {} + +func (x *SearchRolesRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchRolesRequest.ProtoReflect.Descriptor instead. +func (*SearchRolesRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{20} +} + +func (x *SearchRolesRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *SearchRolesRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *SearchRolesRequest) GetSearch() string { + if x != nil { + return x.Search + } + return "" +} + +func (x *SearchRolesRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *SearchRolesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type SearchRolesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Roles []*Role `protobuf:"bytes,4,rep,name=roles,proto3" json:"roles,omitempty"` + Total int32 `protobuf:"varint,5,opt,name=total,proto3" json:"total,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SearchRolesResponse) Reset() { + *x = SearchRolesResponse{} + mi := &file_st_peter_admin_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SearchRolesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchRolesResponse) ProtoMessage() {} + +func (x *SearchRolesResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchRolesResponse.ProtoReflect.Descriptor instead. +func (*SearchRolesResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{21} +} + +func (x *SearchRolesResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *SearchRolesResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *SearchRolesResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *SearchRolesResponse) GetRoles() []*Role { + if x != nil { + return x.Roles + } + return nil +} + +func (x *SearchRolesResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type GetRoleScopesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + RoleId *string `protobuf:"bytes,3,opt,name=role_id,json=roleId,proto3,oneof" json:"role_id,omitempty"` + ScopeCode *string `protobuf:"bytes,4,opt,name=scope_code,json=scopeCode,proto3,oneof" json:"scope_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetRoleScopesRequest) Reset() { + *x = GetRoleScopesRequest{} + mi := &file_st_peter_admin_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetRoleScopesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoleScopesRequest) ProtoMessage() {} + +func (x *GetRoleScopesRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoleScopesRequest.ProtoReflect.Descriptor instead. +func (*GetRoleScopesRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{22} +} + +func (x *GetRoleScopesRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetRoleScopesRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetRoleScopesRequest) GetRoleId() string { + if x != nil && x.RoleId != nil { + return *x.RoleId + } + return "" +} + +func (x *GetRoleScopesRequest) GetScopeCode() string { + if x != nil && x.ScopeCode != nil { + return *x.ScopeCode + } + return "" +} + +type GetRoleScopesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + RoleScopes []*RoleScope `protobuf:"bytes,4,rep,name=role_scopes,json=roleScopes,proto3" json:"role_scopes,omitempty"` + Roles map[string]*Role `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetRoleScopesResponse) Reset() { + *x = GetRoleScopesResponse{} + mi := &file_st_peter_admin_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetRoleScopesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoleScopesResponse) ProtoMessage() {} + +func (x *GetRoleScopesResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoleScopesResponse.ProtoReflect.Descriptor instead. +func (*GetRoleScopesResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{23} +} + +func (x *GetRoleScopesResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetRoleScopesResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetRoleScopesResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetRoleScopesResponse) GetRoleScopes() []*RoleScope { + if x != nil { + return x.RoleScopes + } + return nil +} + +func (x *GetRoleScopesResponse) GetRoles() map[string]*Role { + if x != nil { + return x.Roles + } + return nil +} + +type Lookup struct { + state protoimpl.MessageState `protogen:"open.v1"` + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Lookup) Reset() { + *x = Lookup{} + mi := &file_st_peter_admin_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Lookup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Lookup) ProtoMessage() {} + +func (x *Lookup) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Lookup.ProtoReflect.Descriptor instead. +func (*Lookup) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{24} +} + +func (x *Lookup) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *Lookup) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Lookup) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +type Scope struct { + state protoimpl.MessageState `protogen:"open.v1"` + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + ParentCode *string `protobuf:"bytes,3,opt,name=parent_code,json=parentCode,proto3,oneof" json:"parent_code,omitempty"` + IsActive bool `protobuf:"varint,4,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Scope) Reset() { + *x = Scope{} + mi := &file_st_peter_admin_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Scope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Scope) ProtoMessage() {} + +func (x *Scope) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Scope.ProtoReflect.Descriptor instead. +func (*Scope) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{25} +} + +func (x *Scope) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *Scope) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Scope) GetParentCode() string { + if x != nil && x.ParentCode != nil { + return *x.ParentCode + } + return "" +} + +func (x *Scope) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +type GetUserWithRolesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + IncludeInactive bool `protobuf:"varint,4,opt,name=include_inactive,json=includeInactive,proto3" json:"include_inactive,omitempty"` + ScopeCodes []string `protobuf:"bytes,5,rep,name=scope_codes,json=scopeCodes,proto3" json:"scope_codes,omitempty"` + RoleNames []string `protobuf:"bytes,6,rep,name=role_names,json=roleNames,proto3" json:"role_names,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUserWithRolesRequest) Reset() { + *x = GetUserWithRolesRequest{} + mi := &file_st_peter_admin_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUserWithRolesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserWithRolesRequest) ProtoMessage() {} + +func (x *GetUserWithRolesRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserWithRolesRequest.ProtoReflect.Descriptor instead. +func (*GetUserWithRolesRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{26} +} + +func (x *GetUserWithRolesRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetUserWithRolesRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetUserWithRolesRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *GetUserWithRolesRequest) GetIncludeInactive() bool { + if x != nil { + return x.IncludeInactive + } + return false +} + +func (x *GetUserWithRolesRequest) GetScopeCodes() []string { + if x != nil { + return x.ScopeCodes + } + return nil +} + +func (x *GetUserWithRolesRequest) GetRoleNames() []string { + if x != nil { + return x.RoleNames + } + return nil +} + +type GetUserWithRolesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + User *User `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` + Roles map[string]*Role `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + AssignedRoles []*UserRole `protobuf:"bytes,6,rep,name=assigned_roles,json=assignedRoles,proto3" json:"assigned_roles,omitempty"` + Scopes map[string]*Scope `protobuf:"bytes,7,rep,name=scopes,proto3" json:"scopes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Actors map[string]*User `protobuf:"bytes,8,rep,name=actors,proto3" json:"actors,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUserWithRolesResponse) Reset() { + *x = GetUserWithRolesResponse{} + mi := &file_st_peter_admin_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUserWithRolesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserWithRolesResponse) ProtoMessage() {} + +func (x *GetUserWithRolesResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserWithRolesResponse.ProtoReflect.Descriptor instead. +func (*GetUserWithRolesResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{27} +} + +func (x *GetUserWithRolesResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetUserWithRolesResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetUserWithRolesResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetUserWithRolesResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *GetUserWithRolesResponse) GetRoles() map[string]*Role { + if x != nil { + return x.Roles + } + return nil +} + +func (x *GetUserWithRolesResponse) GetAssignedRoles() []*UserRole { + if x != nil { + return x.AssignedRoles + } + return nil +} + +func (x *GetUserWithRolesResponse) GetScopes() map[string]*Scope { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *GetUserWithRolesResponse) GetActors() map[string]*User { + if x != nil { + return x.Actors + } + return nil +} + +type UserRole struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + RoleId string `protobuf:"bytes,3,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` + ScopeCode string `protobuf:"bytes,4,opt,name=scope_code,json=scopeCode,proto3" json:"scope_code,omitempty"` + TargetId *string `protobuf:"bytes,5,opt,name=target_id,json=targetId,proto3,oneof" json:"target_id,omitempty"` + IsActive bool `protobuf:"varint,6,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + CreatedBy string `protobuf:"bytes,12,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` + UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + UpdatedBy string `protobuf:"bytes,14,opt,name=updated_by,json=updatedBy,proto3" json:"updated_by,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + DeletedAt *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"` + DeletedBy *string `protobuf:"bytes,17,opt,name=deleted_by,json=deletedBy,proto3,oneof" json:"deleted_by,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserRole) Reset() { + *x = UserRole{} + mi := &file_st_peter_admin_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserRole) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserRole) ProtoMessage() {} + +func (x *UserRole) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserRole.ProtoReflect.Descriptor instead. +func (*UserRole) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{28} +} + +func (x *UserRole) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UserRole) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *UserRole) GetRoleId() string { + if x != nil { + return x.RoleId + } + return "" +} + +func (x *UserRole) GetScopeCode() string { + if x != nil { + return x.ScopeCode + } + return "" +} + +func (x *UserRole) GetTargetId() string { + if x != nil && x.TargetId != nil { + return *x.TargetId + } + return "" +} + +func (x *UserRole) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *UserRole) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *UserRole) GetCreatedBy() string { + if x != nil { + return x.CreatedBy + } + return "" +} + +func (x *UserRole) GetUpdatedAt() *timestamppb.Timestamp { + if x != nil { + return x.UpdatedAt + } + return nil +} + +func (x *UserRole) GetUpdatedBy() string { + if x != nil { + return x.UpdatedBy + } + return "" +} + +func (x *UserRole) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +func (x *UserRole) GetDeletedAt() *timestamppb.Timestamp { + if x != nil { + return x.DeletedAt + } + return nil +} + +func (x *UserRole) GetDeletedBy() string { + if x != nil && x.DeletedBy != nil { + return *x.DeletedBy + } + return "" +} + +type GetUsersRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserIds []string `protobuf:"bytes,3,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUsersRequest) Reset() { + *x = GetUsersRequest{} + mi := &file_st_peter_admin_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUsersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUsersRequest) ProtoMessage() {} + +func (x *GetUsersRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUsersRequest.ProtoReflect.Descriptor instead. +func (*GetUsersRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{29} +} + +func (x *GetUsersRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetUsersRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetUsersRequest) GetUserIds() []string { + if x != nil { + return x.UserIds + } + return nil +} + +type UsersResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Users []*User `protobuf:"bytes,4,rep,name=users,proto3" json:"users,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UsersResponse) Reset() { + *x = UsersResponse{} + mi := &file_st_peter_admin_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UsersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UsersResponse) ProtoMessage() {} + +func (x *UsersResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UsersResponse.ProtoReflect.Descriptor instead. +func (*UsersResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{30} +} + +func (x *UsersResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *UsersResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *UsersResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *UsersResponse) GetUsers() []*User { + if x != nil { + return x.Users + } + return nil +} + +type GetAssignableRolesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAssignableRolesRequest) Reset() { + *x = GetAssignableRolesRequest{} + mi := &file_st_peter_admin_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAssignableRolesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAssignableRolesRequest) ProtoMessage() {} + +func (x *GetAssignableRolesRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAssignableRolesRequest.ProtoReflect.Descriptor instead. +func (*GetAssignableRolesRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{31} +} + +func (x *GetAssignableRolesRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetAssignableRolesRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetAssignableRolesRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +type ScopeList struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScopeCodes []string `protobuf:"bytes,1,rep,name=scope_codes,json=scopeCodes,proto3" json:"scope_codes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScopeList) Reset() { + *x = ScopeList{} + mi := &file_st_peter_admin_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScopeList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScopeList) ProtoMessage() {} + +func (x *ScopeList) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScopeList.ProtoReflect.Descriptor instead. +func (*ScopeList) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{32} +} + +func (x *ScopeList) GetScopeCodes() []string { + if x != nil { + return x.ScopeCodes + } + return nil +} + +type GetAssignableRolesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Roles []*RoleScopeTarget `protobuf:"bytes,4,rep,name=roles,proto3" json:"roles,omitempty"` + Scopes []*Scope `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"` + RoleScopes map[string]*ScopeList `protobuf:"bytes,6,rep,name=role_scopes,json=roleScopes,proto3" json:"role_scopes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAssignableRolesResponse) Reset() { + *x = GetAssignableRolesResponse{} + mi := &file_st_peter_admin_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAssignableRolesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAssignableRolesResponse) ProtoMessage() {} + +func (x *GetAssignableRolesResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAssignableRolesResponse.ProtoReflect.Descriptor instead. +func (*GetAssignableRolesResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{33} +} + +func (x *GetAssignableRolesResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetAssignableRolesResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetAssignableRolesResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetAssignableRolesResponse) GetRoles() []*RoleScopeTarget { + if x != nil { + return x.Roles + } + return nil +} + +func (x *GetAssignableRolesResponse) GetScopes() []*Scope { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *GetAssignableRolesResponse) GetRoleScopes() map[string]*ScopeList { + if x != nil { + return x.RoleScopes + } + return nil +} + +type RoleScopeTarget struct { + state protoimpl.MessageState `protogen:"open.v1"` + Role *Role `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + Scope *Scope `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"` + TargetId string `protobuf:"bytes,3,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RoleScopeTarget) Reset() { + *x = RoleScopeTarget{} + mi := &file_st_peter_admin_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RoleScopeTarget) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoleScopeTarget) ProtoMessage() {} + +func (x *RoleScopeTarget) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RoleScopeTarget.ProtoReflect.Descriptor instead. +func (*RoleScopeTarget) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{34} +} + +func (x *RoleScopeTarget) GetRole() *Role { + if x != nil { + return x.Role + } + return nil +} + +func (x *RoleScopeTarget) GetScope() *Scope { + if x != nil { + return x.Scope + } + return nil +} + +func (x *RoleScopeTarget) GetTargetId() string { + if x != nil { + return x.TargetId + } + return "" +} + +func (x *RoleScopeTarget) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +type GetRoleDetailsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + RoleId string `protobuf:"bytes,3,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetRoleDetailsRequest) Reset() { + *x = GetRoleDetailsRequest{} + mi := &file_st_peter_admin_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetRoleDetailsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoleDetailsRequest) ProtoMessage() {} + +func (x *GetRoleDetailsRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoleDetailsRequest.ProtoReflect.Descriptor instead. +func (*GetRoleDetailsRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{35} +} + +func (x *GetRoleDetailsRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetRoleDetailsRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetRoleDetailsRequest) GetRoleId() string { + if x != nil { + return x.RoleId + } + return "" +} + +type RoleScope struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + RoleId string `protobuf:"bytes,2,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` + ScopeCode string `protobuf:"bytes,3,opt,name=scope_code,json=scopeCode,proto3" json:"scope_code,omitempty"` + IsActive bool `protobuf:"varint,4,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RoleScope) Reset() { + *x = RoleScope{} + mi := &file_st_peter_admin_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RoleScope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoleScope) ProtoMessage() {} + +func (x *RoleScope) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RoleScope.ProtoReflect.Descriptor instead. +func (*RoleScope) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{36} +} + +func (x *RoleScope) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *RoleScope) GetRoleId() string { + if x != nil { + return x.RoleId + } + return "" +} + +func (x *RoleScope) GetScopeCode() string { + if x != nil { + return x.ScopeCode + } + return "" +} + +func (x *RoleScope) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +type GetRoleDetailsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Role *Role `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` + AssignedRoles []*UserRole `protobuf:"bytes,5,rep,name=assigned_roles,json=assignedRoles,proto3" json:"assigned_roles,omitempty"` + Scopes []*Scope `protobuf:"bytes,6,rep,name=scopes,proto3" json:"scopes,omitempty"` + Actors []*User `protobuf:"bytes,7,rep,name=actors,proto3" json:"actors,omitempty"` + RoleScopes []*RoleScope `protobuf:"bytes,8,rep,name=role_scopes,json=roleScopes,proto3" json:"role_scopes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetRoleDetailsResponse) Reset() { + *x = GetRoleDetailsResponse{} + mi := &file_st_peter_admin_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetRoleDetailsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoleDetailsResponse) ProtoMessage() {} + +func (x *GetRoleDetailsResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoleDetailsResponse.ProtoReflect.Descriptor instead. +func (*GetRoleDetailsResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{37} +} + +func (x *GetRoleDetailsResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetRoleDetailsResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetRoleDetailsResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetRoleDetailsResponse) GetRole() *Role { + if x != nil { + return x.Role + } + return nil +} + +func (x *GetRoleDetailsResponse) GetAssignedRoles() []*UserRole { + if x != nil { + return x.AssignedRoles + } + return nil +} + +func (x *GetRoleDetailsResponse) GetScopes() []*Scope { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *GetRoleDetailsResponse) GetActors() []*User { + if x != nil { + return x.Actors + } + return nil +} + +func (x *GetRoleDetailsResponse) GetRoleScopes() []*RoleScope { + if x != nil { + return x.RoleScopes + } + return nil +} + +type GetRoleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + RoleId string `protobuf:"bytes,3,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetRoleRequest) Reset() { + *x = GetRoleRequest{} + mi := &file_st_peter_admin_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetRoleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoleRequest) ProtoMessage() {} + +func (x *GetRoleRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoleRequest.ProtoReflect.Descriptor instead. +func (*GetRoleRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{38} +} + +func (x *GetRoleRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetRoleRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetRoleRequest) GetRoleId() string { + if x != nil { + return x.RoleId + } + return "" +} + +type GetRoleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Role *Role `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetRoleResponse) Reset() { + *x = GetRoleResponse{} + mi := &file_st_peter_admin_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetRoleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRoleResponse) ProtoMessage() {} + +func (x *GetRoleResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRoleResponse.ProtoReflect.Descriptor instead. +func (*GetRoleResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{39} +} + +func (x *GetRoleResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetRoleResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetRoleResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetRoleResponse) GetRole() *Role { + if x != nil { + return x.Role + } + return nil +} + +type GetUserRoleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserRoleId string `protobuf:"bytes,3,opt,name=user_role_id,json=userRoleId,proto3" json:"user_role_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUserRoleRequest) Reset() { + *x = GetUserRoleRequest{} + mi := &file_st_peter_admin_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUserRoleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserRoleRequest) ProtoMessage() {} + +func (x *GetUserRoleRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserRoleRequest.ProtoReflect.Descriptor instead. +func (*GetUserRoleRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{40} +} + +func (x *GetUserRoleRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetUserRoleRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetUserRoleRequest) GetUserRoleId() string { + if x != nil { + return x.UserRoleId + } + return "" +} + +type GetUserRoleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + UserRole *UserRole `protobuf:"bytes,4,opt,name=user_role,json=userRole,proto3" json:"user_role,omitempty"` + Role *Role `protobuf:"bytes,5,opt,name=role,proto3" json:"role,omitempty"` + Scope *Scope `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUserRoleResponse) Reset() { + *x = GetUserRoleResponse{} + mi := &file_st_peter_admin_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUserRoleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserRoleResponse) ProtoMessage() {} + +func (x *GetUserRoleResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserRoleResponse.ProtoReflect.Descriptor instead. +func (*GetUserRoleResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{41} +} + +func (x *GetUserRoleResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetUserRoleResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetUserRoleResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetUserRoleResponse) GetUserRole() *UserRole { + if x != nil { + return x.UserRole + } + return nil +} + +func (x *GetUserRoleResponse) GetRole() *Role { + if x != nil { + return x.Role + } + return nil +} + +func (x *GetUserRoleResponse) GetScope() *Scope { + if x != nil { + return x.Scope + } + return nil +} + +type UpdateUserInfoRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + FirstNames *string `protobuf:"bytes,4,opt,name=first_names,json=firstNames,proto3,oneof" json:"first_names,omitempty"` + LastName *string `protobuf:"bytes,5,opt,name=last_name,json=lastName,proto3,oneof" json:"last_name,omitempty"` + ProfilePictureId *string `protobuf:"bytes,6,opt,name=profile_picture_id,json=profilePictureId,proto3,oneof" json:"profile_picture_id,omitempty"` + DateOfBirth *Date `protobuf:"bytes,7,opt,name=date_of_birth,json=dateOfBirth,proto3" json:"date_of_birth,omitempty"` + Handle *string `protobuf:"bytes,8,opt,name=handle,proto3,oneof" json:"handle,omitempty"` // Optional unique handle (e.g., @username) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateUserInfoRequest) Reset() { + *x = UpdateUserInfoRequest{} + mi := &file_st_peter_admin_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateUserInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateUserInfoRequest) ProtoMessage() {} + +func (x *UpdateUserInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateUserInfoRequest.ProtoReflect.Descriptor instead. +func (*UpdateUserInfoRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{42} +} + +func (x *UpdateUserInfoRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *UpdateUserInfoRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *UpdateUserInfoRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *UpdateUserInfoRequest) GetFirstNames() string { + if x != nil && x.FirstNames != nil { + return *x.FirstNames + } + return "" +} + +func (x *UpdateUserInfoRequest) GetLastName() string { + if x != nil && x.LastName != nil { + return *x.LastName + } + return "" +} + +func (x *UpdateUserInfoRequest) GetProfilePictureId() string { + if x != nil && x.ProfilePictureId != nil { + return *x.ProfilePictureId + } + return "" +} + +func (x *UpdateUserInfoRequest) GetDateOfBirth() *Date { + if x != nil { + return x.DateOfBirth + } + return nil +} + +func (x *UpdateUserInfoRequest) GetHandle() string { + if x != nil && x.Handle != nil { + return *x.Handle + } + return "" +} + +type UpdateUserInfoResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + User *User `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateUserInfoResponse) Reset() { + *x = UpdateUserInfoResponse{} + mi := &file_st_peter_admin_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateUserInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateUserInfoResponse) ProtoMessage() {} + +func (x *UpdateUserInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateUserInfoResponse.ProtoReflect.Descriptor instead. +func (*UpdateUserInfoResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{43} +} + +func (x *UpdateUserInfoResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *UpdateUserInfoResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *UpdateUserInfoResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *UpdateUserInfoResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +type GetScopeAncestorsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + ScopeCode string `protobuf:"bytes,3,opt,name=scope_code,json=scopeCode,proto3" json:"scope_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetScopeAncestorsRequest) Reset() { + *x = GetScopeAncestorsRequest{} + mi := &file_st_peter_admin_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetScopeAncestorsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetScopeAncestorsRequest) ProtoMessage() {} + +func (x *GetScopeAncestorsRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetScopeAncestorsRequest.ProtoReflect.Descriptor instead. +func (*GetScopeAncestorsRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{44} +} + +func (x *GetScopeAncestorsRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetScopeAncestorsRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetScopeAncestorsRequest) GetScopeCode() string { + if x != nil { + return x.ScopeCode + } + return "" +} + +type GetScopeAncestorsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Ancestors []*Scope `protobuf:"bytes,4,rep,name=ancestors,proto3" json:"ancestors,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetScopeAncestorsResponse) Reset() { + *x = GetScopeAncestorsResponse{} + mi := &file_st_peter_admin_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetScopeAncestorsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetScopeAncestorsResponse) ProtoMessage() {} + +func (x *GetScopeAncestorsResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetScopeAncestorsResponse.ProtoReflect.Descriptor instead. +func (*GetScopeAncestorsResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{45} +} + +func (x *GetScopeAncestorsResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetScopeAncestorsResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetScopeAncestorsResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetScopeAncestorsResponse) GetAncestors() []*Scope { + if x != nil { + return x.Ancestors + } + return nil +} + +type GetScopeDescendantsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + ScopeCode string `protobuf:"bytes,3,opt,name=scope_code,json=scopeCode,proto3" json:"scope_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetScopeDescendantsRequest) Reset() { + *x = GetScopeDescendantsRequest{} + mi := &file_st_peter_admin_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetScopeDescendantsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetScopeDescendantsRequest) ProtoMessage() {} + +func (x *GetScopeDescendantsRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetScopeDescendantsRequest.ProtoReflect.Descriptor instead. +func (*GetScopeDescendantsRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{46} +} + +func (x *GetScopeDescendantsRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetScopeDescendantsRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetScopeDescendantsRequest) GetScopeCode() string { + if x != nil { + return x.ScopeCode + } + return "" +} + +type GetScopeDescendantsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Descendants []*Scope `protobuf:"bytes,4,rep,name=descendants,proto3" json:"descendants,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetScopeDescendantsResponse) Reset() { + *x = GetScopeDescendantsResponse{} + mi := &file_st_peter_admin_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetScopeDescendantsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetScopeDescendantsResponse) ProtoMessage() {} + +func (x *GetScopeDescendantsResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetScopeDescendantsResponse.ProtoReflect.Descriptor instead. +func (*GetScopeDescendantsResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{47} +} + +func (x *GetScopeDescendantsResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetScopeDescendantsResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetScopeDescendantsResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetScopeDescendantsResponse) GetDescendants() []*Scope { + if x != nil { + return x.Descendants + } + return nil +} + +type GetAssignableTargetsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + ScopeCode string `protobuf:"bytes,3,opt,name=scope_code,json=scopeCode,proto3" json:"scope_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAssignableTargetsRequest) Reset() { + *x = GetAssignableTargetsRequest{} + mi := &file_st_peter_admin_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAssignableTargetsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAssignableTargetsRequest) ProtoMessage() {} + +func (x *GetAssignableTargetsRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAssignableTargetsRequest.ProtoReflect.Descriptor instead. +func (*GetAssignableTargetsRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{48} +} + +func (x *GetAssignableTargetsRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetAssignableTargetsRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetAssignableTargetsRequest) GetScopeCode() string { + if x != nil { + return x.ScopeCode + } + return "" +} + +type GetAssignableTargetsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + TargetIds []string `protobuf:"bytes,4,rep,name=target_ids,json=targetIds,proto3" json:"target_ids,omitempty"` + AllTargetsPermissible bool `protobuf:"varint,5,opt,name=all_targets_permissible,json=allTargetsPermissible,proto3" json:"all_targets_permissible,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetAssignableTargetsResponse) Reset() { + *x = GetAssignableTargetsResponse{} + mi := &file_st_peter_admin_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetAssignableTargetsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAssignableTargetsResponse) ProtoMessage() {} + +func (x *GetAssignableTargetsResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAssignableTargetsResponse.ProtoReflect.Descriptor instead. +func (*GetAssignableTargetsResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{49} +} + +func (x *GetAssignableTargetsResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetAssignableTargetsResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetAssignableTargetsResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetAssignableTargetsResponse) GetTargetIds() []string { + if x != nil { + return x.TargetIds + } + return nil +} + +func (x *GetAssignableTargetsResponse) GetAllTargetsPermissible() bool { + if x != nil { + return x.AllTargetsPermissible + } + return false +} + +type GetUsersByRoleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + RoleId string `protobuf:"bytes,3,opt,name=role_id,json=roleId,proto3" json:"role_id,omitempty"` + ScopeCode *string `protobuf:"bytes,4,opt,name=scope_code,json=scopeCode,proto3,oneof" json:"scope_code,omitempty"` + TargetId *string `protobuf:"bytes,5,opt,name=target_id,json=targetId,proto3,oneof" json:"target_id,omitempty"` + IncludeInactive bool `protobuf:"varint,6,opt,name=include_inactive,json=includeInactive,proto3" json:"include_inactive,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUsersByRoleRequest) Reset() { + *x = GetUsersByRoleRequest{} + mi := &file_st_peter_admin_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUsersByRoleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUsersByRoleRequest) ProtoMessage() {} + +func (x *GetUsersByRoleRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUsersByRoleRequest.ProtoReflect.Descriptor instead. +func (*GetUsersByRoleRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{50} +} + +func (x *GetUsersByRoleRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetUsersByRoleRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetUsersByRoleRequest) GetRoleId() string { + if x != nil { + return x.RoleId + } + return "" +} + +func (x *GetUsersByRoleRequest) GetScopeCode() string { + if x != nil && x.ScopeCode != nil { + return *x.ScopeCode + } + return "" +} + +func (x *GetUsersByRoleRequest) GetTargetId() string { + if x != nil && x.TargetId != nil { + return *x.TargetId + } + return "" +} + +func (x *GetUsersByRoleRequest) GetIncludeInactive() bool { + if x != nil { + return x.IncludeInactive + } + return false +} + +type GetUsersByRoleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Users []*User `protobuf:"bytes,4,rep,name=users,proto3" json:"users,omitempty"` + Total int32 `protobuf:"varint,5,opt,name=total,proto3" json:"total,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUsersByRoleResponse) Reset() { + *x = GetUsersByRoleResponse{} + mi := &file_st_peter_admin_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUsersByRoleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUsersByRoleResponse) ProtoMessage() {} + +func (x *GetUsersByRoleResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUsersByRoleResponse.ProtoReflect.Descriptor instead. +func (*GetUsersByRoleResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{51} +} + +func (x *GetUsersByRoleResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetUsersByRoleResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetUsersByRoleResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetUsersByRoleResponse) GetUsers() []*User { + if x != nil { + return x.Users + } + return nil +} + +func (x *GetUsersByRoleResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type CreateUserRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + Email *string `protobuf:"bytes,3,opt,name=email,proto3,oneof" json:"email,omitempty"` + Phone *string `protobuf:"bytes,4,opt,name=phone,proto3,oneof" json:"phone,omitempty"` + FirstNames string `protobuf:"bytes,5,opt,name=first_names,json=firstNames,proto3" json:"first_names,omitempty"` + LastName string `protobuf:"bytes,6,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"` + ProfilePictureUrl string `protobuf:"bytes,7,opt,name=profile_picture_url,json=profilePictureUrl,proto3" json:"profile_picture_url,omitempty"` + Password *string `protobuf:"bytes,8,opt,name=password,proto3,oneof" json:"password,omitempty"` // Optional, if not provided, a random password will be generated and returned. + DateOfBirth *Date `protobuf:"bytes,9,opt,name=date_of_birth,json=dateOfBirth,proto3,oneof" json:"date_of_birth,omitempty"` + Handle *string `protobuf:"bytes,10,opt,name=handle,proto3,oneof" json:"handle,omitempty"` // Optional unique handle (e.g., @username) + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateUserRequest) Reset() { + *x = CreateUserRequest{} + mi := &file_st_peter_admin_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateUserRequest) ProtoMessage() {} + +func (x *CreateUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateUserRequest.ProtoReflect.Descriptor instead. +func (*CreateUserRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{52} +} + +func (x *CreateUserRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *CreateUserRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *CreateUserRequest) GetEmail() string { + if x != nil && x.Email != nil { + return *x.Email + } + return "" +} + +func (x *CreateUserRequest) GetPhone() string { + if x != nil && x.Phone != nil { + return *x.Phone + } + return "" +} + +func (x *CreateUserRequest) GetFirstNames() string { + if x != nil { + return x.FirstNames + } + return "" +} + +func (x *CreateUserRequest) GetLastName() string { + if x != nil { + return x.LastName + } + return "" +} + +func (x *CreateUserRequest) GetProfilePictureUrl() string { + if x != nil { + return x.ProfilePictureUrl + } + return "" +} + +func (x *CreateUserRequest) GetPassword() string { + if x != nil && x.Password != nil { + return *x.Password + } + return "" +} + +func (x *CreateUserRequest) GetDateOfBirth() *Date { + if x != nil { + return x.DateOfBirth + } + return nil +} + +func (x *CreateUserRequest) GetHandle() string { + if x != nil && x.Handle != nil { + return *x.Handle + } + return "" +} + +type CreateUserResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + User *User `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` + Password *string `protobuf:"bytes,5,opt,name=password,proto3,oneof" json:"password,omitempty"` // Only returned if a new password was generated + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateUserResponse) Reset() { + *x = CreateUserResponse{} + mi := &file_st_peter_admin_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateUserResponse) ProtoMessage() {} + +func (x *CreateUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateUserResponse.ProtoReflect.Descriptor instead. +func (*CreateUserResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{53} +} + +func (x *CreateUserResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *CreateUserResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *CreateUserResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *CreateUserResponse) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *CreateUserResponse) GetPassword() string { + if x != nil && x.Password != nil { + return *x.Password + } + return "" +} + +type DeviceInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + ApplicationName string `protobuf:"bytes,1,opt,name=application_name,json=applicationName,proto3" json:"application_name,omitempty"` + ApplicationVersion string `protobuf:"bytes,2,opt,name=application_version,json=applicationVersion,proto3" json:"application_version,omitempty"` + DeviceName string `protobuf:"bytes,3,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"` + DeviceType string `protobuf:"bytes,4,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"` + DeviceOs string `protobuf:"bytes,5,opt,name=device_os,json=deviceOs,proto3" json:"device_os,omitempty"` + DeviceOsVersion string `protobuf:"bytes,6,opt,name=device_os_version,json=deviceOsVersion,proto3" json:"device_os_version,omitempty"` + DeviceId string `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviceInfo) Reset() { + *x = DeviceInfo{} + mi := &file_st_peter_admin_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceInfo) ProtoMessage() {} + +func (x *DeviceInfo) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviceInfo.ProtoReflect.Descriptor instead. +func (*DeviceInfo) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{54} +} + +func (x *DeviceInfo) GetApplicationName() string { + if x != nil { + return x.ApplicationName + } + return "" +} + +func (x *DeviceInfo) GetApplicationVersion() string { + if x != nil { + return x.ApplicationVersion + } + return "" +} + +func (x *DeviceInfo) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *DeviceInfo) GetDeviceType() string { + if x != nil { + return x.DeviceType + } + return "" +} + +func (x *DeviceInfo) GetDeviceOs() string { + if x != nil { + return x.DeviceOs + } + return "" +} + +func (x *DeviceInfo) GetDeviceOsVersion() string { + if x != nil { + return x.DeviceOsVersion + } + return "" +} + +func (x *DeviceInfo) GetDeviceId() string { + if x != nil { + return x.DeviceId + } + return "" +} + +type UserSession struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + DeviceInfo *DeviceInfo `protobuf:"bytes,3,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"` + CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + LastActivity *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_activity,json=lastActivity,proto3" json:"last_activity,omitempty"` + IsActive bool `protobuf:"varint,7,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` + IpAddress string `protobuf:"bytes,8,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + UserAgent string `protobuf:"bytes,9,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserSession) Reset() { + *x = UserSession{} + mi := &file_st_peter_admin_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserSession) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserSession) ProtoMessage() {} + +func (x *UserSession) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserSession.ProtoReflect.Descriptor instead. +func (*UserSession) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{55} +} + +func (x *UserSession) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UserSession) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *UserSession) GetDeviceInfo() *DeviceInfo { + if x != nil { + return x.DeviceInfo + } + return nil +} + +func (x *UserSession) GetCreatedAt() *timestamppb.Timestamp { + if x != nil { + return x.CreatedAt + } + return nil +} + +func (x *UserSession) GetExpiresAt() *timestamppb.Timestamp { + if x != nil { + return x.ExpiresAt + } + return nil +} + +func (x *UserSession) GetLastActivity() *timestamppb.Timestamp { + if x != nil { + return x.LastActivity + } + return nil +} + +func (x *UserSession) GetIsActive() bool { + if x != nil { + return x.IsActive + } + return false +} + +func (x *UserSession) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UserSession) GetUserAgent() string { + if x != nil { + return x.UserAgent + } + return "" +} + +type GetUserSessionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // The user whose sessions to retrieve + Page int32 `protobuf:"varint,4,opt,name=page,proto3" json:"page,omitempty"` + Size int32 `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUserSessionsRequest) Reset() { + *x = GetUserSessionsRequest{} + mi := &file_st_peter_admin_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUserSessionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserSessionsRequest) ProtoMessage() {} + +func (x *GetUserSessionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserSessionsRequest.ProtoReflect.Descriptor instead. +func (*GetUserSessionsRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{56} +} + +func (x *GetUserSessionsRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *GetUserSessionsRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *GetUserSessionsRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *GetUserSessionsRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetUserSessionsRequest) GetSize() int32 { + if x != nil { + return x.Size + } + return 0 +} + +type GetUserSessionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + Sessions []*UserSession `protobuf:"bytes,4,rep,name=sessions,proto3" json:"sessions,omitempty"` + Total int32 `protobuf:"varint,5,opt,name=total,proto3" json:"total,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUserSessionsResponse) Reset() { + *x = GetUserSessionsResponse{} + mi := &file_st_peter_admin_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUserSessionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserSessionsResponse) ProtoMessage() {} + +func (x *GetUserSessionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserSessionsResponse.ProtoReflect.Descriptor instead. +func (*GetUserSessionsResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{57} +} + +func (x *GetUserSessionsResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetUserSessionsResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *GetUserSessionsResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetUserSessionsResponse) GetSessions() []*UserSession { + if x != nil { + return x.Sessions + } + return nil +} + +func (x *GetUserSessionsResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type ClearUserSessionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActorId string `protobuf:"bytes,1,opt,name=actor_id,json=actorId,proto3" json:"actor_id,omitempty"` + ActorToken string `protobuf:"bytes,2,opt,name=actor_token,json=actorToken,proto3" json:"actor_token,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` // The user whose sessions should be cleared + SessionIds []string `protobuf:"bytes,4,rep,name=session_ids,json=sessionIds,proto3" json:"session_ids,omitempty"` // If empty, clears all sessions for the user + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClearUserSessionsRequest) Reset() { + *x = ClearUserSessionsRequest{} + mi := &file_st_peter_admin_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClearUserSessionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClearUserSessionsRequest) ProtoMessage() {} + +func (x *ClearUserSessionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClearUserSessionsRequest.ProtoReflect.Descriptor instead. +func (*ClearUserSessionsRequest) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{58} +} + +func (x *ClearUserSessionsRequest) GetActorId() string { + if x != nil { + return x.ActorId + } + return "" +} + +func (x *ClearUserSessionsRequest) GetActorToken() string { + if x != nil { + return x.ActorToken + } + return "" +} + +func (x *ClearUserSessionsRequest) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *ClearUserSessionsRequest) GetSessionIds() []string { + if x != nil { + return x.SessionIds + } + return nil +} + +type ClearUserSessionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + ResultCode ResultCode `protobuf:"varint,2,opt,name=result_code,json=resultCode,proto3,enum=st_peter.admin.ResultCode" json:"result_code,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` + ClearedCount int32 `protobuf:"varint,4,opt,name=cleared_count,json=clearedCount,proto3" json:"cleared_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClearUserSessionsResponse) Reset() { + *x = ClearUserSessionsResponse{} + mi := &file_st_peter_admin_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClearUserSessionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClearUserSessionsResponse) ProtoMessage() {} + +func (x *ClearUserSessionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_st_peter_admin_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClearUserSessionsResponse.ProtoReflect.Descriptor instead. +func (*ClearUserSessionsResponse) Descriptor() ([]byte, []int) { + return file_st_peter_admin_proto_rawDescGZIP(), []int{59} +} + +func (x *ClearUserSessionsResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *ClearUserSessionsResponse) GetResultCode() ResultCode { + if x != nil { + return x.ResultCode + } + return ResultCode_RESULT_CODE_SUCCESS +} + +func (x *ClearUserSessionsResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *ClearUserSessionsResponse) GetClearedCount() int32 { + if x != nil { + return x.ClearedCount + } + return 0 +} + +var File_st_peter_admin_proto protoreflect.FileDescriptor + +const file_st_peter_admin_proto_rawDesc = "" + + "\n" + + "\x14st-peter-admin.proto\x12\x0est_peter.admin\x1a\x1fgoogle/protobuf/timestamp.proto\"B\n" + + "\x04Date\x12\x12\n" + + "\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n" + + "\x05month\x18\x02 \x01(\rR\x05month\x12\x10\n" + + "\x03day\x18\x03 \x01(\rR\x03day\"\xe9\x05\n" + + "\x04User\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + + "\x05email\x18\x02 \x01(\tR\x05email\x12\x14\n" + + "\x05phone\x18\x03 \x01(\tR\x05phone\x12\x1f\n" + + "\vfirst_names\x18\x04 \x01(\tR\n" + + "firstNames\x12\x1b\n" + + "\tlast_name\x18\x05 \x01(\tR\blastName\x12.\n" + + "\x13profile_picture_url\x18\x06 \x01(\tR\x11profilePictureUrl\x12\x1b\n" + + "\x06handle\x18\a \x01(\tH\x00R\x06handle\x88\x01\x01\x129\n" + + "\n" + + "created_at\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x129\n" + + "\n" + + "deleted_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tdeletedAt\x12>\n" + + "\n" + + "last_login\x18\r \x01(\v2\x1a.google.protobuf.TimestampH\x01R\tlastLogin\x88\x01\x01\x12\x1b\n" + + "\tis_active\x18\x14 \x01(\bR\bisActive\x12*\n" + + "\x11is_email_verified\x18\x15 \x01(\bR\x0fisEmailVerified\x12*\n" + + "\x11is_phone_verified\x18\x16 \x01(\bR\x0fisPhoneVerified\x128\n" + + "\rdate_of_birth\x18\x17 \x01(\v2\x14.st_peter.admin.DateR\vdateOfBirth\x12\x18\n" + + "\aversion\x18\x18 \x01(\x03R\aversion\x12F\n" + + "\x0fsocial_accounts\x18\x1e \x03(\v2\x1d.st_peter.admin.SocialAccountR\x0esocialAccountsB\t\n" + + "\a_handleB\r\n" + + "\v_last_login\"\xc2\x01\n" + + "\x04Role\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04code\x18\x02 \x01(\tR\x04code\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x129\n" + + "\n" + + "created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "updated_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\xb3\x01\n" + + "\rSocialAccount\x12\x1a\n" + + "\bprovider\x18\x01 \x01(\tR\bprovider\x12(\n" + + "\x10provider_user_id\x18\x02 \x01(\tR\x0eproviderUserId\x12!\n" + + "\faccess_token\x18\x03 \x01(\tR\vaccessToken\x129\n" + + "\n" + + "expires_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"\x99\x01\n" + + "\x13RegisterUserRequest\x12\x14\n" + + "\x05email\x18\x01 \x01(\tR\x05email\x12\x1a\n" + + "\bpassword\x18\x02 \x01(\tR\bpassword\x12\x14\n" + + "\x05phone\x18\x03 \x01(\tR\x05phone\x12\x1d\n" + + "\n" + + "first_name\x18\x04 \x01(\tR\tfirstName\x12\x1b\n" + + "\tlast_name\x18\x05 \x01(\tR\blastName\"\xa9\x01\n" + + "\fUserResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12(\n" + + "\x04user\x18\x04 \x01(\v2\x14.st_peter.admin.UserR\x04user\"@\n" + + "\fLoginRequest\x12\x14\n" + + "\x05email\x18\x01 \x01(\tR\x05email\x12\x1a\n" + + "\bpassword\x18\x02 \x01(\tR\bpassword\"\xc9\x01\n" + + "\x16AuthenticationResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12\x14\n" + + "\x05token\x18\x04 \x01(\tR\x05token\x12(\n" + + "\x04user\x18\x05 \x01(\v2\x14.st_peter.admin.UserR\x04user\"e\n" + + "\x0eGetUserRequest\x12\x17\n" + + "\auser_id\x18\x01 \x01(\tR\x06userId\x12\x19\n" + + "\bactor_id\x18\v \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\f \x01(\tR\n" + + "actorToken\"\xa6\x01\n" + + "\x1aGetUsersByUsernamesRequest\x12'\n" + + "\x0femail_addresses\x18\x02 \x03(\tR\x0eemailAddresses\x12#\n" + + "\rphone_numbers\x18\x03 \x03(\tR\fphoneNumbers\x12\x19\n" + + "\bactor_id\x18\v \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\f \x01(\tR\n" + + "actorToken\"\xc6\x01\n" + + "\x11DeleteUserRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\x12\x16\n" + + "\x06reason\x18\x04 \x01(\tR\x06reason\x12\x1d\n" + + "\n" + + "user_agent\x18\x05 \x01(\tR\tuserAgent\x12%\n" + + "\x0eunassign_roles\x18\x06 \x01(\bR\runassignRoles\"\xc5\x01\n" + + "\x12RestoreUserRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\x12\x16\n" + + "\x06reason\x18\x04 \x01(\tR\x06reason\x12\x1d\n" + + "\n" + + "user_agent\x18\x05 \x01(\tR\tuserAgent\x12#\n" + + "\rrestore_roles\x18\x06 \x01(\bR\frestoreRoles\"\xaa\x02\n" + + "\x11AssignRoleRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\auser_id\x18\x05 \x01(\tR\x06userId\x12\x17\n" + + "\arole_id\x18\x06 \x01(\tR\x06roleId\x12\x1d\n" + + "\n" + + "scope_code\x18\a \x01(\tR\tscopeCode\x12 \n" + + "\ttarget_id\x18\b \x01(\tH\x00R\btargetId\x88\x01\x01\x129\n" + + "\n" + + "expires_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x12\x1d\n" + + "\n" + + "session_id\x18\n" + + " \x01(\tR\tsessionIdB\f\n" + + "\n" + + "_target_id\"\xa4\x01\n" + + "\x13UnassignRoleRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\auser_id\x18\x05 \x01(\tR\x06userId\x12 \n" + + "\fuser_role_id\x18\x06 \x01(\tR\n" + + "userRoleId\x12\x16\n" + + "\x06reason\x18\a \x01(\tR\x06reason\"\x84\x01\n" + + "\x11OperationResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\"\x9e\x02\n" + + "\x12SearchUsersRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x19\n" + + "\x05email\x18\x03 \x01(\tH\x00R\x05email\x88\x01\x01\x12\x19\n" + + "\x05phone\x18\x04 \x01(\tH\x01R\x05phone\x88\x01\x01\x12\x1b\n" + + "\x06search\x18\v \x01(\tH\x02R\x06search\x88\x01\x01\x12\x12\n" + + "\x04page\x18\f \x01(\x05R\x04page\x12\x1b\n" + + "\tpage_size\x18\r \x01(\x05R\bpageSize\x12)\n" + + "\x10include_inactive\x18\x0e \x01(\bR\x0fincludeInactiveB\b\n" + + "\x06_emailB\b\n" + + "\x06_phoneB\t\n" + + "\a_search\"O\n" + + "\x11CountUsersRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\"{\n" + + "\x13TimeSeriesStatistic\x12\x14\n" + + "\x05count\x18\x01 \x01(\rR\x05count\x12\x12\n" + + "\x04year\x18\x03 \x01(\x03R\x04year\x12\x14\n" + + "\x05month\x18\x04 \x01(\rR\x05month\x12\x10\n" + + "\x03day\x18\x05 \x01(\rR\x03day\x12\x12\n" + + "\x04hour\x18\x06 \x01(\rR\x04hour\"\xd9\x02\n" + + "\x12CountUsersResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12\x1f\n" + + "\vgrand_total\x18\x04 \x01(\rR\n" + + "grandTotal\x127\n" + + "\fcurrent_date\x18\a \x01(\v2\x14.st_peter.admin.DateR\vcurrentDate\x129\n" + + "\x05daily\x18\x05 \x03(\v2#.st_peter.admin.TimeSeriesStatisticR\x05daily\x12=\n" + + "\amonthly\x18\x06 \x03(\v2#.st_peter.admin.TimeSeriesStatisticR\amonthly\"\xc8\x01\n" + + "\x13SearchUsersResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12*\n" + + "\x05users\x18\x04 \x03(\v2\x14.st_peter.admin.UserR\x05users\x12\x14\n" + + "\x05total\x18\x05 \x01(\x05R\x05total\"\x99\x01\n" + + "\x12SearchRolesRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x16\n" + + "\x06search\x18\v \x01(\tR\x06search\x12\x12\n" + + "\x04page\x18\f \x01(\x05R\x04page\x12\x1b\n" + + "\tpage_size\x18\r \x01(\x05R\bpageSize\"\xc8\x01\n" + + "\x13SearchRolesResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12*\n" + + "\x05roles\x18\x04 \x03(\v2\x14.st_peter.admin.RoleR\x05roles\x12\x14\n" + + "\x05total\x18\x05 \x01(\x05R\x05total\"\xaf\x01\n" + + "\x14GetRoleScopesRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x1c\n" + + "\arole_id\x18\x03 \x01(\tH\x00R\x06roleId\x88\x01\x01\x12\"\n" + + "\n" + + "scope_code\x18\x04 \x01(\tH\x01R\tscopeCode\x88\x01\x01B\n" + + "\n" + + "\b_role_idB\r\n" + + "\v_scope_code\"\xdc\x02\n" + + "\x15GetRoleScopesResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12:\n" + + "\vrole_scopes\x18\x04 \x03(\v2\x19.st_peter.admin.RoleScopeR\n" + + "roleScopes\x12F\n" + + "\x05roles\x18\x05 \x03(\v20.st_peter.admin.GetRoleScopesResponse.RolesEntryR\x05roles\x1aN\n" + + "\n" + + "RolesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12*\n" + + "\x05value\x18\x02 \x01(\v2\x14.st_peter.admin.RoleR\x05value:\x028\x01\"R\n" + + "\x06Lookup\x12\x12\n" + + "\x04code\x18\x01 \x01(\tR\x04code\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\"\x90\x01\n" + + "\x05Scope\x12\x12\n" + + "\x04code\x18\x01 \x01(\tR\x04code\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x12$\n" + + "\vparent_code\x18\x03 \x01(\tH\x00R\n" + + "parentCode\x88\x01\x01\x12\x1b\n" + + "\tis_active\x18\x04 \x01(\bR\bisActiveB\x0e\n" + + "\f_parent_code\"\xd9\x01\n" + + "\x17GetUserWithRolesRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\x12)\n" + + "\x10include_inactive\x18\x04 \x01(\bR\x0fincludeInactive\x12\x1f\n" + + "\vscope_codes\x18\x05 \x03(\tR\n" + + "scopeCodes\x12\x1d\n" + + "\n" + + "role_names\x18\x06 \x03(\tR\troleNames\"\xd0\x05\n" + + "\x18GetUserWithRolesResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12(\n" + + "\x04user\x18\x04 \x01(\v2\x14.st_peter.admin.UserR\x04user\x12I\n" + + "\x05roles\x18\x05 \x03(\v23.st_peter.admin.GetUserWithRolesResponse.RolesEntryR\x05roles\x12?\n" + + "\x0eassigned_roles\x18\x06 \x03(\v2\x18.st_peter.admin.UserRoleR\rassignedRoles\x12L\n" + + "\x06scopes\x18\a \x03(\v24.st_peter.admin.GetUserWithRolesResponse.ScopesEntryR\x06scopes\x12L\n" + + "\x06actors\x18\b \x03(\v24.st_peter.admin.GetUserWithRolesResponse.ActorsEntryR\x06actors\x1aN\n" + + "\n" + + "RolesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12*\n" + + "\x05value\x18\x02 \x01(\v2\x14.st_peter.admin.RoleR\x05value:\x028\x01\x1aP\n" + + "\vScopesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12+\n" + + "\x05value\x18\x02 \x01(\v2\x15.st_peter.admin.ScopeR\x05value:\x028\x01\x1aO\n" + + "\vActorsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12*\n" + + "\x05value\x18\x02 \x01(\v2\x14.st_peter.admin.UserR\x05value:\x028\x01\"\x95\x04\n" + + "\bUserRole\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\auser_id\x18\x02 \x01(\tR\x06userId\x12\x17\n" + + "\arole_id\x18\x03 \x01(\tR\x06roleId\x12\x1d\n" + + "\n" + + "scope_code\x18\x04 \x01(\tR\tscopeCode\x12 \n" + + "\ttarget_id\x18\x05 \x01(\tH\x00R\btargetId\x88\x01\x01\x12\x1b\n" + + "\tis_active\x18\x06 \x01(\bR\bisActive\x129\n" + + "\n" + + "created_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1d\n" + + "\n" + + "created_by\x18\f \x01(\tR\tcreatedBy\x129\n" + + "\n" + + "updated_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x1d\n" + + "\n" + + "updated_by\x18\x0e \x01(\tR\tupdatedBy\x129\n" + + "\n" + + "expires_at\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x129\n" + + "\n" + + "deleted_at\x18\x10 \x01(\v2\x1a.google.protobuf.TimestampR\tdeletedAt\x12\"\n" + + "\n" + + "deleted_by\x18\x11 \x01(\tH\x01R\tdeletedBy\x88\x01\x01B\f\n" + + "\n" + + "_target_idB\r\n" + + "\v_deleted_by\"h\n" + + "\x0fGetUsersRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x19\n" + + "\buser_ids\x18\x03 \x03(\tR\auserIds\"\xac\x01\n" + + "\rUsersResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12*\n" + + "\x05users\x18\x04 \x03(\v2\x14.st_peter.admin.UserR\x05users\"p\n" + + "\x19GetAssignableRolesRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\",\n" + + "\tScopeList\x12\x1f\n" + + "\vscope_codes\x18\x01 \x03(\tR\n" + + "scopeCodes\"\xaa\x03\n" + + "\x1aGetAssignableRolesResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x125\n" + + "\x05roles\x18\x04 \x03(\v2\x1f.st_peter.admin.RoleScopeTargetR\x05roles\x12-\n" + + "\x06scopes\x18\x05 \x03(\v2\x15.st_peter.admin.ScopeR\x06scopes\x12[\n" + + "\vrole_scopes\x18\x06 \x03(\v2:.st_peter.admin.GetAssignableRolesResponse.RoleScopesEntryR\n" + + "roleScopes\x1aX\n" + + "\x0fRoleScopesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12/\n" + + "\x05value\x18\x02 \x01(\v2\x19.st_peter.admin.ScopeListR\x05value:\x028\x01\"\xc0\x01\n" + + "\x0fRoleScopeTarget\x12(\n" + + "\x04role\x18\x01 \x01(\v2\x14.st_peter.admin.RoleR\x04role\x12+\n" + + "\x05scope\x18\x02 \x01(\v2\x15.st_peter.admin.ScopeR\x05scope\x12\x1b\n" + + "\ttarget_id\x18\x03 \x01(\tR\btargetId\x129\n" + + "\n" + + "expires_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"l\n" + + "\x15GetRoleDetailsRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\arole_id\x18\x03 \x01(\tR\x06roleId\"p\n" + + "\tRoleScope\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\arole_id\x18\x02 \x01(\tR\x06roleId\x12\x1d\n" + + "\n" + + "scope_code\x18\x03 \x01(\tR\tscopeCode\x12\x1b\n" + + "\tis_active\x18\x04 \x01(\bR\bisActive\"\x8d\x03\n" + + "\x16GetRoleDetailsResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12(\n" + + "\x04role\x18\x04 \x01(\v2\x14.st_peter.admin.RoleR\x04role\x12?\n" + + "\x0eassigned_roles\x18\x05 \x03(\v2\x18.st_peter.admin.UserRoleR\rassignedRoles\x12-\n" + + "\x06scopes\x18\x06 \x03(\v2\x15.st_peter.admin.ScopeR\x06scopes\x12,\n" + + "\x06actors\x18\a \x03(\v2\x14.st_peter.admin.UserR\x06actors\x12:\n" + + "\vrole_scopes\x18\b \x03(\v2\x19.st_peter.admin.RoleScopeR\n" + + "roleScopes\"e\n" + + "\x0eGetRoleRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\arole_id\x18\x03 \x01(\tR\x06roleId\"\xac\x01\n" + + "\x0fGetRoleResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12(\n" + + "\x04role\x18\x04 \x01(\v2\x14.st_peter.admin.RoleR\x04role\"r\n" + + "\x12GetUserRoleRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12 \n" + + "\fuser_role_id\x18\x03 \x01(\tR\n" + + "userRoleId\"\x94\x02\n" + + "\x13GetUserRoleResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x125\n" + + "\tuser_role\x18\x04 \x01(\v2\x18.st_peter.admin.UserRoleR\buserRole\x12(\n" + + "\x04role\x18\x05 \x01(\v2\x14.st_peter.admin.RoleR\x04role\x12+\n" + + "\x05scope\x18\x06 \x01(\v2\x15.st_peter.admin.ScopeR\x05scope\"\xfe\x02\n" + + "\x15UpdateUserInfoRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\x12$\n" + + "\vfirst_names\x18\x04 \x01(\tH\x00R\n" + + "firstNames\x88\x01\x01\x12 \n" + + "\tlast_name\x18\x05 \x01(\tH\x01R\blastName\x88\x01\x01\x121\n" + + "\x12profile_picture_id\x18\x06 \x01(\tH\x02R\x10profilePictureId\x88\x01\x01\x128\n" + + "\rdate_of_birth\x18\a \x01(\v2\x14.st_peter.admin.DateR\vdateOfBirth\x12\x1b\n" + + "\x06handle\x18\b \x01(\tH\x03R\x06handle\x88\x01\x01B\x0e\n" + + "\f_first_namesB\f\n" + + "\n" + + "_last_nameB\x15\n" + + "\x13_profile_picture_idB\t\n" + + "\a_handle\"\xb3\x01\n" + + "\x16UpdateUserInfoResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12(\n" + + "\x04user\x18\x04 \x01(\v2\x14.st_peter.admin.UserR\x04user\"u\n" + + "\x18GetScopeAncestorsRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x1d\n" + + "\n" + + "scope_code\x18\x03 \x01(\tR\tscopeCode\"\xc1\x01\n" + + "\x19GetScopeAncestorsResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x123\n" + + "\tancestors\x18\x04 \x03(\v2\x15.st_peter.admin.ScopeR\tancestors\"w\n" + + "\x1aGetScopeDescendantsRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x1d\n" + + "\n" + + "scope_code\x18\x03 \x01(\tR\tscopeCode\"\xc7\x01\n" + + "\x1bGetScopeDescendantsResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x127\n" + + "\vdescendants\x18\x04 \x03(\v2\x15.st_peter.admin.ScopeR\vdescendants\"x\n" + + "\x1bGetAssignableTargetsRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x1d\n" + + "\n" + + "scope_code\x18\x03 \x01(\tR\tscopeCode\"\xe6\x01\n" + + "\x1cGetAssignableTargetsResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12\x1d\n" + + "\n" + + "target_ids\x18\x04 \x03(\tR\ttargetIds\x126\n" + + "\x17all_targets_permissible\x18\x05 \x01(\bR\x15allTargetsPermissible\"\xfa\x01\n" + + "\x15GetUsersByRoleRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\arole_id\x18\x03 \x01(\tR\x06roleId\x12\"\n" + + "\n" + + "scope_code\x18\x04 \x01(\tH\x00R\tscopeCode\x88\x01\x01\x12 \n" + + "\ttarget_id\x18\x05 \x01(\tH\x01R\btargetId\x88\x01\x01\x12)\n" + + "\x10include_inactive\x18\x06 \x01(\bR\x0fincludeInactiveB\r\n" + + "\v_scope_codeB\f\n" + + "\n" + + "_target_id\"\xcb\x01\n" + + "\x16GetUsersByRoleResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12*\n" + + "\x05users\x18\x04 \x03(\v2\x14.st_peter.admin.UserR\x05users\x12\x14\n" + + "\x05total\x18\x05 \x01(\x05R\x05total\"\xae\x03\n" + + "\x11CreateUserRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x19\n" + + "\x05email\x18\x03 \x01(\tH\x00R\x05email\x88\x01\x01\x12\x19\n" + + "\x05phone\x18\x04 \x01(\tH\x01R\x05phone\x88\x01\x01\x12\x1f\n" + + "\vfirst_names\x18\x05 \x01(\tR\n" + + "firstNames\x12\x1b\n" + + "\tlast_name\x18\x06 \x01(\tR\blastName\x12.\n" + + "\x13profile_picture_url\x18\a \x01(\tR\x11profilePictureUrl\x12\x1f\n" + + "\bpassword\x18\b \x01(\tH\x02R\bpassword\x88\x01\x01\x12=\n" + + "\rdate_of_birth\x18\t \x01(\v2\x14.st_peter.admin.DateH\x03R\vdateOfBirth\x88\x01\x01\x12\x1b\n" + + "\x06handle\x18\n" + + " \x01(\tH\x04R\x06handle\x88\x01\x01B\b\n" + + "\x06_emailB\b\n" + + "\x06_phoneB\v\n" + + "\t_passwordB\x10\n" + + "\x0e_date_of_birthB\t\n" + + "\a_handle\"\xdd\x01\n" + + "\x12CreateUserResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12(\n" + + "\x04user\x18\x04 \x01(\v2\x14.st_peter.admin.UserR\x04user\x12\x1f\n" + + "\bpassword\x18\x05 \x01(\tH\x00R\bpassword\x88\x01\x01B\v\n" + + "\t_password\"\x90\x02\n" + + "\n" + + "DeviceInfo\x12)\n" + + "\x10application_name\x18\x01 \x01(\tR\x0fapplicationName\x12/\n" + + "\x13application_version\x18\x02 \x01(\tR\x12applicationVersion\x12\x1f\n" + + "\vdevice_name\x18\x03 \x01(\tR\n" + + "deviceName\x12\x1f\n" + + "\vdevice_type\x18\x04 \x01(\tR\n" + + "deviceType\x12\x1b\n" + + "\tdevice_os\x18\x05 \x01(\tR\bdeviceOs\x12*\n" + + "\x11device_os_version\x18\x06 \x01(\tR\x0fdeviceOsVersion\x12\x1b\n" + + "\tdevice_id\x18\a \x01(\tR\bdeviceId\"\x85\x03\n" + + "\vUserSession\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\auser_id\x18\x02 \x01(\tR\x06userId\x12;\n" + + "\vdevice_info\x18\x03 \x01(\v2\x1a.st_peter.admin.DeviceInfoR\n" + + "deviceInfo\x129\n" + + "\n" + + "created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" + + "\n" + + "expires_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x12?\n" + + "\rlast_activity\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\flastActivity\x12\x1b\n" + + "\tis_active\x18\a \x01(\bR\bisActive\x12\x1d\n" + + "\n" + + "ip_address\x18\b \x01(\tR\tipAddress\x12\x1d\n" + + "\n" + + "user_agent\x18\t \x01(\tR\tuserAgent\"\x95\x01\n" + + "\x16GetUserSessionsRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\x12\x12\n" + + "\x04page\x18\x04 \x01(\x05R\x04page\x12\x12\n" + + "\x04size\x18\x05 \x01(\x05R\x04size\"\xd9\x01\n" + + "\x17GetUserSessionsResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x127\n" + + "\bsessions\x18\x04 \x03(\v2\x1b.st_peter.admin.UserSessionR\bsessions\x12\x14\n" + + "\x05total\x18\x05 \x01(\x05R\x05total\"\x90\x01\n" + + "\x18ClearUserSessionsRequest\x12\x19\n" + + "\bactor_id\x18\x01 \x01(\tR\aactorId\x12\x1f\n" + + "\vactor_token\x18\x02 \x01(\tR\n" + + "actorToken\x12\x17\n" + + "\auser_id\x18\x03 \x01(\tR\x06userId\x12\x1f\n" + + "\vsession_ids\x18\x04 \x03(\tR\n" + + "sessionIds\"\xb1\x01\n" + + "\x19ClearUserSessionsResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12;\n" + + "\vresult_code\x18\x02 \x01(\x0e2\x1a.st_peter.admin.ResultCodeR\n" + + "resultCode\x12\x18\n" + + "\amessage\x18\x03 \x01(\tR\amessage\x12#\n" + + "\rcleared_count\x18\x04 \x01(\x05R\fclearedCount*\xbd\x01\n" + + "\n" + + "ResultCode\x12\x17\n" + + "\x13RESULT_CODE_SUCCESS\x10\x00\x12\x19\n" + + "\x15RESULT_CODE_BAD_INPUT\x10\x01\x12\x19\n" + + "\x15RESULT_CODE_NOT_FOUND\x10\x02\x12%\n" + + "!RESULT_CODE_INTERNAL_SERVER_ERROR\x10\x03\x12\x1e\n" + + "\x1aRESULT_CODE_NOT_AUTHORIZED\x10\x04\x12\x19\n" + + "\x15RESULT_CODE_FORBIDDEN\x10\x052\xe9\x11\n" + + "\x10AuthAdminService\x12G\n" + + "\aGetUser\x12\x1e.st_peter.admin.GetUserRequest\x1a\x1c.st_peter.admin.UserResponse\x12J\n" + + "\bGetUsers\x12\x1f.st_peter.admin.GetUsersRequest\x1a\x1d.st_peter.admin.UsersResponse\x12`\n" + + "\x13GetUsersByUsernames\x12*.st_peter.admin.GetUsersByUsernamesRequest\x1a\x1d.st_peter.admin.UsersResponse\x12R\n" + + "\n" + + "DeleteUser\x12!.st_peter.admin.DeleteUserRequest\x1a!.st_peter.admin.OperationResponse\x12T\n" + + "\vRestoreUser\x12\".st_peter.admin.RestoreUserRequest\x1a!.st_peter.admin.OperationResponse\x12_\n" + + "\x10AssignRoleToUser\x12!.st_peter.admin.AssignRoleRequest\x1a(.st_peter.admin.GetUserWithRolesResponse\x12e\n" + + "\x14UnassignRoleFromUser\x12#.st_peter.admin.UnassignRoleRequest\x1a(.st_peter.admin.GetUserWithRolesResponse\x12_\n" + + "\x0eGetRoleDetails\x12%.st_peter.admin.GetRoleDetailsRequest\x1a&.st_peter.admin.GetRoleDetailsResponse\x12J\n" + + "\aGetRole\x12\x1e.st_peter.admin.GetRoleRequest\x1a\x1f.st_peter.admin.GetRoleResponse\x12V\n" + + "\vGetUserRole\x12\".st_peter.admin.GetUserRoleRequest\x1a#.st_peter.admin.GetUserRoleResponse\x12V\n" + + "\vSearchUsers\x12\".st_peter.admin.SearchUsersRequest\x1a#.st_peter.admin.SearchUsersResponse\x12S\n" + + "\n" + + "CountUsers\x12!.st_peter.admin.CountUsersRequest\x1a\".st_peter.admin.CountUsersResponse\x12V\n" + + "\vSearchRoles\x12\".st_peter.admin.SearchRolesRequest\x1a#.st_peter.admin.SearchRolesResponse\x12\\\n" + + "\rGetRoleScopes\x12$.st_peter.admin.GetRoleScopesRequest\x1a%.st_peter.admin.GetRoleScopesResponse\x12e\n" + + "\x10GetUserWithRoles\x12'.st_peter.admin.GetUserWithRolesRequest\x1a(.st_peter.admin.GetUserWithRolesResponse\x12k\n" + + "\x12GetAssignableRoles\x12).st_peter.admin.GetAssignableRolesRequest\x1a*.st_peter.admin.GetAssignableRolesResponse\x12_\n" + + "\x0eUpdateUserInfo\x12%.st_peter.admin.UpdateUserInfoRequest\x1a&.st_peter.admin.UpdateUserInfoResponse\x12h\n" + + "\x11GetScopeAncestors\x12(.st_peter.admin.GetScopeAncestorsRequest\x1a).st_peter.admin.GetScopeAncestorsResponse\x12n\n" + + "\x13GetScopeDescendants\x12*.st_peter.admin.GetScopeDescendantsRequest\x1a+.st_peter.admin.GetScopeDescendantsResponse\x12q\n" + + "\x14GetAssignableTargets\x12+.st_peter.admin.GetAssignableTargetsRequest\x1a,.st_peter.admin.GetAssignableTargetsResponse\x12_\n" + + "\x0eGetUsersByRole\x12%.st_peter.admin.GetUsersByRoleRequest\x1a&.st_peter.admin.GetUsersByRoleResponse\x12S\n" + + "\n" + + "CreateUser\x12!.st_peter.admin.CreateUserRequest\x1a\".st_peter.admin.CreateUserResponse\x12b\n" + + "\x0fGetUserSessions\x12&.st_peter.admin.GetUserSessionsRequest\x1a'.st_peter.admin.GetUserSessionsResponse\x12h\n" + + "\x11ClearUserSessions\x12(.st_peter.admin.ClearUserSessionsRequest\x1a).st_peter.admin.ClearUserSessionsResponseB$Z\"nandie.com/pkg/;auth_admin_serviceb\x06proto3" + +var ( + file_st_peter_admin_proto_rawDescOnce sync.Once + file_st_peter_admin_proto_rawDescData []byte +) + +func file_st_peter_admin_proto_rawDescGZIP() []byte { + file_st_peter_admin_proto_rawDescOnce.Do(func() { + file_st_peter_admin_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_st_peter_admin_proto_rawDesc), len(file_st_peter_admin_proto_rawDesc))) + }) + return file_st_peter_admin_proto_rawDescData +} + +var file_st_peter_admin_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_st_peter_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 65) +var file_st_peter_admin_proto_goTypes = []any{ + (ResultCode)(0), // 0: st_peter.admin.ResultCode + (*Date)(nil), // 1: st_peter.admin.Date + (*User)(nil), // 2: st_peter.admin.User + (*Role)(nil), // 3: st_peter.admin.Role + (*SocialAccount)(nil), // 4: st_peter.admin.SocialAccount + (*RegisterUserRequest)(nil), // 5: st_peter.admin.RegisterUserRequest + (*UserResponse)(nil), // 6: st_peter.admin.UserResponse + (*LoginRequest)(nil), // 7: st_peter.admin.LoginRequest + (*AuthenticationResponse)(nil), // 8: st_peter.admin.AuthenticationResponse + (*GetUserRequest)(nil), // 9: st_peter.admin.GetUserRequest + (*GetUsersByUsernamesRequest)(nil), // 10: st_peter.admin.GetUsersByUsernamesRequest + (*DeleteUserRequest)(nil), // 11: st_peter.admin.DeleteUserRequest + (*RestoreUserRequest)(nil), // 12: st_peter.admin.RestoreUserRequest + (*AssignRoleRequest)(nil), // 13: st_peter.admin.AssignRoleRequest + (*UnassignRoleRequest)(nil), // 14: st_peter.admin.UnassignRoleRequest + (*OperationResponse)(nil), // 15: st_peter.admin.OperationResponse + (*SearchUsersRequest)(nil), // 16: st_peter.admin.SearchUsersRequest + (*CountUsersRequest)(nil), // 17: st_peter.admin.CountUsersRequest + (*TimeSeriesStatistic)(nil), // 18: st_peter.admin.TimeSeriesStatistic + (*CountUsersResponse)(nil), // 19: st_peter.admin.CountUsersResponse + (*SearchUsersResponse)(nil), // 20: st_peter.admin.SearchUsersResponse + (*SearchRolesRequest)(nil), // 21: st_peter.admin.SearchRolesRequest + (*SearchRolesResponse)(nil), // 22: st_peter.admin.SearchRolesResponse + (*GetRoleScopesRequest)(nil), // 23: st_peter.admin.GetRoleScopesRequest + (*GetRoleScopesResponse)(nil), // 24: st_peter.admin.GetRoleScopesResponse + (*Lookup)(nil), // 25: st_peter.admin.Lookup + (*Scope)(nil), // 26: st_peter.admin.Scope + (*GetUserWithRolesRequest)(nil), // 27: st_peter.admin.GetUserWithRolesRequest + (*GetUserWithRolesResponse)(nil), // 28: st_peter.admin.GetUserWithRolesResponse + (*UserRole)(nil), // 29: st_peter.admin.UserRole + (*GetUsersRequest)(nil), // 30: st_peter.admin.GetUsersRequest + (*UsersResponse)(nil), // 31: st_peter.admin.UsersResponse + (*GetAssignableRolesRequest)(nil), // 32: st_peter.admin.GetAssignableRolesRequest + (*ScopeList)(nil), // 33: st_peter.admin.ScopeList + (*GetAssignableRolesResponse)(nil), // 34: st_peter.admin.GetAssignableRolesResponse + (*RoleScopeTarget)(nil), // 35: st_peter.admin.RoleScopeTarget + (*GetRoleDetailsRequest)(nil), // 36: st_peter.admin.GetRoleDetailsRequest + (*RoleScope)(nil), // 37: st_peter.admin.RoleScope + (*GetRoleDetailsResponse)(nil), // 38: st_peter.admin.GetRoleDetailsResponse + (*GetRoleRequest)(nil), // 39: st_peter.admin.GetRoleRequest + (*GetRoleResponse)(nil), // 40: st_peter.admin.GetRoleResponse + (*GetUserRoleRequest)(nil), // 41: st_peter.admin.GetUserRoleRequest + (*GetUserRoleResponse)(nil), // 42: st_peter.admin.GetUserRoleResponse + (*UpdateUserInfoRequest)(nil), // 43: st_peter.admin.UpdateUserInfoRequest + (*UpdateUserInfoResponse)(nil), // 44: st_peter.admin.UpdateUserInfoResponse + (*GetScopeAncestorsRequest)(nil), // 45: st_peter.admin.GetScopeAncestorsRequest + (*GetScopeAncestorsResponse)(nil), // 46: st_peter.admin.GetScopeAncestorsResponse + (*GetScopeDescendantsRequest)(nil), // 47: st_peter.admin.GetScopeDescendantsRequest + (*GetScopeDescendantsResponse)(nil), // 48: st_peter.admin.GetScopeDescendantsResponse + (*GetAssignableTargetsRequest)(nil), // 49: st_peter.admin.GetAssignableTargetsRequest + (*GetAssignableTargetsResponse)(nil), // 50: st_peter.admin.GetAssignableTargetsResponse + (*GetUsersByRoleRequest)(nil), // 51: st_peter.admin.GetUsersByRoleRequest + (*GetUsersByRoleResponse)(nil), // 52: st_peter.admin.GetUsersByRoleResponse + (*CreateUserRequest)(nil), // 53: st_peter.admin.CreateUserRequest + (*CreateUserResponse)(nil), // 54: st_peter.admin.CreateUserResponse + (*DeviceInfo)(nil), // 55: st_peter.admin.DeviceInfo + (*UserSession)(nil), // 56: st_peter.admin.UserSession + (*GetUserSessionsRequest)(nil), // 57: st_peter.admin.GetUserSessionsRequest + (*GetUserSessionsResponse)(nil), // 58: st_peter.admin.GetUserSessionsResponse + (*ClearUserSessionsRequest)(nil), // 59: st_peter.admin.ClearUserSessionsRequest + (*ClearUserSessionsResponse)(nil), // 60: st_peter.admin.ClearUserSessionsResponse + nil, // 61: st_peter.admin.GetRoleScopesResponse.RolesEntry + nil, // 62: st_peter.admin.GetUserWithRolesResponse.RolesEntry + nil, // 63: st_peter.admin.GetUserWithRolesResponse.ScopesEntry + nil, // 64: st_peter.admin.GetUserWithRolesResponse.ActorsEntry + nil, // 65: st_peter.admin.GetAssignableRolesResponse.RoleScopesEntry + (*timestamppb.Timestamp)(nil), // 66: google.protobuf.Timestamp +} +var file_st_peter_admin_proto_depIdxs = []int32{ + 66, // 0: st_peter.admin.User.created_at:type_name -> google.protobuf.Timestamp + 66, // 1: st_peter.admin.User.updated_at:type_name -> google.protobuf.Timestamp + 66, // 2: st_peter.admin.User.deleted_at:type_name -> google.protobuf.Timestamp + 66, // 3: st_peter.admin.User.last_login:type_name -> google.protobuf.Timestamp + 1, // 4: st_peter.admin.User.date_of_birth:type_name -> st_peter.admin.Date + 4, // 5: st_peter.admin.User.social_accounts:type_name -> st_peter.admin.SocialAccount + 66, // 6: st_peter.admin.Role.created_at:type_name -> google.protobuf.Timestamp + 66, // 7: st_peter.admin.Role.updated_at:type_name -> google.protobuf.Timestamp + 66, // 8: st_peter.admin.SocialAccount.expires_at:type_name -> google.protobuf.Timestamp + 0, // 9: st_peter.admin.UserResponse.result_code:type_name -> st_peter.admin.ResultCode + 2, // 10: st_peter.admin.UserResponse.user:type_name -> st_peter.admin.User + 0, // 11: st_peter.admin.AuthenticationResponse.result_code:type_name -> st_peter.admin.ResultCode + 2, // 12: st_peter.admin.AuthenticationResponse.user:type_name -> st_peter.admin.User + 66, // 13: st_peter.admin.AssignRoleRequest.expires_at:type_name -> google.protobuf.Timestamp + 0, // 14: st_peter.admin.OperationResponse.result_code:type_name -> st_peter.admin.ResultCode + 0, // 15: st_peter.admin.CountUsersResponse.result_code:type_name -> st_peter.admin.ResultCode + 1, // 16: st_peter.admin.CountUsersResponse.current_date:type_name -> st_peter.admin.Date + 18, // 17: st_peter.admin.CountUsersResponse.daily:type_name -> st_peter.admin.TimeSeriesStatistic + 18, // 18: st_peter.admin.CountUsersResponse.monthly:type_name -> st_peter.admin.TimeSeriesStatistic + 0, // 19: st_peter.admin.SearchUsersResponse.result_code:type_name -> st_peter.admin.ResultCode + 2, // 20: st_peter.admin.SearchUsersResponse.users:type_name -> st_peter.admin.User + 0, // 21: st_peter.admin.SearchRolesResponse.result_code:type_name -> st_peter.admin.ResultCode + 3, // 22: st_peter.admin.SearchRolesResponse.roles:type_name -> st_peter.admin.Role + 0, // 23: st_peter.admin.GetRoleScopesResponse.result_code:type_name -> st_peter.admin.ResultCode + 37, // 24: st_peter.admin.GetRoleScopesResponse.role_scopes:type_name -> st_peter.admin.RoleScope + 61, // 25: st_peter.admin.GetRoleScopesResponse.roles:type_name -> st_peter.admin.GetRoleScopesResponse.RolesEntry + 0, // 26: st_peter.admin.GetUserWithRolesResponse.result_code:type_name -> st_peter.admin.ResultCode + 2, // 27: st_peter.admin.GetUserWithRolesResponse.user:type_name -> st_peter.admin.User + 62, // 28: st_peter.admin.GetUserWithRolesResponse.roles:type_name -> st_peter.admin.GetUserWithRolesResponse.RolesEntry + 29, // 29: st_peter.admin.GetUserWithRolesResponse.assigned_roles:type_name -> st_peter.admin.UserRole + 63, // 30: st_peter.admin.GetUserWithRolesResponse.scopes:type_name -> st_peter.admin.GetUserWithRolesResponse.ScopesEntry + 64, // 31: st_peter.admin.GetUserWithRolesResponse.actors:type_name -> st_peter.admin.GetUserWithRolesResponse.ActorsEntry + 66, // 32: st_peter.admin.UserRole.created_at:type_name -> google.protobuf.Timestamp + 66, // 33: st_peter.admin.UserRole.updated_at:type_name -> google.protobuf.Timestamp + 66, // 34: st_peter.admin.UserRole.expires_at:type_name -> google.protobuf.Timestamp + 66, // 35: st_peter.admin.UserRole.deleted_at:type_name -> google.protobuf.Timestamp + 0, // 36: st_peter.admin.UsersResponse.result_code:type_name -> st_peter.admin.ResultCode + 2, // 37: st_peter.admin.UsersResponse.users:type_name -> st_peter.admin.User + 0, // 38: st_peter.admin.GetAssignableRolesResponse.result_code:type_name -> st_peter.admin.ResultCode + 35, // 39: st_peter.admin.GetAssignableRolesResponse.roles:type_name -> st_peter.admin.RoleScopeTarget + 26, // 40: st_peter.admin.GetAssignableRolesResponse.scopes:type_name -> st_peter.admin.Scope + 65, // 41: st_peter.admin.GetAssignableRolesResponse.role_scopes:type_name -> st_peter.admin.GetAssignableRolesResponse.RoleScopesEntry + 3, // 42: st_peter.admin.RoleScopeTarget.role:type_name -> st_peter.admin.Role + 26, // 43: st_peter.admin.RoleScopeTarget.scope:type_name -> st_peter.admin.Scope + 66, // 44: st_peter.admin.RoleScopeTarget.expires_at:type_name -> google.protobuf.Timestamp + 0, // 45: st_peter.admin.GetRoleDetailsResponse.result_code:type_name -> st_peter.admin.ResultCode + 3, // 46: st_peter.admin.GetRoleDetailsResponse.role:type_name -> st_peter.admin.Role + 29, // 47: st_peter.admin.GetRoleDetailsResponse.assigned_roles:type_name -> st_peter.admin.UserRole + 26, // 48: st_peter.admin.GetRoleDetailsResponse.scopes:type_name -> st_peter.admin.Scope + 2, // 49: st_peter.admin.GetRoleDetailsResponse.actors:type_name -> st_peter.admin.User + 37, // 50: st_peter.admin.GetRoleDetailsResponse.role_scopes:type_name -> st_peter.admin.RoleScope + 0, // 51: st_peter.admin.GetRoleResponse.result_code:type_name -> st_peter.admin.ResultCode + 3, // 52: st_peter.admin.GetRoleResponse.role:type_name -> st_peter.admin.Role + 0, // 53: st_peter.admin.GetUserRoleResponse.result_code:type_name -> st_peter.admin.ResultCode + 29, // 54: st_peter.admin.GetUserRoleResponse.user_role:type_name -> st_peter.admin.UserRole + 3, // 55: st_peter.admin.GetUserRoleResponse.role:type_name -> st_peter.admin.Role + 26, // 56: st_peter.admin.GetUserRoleResponse.scope:type_name -> st_peter.admin.Scope + 1, // 57: st_peter.admin.UpdateUserInfoRequest.date_of_birth:type_name -> st_peter.admin.Date + 0, // 58: st_peter.admin.UpdateUserInfoResponse.result_code:type_name -> st_peter.admin.ResultCode + 2, // 59: st_peter.admin.UpdateUserInfoResponse.user:type_name -> st_peter.admin.User + 0, // 60: st_peter.admin.GetScopeAncestorsResponse.result_code:type_name -> st_peter.admin.ResultCode + 26, // 61: st_peter.admin.GetScopeAncestorsResponse.ancestors:type_name -> st_peter.admin.Scope + 0, // 62: st_peter.admin.GetScopeDescendantsResponse.result_code:type_name -> st_peter.admin.ResultCode + 26, // 63: st_peter.admin.GetScopeDescendantsResponse.descendants:type_name -> st_peter.admin.Scope + 0, // 64: st_peter.admin.GetAssignableTargetsResponse.result_code:type_name -> st_peter.admin.ResultCode + 0, // 65: st_peter.admin.GetUsersByRoleResponse.result_code:type_name -> st_peter.admin.ResultCode + 2, // 66: st_peter.admin.GetUsersByRoleResponse.users:type_name -> st_peter.admin.User + 1, // 67: st_peter.admin.CreateUserRequest.date_of_birth:type_name -> st_peter.admin.Date + 0, // 68: st_peter.admin.CreateUserResponse.result_code:type_name -> st_peter.admin.ResultCode + 2, // 69: st_peter.admin.CreateUserResponse.user:type_name -> st_peter.admin.User + 55, // 70: st_peter.admin.UserSession.device_info:type_name -> st_peter.admin.DeviceInfo + 66, // 71: st_peter.admin.UserSession.created_at:type_name -> google.protobuf.Timestamp + 66, // 72: st_peter.admin.UserSession.expires_at:type_name -> google.protobuf.Timestamp + 66, // 73: st_peter.admin.UserSession.last_activity:type_name -> google.protobuf.Timestamp + 0, // 74: st_peter.admin.GetUserSessionsResponse.result_code:type_name -> st_peter.admin.ResultCode + 56, // 75: st_peter.admin.GetUserSessionsResponse.sessions:type_name -> st_peter.admin.UserSession + 0, // 76: st_peter.admin.ClearUserSessionsResponse.result_code:type_name -> st_peter.admin.ResultCode + 3, // 77: st_peter.admin.GetRoleScopesResponse.RolesEntry.value:type_name -> st_peter.admin.Role + 3, // 78: st_peter.admin.GetUserWithRolesResponse.RolesEntry.value:type_name -> st_peter.admin.Role + 26, // 79: st_peter.admin.GetUserWithRolesResponse.ScopesEntry.value:type_name -> st_peter.admin.Scope + 2, // 80: st_peter.admin.GetUserWithRolesResponse.ActorsEntry.value:type_name -> st_peter.admin.User + 33, // 81: st_peter.admin.GetAssignableRolesResponse.RoleScopesEntry.value:type_name -> st_peter.admin.ScopeList + 9, // 82: st_peter.admin.AuthAdminService.GetUser:input_type -> st_peter.admin.GetUserRequest + 30, // 83: st_peter.admin.AuthAdminService.GetUsers:input_type -> st_peter.admin.GetUsersRequest + 10, // 84: st_peter.admin.AuthAdminService.GetUsersByUsernames:input_type -> st_peter.admin.GetUsersByUsernamesRequest + 11, // 85: st_peter.admin.AuthAdminService.DeleteUser:input_type -> st_peter.admin.DeleteUserRequest + 12, // 86: st_peter.admin.AuthAdminService.RestoreUser:input_type -> st_peter.admin.RestoreUserRequest + 13, // 87: st_peter.admin.AuthAdminService.AssignRoleToUser:input_type -> st_peter.admin.AssignRoleRequest + 14, // 88: st_peter.admin.AuthAdminService.UnassignRoleFromUser:input_type -> st_peter.admin.UnassignRoleRequest + 36, // 89: st_peter.admin.AuthAdminService.GetRoleDetails:input_type -> st_peter.admin.GetRoleDetailsRequest + 39, // 90: st_peter.admin.AuthAdminService.GetRole:input_type -> st_peter.admin.GetRoleRequest + 41, // 91: st_peter.admin.AuthAdminService.GetUserRole:input_type -> st_peter.admin.GetUserRoleRequest + 16, // 92: st_peter.admin.AuthAdminService.SearchUsers:input_type -> st_peter.admin.SearchUsersRequest + 17, // 93: st_peter.admin.AuthAdminService.CountUsers:input_type -> st_peter.admin.CountUsersRequest + 21, // 94: st_peter.admin.AuthAdminService.SearchRoles:input_type -> st_peter.admin.SearchRolesRequest + 23, // 95: st_peter.admin.AuthAdminService.GetRoleScopes:input_type -> st_peter.admin.GetRoleScopesRequest + 27, // 96: st_peter.admin.AuthAdminService.GetUserWithRoles:input_type -> st_peter.admin.GetUserWithRolesRequest + 32, // 97: st_peter.admin.AuthAdminService.GetAssignableRoles:input_type -> st_peter.admin.GetAssignableRolesRequest + 43, // 98: st_peter.admin.AuthAdminService.UpdateUserInfo:input_type -> st_peter.admin.UpdateUserInfoRequest + 45, // 99: st_peter.admin.AuthAdminService.GetScopeAncestors:input_type -> st_peter.admin.GetScopeAncestorsRequest + 47, // 100: st_peter.admin.AuthAdminService.GetScopeDescendants:input_type -> st_peter.admin.GetScopeDescendantsRequest + 49, // 101: st_peter.admin.AuthAdminService.GetAssignableTargets:input_type -> st_peter.admin.GetAssignableTargetsRequest + 51, // 102: st_peter.admin.AuthAdminService.GetUsersByRole:input_type -> st_peter.admin.GetUsersByRoleRequest + 53, // 103: st_peter.admin.AuthAdminService.CreateUser:input_type -> st_peter.admin.CreateUserRequest + 57, // 104: st_peter.admin.AuthAdminService.GetUserSessions:input_type -> st_peter.admin.GetUserSessionsRequest + 59, // 105: st_peter.admin.AuthAdminService.ClearUserSessions:input_type -> st_peter.admin.ClearUserSessionsRequest + 6, // 106: st_peter.admin.AuthAdminService.GetUser:output_type -> st_peter.admin.UserResponse + 31, // 107: st_peter.admin.AuthAdminService.GetUsers:output_type -> st_peter.admin.UsersResponse + 31, // 108: st_peter.admin.AuthAdminService.GetUsersByUsernames:output_type -> st_peter.admin.UsersResponse + 15, // 109: st_peter.admin.AuthAdminService.DeleteUser:output_type -> st_peter.admin.OperationResponse + 15, // 110: st_peter.admin.AuthAdminService.RestoreUser:output_type -> st_peter.admin.OperationResponse + 28, // 111: st_peter.admin.AuthAdminService.AssignRoleToUser:output_type -> st_peter.admin.GetUserWithRolesResponse + 28, // 112: st_peter.admin.AuthAdminService.UnassignRoleFromUser:output_type -> st_peter.admin.GetUserWithRolesResponse + 38, // 113: st_peter.admin.AuthAdminService.GetRoleDetails:output_type -> st_peter.admin.GetRoleDetailsResponse + 40, // 114: st_peter.admin.AuthAdminService.GetRole:output_type -> st_peter.admin.GetRoleResponse + 42, // 115: st_peter.admin.AuthAdminService.GetUserRole:output_type -> st_peter.admin.GetUserRoleResponse + 20, // 116: st_peter.admin.AuthAdminService.SearchUsers:output_type -> st_peter.admin.SearchUsersResponse + 19, // 117: st_peter.admin.AuthAdminService.CountUsers:output_type -> st_peter.admin.CountUsersResponse + 22, // 118: st_peter.admin.AuthAdminService.SearchRoles:output_type -> st_peter.admin.SearchRolesResponse + 24, // 119: st_peter.admin.AuthAdminService.GetRoleScopes:output_type -> st_peter.admin.GetRoleScopesResponse + 28, // 120: st_peter.admin.AuthAdminService.GetUserWithRoles:output_type -> st_peter.admin.GetUserWithRolesResponse + 34, // 121: st_peter.admin.AuthAdminService.GetAssignableRoles:output_type -> st_peter.admin.GetAssignableRolesResponse + 44, // 122: st_peter.admin.AuthAdminService.UpdateUserInfo:output_type -> st_peter.admin.UpdateUserInfoResponse + 46, // 123: st_peter.admin.AuthAdminService.GetScopeAncestors:output_type -> st_peter.admin.GetScopeAncestorsResponse + 48, // 124: st_peter.admin.AuthAdminService.GetScopeDescendants:output_type -> st_peter.admin.GetScopeDescendantsResponse + 50, // 125: st_peter.admin.AuthAdminService.GetAssignableTargets:output_type -> st_peter.admin.GetAssignableTargetsResponse + 52, // 126: st_peter.admin.AuthAdminService.GetUsersByRole:output_type -> st_peter.admin.GetUsersByRoleResponse + 54, // 127: st_peter.admin.AuthAdminService.CreateUser:output_type -> st_peter.admin.CreateUserResponse + 58, // 128: st_peter.admin.AuthAdminService.GetUserSessions:output_type -> st_peter.admin.GetUserSessionsResponse + 60, // 129: st_peter.admin.AuthAdminService.ClearUserSessions:output_type -> st_peter.admin.ClearUserSessionsResponse + 106, // [106:130] is the sub-list for method output_type + 82, // [82:106] is the sub-list for method input_type + 82, // [82:82] is the sub-list for extension type_name + 82, // [82:82] is the sub-list for extension extendee + 0, // [0:82] is the sub-list for field type_name +} + +func init() { file_st_peter_admin_proto_init() } +func file_st_peter_admin_proto_init() { + if File_st_peter_admin_proto != nil { + return + } + file_st_peter_admin_proto_msgTypes[1].OneofWrappers = []any{} + file_st_peter_admin_proto_msgTypes[12].OneofWrappers = []any{} + file_st_peter_admin_proto_msgTypes[15].OneofWrappers = []any{} + file_st_peter_admin_proto_msgTypes[22].OneofWrappers = []any{} + file_st_peter_admin_proto_msgTypes[25].OneofWrappers = []any{} + file_st_peter_admin_proto_msgTypes[28].OneofWrappers = []any{} + file_st_peter_admin_proto_msgTypes[42].OneofWrappers = []any{} + file_st_peter_admin_proto_msgTypes[50].OneofWrappers = []any{} + file_st_peter_admin_proto_msgTypes[52].OneofWrappers = []any{} + file_st_peter_admin_proto_msgTypes[53].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_st_peter_admin_proto_rawDesc), len(file_st_peter_admin_proto_rawDesc)), + NumEnums: 1, + NumMessages: 65, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_st_peter_admin_proto_goTypes, + DependencyIndexes: file_st_peter_admin_proto_depIdxs, + EnumInfos: file_st_peter_admin_proto_enumTypes, + MessageInfos: file_st_peter_admin_proto_msgTypes, + }.Build() + File_st_peter_admin_proto = out.File + file_st_peter_admin_proto_goTypes = nil + file_st_peter_admin_proto_depIdxs = nil +} diff --git a/go/genpb/admin/st-peter-admin_grpc.pb.go b/go/genpb/admin/st-peter-admin_grpc.pb.go new file mode 100644 index 0000000..f976709 --- /dev/null +++ b/go/genpb/admin/st-peter-admin_grpc.pb.go @@ -0,0 +1,995 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.6.2 +// - protoc v7.34.1 +// source: st-peter-admin.proto + +package auth_admin_service + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + AuthAdminService_GetUser_FullMethodName = "/st_peter.admin.AuthAdminService/GetUser" + AuthAdminService_GetUsers_FullMethodName = "/st_peter.admin.AuthAdminService/GetUsers" + AuthAdminService_GetUsersByUsernames_FullMethodName = "/st_peter.admin.AuthAdminService/GetUsersByUsernames" + AuthAdminService_DeleteUser_FullMethodName = "/st_peter.admin.AuthAdminService/DeleteUser" + AuthAdminService_RestoreUser_FullMethodName = "/st_peter.admin.AuthAdminService/RestoreUser" + AuthAdminService_AssignRoleToUser_FullMethodName = "/st_peter.admin.AuthAdminService/AssignRoleToUser" + AuthAdminService_UnassignRoleFromUser_FullMethodName = "/st_peter.admin.AuthAdminService/UnassignRoleFromUser" + AuthAdminService_GetRoleDetails_FullMethodName = "/st_peter.admin.AuthAdminService/GetRoleDetails" + AuthAdminService_GetRole_FullMethodName = "/st_peter.admin.AuthAdminService/GetRole" + AuthAdminService_GetUserRole_FullMethodName = "/st_peter.admin.AuthAdminService/GetUserRole" + AuthAdminService_SearchUsers_FullMethodName = "/st_peter.admin.AuthAdminService/SearchUsers" + AuthAdminService_CountUsers_FullMethodName = "/st_peter.admin.AuthAdminService/CountUsers" + AuthAdminService_SearchRoles_FullMethodName = "/st_peter.admin.AuthAdminService/SearchRoles" + AuthAdminService_GetRoleScopes_FullMethodName = "/st_peter.admin.AuthAdminService/GetRoleScopes" + AuthAdminService_GetUserWithRoles_FullMethodName = "/st_peter.admin.AuthAdminService/GetUserWithRoles" + AuthAdminService_GetAssignableRoles_FullMethodName = "/st_peter.admin.AuthAdminService/GetAssignableRoles" + AuthAdminService_UpdateUserInfo_FullMethodName = "/st_peter.admin.AuthAdminService/UpdateUserInfo" + AuthAdminService_GetScopeAncestors_FullMethodName = "/st_peter.admin.AuthAdminService/GetScopeAncestors" + AuthAdminService_GetScopeDescendants_FullMethodName = "/st_peter.admin.AuthAdminService/GetScopeDescendants" + AuthAdminService_GetAssignableTargets_FullMethodName = "/st_peter.admin.AuthAdminService/GetAssignableTargets" + AuthAdminService_GetUsersByRole_FullMethodName = "/st_peter.admin.AuthAdminService/GetUsersByRole" + AuthAdminService_CreateUser_FullMethodName = "/st_peter.admin.AuthAdminService/CreateUser" + AuthAdminService_GetUserSessions_FullMethodName = "/st_peter.admin.AuthAdminService/GetUserSessions" + AuthAdminService_ClearUserSessions_FullMethodName = "/st_peter.admin.AuthAdminService/ClearUserSessions" +) + +// AuthAdminServiceClient is the client API for AuthAdminService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AuthAdminServiceClient interface { + GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*UserResponse, error) + GetUsers(ctx context.Context, in *GetUsersRequest, opts ...grpc.CallOption) (*UsersResponse, error) + GetUsersByUsernames(ctx context.Context, in *GetUsersByUsernamesRequest, opts ...grpc.CallOption) (*UsersResponse, error) + DeleteUser(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*OperationResponse, error) + RestoreUser(ctx context.Context, in *RestoreUserRequest, opts ...grpc.CallOption) (*OperationResponse, error) + AssignRoleToUser(ctx context.Context, in *AssignRoleRequest, opts ...grpc.CallOption) (*GetUserWithRolesResponse, error) + UnassignRoleFromUser(ctx context.Context, in *UnassignRoleRequest, opts ...grpc.CallOption) (*GetUserWithRolesResponse, error) + GetRoleDetails(ctx context.Context, in *GetRoleDetailsRequest, opts ...grpc.CallOption) (*GetRoleDetailsResponse, error) + GetRole(ctx context.Context, in *GetRoleRequest, opts ...grpc.CallOption) (*GetRoleResponse, error) + GetUserRole(ctx context.Context, in *GetUserRoleRequest, opts ...grpc.CallOption) (*GetUserRoleResponse, error) + SearchUsers(ctx context.Context, in *SearchUsersRequest, opts ...grpc.CallOption) (*SearchUsersResponse, error) + CountUsers(ctx context.Context, in *CountUsersRequest, opts ...grpc.CallOption) (*CountUsersResponse, error) + SearchRoles(ctx context.Context, in *SearchRolesRequest, opts ...grpc.CallOption) (*SearchRolesResponse, error) + GetRoleScopes(ctx context.Context, in *GetRoleScopesRequest, opts ...grpc.CallOption) (*GetRoleScopesResponse, error) + GetUserWithRoles(ctx context.Context, in *GetUserWithRolesRequest, opts ...grpc.CallOption) (*GetUserWithRolesResponse, error) + GetAssignableRoles(ctx context.Context, in *GetAssignableRolesRequest, opts ...grpc.CallOption) (*GetAssignableRolesResponse, error) + UpdateUserInfo(ctx context.Context, in *UpdateUserInfoRequest, opts ...grpc.CallOption) (*UpdateUserInfoResponse, error) + GetScopeAncestors(ctx context.Context, in *GetScopeAncestorsRequest, opts ...grpc.CallOption) (*GetScopeAncestorsResponse, error) + GetScopeDescendants(ctx context.Context, in *GetScopeDescendantsRequest, opts ...grpc.CallOption) (*GetScopeDescendantsResponse, error) + GetAssignableTargets(ctx context.Context, in *GetAssignableTargetsRequest, opts ...grpc.CallOption) (*GetAssignableTargetsResponse, error) + GetUsersByRole(ctx context.Context, in *GetUsersByRoleRequest, opts ...grpc.CallOption) (*GetUsersByRoleResponse, error) + CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*CreateUserResponse, error) + GetUserSessions(ctx context.Context, in *GetUserSessionsRequest, opts ...grpc.CallOption) (*GetUserSessionsResponse, error) + ClearUserSessions(ctx context.Context, in *ClearUserSessionsRequest, opts ...grpc.CallOption) (*ClearUserSessionsResponse, error) +} + +type authAdminServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewAuthAdminServiceClient(cc grpc.ClientConnInterface) AuthAdminServiceClient { + return &authAdminServiceClient{cc} +} + +func (c *authAdminServiceClient) GetUser(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*UserResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UserResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetUser_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetUsers(ctx context.Context, in *GetUsersRequest, opts ...grpc.CallOption) (*UsersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UsersResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetUsers_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetUsersByUsernames(ctx context.Context, in *GetUsersByUsernamesRequest, opts ...grpc.CallOption) (*UsersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UsersResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetUsersByUsernames_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) DeleteUser(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*OperationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OperationResponse) + err := c.cc.Invoke(ctx, AuthAdminService_DeleteUser_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) RestoreUser(ctx context.Context, in *RestoreUserRequest, opts ...grpc.CallOption) (*OperationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OperationResponse) + err := c.cc.Invoke(ctx, AuthAdminService_RestoreUser_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) AssignRoleToUser(ctx context.Context, in *AssignRoleRequest, opts ...grpc.CallOption) (*GetUserWithRolesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetUserWithRolesResponse) + err := c.cc.Invoke(ctx, AuthAdminService_AssignRoleToUser_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) UnassignRoleFromUser(ctx context.Context, in *UnassignRoleRequest, opts ...grpc.CallOption) (*GetUserWithRolesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetUserWithRolesResponse) + err := c.cc.Invoke(ctx, AuthAdminService_UnassignRoleFromUser_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetRoleDetails(ctx context.Context, in *GetRoleDetailsRequest, opts ...grpc.CallOption) (*GetRoleDetailsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetRoleDetailsResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetRoleDetails_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetRole(ctx context.Context, in *GetRoleRequest, opts ...grpc.CallOption) (*GetRoleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetRoleResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetRole_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetUserRole(ctx context.Context, in *GetUserRoleRequest, opts ...grpc.CallOption) (*GetUserRoleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetUserRoleResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetUserRole_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) SearchUsers(ctx context.Context, in *SearchUsersRequest, opts ...grpc.CallOption) (*SearchUsersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SearchUsersResponse) + err := c.cc.Invoke(ctx, AuthAdminService_SearchUsers_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) CountUsers(ctx context.Context, in *CountUsersRequest, opts ...grpc.CallOption) (*CountUsersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CountUsersResponse) + err := c.cc.Invoke(ctx, AuthAdminService_CountUsers_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) SearchRoles(ctx context.Context, in *SearchRolesRequest, opts ...grpc.CallOption) (*SearchRolesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SearchRolesResponse) + err := c.cc.Invoke(ctx, AuthAdminService_SearchRoles_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetRoleScopes(ctx context.Context, in *GetRoleScopesRequest, opts ...grpc.CallOption) (*GetRoleScopesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetRoleScopesResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetRoleScopes_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetUserWithRoles(ctx context.Context, in *GetUserWithRolesRequest, opts ...grpc.CallOption) (*GetUserWithRolesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetUserWithRolesResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetUserWithRoles_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetAssignableRoles(ctx context.Context, in *GetAssignableRolesRequest, opts ...grpc.CallOption) (*GetAssignableRolesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetAssignableRolesResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetAssignableRoles_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoRequest, opts ...grpc.CallOption) (*UpdateUserInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateUserInfoResponse) + err := c.cc.Invoke(ctx, AuthAdminService_UpdateUserInfo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetScopeAncestors(ctx context.Context, in *GetScopeAncestorsRequest, opts ...grpc.CallOption) (*GetScopeAncestorsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetScopeAncestorsResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetScopeAncestors_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetScopeDescendants(ctx context.Context, in *GetScopeDescendantsRequest, opts ...grpc.CallOption) (*GetScopeDescendantsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetScopeDescendantsResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetScopeDescendants_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetAssignableTargets(ctx context.Context, in *GetAssignableTargetsRequest, opts ...grpc.CallOption) (*GetAssignableTargetsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetAssignableTargetsResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetAssignableTargets_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetUsersByRole(ctx context.Context, in *GetUsersByRoleRequest, opts ...grpc.CallOption) (*GetUsersByRoleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetUsersByRoleResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetUsersByRole_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) CreateUser(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*CreateUserResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CreateUserResponse) + err := c.cc.Invoke(ctx, AuthAdminService_CreateUser_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) GetUserSessions(ctx context.Context, in *GetUserSessionsRequest, opts ...grpc.CallOption) (*GetUserSessionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetUserSessionsResponse) + err := c.cc.Invoke(ctx, AuthAdminService_GetUserSessions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *authAdminServiceClient) ClearUserSessions(ctx context.Context, in *ClearUserSessionsRequest, opts ...grpc.CallOption) (*ClearUserSessionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ClearUserSessionsResponse) + err := c.cc.Invoke(ctx, AuthAdminService_ClearUserSessions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AuthAdminServiceServer is the server API for AuthAdminService service. +// All implementations must embed UnimplementedAuthAdminServiceServer +// for forward compatibility. +type AuthAdminServiceServer interface { + GetUser(context.Context, *GetUserRequest) (*UserResponse, error) + GetUsers(context.Context, *GetUsersRequest) (*UsersResponse, error) + GetUsersByUsernames(context.Context, *GetUsersByUsernamesRequest) (*UsersResponse, error) + DeleteUser(context.Context, *DeleteUserRequest) (*OperationResponse, error) + RestoreUser(context.Context, *RestoreUserRequest) (*OperationResponse, error) + AssignRoleToUser(context.Context, *AssignRoleRequest) (*GetUserWithRolesResponse, error) + UnassignRoleFromUser(context.Context, *UnassignRoleRequest) (*GetUserWithRolesResponse, error) + GetRoleDetails(context.Context, *GetRoleDetailsRequest) (*GetRoleDetailsResponse, error) + GetRole(context.Context, *GetRoleRequest) (*GetRoleResponse, error) + GetUserRole(context.Context, *GetUserRoleRequest) (*GetUserRoleResponse, error) + SearchUsers(context.Context, *SearchUsersRequest) (*SearchUsersResponse, error) + CountUsers(context.Context, *CountUsersRequest) (*CountUsersResponse, error) + SearchRoles(context.Context, *SearchRolesRequest) (*SearchRolesResponse, error) + GetRoleScopes(context.Context, *GetRoleScopesRequest) (*GetRoleScopesResponse, error) + GetUserWithRoles(context.Context, *GetUserWithRolesRequest) (*GetUserWithRolesResponse, error) + GetAssignableRoles(context.Context, *GetAssignableRolesRequest) (*GetAssignableRolesResponse, error) + UpdateUserInfo(context.Context, *UpdateUserInfoRequest) (*UpdateUserInfoResponse, error) + GetScopeAncestors(context.Context, *GetScopeAncestorsRequest) (*GetScopeAncestorsResponse, error) + GetScopeDescendants(context.Context, *GetScopeDescendantsRequest) (*GetScopeDescendantsResponse, error) + GetAssignableTargets(context.Context, *GetAssignableTargetsRequest) (*GetAssignableTargetsResponse, error) + GetUsersByRole(context.Context, *GetUsersByRoleRequest) (*GetUsersByRoleResponse, error) + CreateUser(context.Context, *CreateUserRequest) (*CreateUserResponse, error) + GetUserSessions(context.Context, *GetUserSessionsRequest) (*GetUserSessionsResponse, error) + ClearUserSessions(context.Context, *ClearUserSessionsRequest) (*ClearUserSessionsResponse, error) + mustEmbedUnimplementedAuthAdminServiceServer() +} + +// UnimplementedAuthAdminServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedAuthAdminServiceServer struct{} + +func (UnimplementedAuthAdminServiceServer) GetUser(context.Context, *GetUserRequest) (*UserResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetUser not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetUsers(context.Context, *GetUsersRequest) (*UsersResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetUsers not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetUsersByUsernames(context.Context, *GetUsersByUsernamesRequest) (*UsersResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetUsersByUsernames not implemented") +} +func (UnimplementedAuthAdminServiceServer) DeleteUser(context.Context, *DeleteUserRequest) (*OperationResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteUser not implemented") +} +func (UnimplementedAuthAdminServiceServer) RestoreUser(context.Context, *RestoreUserRequest) (*OperationResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RestoreUser not implemented") +} +func (UnimplementedAuthAdminServiceServer) AssignRoleToUser(context.Context, *AssignRoleRequest) (*GetUserWithRolesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method AssignRoleToUser not implemented") +} +func (UnimplementedAuthAdminServiceServer) UnassignRoleFromUser(context.Context, *UnassignRoleRequest) (*GetUserWithRolesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UnassignRoleFromUser not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetRoleDetails(context.Context, *GetRoleDetailsRequest) (*GetRoleDetailsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetRoleDetails not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetRole(context.Context, *GetRoleRequest) (*GetRoleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetRole not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetUserRole(context.Context, *GetUserRoleRequest) (*GetUserRoleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetUserRole not implemented") +} +func (UnimplementedAuthAdminServiceServer) SearchUsers(context.Context, *SearchUsersRequest) (*SearchUsersResponse, error) { + return nil, status.Error(codes.Unimplemented, "method SearchUsers not implemented") +} +func (UnimplementedAuthAdminServiceServer) CountUsers(context.Context, *CountUsersRequest) (*CountUsersResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CountUsers not implemented") +} +func (UnimplementedAuthAdminServiceServer) SearchRoles(context.Context, *SearchRolesRequest) (*SearchRolesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method SearchRoles not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetRoleScopes(context.Context, *GetRoleScopesRequest) (*GetRoleScopesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetRoleScopes not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetUserWithRoles(context.Context, *GetUserWithRolesRequest) (*GetUserWithRolesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetUserWithRoles not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetAssignableRoles(context.Context, *GetAssignableRolesRequest) (*GetAssignableRolesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetAssignableRoles not implemented") +} +func (UnimplementedAuthAdminServiceServer) UpdateUserInfo(context.Context, *UpdateUserInfoRequest) (*UpdateUserInfoResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateUserInfo not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetScopeAncestors(context.Context, *GetScopeAncestorsRequest) (*GetScopeAncestorsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetScopeAncestors not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetScopeDescendants(context.Context, *GetScopeDescendantsRequest) (*GetScopeDescendantsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetScopeDescendants not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetAssignableTargets(context.Context, *GetAssignableTargetsRequest) (*GetAssignableTargetsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetAssignableTargets not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetUsersByRole(context.Context, *GetUsersByRoleRequest) (*GetUsersByRoleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetUsersByRole not implemented") +} +func (UnimplementedAuthAdminServiceServer) CreateUser(context.Context, *CreateUserRequest) (*CreateUserResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CreateUser not implemented") +} +func (UnimplementedAuthAdminServiceServer) GetUserSessions(context.Context, *GetUserSessionsRequest) (*GetUserSessionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetUserSessions not implemented") +} +func (UnimplementedAuthAdminServiceServer) ClearUserSessions(context.Context, *ClearUserSessionsRequest) (*ClearUserSessionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ClearUserSessions not implemented") +} +func (UnimplementedAuthAdminServiceServer) mustEmbedUnimplementedAuthAdminServiceServer() {} +func (UnimplementedAuthAdminServiceServer) testEmbeddedByValue() {} + +// UnsafeAuthAdminServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AuthAdminServiceServer will +// result in compilation errors. +type UnsafeAuthAdminServiceServer interface { + mustEmbedUnimplementedAuthAdminServiceServer() +} + +func RegisterAuthAdminServiceServer(s grpc.ServiceRegistrar, srv AuthAdminServiceServer) { + // If the following call panics, it indicates UnimplementedAuthAdminServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&AuthAdminService_ServiceDesc, srv) +} + +func _AuthAdminService_GetUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetUser_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetUser(ctx, req.(*GetUserRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUsersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetUsers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetUsers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetUsers(ctx, req.(*GetUsersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetUsersByUsernames_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUsersByUsernamesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetUsersByUsernames(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetUsersByUsernames_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetUsersByUsernames(ctx, req.(*GetUsersByUsernamesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_DeleteUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteUserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).DeleteUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_DeleteUser_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).DeleteUser(ctx, req.(*DeleteUserRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_RestoreUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestoreUserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).RestoreUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_RestoreUser_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).RestoreUser(ctx, req.(*RestoreUserRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_AssignRoleToUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AssignRoleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).AssignRoleToUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_AssignRoleToUser_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).AssignRoleToUser(ctx, req.(*AssignRoleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_UnassignRoleFromUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnassignRoleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).UnassignRoleFromUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_UnassignRoleFromUser_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).UnassignRoleFromUser(ctx, req.(*UnassignRoleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetRoleDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRoleDetailsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetRoleDetails(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetRoleDetails_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetRoleDetails(ctx, req.(*GetRoleDetailsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRoleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetRole(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetRole_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetRole(ctx, req.(*GetRoleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetUserRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserRoleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetUserRole(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetUserRole_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetUserRole(ctx, req.(*GetUserRoleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_SearchUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchUsersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).SearchUsers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_SearchUsers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).SearchUsers(ctx, req.(*SearchUsersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_CountUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountUsersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).CountUsers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_CountUsers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).CountUsers(ctx, req.(*CountUsersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_SearchRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchRolesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).SearchRoles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_SearchRoles_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).SearchRoles(ctx, req.(*SearchRolesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetRoleScopes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRoleScopesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetRoleScopes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetRoleScopes_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetRoleScopes(ctx, req.(*GetRoleScopesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetUserWithRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserWithRolesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetUserWithRoles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetUserWithRoles_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetUserWithRoles(ctx, req.(*GetUserWithRolesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetAssignableRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAssignableRolesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetAssignableRoles(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetAssignableRoles_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetAssignableRoles(ctx, req.(*GetAssignableRolesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_UpdateUserInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateUserInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).UpdateUserInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_UpdateUserInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).UpdateUserInfo(ctx, req.(*UpdateUserInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetScopeAncestors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetScopeAncestorsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetScopeAncestors(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetScopeAncestors_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetScopeAncestors(ctx, req.(*GetScopeAncestorsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetScopeDescendants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetScopeDescendantsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetScopeDescendants(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetScopeDescendants_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetScopeDescendants(ctx, req.(*GetScopeDescendantsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetAssignableTargets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAssignableTargetsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetAssignableTargets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetAssignableTargets_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetAssignableTargets(ctx, req.(*GetAssignableTargetsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetUsersByRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUsersByRoleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetUsersByRole(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetUsersByRole_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetUsersByRole(ctx, req.(*GetUsersByRoleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_CreateUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateUserRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).CreateUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_CreateUser_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).CreateUser(ctx, req.(*CreateUserRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_GetUserSessions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserSessionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).GetUserSessions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_GetUserSessions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).GetUserSessions(ctx, req.(*GetUserSessionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AuthAdminService_ClearUserSessions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ClearUserSessionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AuthAdminServiceServer).ClearUserSessions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AuthAdminService_ClearUserSessions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AuthAdminServiceServer).ClearUserSessions(ctx, req.(*ClearUserSessionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// AuthAdminService_ServiceDesc is the grpc.ServiceDesc for AuthAdminService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var AuthAdminService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "st_peter.admin.AuthAdminService", + HandlerType: (*AuthAdminServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetUser", + Handler: _AuthAdminService_GetUser_Handler, + }, + { + MethodName: "GetUsers", + Handler: _AuthAdminService_GetUsers_Handler, + }, + { + MethodName: "GetUsersByUsernames", + Handler: _AuthAdminService_GetUsersByUsernames_Handler, + }, + { + MethodName: "DeleteUser", + Handler: _AuthAdminService_DeleteUser_Handler, + }, + { + MethodName: "RestoreUser", + Handler: _AuthAdminService_RestoreUser_Handler, + }, + { + MethodName: "AssignRoleToUser", + Handler: _AuthAdminService_AssignRoleToUser_Handler, + }, + { + MethodName: "UnassignRoleFromUser", + Handler: _AuthAdminService_UnassignRoleFromUser_Handler, + }, + { + MethodName: "GetRoleDetails", + Handler: _AuthAdminService_GetRoleDetails_Handler, + }, + { + MethodName: "GetRole", + Handler: _AuthAdminService_GetRole_Handler, + }, + { + MethodName: "GetUserRole", + Handler: _AuthAdminService_GetUserRole_Handler, + }, + { + MethodName: "SearchUsers", + Handler: _AuthAdminService_SearchUsers_Handler, + }, + { + MethodName: "CountUsers", + Handler: _AuthAdminService_CountUsers_Handler, + }, + { + MethodName: "SearchRoles", + Handler: _AuthAdminService_SearchRoles_Handler, + }, + { + MethodName: "GetRoleScopes", + Handler: _AuthAdminService_GetRoleScopes_Handler, + }, + { + MethodName: "GetUserWithRoles", + Handler: _AuthAdminService_GetUserWithRoles_Handler, + }, + { + MethodName: "GetAssignableRoles", + Handler: _AuthAdminService_GetAssignableRoles_Handler, + }, + { + MethodName: "UpdateUserInfo", + Handler: _AuthAdminService_UpdateUserInfo_Handler, + }, + { + MethodName: "GetScopeAncestors", + Handler: _AuthAdminService_GetScopeAncestors_Handler, + }, + { + MethodName: "GetScopeDescendants", + Handler: _AuthAdminService_GetScopeDescendants_Handler, + }, + { + MethodName: "GetAssignableTargets", + Handler: _AuthAdminService_GetAssignableTargets_Handler, + }, + { + MethodName: "GetUsersByRole", + Handler: _AuthAdminService_GetUsersByRole_Handler, + }, + { + MethodName: "CreateUser", + Handler: _AuthAdminService_CreateUser_Handler, + }, + { + MethodName: "GetUserSessions", + Handler: _AuthAdminService_GetUserSessions_Handler, + }, + { + MethodName: "ClearUserSessions", + Handler: _AuthAdminService_ClearUserSessions_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "st-peter-admin.proto", +} diff --git a/proto/st-peter-admin.proto b/proto/st-peter-admin.proto new file mode 100644 index 0000000..3c70b31 --- /dev/null +++ b/proto/st-peter-admin.proto @@ -0,0 +1,534 @@ +syntax = "proto3"; +package st_peter.admin; +option go_package = "nandie.com/pkg/;auth_admin_service"; +import "google/protobuf/timestamp.proto"; + +message Date { + int32 year = 1; + uint32 month = 2; + uint32 day = 3; +} + +service AuthAdminService { + rpc GetUser (GetUserRequest) returns (UserResponse); + rpc GetUsers (GetUsersRequest) returns (UsersResponse); + rpc GetUsersByUsernames(GetUsersByUsernamesRequest) returns (UsersResponse); + rpc DeleteUser (DeleteUserRequest) returns (OperationResponse); + rpc RestoreUser (RestoreUserRequest) returns (OperationResponse); + rpc AssignRoleToUser (AssignRoleRequest) returns (GetUserWithRolesResponse); + rpc UnassignRoleFromUser (UnassignRoleRequest) returns (GetUserWithRolesResponse); + rpc GetRoleDetails (GetRoleDetailsRequest) returns (GetRoleDetailsResponse); + rpc GetRole(GetRoleRequest) returns (GetRoleResponse); + rpc GetUserRole(GetUserRoleRequest) returns (GetUserRoleResponse); + rpc SearchUsers (SearchUsersRequest) returns (SearchUsersResponse); + rpc CountUsers (CountUsersRequest) returns (CountUsersResponse); + rpc SearchRoles (SearchRolesRequest) returns (SearchRolesResponse); + rpc GetRoleScopes (GetRoleScopesRequest) returns (GetRoleScopesResponse); + rpc GetUserWithRoles (GetUserWithRolesRequest) returns (GetUserWithRolesResponse); + rpc GetAssignableRoles (GetAssignableRolesRequest) returns (GetAssignableRolesResponse); + rpc UpdateUserInfo (UpdateUserInfoRequest) returns (UpdateUserInfoResponse); + rpc GetScopeAncestors (GetScopeAncestorsRequest) returns (GetScopeAncestorsResponse); + rpc GetScopeDescendants (GetScopeDescendantsRequest) returns (GetScopeDescendantsResponse); + rpc GetAssignableTargets (GetAssignableTargetsRequest) returns (GetAssignableTargetsResponse); + rpc GetUsersByRole (GetUsersByRoleRequest) returns (GetUsersByRoleResponse); + rpc CreateUser (CreateUserRequest) returns (CreateUserResponse); + rpc GetUserSessions (GetUserSessionsRequest) returns (GetUserSessionsResponse); + rpc ClearUserSessions (ClearUserSessionsRequest) returns (ClearUserSessionsResponse); +} + +enum ResultCode { + RESULT_CODE_SUCCESS = 0; + RESULT_CODE_BAD_INPUT = 1; + RESULT_CODE_NOT_FOUND = 2; + RESULT_CODE_INTERNAL_SERVER_ERROR = 3; + RESULT_CODE_NOT_AUTHORIZED = 4; // User is not authenticated + RESULT_CODE_FORBIDDEN = 5; // User is authenticated but lacks required permissions +} + +message User { + string id = 1; + string email = 2; + string phone = 3; + string first_names = 4; + string last_name = 5; + string profile_picture_url = 6; + optional string handle = 7; + google.protobuf.Timestamp created_at = 10; + google.protobuf.Timestamp updated_at = 11; + google.protobuf.Timestamp deleted_at = 12; + optional google.protobuf.Timestamp last_login = 13; + bool is_active = 20; + bool is_email_verified = 21; + bool is_phone_verified = 22; + Date date_of_birth = 23; + int64 version = 24; + repeated SocialAccount social_accounts = 30; +} + +message Role { + string id = 1; + string code = 2; + string description = 3; + google.protobuf.Timestamp created_at = 4; + google.protobuf.Timestamp updated_at = 5; +} + +message SocialAccount { + string provider = 1; + string provider_user_id = 2; + string access_token = 3; + google.protobuf.Timestamp expires_at = 4; +} + +message RegisterUserRequest { + string email = 1; + string password = 2; + string phone = 3; + string first_name = 4; + string last_name = 5; +} + +message UserResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + User user = 4; +} + +message LoginRequest { + string email = 1; + string password = 2; +} + +message AuthenticationResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + string token = 4; + User user = 5; +} + +message GetUserRequest { + string user_id = 1; + + string actor_id = 11; + string actor_token = 12; +} + +message GetUsersByUsernamesRequest { + repeated string email_addresses = 2; + repeated string phone_numbers = 3; + string actor_id = 11; + string actor_token = 12; +} + +message DeleteUserRequest { + string actor_id = 1; + string actor_token = 2; + string user_id = 3; + string reason = 4; + string user_agent = 5; + bool unassign_roles = 6; +} + +message RestoreUserRequest { + string actor_id = 1; + string actor_token = 2; + string user_id = 3; + string reason = 4; + string user_agent = 5; + bool restore_roles = 6; +} + +message AssignRoleRequest { + string actor_id = 1; + string actor_token = 2; + string user_id = 5; + string role_id = 6; + string scope_code = 7; + optional string target_id = 8; + google.protobuf.Timestamp expires_at = 9; + string session_id = 10; +} + +message UnassignRoleRequest { + string actor_id = 1; + string actor_token = 2; + string user_id = 5; + string user_role_id = 6; + string reason = 7; +} + +message OperationResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; +} + +message SearchUsersRequest { + string actor_id = 1; + string actor_token = 2; + + optional string email = 3; + optional string phone = 4; + optional string search = 11; + + int32 page = 12; + int32 page_size = 13; + bool include_inactive = 14; +} + +message CountUsersRequest { + string actor_id = 1; + string actor_token = 2; +} + +message TimeSeriesStatistic { + uint32 count = 1; + int64 year = 3; + uint32 month = 4; + uint32 day = 5; + uint32 hour = 6; +} + +message CountUsersResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + uint32 grand_total = 4; + Date current_date = 7; + repeated TimeSeriesStatistic daily = 5; // 30 past days + repeated TimeSeriesStatistic monthly = 6; // 12 months +} + +message SearchUsersResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + repeated User users = 4; + int32 total = 5; +} + + +message SearchRolesRequest { + string actor_id = 1; + string actor_token = 2; + + string search = 11; + int32 page = 12; + int32 page_size = 13; +} + + +message SearchRolesResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + repeated Role roles = 4; + int32 total = 5; +} + +message GetRoleScopesRequest { + string actor_id = 1; + string actor_token = 2; + optional string role_id = 3; + optional string scope_code = 4; +} + +message GetRoleScopesResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + repeated RoleScope role_scopes = 4; + map roles = 5; +} + +message Lookup { + string code = 1; + string name = 2; + string description = 3; +} + +message Scope { + string code = 1; + string description = 2; + optional string parent_code = 3; + bool is_active = 4; +} + +message GetUserWithRolesRequest { + string actor_id = 1; + string actor_token = 2; + string user_id = 3; + bool include_inactive = 4; + repeated string scope_codes = 5; + repeated string role_names = 6; +} + +message GetUserWithRolesResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + User user = 4; + map roles = 5; + repeated UserRole assigned_roles = 6; + map scopes = 7; + map actors = 8; +} + +message UserRole { + string id =1; + string user_id = 2; + string role_id = 3; + string scope_code = 4; + optional string target_id = 5; + bool is_active = 6; + + google.protobuf.Timestamp created_at = 11; + string created_by = 12; + google.protobuf.Timestamp updated_at = 13; + string updated_by = 14; + google.protobuf.Timestamp expires_at = 15; + google.protobuf.Timestamp deleted_at = 16; + optional string deleted_by = 17; +} + +message GetUsersRequest { + string actor_id = 1; + string actor_token = 2; + repeated string user_ids = 3; +} + +message UsersResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + repeated User users = 4; +} + +message GetAssignableRolesRequest { + string actor_id = 1; + string actor_token = 2; + string user_id = 3; +} + +message ScopeList { + repeated string scope_codes = 1; +} + +message GetAssignableRolesResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + repeated RoleScopeTarget roles = 4; + repeated Scope scopes = 5; + map role_scopes = 6; +} + +message RoleScopeTarget { + Role role = 1; + Scope scope = 2; + string target_id = 3; + google.protobuf.Timestamp expires_at = 7; +} + +message GetRoleDetailsRequest{ + string actor_id = 1; + string actor_token = 2; + string role_id = 3; +} + +message RoleScope { + string id = 1; + string role_id = 2; + string scope_code = 3; + bool is_active = 4; +} + +message GetRoleDetailsResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + Role role = 4; + repeated UserRole assigned_roles = 5; + repeated Scope scopes = 6; + repeated User actors = 7; + repeated RoleScope role_scopes = 8; +} + +message GetRoleRequest { + string actor_id = 1; + string actor_token = 2; + string role_id = 3; +} + +message GetRoleResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + Role role = 4; +} + +message GetUserRoleRequest { + string actor_id = 1; + string actor_token = 2; + string user_role_id = 3; +} + +message GetUserRoleResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + UserRole user_role = 4; + Role role = 5; + Scope scope = 6; +} + +message UpdateUserInfoRequest { + string actor_id = 1; + string actor_token = 2; + string user_id = 3; + optional string first_names = 4; + optional string last_name = 5; + optional string profile_picture_id = 6; + Date date_of_birth = 7; + optional string handle = 8; // Optional unique handle (e.g., @username) +} + +message UpdateUserInfoResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + + User user = 4; +} + +message GetScopeAncestorsRequest { + string actor_id = 1; + string actor_token = 2; + string scope_code = 3; +} + +message GetScopeAncestorsResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + repeated Scope ancestors = 4; +} + +message GetScopeDescendantsRequest { + string actor_id = 1; + string actor_token = 2; + string scope_code = 3; +} + +message GetScopeDescendantsResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + repeated Scope descendants = 4; +} + +message GetAssignableTargetsRequest { + string actor_id = 1; + string actor_token = 2; + string scope_code = 3; +} + +message GetAssignableTargetsResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + repeated string target_ids = 4; + bool all_targets_permissible = 5; +} + +message GetUsersByRoleRequest { + string actor_id = 1; + string actor_token = 2; + string role_id = 3; + optional string scope_code = 4; + optional string target_id = 5; + bool include_inactive = 6; +} + +message GetUsersByRoleResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + repeated User users = 4; + int32 total = 5; +} + +message CreateUserRequest { + string actor_id = 1; + string actor_token = 2; + + optional string email = 3; + optional string phone = 4; + string first_names = 5; + string last_name = 6; + string profile_picture_url = 7; + optional string password = 8; // Optional, if not provided, a random password will be generated and returned. + optional Date date_of_birth = 9; + optional string handle = 10; // Optional unique handle (e.g., @username) +} +message CreateUserResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + User user = 4; + optional string password = 5; // Only returned if a new password was generated +} + +message DeviceInfo { + string application_name = 1; + string application_version = 2; + string device_name = 3; + string device_type = 4; + string device_os = 5; + string device_os_version = 6; + string device_id = 7; +} + +message UserSession { + string id = 1; + string user_id = 2; + DeviceInfo device_info = 3; + google.protobuf.Timestamp created_at = 4; + google.protobuf.Timestamp expires_at = 5; + google.protobuf.Timestamp last_activity = 6; + bool is_active = 7; + string ip_address = 8; + string user_agent = 9; +} + +message GetUserSessionsRequest { + string actor_id = 1; + string actor_token = 2; + string user_id = 3; // The user whose sessions to retrieve + int32 page = 4; + int32 size = 5; +} + +message GetUserSessionsResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + repeated UserSession sessions = 4; + int32 total = 5; +} + +message ClearUserSessionsRequest { + string actor_id = 1; + string actor_token = 2; + string user_id = 3; // The user whose sessions should be cleared + repeated string session_ids = 4; // If empty, clears all sessions for the user +} + +message ClearUserSessionsResponse { + bool success = 1; + ResultCode result_code = 2; + string message = 3; + int32 cleared_count = 4; +} diff --git a/rust/Cargo.toml b/rust/Cargo.toml index e403c0f..aee2af8 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "st-peter-client" -version = "0.2.0" +version = "0.2.1" edition = "2021" description = "Official Rust client for st-peter (aura-users) — authentication over gRPC with a token-verify cache" repository = "https://git.awesomike.com/pub/st-peter-client" diff --git a/rust/build.rs b/rust/build.rs index 36fa35b..c825471 100644 --- a/rust/build.rs +++ b/rust/build.rs @@ -1,7 +1,10 @@ // Compile the vendored proto (../proto, synced from the st-peter server repo) // into client stubs. Client-only: no server traits are generated. fn main() { - let protos = ["../proto/st-peter-auth.proto"]; + let protos = [ + "../proto/st-peter-auth.proto", + "../proto/st-peter-admin.proto", + ]; tonic_prost_build::configure() .build_server(false) .compile_protos(&protos, &["../proto"]) diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 3772591..c791472 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -43,6 +43,14 @@ pub mod authpb { tonic::include_proto!("st_peter.auth"); } +/// Admin proto stubs (`AuthAdminService` — user + targeted-role administration). +/// Generated from `proto/st-peter-admin.proto` (package `st_peter.admin`). +/// All RPCs are **actor-credentialed**: aura-users authorizes the acting admin +/// by its own assignability rules, not the channel. +pub mod adminpb { + tonic::include_proto!("st_peter.admin"); +} + use authpb::auth_service_client::AuthServiceClient; use authpb::{ AuthenticatedUser, AuthenticationResponse, LoginRequest, LookupUserRequest, User, @@ -56,6 +64,10 @@ pub enum Error { /// The token failed verification (or the response carried no user). #[error("unauthorized")] Unauthorized, + /// aura-users processed the call but rejected it (`success = false`) — + /// carries the result code and display message. + #[error("rejected by aura-users ({code:?}): {message}")] + Rejected { code: i32, message: String }, /// RPC-level failure talking to aura-users. #[error(transparent)] Rpc(#[from] tonic::Status), @@ -137,10 +149,22 @@ impl AuthClient { }) } - /// Verify a session token, returning the authenticated user (+ platform - /// roles). Cached ~60s to avoid a gRPC round-trip per request. + /// Verify a session token, returning the authenticated user with **all** + /// of their roles. Cached ~60s to avoid a gRPC round-trip per request. pub async fn verify_token(&self, token: &str) -> Result { - let key = token_hash(token); + self.verify_token_scoped(token, &[]).await + } + + /// Verify a session token, returning roles **filtered to the given + /// scopes** (e.g. `["cms"]`) — each service pulls only its own scope's + /// roles. Empty `role_scopes` = all roles. Cached ~60s per + /// `(token, scopes)` combination. + pub async fn verify_token_scoped( + &self, + token: &str, + role_scopes: &[&str], + ) -> Result { + let key = cache_key(token, role_scopes); let ttl = std::time::Duration::from_secs(AUTH_CACHE_TTL_SECS); // Read under the lock, clone out, and drop the guard before any `.await`. @@ -157,8 +181,8 @@ impl AuthClient { let resp = client .verify_token(VerifyTokenRequest { token: token.to_string(), - include_user_roles: true, // platform roles; service roles stay local - role_scopes: vec![], + include_user_roles: true, + role_scopes: role_scopes.iter().map(|s| s.to_string()).collect(), role_names: vec![], }) .await? @@ -240,6 +264,328 @@ impl AuthClient { } } +/// The acting administrator's identity. Admin RPCs are **actor-credentialed**: +/// every request carries the actor's own user id + session token, and +/// aura-users authorizes the *actor* by its assignability rules (global +/// administrator / scoped administrator / `{prefix}-admin` restricted to its +/// own target) — a client cannot grant beyond what the actor may grant. +#[derive(Clone)] +pub struct Actor { + pub user_id: String, + pub token: String, +} + +/// Thin client to aura-users' `AuthAdminService` — user administration and +/// **targeted-role** management. Methods gate on `success` (mapping failures +/// to [`Error::Rejected`]) and otherwise return the generated response types +/// from [`adminpb`]; use [`AdminClient::raw`] for RPCs without a wrapper. +#[derive(Clone)] +pub struct AdminClient { + inner: adminpb::auth_admin_service_client::AuthAdminServiceClient, +} + +/// Gate an admin response on its `success` flag. +macro_rules! admin_ok { + ($resp:expr) => {{ + let resp = $resp; + if !resp.success { + return Err(Error::Rejected { code: resp.result_code, message: resp.message }); + } + Ok(resp) + }}; +} + +impl AdminClient { + /// Connect to aura-users gRPC (same endpoint as [`AuthClient`]; lazy dial). + pub async fn connect(grpc_url: &str) -> Result { + let channel = Channel::from_shared(grpc_url.to_string())? + .connect_timeout(std::time::Duration::from_secs(5)) + .timeout(std::time::Duration::from_secs(10)) + .connect_lazy(); + Ok(Self { + inner: adminpb::auth_admin_service_client::AuthAdminServiceClient::new(channel), + }) + } + + /// The raw generated client, for the RPCs without an ergonomic wrapper. + pub fn raw(&self) -> adminpb::auth_admin_service_client::AuthAdminServiceClient { + self.inner.clone() + } + + /// Assign a role to a user — targeted when `target_id` is set (the + /// multi-tenancy device: e.g. `cms-content-editor` for one organization), + /// optionally time-bound via `expires_at`. + pub async fn assign_role( + &self, + actor: &Actor, + user_id: &str, + role_id: &str, + scope_code: &str, + target_id: Option, + expires_at: Option, + ) -> Result { + let resp = self + .inner + .clone() + .assign_role_to_user(adminpb::AssignRoleRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + user_id: user_id.to_string(), + role_id: role_id.to_string(), + scope_code: scope_code.to_string(), + target_id, + expires_at, + session_id: String::new(), + }) + .await? + .into_inner(); + admin_ok!(resp) + } + + /// Revoke an assignment by its `user_role_id` (soft-delete, audited in + /// aura-users). + pub async fn unassign_role( + &self, + actor: &Actor, + user_id: &str, + user_role_id: &str, + reason: &str, + ) -> Result { + let resp = self + .inner + .clone() + .unassign_role_from_user(adminpb::UnassignRoleRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + user_id: user_id.to_string(), + user_role_id: user_role_id.to_string(), + reason: reason.to_string(), + }) + .await? + .into_inner(); + admin_ok!(resp) + } + + /// What may this actor grant, and where — drives role-picker UIs. + pub async fn get_assignable_roles( + &self, + actor: &Actor, + user_id: &str, + ) -> Result { + let resp = self + .inner + .clone() + .get_assignable_roles(adminpb::GetAssignableRolesRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + user_id: user_id.to_string(), + }) + .await? + .into_inner(); + admin_ok!(resp) + } + + /// Which targets may this actor grant for, within a scope + /// (`all_targets_permissible` = untargeted admin). + pub async fn get_assignable_targets( + &self, + actor: &Actor, + scope_code: &str, + ) -> Result { + let resp = self + .inner + .clone() + .get_assignable_targets(adminpb::GetAssignableTargetsRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + scope_code: scope_code.to_string(), + }) + .await? + .into_inner(); + admin_ok!(resp) + } + + /// A user plus their assignments, optionally filtered by scope. + pub async fn get_user_with_roles( + &self, + actor: &Actor, + user_id: &str, + scope_codes: Vec, + ) -> Result { + let resp = self + .inner + .clone() + .get_user_with_roles(adminpb::GetUserWithRolesRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + user_id: user_id.to_string(), + include_inactive: false, + scope_codes, + role_names: vec![], + }) + .await? + .into_inner(); + admin_ok!(resp) + } + + /// Paged platform-user search (email / phone / free text). + pub async fn search_users( + &self, + actor: &Actor, + search: Option, + page: i32, + page_size: i32, + ) -> Result { + let resp = self + .inner + .clone() + .search_users(adminpb::SearchUsersRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + email: None, + phone: None, + search, + page, + page_size, + include_inactive: false, + }) + .await? + .into_inner(); + admin_ok!(resp) + } + + /// Who holds a role — optionally narrowed to a scope and/or target + /// ("list this org's editors"). + pub async fn get_users_by_role( + &self, + actor: &Actor, + role_id: &str, + scope_code: Option, + target_id: Option, + ) -> Result { + let resp = self + .inner + .clone() + .get_users_by_role(adminpb::GetUsersByRoleRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + role_id: role_id.to_string(), + scope_code, + target_id, + include_inactive: false, + }) + .await? + .into_inner(); + admin_ok!(resp) + } + + /// Onboard a user (invite flow). Caller builds the request (many optional + /// identity fields); actor credentials are filled in here. + pub async fn create_user( + &self, + actor: &Actor, + mut req: adminpb::CreateUserRequest, + ) -> Result { + req.actor_id = actor.user_id.clone(); + req.actor_token = actor.token.clone(); + let resp = self.inner.clone().create_user(req).await?.into_inner(); + admin_ok!(resp) + } + + /// Soft-delete a user (optionally unassigning their roles). + pub async fn delete_user( + &self, + actor: &Actor, + user_id: &str, + reason: &str, + unassign_roles: bool, + ) -> Result { + let resp = self + .inner + .clone() + .delete_user(adminpb::DeleteUserRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + user_id: user_id.to_string(), + reason: reason.to_string(), + user_agent: String::new(), + unassign_roles, + }) + .await? + .into_inner(); + admin_ok!(resp) + } + + /// Restore a soft-deleted user (optionally restoring their roles). + pub async fn restore_user( + &self, + actor: &Actor, + user_id: &str, + reason: &str, + restore_roles: bool, + ) -> Result { + let resp = self + .inner + .clone() + .restore_user(adminpb::RestoreUserRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + user_id: user_id.to_string(), + reason: reason.to_string(), + user_agent: String::new(), + restore_roles, + }) + .await? + .into_inner(); + admin_ok!(resp) + } + + /// A user's active sessions (support view). + pub async fn get_user_sessions( + &self, + actor: &Actor, + user_id: &str, + page: i32, + size: i32, + ) -> Result { + let resp = self + .inner + .clone() + .get_user_sessions(adminpb::GetUserSessionsRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + user_id: user_id.to_string(), + page, + size, + }) + .await? + .into_inner(); + admin_ok!(resp) + } + + /// Force logout: clear the given sessions, or ALL of the user's sessions + /// when `session_ids` is empty. + pub async fn clear_user_sessions( + &self, + actor: &Actor, + user_id: &str, + session_ids: Vec, + ) -> Result { + let resp = self + .inner + .clone() + .clear_user_sessions(adminpb::ClearUserSessionsRequest { + actor_id: actor.user_id.clone(), + actor_token: actor.token.clone(), + user_id: user_id.to_string(), + session_ids, + }) + .await? + .into_inner(); + admin_ok!(resp) + } +} + /// Extract a `Bearer ` from an `Authorization` header map. The shared /// convention across aura services is: Bearer header first, then the /// [`COOKIE_NAME`] session cookie. @@ -252,10 +598,13 @@ pub fn bearer(headers: &http::HeaderMap) -> Option { .map(|s| s.trim().to_string()) } -/// Fast (non-cryptographic) hash of the token, used only as the cache key. -fn token_hash(token: &str) -> u64 { +/// Fast (non-cryptographic) hash of (token, scope filter), used only as the +/// cache key — the same token verified under different scope filters returns +/// different role sets and must not share an entry. +fn cache_key(token: &str, role_scopes: &[&str]) -> u64 { use std::hash::{Hash, Hasher}; let mut h = std::collections::hash_map::DefaultHasher::new(); token.hash(&mut h); + role_scopes.hash(&mut h); h.finish() } diff --git a/scripts/gen-go.sh b/scripts/gen-go.sh index 12ac127..43da41c 100755 --- a/scripts/gen-go.sh +++ b/scripts/gen-go.sh @@ -12,6 +12,7 @@ MOD=git.awesomike.com/pub/st-peter-client/go # proto filename (relative to ../proto) -> Go package dir under the module protos=( st-peter-auth.proto:genpb/auth + st-peter-admin.proto:genpb/admin ) files=() diff --git a/scripts/gen-ts.sh b/scripts/gen-ts.sh index 3a3e2e7..31c187b 100755 --- a/scripts/gen-ts.sh +++ b/scripts/gen-ts.sh @@ -19,6 +19,7 @@ protoc -I ../proto \ --plugin=protoc-gen-ts_proto="$plugin" \ --ts_proto_out="$out" \ --ts_proto_opt=outputServices=grpc-js,esModuleInterop=true,env=node,useExactTypes=false,unrecognizedEnum=false \ - st-peter-auth.proto + st-peter-auth.proto \ + st-peter-admin.proto echo "Generated TypeScript stubs under ts/src/genpb/" diff --git a/scripts/sync-protos.sh b/scripts/sync-protos.sh index 36d1a5b..4a76899 100755 --- a/scripts/sync-protos.sh +++ b/scripts/sync-protos.sh @@ -25,11 +25,13 @@ if [[ ! -f "$ST_PETER_REPO/Cargo.toml" ]]; then fi # canonical path in st-peter-lib -> filename in proto/ -# NOTE: st-peter-admin.proto (the admin surface) and health.proto are -# intentionally NOT vendored — services authenticate users; they do not -# administer st-peter. +# NOTE: health.proto is intentionally NOT vendored (deployment concern, not a +# client surface). The admin proto IS vendored: services with delegated +# administration (targeted-role grants, user admin) drive AuthAdminService +# with the acting admin's own credentials. protos=( "proto/st-peter-auth.proto" + "proto/st-peter-admin.proto" ) dest="$here/proto" diff --git a/ts/package.json b/ts/package.json index 2962ec1..73e3517 100644 --- a/ts/package.json +++ b/ts/package.json @@ -1,6 +1,6 @@ { "name": "@st-peter/client", - "version": "0.2.0", + "version": "0.2.1", "description": "Official TypeScript client for st-peter (aura-users) — authentication over gRPC with a token-verify cache", "repository": "https://git.awesomike.com/pub/st-peter-client", "license": "MIT OR Apache-2.0", diff --git a/ts/src/auth.ts b/ts/src/auth.ts index 8c4e42e73f97e05bff0d75d927dc3830a8a6b72b..1e3873c887f604e013ff8944bbc2e1c285e38021 100644 GIT binary patch delta 544 zcmYk2u}T9$6h#dpf>olH7MEqgM8c|tDHJR53ltj(B<{XVMt5hz%xolt7#qJJ_IB2h ze2D*GmCx|aY=U;foA>TL_kOpQ=W|&-cow#gZk9o%I{=Pg`y@29%E-*#s$YkiY@sEO zg^7lwMLN1wPb6<*HK3$!-MfkV_AIELP5l*8ky+A|z$&MPo*0sZaR;XKs8iI7(76xd z+yw1T13$0tpl;lUAw3i^VNhh5fs)w>!t&#JC2(j;vZ3}QW}>nAH+jMxMDeG zcxjy&3`k>*S}r#btNcO8t`%ywtR5Ww&vOoAwUE80_wqkxJ>#UiwQzcT?4y}(P8^dv zKp_)$Nkp1*c4^DJt1cMYw`l(TJ4}ZUmNLW{T?ekN*n#7TM#u|eA!M8t3A^yHY?iN1 z!Tgec-P$EO;n>NQq|u`ivL0*%jY%aOd$>vGVs=`?CT}n9YGGyH8$0vAv*zM+cdO!8 I=6fI8zbulw1poj5 delta 118 zcmaE1b>3`4o`AT9wn9NpVo6$lQ7)H)f`XPpQGQNpvF7A1fsK>1g{4_b^0QO(Hg^iE zFzP7i>%-MTlvyhjrxulECZ|HU3dJRfl?ple$%#3e4~noda)34KC{$0L&ndh4rD#1n E0Bsd12><{9 diff --git a/ts/src/genpb/st-peter-admin.ts b/ts/src/genpb/st-peter-admin.ts new file mode 100644 index 0000000..4785b39 --- /dev/null +++ b/ts/src/genpb/st-peter-admin.ts @@ -0,0 +1,10218 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.11.8 +// protoc v7.34.1 +// source: st-peter-admin.proto + +/* eslint-disable */ +import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; +import { + type CallOptions, + type ChannelCredentials, + Client, + type ClientOptions, + type ClientUnaryCall, + type handleUnaryCall, + makeGenericClientConstructor, + type Metadata, + type ServiceError, + type UntypedServiceImplementation, +} from "@grpc/grpc-js"; +import { Timestamp } from "./google/protobuf/timestamp"; + +export const protobufPackage = "st_peter.admin"; + +export enum ResultCode { + RESULT_CODE_SUCCESS = 0, + RESULT_CODE_BAD_INPUT = 1, + RESULT_CODE_NOT_FOUND = 2, + RESULT_CODE_INTERNAL_SERVER_ERROR = 3, + /** RESULT_CODE_NOT_AUTHORIZED - User is not authenticated */ + RESULT_CODE_NOT_AUTHORIZED = 4, + /** RESULT_CODE_FORBIDDEN - User is authenticated but lacks required permissions */ + RESULT_CODE_FORBIDDEN = 5, +} + +export function resultCodeFromJSON(object: any): ResultCode { + switch (object) { + case 0: + case "RESULT_CODE_SUCCESS": + return ResultCode.RESULT_CODE_SUCCESS; + case 1: + case "RESULT_CODE_BAD_INPUT": + return ResultCode.RESULT_CODE_BAD_INPUT; + case 2: + case "RESULT_CODE_NOT_FOUND": + return ResultCode.RESULT_CODE_NOT_FOUND; + case 3: + case "RESULT_CODE_INTERNAL_SERVER_ERROR": + return ResultCode.RESULT_CODE_INTERNAL_SERVER_ERROR; + case 4: + case "RESULT_CODE_NOT_AUTHORIZED": + return ResultCode.RESULT_CODE_NOT_AUTHORIZED; + case 5: + case "RESULT_CODE_FORBIDDEN": + return ResultCode.RESULT_CODE_FORBIDDEN; + default: + throw new globalThis.Error("Unrecognized enum value " + object + " for enum ResultCode"); + } +} + +export function resultCodeToJSON(object: ResultCode): string { + switch (object) { + case ResultCode.RESULT_CODE_SUCCESS: + return "RESULT_CODE_SUCCESS"; + case ResultCode.RESULT_CODE_BAD_INPUT: + return "RESULT_CODE_BAD_INPUT"; + case ResultCode.RESULT_CODE_NOT_FOUND: + return "RESULT_CODE_NOT_FOUND"; + case ResultCode.RESULT_CODE_INTERNAL_SERVER_ERROR: + return "RESULT_CODE_INTERNAL_SERVER_ERROR"; + case ResultCode.RESULT_CODE_NOT_AUTHORIZED: + return "RESULT_CODE_NOT_AUTHORIZED"; + case ResultCode.RESULT_CODE_FORBIDDEN: + return "RESULT_CODE_FORBIDDEN"; + default: + throw new globalThis.Error("Unrecognized enum value " + object + " for enum ResultCode"); + } +} + +export interface DateMessage { + year: number; + month: number; + day: number; +} + +export interface User { + id: string; + email: string; + phone: string; + firstNames: string; + lastName: string; + profilePictureUrl: string; + handle?: string | undefined; + createdAt: Date | undefined; + updatedAt: Date | undefined; + deletedAt: Date | undefined; + lastLogin?: Date | undefined; + isActive: boolean; + isEmailVerified: boolean; + isPhoneVerified: boolean; + dateOfBirth: DateMessage | undefined; + version: number; + socialAccounts: SocialAccount[]; +} + +export interface Role { + id: string; + code: string; + description: string; + createdAt: Date | undefined; + updatedAt: Date | undefined; +} + +export interface SocialAccount { + provider: string; + providerUserId: string; + accessToken: string; + expiresAt: Date | undefined; +} + +export interface RegisterUserRequest { + email: string; + password: string; + phone: string; + firstName: string; + lastName: string; +} + +export interface UserResponse { + success: boolean; + resultCode: ResultCode; + message: string; + user: User | undefined; +} + +export interface LoginRequest { + email: string; + password: string; +} + +export interface AuthenticationResponse { + success: boolean; + resultCode: ResultCode; + message: string; + token: string; + user: User | undefined; +} + +export interface GetUserRequest { + userId: string; + actorId: string; + actorToken: string; +} + +export interface GetUsersByUsernamesRequest { + emailAddresses: string[]; + phoneNumbers: string[]; + actorId: string; + actorToken: string; +} + +export interface DeleteUserRequest { + actorId: string; + actorToken: string; + userId: string; + reason: string; + userAgent: string; + unassignRoles: boolean; +} + +export interface RestoreUserRequest { + actorId: string; + actorToken: string; + userId: string; + reason: string; + userAgent: string; + restoreRoles: boolean; +} + +export interface AssignRoleRequest { + actorId: string; + actorToken: string; + userId: string; + roleId: string; + scopeCode: string; + targetId?: string | undefined; + expiresAt: Date | undefined; + sessionId: string; +} + +export interface UnassignRoleRequest { + actorId: string; + actorToken: string; + userId: string; + userRoleId: string; + reason: string; +} + +export interface OperationResponse { + success: boolean; + resultCode: ResultCode; + message: string; +} + +export interface SearchUsersRequest { + actorId: string; + actorToken: string; + email?: string | undefined; + phone?: string | undefined; + search?: string | undefined; + page: number; + pageSize: number; + includeInactive: boolean; +} + +export interface CountUsersRequest { + actorId: string; + actorToken: string; +} + +export interface TimeSeriesStatistic { + count: number; + year: number; + month: number; + day: number; + hour: number; +} + +export interface CountUsersResponse { + success: boolean; + resultCode: ResultCode; + message: string; + grandTotal: number; + currentDate: + | DateMessage + | undefined; + /** 30 past days */ + daily: TimeSeriesStatistic[]; + /** 12 months */ + monthly: TimeSeriesStatistic[]; +} + +export interface SearchUsersResponse { + success: boolean; + resultCode: ResultCode; + message: string; + users: User[]; + total: number; +} + +export interface SearchRolesRequest { + actorId: string; + actorToken: string; + search: string; + page: number; + pageSize: number; +} + +export interface SearchRolesResponse { + success: boolean; + resultCode: ResultCode; + message: string; + roles: Role[]; + total: number; +} + +export interface GetRoleScopesRequest { + actorId: string; + actorToken: string; + roleId?: string | undefined; + scopeCode?: string | undefined; +} + +export interface GetRoleScopesResponse { + success: boolean; + resultCode: ResultCode; + message: string; + roleScopes: RoleScope[]; + roles: { [key: string]: Role }; +} + +export interface GetRoleScopesResponse_RolesEntry { + key: string; + value: Role | undefined; +} + +export interface Lookup { + code: string; + name: string; + description: string; +} + +export interface Scope { + code: string; + description: string; + parentCode?: string | undefined; + isActive: boolean; +} + +export interface GetUserWithRolesRequest { + actorId: string; + actorToken: string; + userId: string; + includeInactive: boolean; + scopeCodes: string[]; + roleNames: string[]; +} + +export interface GetUserWithRolesResponse { + success: boolean; + resultCode: ResultCode; + message: string; + user: User | undefined; + roles: { [key: string]: Role }; + assignedRoles: UserRole[]; + scopes: { [key: string]: Scope }; + actors: { [key: string]: User }; +} + +export interface GetUserWithRolesResponse_RolesEntry { + key: string; + value: Role | undefined; +} + +export interface GetUserWithRolesResponse_ScopesEntry { + key: string; + value: Scope | undefined; +} + +export interface GetUserWithRolesResponse_ActorsEntry { + key: string; + value: User | undefined; +} + +export interface UserRole { + id: string; + userId: string; + roleId: string; + scopeCode: string; + targetId?: string | undefined; + isActive: boolean; + createdAt: Date | undefined; + createdBy: string; + updatedAt: Date | undefined; + updatedBy: string; + expiresAt: Date | undefined; + deletedAt: Date | undefined; + deletedBy?: string | undefined; +} + +export interface GetUsersRequest { + actorId: string; + actorToken: string; + userIds: string[]; +} + +export interface UsersResponse { + success: boolean; + resultCode: ResultCode; + message: string; + users: User[]; +} + +export interface GetAssignableRolesRequest { + actorId: string; + actorToken: string; + userId: string; +} + +export interface ScopeList { + scopeCodes: string[]; +} + +export interface GetAssignableRolesResponse { + success: boolean; + resultCode: ResultCode; + message: string; + roles: RoleScopeTarget[]; + scopes: Scope[]; + roleScopes: { [key: string]: ScopeList }; +} + +export interface GetAssignableRolesResponse_RoleScopesEntry { + key: string; + value: ScopeList | undefined; +} + +export interface RoleScopeTarget { + role: Role | undefined; + scope: Scope | undefined; + targetId: string; + expiresAt: Date | undefined; +} + +export interface GetRoleDetailsRequest { + actorId: string; + actorToken: string; + roleId: string; +} + +export interface RoleScope { + id: string; + roleId: string; + scopeCode: string; + isActive: boolean; +} + +export interface GetRoleDetailsResponse { + success: boolean; + resultCode: ResultCode; + message: string; + role: Role | undefined; + assignedRoles: UserRole[]; + scopes: Scope[]; + actors: User[]; + roleScopes: RoleScope[]; +} + +export interface GetRoleRequest { + actorId: string; + actorToken: string; + roleId: string; +} + +export interface GetRoleResponse { + success: boolean; + resultCode: ResultCode; + message: string; + role: Role | undefined; +} + +export interface GetUserRoleRequest { + actorId: string; + actorToken: string; + userRoleId: string; +} + +export interface GetUserRoleResponse { + success: boolean; + resultCode: ResultCode; + message: string; + userRole: UserRole | undefined; + role: Role | undefined; + scope: Scope | undefined; +} + +export interface UpdateUserInfoRequest { + actorId: string; + actorToken: string; + userId: string; + firstNames?: string | undefined; + lastName?: string | undefined; + profilePictureId?: string | undefined; + dateOfBirth: + | DateMessage + | undefined; + /** Optional unique handle (e.g., @username) */ + handle?: string | undefined; +} + +export interface UpdateUserInfoResponse { + success: boolean; + resultCode: ResultCode; + message: string; + user: User | undefined; +} + +export interface GetScopeAncestorsRequest { + actorId: string; + actorToken: string; + scopeCode: string; +} + +export interface GetScopeAncestorsResponse { + success: boolean; + resultCode: ResultCode; + message: string; + ancestors: Scope[]; +} + +export interface GetScopeDescendantsRequest { + actorId: string; + actorToken: string; + scopeCode: string; +} + +export interface GetScopeDescendantsResponse { + success: boolean; + resultCode: ResultCode; + message: string; + descendants: Scope[]; +} + +export interface GetAssignableTargetsRequest { + actorId: string; + actorToken: string; + scopeCode: string; +} + +export interface GetAssignableTargetsResponse { + success: boolean; + resultCode: ResultCode; + message: string; + targetIds: string[]; + allTargetsPermissible: boolean; +} + +export interface GetUsersByRoleRequest { + actorId: string; + actorToken: string; + roleId: string; + scopeCode?: string | undefined; + targetId?: string | undefined; + includeInactive: boolean; +} + +export interface GetUsersByRoleResponse { + success: boolean; + resultCode: ResultCode; + message: string; + users: User[]; + total: number; +} + +export interface CreateUserRequest { + actorId: string; + actorToken: string; + email?: string | undefined; + phone?: string | undefined; + firstNames: string; + lastName: string; + profilePictureUrl: string; + /** Optional, if not provided, a random password will be generated and returned. */ + password?: string | undefined; + dateOfBirth?: + | DateMessage + | undefined; + /** Optional unique handle (e.g., @username) */ + handle?: string | undefined; +} + +export interface CreateUserResponse { + success: boolean; + resultCode: ResultCode; + message: string; + user: + | User + | undefined; + /** Only returned if a new password was generated */ + password?: string | undefined; +} + +export interface DeviceInfo { + applicationName: string; + applicationVersion: string; + deviceName: string; + deviceType: string; + deviceOs: string; + deviceOsVersion: string; + deviceId: string; +} + +export interface UserSession { + id: string; + userId: string; + deviceInfo: DeviceInfo | undefined; + createdAt: Date | undefined; + expiresAt: Date | undefined; + lastActivity: Date | undefined; + isActive: boolean; + ipAddress: string; + userAgent: string; +} + +export interface GetUserSessionsRequest { + actorId: string; + actorToken: string; + /** The user whose sessions to retrieve */ + userId: string; + page: number; + size: number; +} + +export interface GetUserSessionsResponse { + success: boolean; + resultCode: ResultCode; + message: string; + sessions: UserSession[]; + total: number; +} + +export interface ClearUserSessionsRequest { + actorId: string; + actorToken: string; + /** The user whose sessions should be cleared */ + userId: string; + /** If empty, clears all sessions for the user */ + sessionIds: string[]; +} + +export interface ClearUserSessionsResponse { + success: boolean; + resultCode: ResultCode; + message: string; + clearedCount: number; +} + +function createBaseDateMessage(): DateMessage { + return { year: 0, month: 0, day: 0 }; +} + +export const DateMessage: MessageFns = { + encode(message: DateMessage, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.year !== 0) { + writer.uint32(8).int32(message.year); + } + if (message.month !== 0) { + writer.uint32(16).uint32(message.month); + } + if (message.day !== 0) { + writer.uint32(24).uint32(message.day); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DateMessage { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDateMessage(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.year = reader.int32(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.month = reader.uint32(); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.day = reader.uint32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DateMessage { + return { + year: isSet(object.year) ? globalThis.Number(object.year) : 0, + month: isSet(object.month) ? globalThis.Number(object.month) : 0, + day: isSet(object.day) ? globalThis.Number(object.day) : 0, + }; + }, + + toJSON(message: DateMessage): unknown { + const obj: any = {}; + if (message.year !== 0) { + obj.year = Math.round(message.year); + } + if (message.month !== 0) { + obj.month = Math.round(message.month); + } + if (message.day !== 0) { + obj.day = Math.round(message.day); + } + return obj; + }, + + create(base?: DeepPartial): DateMessage { + return DateMessage.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): DateMessage { + const message = createBaseDateMessage(); + message.year = object.year ?? 0; + message.month = object.month ?? 0; + message.day = object.day ?? 0; + return message; + }, +}; + +function createBaseUser(): User { + return { + id: "", + email: "", + phone: "", + firstNames: "", + lastName: "", + profilePictureUrl: "", + handle: undefined, + createdAt: undefined, + updatedAt: undefined, + deletedAt: undefined, + lastLogin: undefined, + isActive: false, + isEmailVerified: false, + isPhoneVerified: false, + dateOfBirth: undefined, + version: 0, + socialAccounts: [], + }; +} + +export const User: MessageFns = { + encode(message: User, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + if (message.email !== "") { + writer.uint32(18).string(message.email); + } + if (message.phone !== "") { + writer.uint32(26).string(message.phone); + } + if (message.firstNames !== "") { + writer.uint32(34).string(message.firstNames); + } + if (message.lastName !== "") { + writer.uint32(42).string(message.lastName); + } + if (message.profilePictureUrl !== "") { + writer.uint32(50).string(message.profilePictureUrl); + } + if (message.handle !== undefined) { + writer.uint32(58).string(message.handle); + } + if (message.createdAt !== undefined) { + Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(82).fork()).join(); + } + if (message.updatedAt !== undefined) { + Timestamp.encode(toTimestamp(message.updatedAt), writer.uint32(90).fork()).join(); + } + if (message.deletedAt !== undefined) { + Timestamp.encode(toTimestamp(message.deletedAt), writer.uint32(98).fork()).join(); + } + if (message.lastLogin !== undefined) { + Timestamp.encode(toTimestamp(message.lastLogin), writer.uint32(106).fork()).join(); + } + if (message.isActive !== false) { + writer.uint32(160).bool(message.isActive); + } + if (message.isEmailVerified !== false) { + writer.uint32(168).bool(message.isEmailVerified); + } + if (message.isPhoneVerified !== false) { + writer.uint32(176).bool(message.isPhoneVerified); + } + if (message.dateOfBirth !== undefined) { + DateMessage.encode(message.dateOfBirth, writer.uint32(186).fork()).join(); + } + if (message.version !== 0) { + writer.uint32(192).int64(message.version); + } + for (const v of message.socialAccounts) { + SocialAccount.encode(v!, writer.uint32(242).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): User { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUser(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.email = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.phone = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.firstNames = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.lastName = reader.string(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.profilePictureUrl = reader.string(); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.handle = reader.string(); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.createdAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.updatedAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.deletedAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 13: { + if (tag !== 106) { + break; + } + + message.lastLogin = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 20: { + if (tag !== 160) { + break; + } + + message.isActive = reader.bool(); + continue; + } + case 21: { + if (tag !== 168) { + break; + } + + message.isEmailVerified = reader.bool(); + continue; + } + case 22: { + if (tag !== 176) { + break; + } + + message.isPhoneVerified = reader.bool(); + continue; + } + case 23: { + if (tag !== 186) { + break; + } + + message.dateOfBirth = DateMessage.decode(reader, reader.uint32()); + continue; + } + case 24: { + if (tag !== 192) { + break; + } + + message.version = longToNumber(reader.int64()); + continue; + } + case 30: { + if (tag !== 242) { + break; + } + + message.socialAccounts.push(SocialAccount.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): User { + return { + id: isSet(object.id) ? globalThis.String(object.id) : "", + email: isSet(object.email) ? globalThis.String(object.email) : "", + phone: isSet(object.phone) ? globalThis.String(object.phone) : "", + firstNames: isSet(object.firstNames) + ? globalThis.String(object.firstNames) + : isSet(object.first_names) + ? globalThis.String(object.first_names) + : "", + lastName: isSet(object.lastName) + ? globalThis.String(object.lastName) + : isSet(object.last_name) + ? globalThis.String(object.last_name) + : "", + profilePictureUrl: isSet(object.profilePictureUrl) + ? globalThis.String(object.profilePictureUrl) + : isSet(object.profile_picture_url) + ? globalThis.String(object.profile_picture_url) + : "", + handle: isSet(object.handle) ? globalThis.String(object.handle) : undefined, + createdAt: isSet(object.createdAt) + ? fromJsonTimestamp(object.createdAt) + : isSet(object.created_at) + ? fromJsonTimestamp(object.created_at) + : undefined, + updatedAt: isSet(object.updatedAt) + ? fromJsonTimestamp(object.updatedAt) + : isSet(object.updated_at) + ? fromJsonTimestamp(object.updated_at) + : undefined, + deletedAt: isSet(object.deletedAt) + ? fromJsonTimestamp(object.deletedAt) + : isSet(object.deleted_at) + ? fromJsonTimestamp(object.deleted_at) + : undefined, + lastLogin: isSet(object.lastLogin) + ? fromJsonTimestamp(object.lastLogin) + : isSet(object.last_login) + ? fromJsonTimestamp(object.last_login) + : undefined, + isActive: isSet(object.isActive) + ? globalThis.Boolean(object.isActive) + : isSet(object.is_active) + ? globalThis.Boolean(object.is_active) + : false, + isEmailVerified: isSet(object.isEmailVerified) + ? globalThis.Boolean(object.isEmailVerified) + : isSet(object.is_email_verified) + ? globalThis.Boolean(object.is_email_verified) + : false, + isPhoneVerified: isSet(object.isPhoneVerified) + ? globalThis.Boolean(object.isPhoneVerified) + : isSet(object.is_phone_verified) + ? globalThis.Boolean(object.is_phone_verified) + : false, + dateOfBirth: isSet(object.dateOfBirth) + ? DateMessage.fromJSON(object.dateOfBirth) + : isSet(object.date_of_birth) + ? DateMessage.fromJSON(object.date_of_birth) + : undefined, + version: isSet(object.version) ? globalThis.Number(object.version) : 0, + socialAccounts: globalThis.Array.isArray(object?.socialAccounts) + ? object.socialAccounts.map((e: any) => SocialAccount.fromJSON(e)) + : globalThis.Array.isArray(object?.social_accounts) + ? object.social_accounts.map((e: any) => SocialAccount.fromJSON(e)) + : [], + }; + }, + + toJSON(message: User): unknown { + const obj: any = {}; + if (message.id !== "") { + obj.id = message.id; + } + if (message.email !== "") { + obj.email = message.email; + } + if (message.phone !== "") { + obj.phone = message.phone; + } + if (message.firstNames !== "") { + obj.firstNames = message.firstNames; + } + if (message.lastName !== "") { + obj.lastName = message.lastName; + } + if (message.profilePictureUrl !== "") { + obj.profilePictureUrl = message.profilePictureUrl; + } + if (message.handle !== undefined) { + obj.handle = message.handle; + } + if (message.createdAt !== undefined) { + obj.createdAt = message.createdAt.toISOString(); + } + if (message.updatedAt !== undefined) { + obj.updatedAt = message.updatedAt.toISOString(); + } + if (message.deletedAt !== undefined) { + obj.deletedAt = message.deletedAt.toISOString(); + } + if (message.lastLogin !== undefined) { + obj.lastLogin = message.lastLogin.toISOString(); + } + if (message.isActive !== false) { + obj.isActive = message.isActive; + } + if (message.isEmailVerified !== false) { + obj.isEmailVerified = message.isEmailVerified; + } + if (message.isPhoneVerified !== false) { + obj.isPhoneVerified = message.isPhoneVerified; + } + if (message.dateOfBirth !== undefined) { + obj.dateOfBirth = DateMessage.toJSON(message.dateOfBirth); + } + if (message.version !== 0) { + obj.version = Math.round(message.version); + } + if (message.socialAccounts?.length) { + obj.socialAccounts = message.socialAccounts.map((e) => SocialAccount.toJSON(e)); + } + return obj; + }, + + create(base?: DeepPartial): User { + return User.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): User { + const message = createBaseUser(); + message.id = object.id ?? ""; + message.email = object.email ?? ""; + message.phone = object.phone ?? ""; + message.firstNames = object.firstNames ?? ""; + message.lastName = object.lastName ?? ""; + message.profilePictureUrl = object.profilePictureUrl ?? ""; + message.handle = object.handle ?? undefined; + message.createdAt = object.createdAt ?? undefined; + message.updatedAt = object.updatedAt ?? undefined; + message.deletedAt = object.deletedAt ?? undefined; + message.lastLogin = object.lastLogin ?? undefined; + message.isActive = object.isActive ?? false; + message.isEmailVerified = object.isEmailVerified ?? false; + message.isPhoneVerified = object.isPhoneVerified ?? false; + message.dateOfBirth = (object.dateOfBirth !== undefined && object.dateOfBirth !== null) + ? DateMessage.fromPartial(object.dateOfBirth) + : undefined; + message.version = object.version ?? 0; + message.socialAccounts = object.socialAccounts?.map((e) => SocialAccount.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseRole(): Role { + return { id: "", code: "", description: "", createdAt: undefined, updatedAt: undefined }; +} + +export const Role: MessageFns = { + encode(message: Role, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + if (message.code !== "") { + writer.uint32(18).string(message.code); + } + if (message.description !== "") { + writer.uint32(26).string(message.description); + } + if (message.createdAt !== undefined) { + Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(34).fork()).join(); + } + if (message.updatedAt !== undefined) { + Timestamp.encode(toTimestamp(message.updatedAt), writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Role { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRole(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.code = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.description = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.createdAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.updatedAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Role { + return { + id: isSet(object.id) ? globalThis.String(object.id) : "", + code: isSet(object.code) ? globalThis.String(object.code) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + createdAt: isSet(object.createdAt) + ? fromJsonTimestamp(object.createdAt) + : isSet(object.created_at) + ? fromJsonTimestamp(object.created_at) + : undefined, + updatedAt: isSet(object.updatedAt) + ? fromJsonTimestamp(object.updatedAt) + : isSet(object.updated_at) + ? fromJsonTimestamp(object.updated_at) + : undefined, + }; + }, + + toJSON(message: Role): unknown { + const obj: any = {}; + if (message.id !== "") { + obj.id = message.id; + } + if (message.code !== "") { + obj.code = message.code; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.createdAt !== undefined) { + obj.createdAt = message.createdAt.toISOString(); + } + if (message.updatedAt !== undefined) { + obj.updatedAt = message.updatedAt.toISOString(); + } + return obj; + }, + + create(base?: DeepPartial): Role { + return Role.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): Role { + const message = createBaseRole(); + message.id = object.id ?? ""; + message.code = object.code ?? ""; + message.description = object.description ?? ""; + message.createdAt = object.createdAt ?? undefined; + message.updatedAt = object.updatedAt ?? undefined; + return message; + }, +}; + +function createBaseSocialAccount(): SocialAccount { + return { provider: "", providerUserId: "", accessToken: "", expiresAt: undefined }; +} + +export const SocialAccount: MessageFns = { + encode(message: SocialAccount, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.provider !== "") { + writer.uint32(10).string(message.provider); + } + if (message.providerUserId !== "") { + writer.uint32(18).string(message.providerUserId); + } + if (message.accessToken !== "") { + writer.uint32(26).string(message.accessToken); + } + if (message.expiresAt !== undefined) { + Timestamp.encode(toTimestamp(message.expiresAt), writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SocialAccount { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSocialAccount(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.provider = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.providerUserId = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.accessToken = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.expiresAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SocialAccount { + return { + provider: isSet(object.provider) ? globalThis.String(object.provider) : "", + providerUserId: isSet(object.providerUserId) + ? globalThis.String(object.providerUserId) + : isSet(object.provider_user_id) + ? globalThis.String(object.provider_user_id) + : "", + accessToken: isSet(object.accessToken) + ? globalThis.String(object.accessToken) + : isSet(object.access_token) + ? globalThis.String(object.access_token) + : "", + expiresAt: isSet(object.expiresAt) + ? fromJsonTimestamp(object.expiresAt) + : isSet(object.expires_at) + ? fromJsonTimestamp(object.expires_at) + : undefined, + }; + }, + + toJSON(message: SocialAccount): unknown { + const obj: any = {}; + if (message.provider !== "") { + obj.provider = message.provider; + } + if (message.providerUserId !== "") { + obj.providerUserId = message.providerUserId; + } + if (message.accessToken !== "") { + obj.accessToken = message.accessToken; + } + if (message.expiresAt !== undefined) { + obj.expiresAt = message.expiresAt.toISOString(); + } + return obj; + }, + + create(base?: DeepPartial): SocialAccount { + return SocialAccount.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): SocialAccount { + const message = createBaseSocialAccount(); + message.provider = object.provider ?? ""; + message.providerUserId = object.providerUserId ?? ""; + message.accessToken = object.accessToken ?? ""; + message.expiresAt = object.expiresAt ?? undefined; + return message; + }, +}; + +function createBaseRegisterUserRequest(): RegisterUserRequest { + return { email: "", password: "", phone: "", firstName: "", lastName: "" }; +} + +export const RegisterUserRequest: MessageFns = { + encode(message: RegisterUserRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.email !== "") { + writer.uint32(10).string(message.email); + } + if (message.password !== "") { + writer.uint32(18).string(message.password); + } + if (message.phone !== "") { + writer.uint32(26).string(message.phone); + } + if (message.firstName !== "") { + writer.uint32(34).string(message.firstName); + } + if (message.lastName !== "") { + writer.uint32(42).string(message.lastName); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RegisterUserRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRegisterUserRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.email = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.password = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.phone = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.firstName = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.lastName = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RegisterUserRequest { + return { + email: isSet(object.email) ? globalThis.String(object.email) : "", + password: isSet(object.password) ? globalThis.String(object.password) : "", + phone: isSet(object.phone) ? globalThis.String(object.phone) : "", + firstName: isSet(object.firstName) + ? globalThis.String(object.firstName) + : isSet(object.first_name) + ? globalThis.String(object.first_name) + : "", + lastName: isSet(object.lastName) + ? globalThis.String(object.lastName) + : isSet(object.last_name) + ? globalThis.String(object.last_name) + : "", + }; + }, + + toJSON(message: RegisterUserRequest): unknown { + const obj: any = {}; + if (message.email !== "") { + obj.email = message.email; + } + if (message.password !== "") { + obj.password = message.password; + } + if (message.phone !== "") { + obj.phone = message.phone; + } + if (message.firstName !== "") { + obj.firstName = message.firstName; + } + if (message.lastName !== "") { + obj.lastName = message.lastName; + } + return obj; + }, + + create(base?: DeepPartial): RegisterUserRequest { + return RegisterUserRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): RegisterUserRequest { + const message = createBaseRegisterUserRequest(); + message.email = object.email ?? ""; + message.password = object.password ?? ""; + message.phone = object.phone ?? ""; + message.firstName = object.firstName ?? ""; + message.lastName = object.lastName ?? ""; + return message; + }, +}; + +function createBaseUserResponse(): UserResponse { + return { success: false, resultCode: 0, message: "", user: undefined }; +} + +export const UserResponse: MessageFns = { + encode(message: UserResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + if (message.user !== undefined) { + User.encode(message.user, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UserResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUserResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.user = User.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UserResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + user: isSet(object.user) ? User.fromJSON(object.user) : undefined, + }; + }, + + toJSON(message: UserResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.user !== undefined) { + obj.user = User.toJSON(message.user); + } + return obj; + }, + + create(base?: DeepPartial): UserResponse { + return UserResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): UserResponse { + const message = createBaseUserResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.user = (object.user !== undefined && object.user !== null) ? User.fromPartial(object.user) : undefined; + return message; + }, +}; + +function createBaseLoginRequest(): LoginRequest { + return { email: "", password: "" }; +} + +export const LoginRequest: MessageFns = { + encode(message: LoginRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.email !== "") { + writer.uint32(10).string(message.email); + } + if (message.password !== "") { + writer.uint32(18).string(message.password); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): LoginRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLoginRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.email = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.password = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): LoginRequest { + return { + email: isSet(object.email) ? globalThis.String(object.email) : "", + password: isSet(object.password) ? globalThis.String(object.password) : "", + }; + }, + + toJSON(message: LoginRequest): unknown { + const obj: any = {}; + if (message.email !== "") { + obj.email = message.email; + } + if (message.password !== "") { + obj.password = message.password; + } + return obj; + }, + + create(base?: DeepPartial): LoginRequest { + return LoginRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): LoginRequest { + const message = createBaseLoginRequest(); + message.email = object.email ?? ""; + message.password = object.password ?? ""; + return message; + }, +}; + +function createBaseAuthenticationResponse(): AuthenticationResponse { + return { success: false, resultCode: 0, message: "", token: "", user: undefined }; +} + +export const AuthenticationResponse: MessageFns = { + encode(message: AuthenticationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + if (message.token !== "") { + writer.uint32(34).string(message.token); + } + if (message.user !== undefined) { + User.encode(message.user, writer.uint32(42).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AuthenticationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAuthenticationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.token = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.user = User.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AuthenticationResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + token: isSet(object.token) ? globalThis.String(object.token) : "", + user: isSet(object.user) ? User.fromJSON(object.user) : undefined, + }; + }, + + toJSON(message: AuthenticationResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.token !== "") { + obj.token = message.token; + } + if (message.user !== undefined) { + obj.user = User.toJSON(message.user); + } + return obj; + }, + + create(base?: DeepPartial): AuthenticationResponse { + return AuthenticationResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): AuthenticationResponse { + const message = createBaseAuthenticationResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.token = object.token ?? ""; + message.user = (object.user !== undefined && object.user !== null) ? User.fromPartial(object.user) : undefined; + return message; + }, +}; + +function createBaseGetUserRequest(): GetUserRequest { + return { userId: "", actorId: "", actorToken: "" }; +} + +export const GetUserRequest: MessageFns = { + encode(message: GetUserRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.userId !== "") { + writer.uint32(10).string(message.userId); + } + if (message.actorId !== "") { + writer.uint32(90).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(98).string(message.actorToken); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUserRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUserRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.userId = reader.string(); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.actorToken = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUserRequest { + return { + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + }; + }, + + toJSON(message: GetUserRequest): unknown { + const obj: any = {}; + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + return obj; + }, + + create(base?: DeepPartial): GetUserRequest { + return GetUserRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUserRequest { + const message = createBaseGetUserRequest(); + message.userId = object.userId ?? ""; + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + return message; + }, +}; + +function createBaseGetUsersByUsernamesRequest(): GetUsersByUsernamesRequest { + return { emailAddresses: [], phoneNumbers: [], actorId: "", actorToken: "" }; +} + +export const GetUsersByUsernamesRequest: MessageFns = { + encode(message: GetUsersByUsernamesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.emailAddresses) { + writer.uint32(18).string(v!); + } + for (const v of message.phoneNumbers) { + writer.uint32(26).string(v!); + } + if (message.actorId !== "") { + writer.uint32(90).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(98).string(message.actorToken); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUsersByUsernamesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUsersByUsernamesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: { + if (tag !== 18) { + break; + } + + message.emailAddresses.push(reader.string()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.phoneNumbers.push(reader.string()); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.actorToken = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUsersByUsernamesRequest { + return { + emailAddresses: globalThis.Array.isArray(object?.emailAddresses) + ? object.emailAddresses.map((e: any) => globalThis.String(e)) + : globalThis.Array.isArray(object?.email_addresses) + ? object.email_addresses.map((e: any) => globalThis.String(e)) + : [], + phoneNumbers: globalThis.Array.isArray(object?.phoneNumbers) + ? object.phoneNumbers.map((e: any) => globalThis.String(e)) + : globalThis.Array.isArray(object?.phone_numbers) + ? object.phone_numbers.map((e: any) => globalThis.String(e)) + : [], + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + }; + }, + + toJSON(message: GetUsersByUsernamesRequest): unknown { + const obj: any = {}; + if (message.emailAddresses?.length) { + obj.emailAddresses = message.emailAddresses; + } + if (message.phoneNumbers?.length) { + obj.phoneNumbers = message.phoneNumbers; + } + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + return obj; + }, + + create(base?: DeepPartial): GetUsersByUsernamesRequest { + return GetUsersByUsernamesRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUsersByUsernamesRequest { + const message = createBaseGetUsersByUsernamesRequest(); + message.emailAddresses = object.emailAddresses?.map((e) => e) || []; + message.phoneNumbers = object.phoneNumbers?.map((e) => e) || []; + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + return message; + }, +}; + +function createBaseDeleteUserRequest(): DeleteUserRequest { + return { actorId: "", actorToken: "", userId: "", reason: "", userAgent: "", unassignRoles: false }; +} + +export const DeleteUserRequest: MessageFns = { + encode(message: DeleteUserRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.userId !== "") { + writer.uint32(26).string(message.userId); + } + if (message.reason !== "") { + writer.uint32(34).string(message.reason); + } + if (message.userAgent !== "") { + writer.uint32(42).string(message.userAgent); + } + if (message.unassignRoles !== false) { + writer.uint32(48).bool(message.unassignRoles); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DeleteUserRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeleteUserRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.userId = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.reason = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.userAgent = reader.string(); + continue; + } + case 6: { + if (tag !== 48) { + break; + } + + message.unassignRoles = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DeleteUserRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + reason: isSet(object.reason) ? globalThis.String(object.reason) : "", + userAgent: isSet(object.userAgent) + ? globalThis.String(object.userAgent) + : isSet(object.user_agent) + ? globalThis.String(object.user_agent) + : "", + unassignRoles: isSet(object.unassignRoles) + ? globalThis.Boolean(object.unassignRoles) + : isSet(object.unassign_roles) + ? globalThis.Boolean(object.unassign_roles) + : false, + }; + }, + + toJSON(message: DeleteUserRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.reason !== "") { + obj.reason = message.reason; + } + if (message.userAgent !== "") { + obj.userAgent = message.userAgent; + } + if (message.unassignRoles !== false) { + obj.unassignRoles = message.unassignRoles; + } + return obj; + }, + + create(base?: DeepPartial): DeleteUserRequest { + return DeleteUserRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): DeleteUserRequest { + const message = createBaseDeleteUserRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userId = object.userId ?? ""; + message.reason = object.reason ?? ""; + message.userAgent = object.userAgent ?? ""; + message.unassignRoles = object.unassignRoles ?? false; + return message; + }, +}; + +function createBaseRestoreUserRequest(): RestoreUserRequest { + return { actorId: "", actorToken: "", userId: "", reason: "", userAgent: "", restoreRoles: false }; +} + +export const RestoreUserRequest: MessageFns = { + encode(message: RestoreUserRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.userId !== "") { + writer.uint32(26).string(message.userId); + } + if (message.reason !== "") { + writer.uint32(34).string(message.reason); + } + if (message.userAgent !== "") { + writer.uint32(42).string(message.userAgent); + } + if (message.restoreRoles !== false) { + writer.uint32(48).bool(message.restoreRoles); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RestoreUserRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRestoreUserRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.userId = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.reason = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.userAgent = reader.string(); + continue; + } + case 6: { + if (tag !== 48) { + break; + } + + message.restoreRoles = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RestoreUserRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + reason: isSet(object.reason) ? globalThis.String(object.reason) : "", + userAgent: isSet(object.userAgent) + ? globalThis.String(object.userAgent) + : isSet(object.user_agent) + ? globalThis.String(object.user_agent) + : "", + restoreRoles: isSet(object.restoreRoles) + ? globalThis.Boolean(object.restoreRoles) + : isSet(object.restore_roles) + ? globalThis.Boolean(object.restore_roles) + : false, + }; + }, + + toJSON(message: RestoreUserRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.reason !== "") { + obj.reason = message.reason; + } + if (message.userAgent !== "") { + obj.userAgent = message.userAgent; + } + if (message.restoreRoles !== false) { + obj.restoreRoles = message.restoreRoles; + } + return obj; + }, + + create(base?: DeepPartial): RestoreUserRequest { + return RestoreUserRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): RestoreUserRequest { + const message = createBaseRestoreUserRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userId = object.userId ?? ""; + message.reason = object.reason ?? ""; + message.userAgent = object.userAgent ?? ""; + message.restoreRoles = object.restoreRoles ?? false; + return message; + }, +}; + +function createBaseAssignRoleRequest(): AssignRoleRequest { + return { + actorId: "", + actorToken: "", + userId: "", + roleId: "", + scopeCode: "", + targetId: undefined, + expiresAt: undefined, + sessionId: "", + }; +} + +export const AssignRoleRequest: MessageFns = { + encode(message: AssignRoleRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.userId !== "") { + writer.uint32(42).string(message.userId); + } + if (message.roleId !== "") { + writer.uint32(50).string(message.roleId); + } + if (message.scopeCode !== "") { + writer.uint32(58).string(message.scopeCode); + } + if (message.targetId !== undefined) { + writer.uint32(66).string(message.targetId); + } + if (message.expiresAt !== undefined) { + Timestamp.encode(toTimestamp(message.expiresAt), writer.uint32(74).fork()).join(); + } + if (message.sessionId !== "") { + writer.uint32(82).string(message.sessionId); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): AssignRoleRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAssignRoleRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.userId = reader.string(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.roleId = reader.string(); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.scopeCode = reader.string(); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.targetId = reader.string(); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.expiresAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.sessionId = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): AssignRoleRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + roleId: isSet(object.roleId) + ? globalThis.String(object.roleId) + : isSet(object.role_id) + ? globalThis.String(object.role_id) + : "", + scopeCode: isSet(object.scopeCode) + ? globalThis.String(object.scopeCode) + : isSet(object.scope_code) + ? globalThis.String(object.scope_code) + : "", + targetId: isSet(object.targetId) + ? globalThis.String(object.targetId) + : isSet(object.target_id) + ? globalThis.String(object.target_id) + : undefined, + expiresAt: isSet(object.expiresAt) + ? fromJsonTimestamp(object.expiresAt) + : isSet(object.expires_at) + ? fromJsonTimestamp(object.expires_at) + : undefined, + sessionId: isSet(object.sessionId) + ? globalThis.String(object.sessionId) + : isSet(object.session_id) + ? globalThis.String(object.session_id) + : "", + }; + }, + + toJSON(message: AssignRoleRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.roleId !== "") { + obj.roleId = message.roleId; + } + if (message.scopeCode !== "") { + obj.scopeCode = message.scopeCode; + } + if (message.targetId !== undefined) { + obj.targetId = message.targetId; + } + if (message.expiresAt !== undefined) { + obj.expiresAt = message.expiresAt.toISOString(); + } + if (message.sessionId !== "") { + obj.sessionId = message.sessionId; + } + return obj; + }, + + create(base?: DeepPartial): AssignRoleRequest { + return AssignRoleRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): AssignRoleRequest { + const message = createBaseAssignRoleRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userId = object.userId ?? ""; + message.roleId = object.roleId ?? ""; + message.scopeCode = object.scopeCode ?? ""; + message.targetId = object.targetId ?? undefined; + message.expiresAt = object.expiresAt ?? undefined; + message.sessionId = object.sessionId ?? ""; + return message; + }, +}; + +function createBaseUnassignRoleRequest(): UnassignRoleRequest { + return { actorId: "", actorToken: "", userId: "", userRoleId: "", reason: "" }; +} + +export const UnassignRoleRequest: MessageFns = { + encode(message: UnassignRoleRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.userId !== "") { + writer.uint32(42).string(message.userId); + } + if (message.userRoleId !== "") { + writer.uint32(50).string(message.userRoleId); + } + if (message.reason !== "") { + writer.uint32(58).string(message.reason); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UnassignRoleRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUnassignRoleRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.userId = reader.string(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.userRoleId = reader.string(); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.reason = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UnassignRoleRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + userRoleId: isSet(object.userRoleId) + ? globalThis.String(object.userRoleId) + : isSet(object.user_role_id) + ? globalThis.String(object.user_role_id) + : "", + reason: isSet(object.reason) ? globalThis.String(object.reason) : "", + }; + }, + + toJSON(message: UnassignRoleRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.userRoleId !== "") { + obj.userRoleId = message.userRoleId; + } + if (message.reason !== "") { + obj.reason = message.reason; + } + return obj; + }, + + create(base?: DeepPartial): UnassignRoleRequest { + return UnassignRoleRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): UnassignRoleRequest { + const message = createBaseUnassignRoleRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userId = object.userId ?? ""; + message.userRoleId = object.userRoleId ?? ""; + message.reason = object.reason ?? ""; + return message; + }, +}; + +function createBaseOperationResponse(): OperationResponse { + return { success: false, resultCode: 0, message: "" }; +} + +export const OperationResponse: MessageFns = { + encode(message: OperationResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): OperationResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseOperationResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): OperationResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + }; + }, + + toJSON(message: OperationResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + return obj; + }, + + create(base?: DeepPartial): OperationResponse { + return OperationResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): OperationResponse { + const message = createBaseOperationResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + return message; + }, +}; + +function createBaseSearchUsersRequest(): SearchUsersRequest { + return { + actorId: "", + actorToken: "", + email: undefined, + phone: undefined, + search: undefined, + page: 0, + pageSize: 0, + includeInactive: false, + }; +} + +export const SearchUsersRequest: MessageFns = { + encode(message: SearchUsersRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.email !== undefined) { + writer.uint32(26).string(message.email); + } + if (message.phone !== undefined) { + writer.uint32(34).string(message.phone); + } + if (message.search !== undefined) { + writer.uint32(90).string(message.search); + } + if (message.page !== 0) { + writer.uint32(96).int32(message.page); + } + if (message.pageSize !== 0) { + writer.uint32(104).int32(message.pageSize); + } + if (message.includeInactive !== false) { + writer.uint32(112).bool(message.includeInactive); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SearchUsersRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSearchUsersRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.email = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.phone = reader.string(); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.search = reader.string(); + continue; + } + case 12: { + if (tag !== 96) { + break; + } + + message.page = reader.int32(); + continue; + } + case 13: { + if (tag !== 104) { + break; + } + + message.pageSize = reader.int32(); + continue; + } + case 14: { + if (tag !== 112) { + break; + } + + message.includeInactive = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SearchUsersRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + email: isSet(object.email) ? globalThis.String(object.email) : undefined, + phone: isSet(object.phone) ? globalThis.String(object.phone) : undefined, + search: isSet(object.search) ? globalThis.String(object.search) : undefined, + page: isSet(object.page) ? globalThis.Number(object.page) : 0, + pageSize: isSet(object.pageSize) + ? globalThis.Number(object.pageSize) + : isSet(object.page_size) + ? globalThis.Number(object.page_size) + : 0, + includeInactive: isSet(object.includeInactive) + ? globalThis.Boolean(object.includeInactive) + : isSet(object.include_inactive) + ? globalThis.Boolean(object.include_inactive) + : false, + }; + }, + + toJSON(message: SearchUsersRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.email !== undefined) { + obj.email = message.email; + } + if (message.phone !== undefined) { + obj.phone = message.phone; + } + if (message.search !== undefined) { + obj.search = message.search; + } + if (message.page !== 0) { + obj.page = Math.round(message.page); + } + if (message.pageSize !== 0) { + obj.pageSize = Math.round(message.pageSize); + } + if (message.includeInactive !== false) { + obj.includeInactive = message.includeInactive; + } + return obj; + }, + + create(base?: DeepPartial): SearchUsersRequest { + return SearchUsersRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): SearchUsersRequest { + const message = createBaseSearchUsersRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.email = object.email ?? undefined; + message.phone = object.phone ?? undefined; + message.search = object.search ?? undefined; + message.page = object.page ?? 0; + message.pageSize = object.pageSize ?? 0; + message.includeInactive = object.includeInactive ?? false; + return message; + }, +}; + +function createBaseCountUsersRequest(): CountUsersRequest { + return { actorId: "", actorToken: "" }; +} + +export const CountUsersRequest: MessageFns = { + encode(message: CountUsersRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CountUsersRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCountUsersRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CountUsersRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + }; + }, + + toJSON(message: CountUsersRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + return obj; + }, + + create(base?: DeepPartial): CountUsersRequest { + return CountUsersRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): CountUsersRequest { + const message = createBaseCountUsersRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + return message; + }, +}; + +function createBaseTimeSeriesStatistic(): TimeSeriesStatistic { + return { count: 0, year: 0, month: 0, day: 0, hour: 0 }; +} + +export const TimeSeriesStatistic: MessageFns = { + encode(message: TimeSeriesStatistic, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.count !== 0) { + writer.uint32(8).uint32(message.count); + } + if (message.year !== 0) { + writer.uint32(24).int64(message.year); + } + if (message.month !== 0) { + writer.uint32(32).uint32(message.month); + } + if (message.day !== 0) { + writer.uint32(40).uint32(message.day); + } + if (message.hour !== 0) { + writer.uint32(48).uint32(message.hour); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): TimeSeriesStatistic { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseTimeSeriesStatistic(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.count = reader.uint32(); + continue; + } + case 3: { + if (tag !== 24) { + break; + } + + message.year = longToNumber(reader.int64()); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.month = reader.uint32(); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.day = reader.uint32(); + continue; + } + case 6: { + if (tag !== 48) { + break; + } + + message.hour = reader.uint32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): TimeSeriesStatistic { + return { + count: isSet(object.count) ? globalThis.Number(object.count) : 0, + year: isSet(object.year) ? globalThis.Number(object.year) : 0, + month: isSet(object.month) ? globalThis.Number(object.month) : 0, + day: isSet(object.day) ? globalThis.Number(object.day) : 0, + hour: isSet(object.hour) ? globalThis.Number(object.hour) : 0, + }; + }, + + toJSON(message: TimeSeriesStatistic): unknown { + const obj: any = {}; + if (message.count !== 0) { + obj.count = Math.round(message.count); + } + if (message.year !== 0) { + obj.year = Math.round(message.year); + } + if (message.month !== 0) { + obj.month = Math.round(message.month); + } + if (message.day !== 0) { + obj.day = Math.round(message.day); + } + if (message.hour !== 0) { + obj.hour = Math.round(message.hour); + } + return obj; + }, + + create(base?: DeepPartial): TimeSeriesStatistic { + return TimeSeriesStatistic.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): TimeSeriesStatistic { + const message = createBaseTimeSeriesStatistic(); + message.count = object.count ?? 0; + message.year = object.year ?? 0; + message.month = object.month ?? 0; + message.day = object.day ?? 0; + message.hour = object.hour ?? 0; + return message; + }, +}; + +function createBaseCountUsersResponse(): CountUsersResponse { + return { success: false, resultCode: 0, message: "", grandTotal: 0, currentDate: undefined, daily: [], monthly: [] }; +} + +export const CountUsersResponse: MessageFns = { + encode(message: CountUsersResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + if (message.grandTotal !== 0) { + writer.uint32(32).uint32(message.grandTotal); + } + if (message.currentDate !== undefined) { + DateMessage.encode(message.currentDate, writer.uint32(58).fork()).join(); + } + for (const v of message.daily) { + TimeSeriesStatistic.encode(v!, writer.uint32(42).fork()).join(); + } + for (const v of message.monthly) { + TimeSeriesStatistic.encode(v!, writer.uint32(50).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CountUsersResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCountUsersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.grandTotal = reader.uint32(); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.currentDate = DateMessage.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.daily.push(TimeSeriesStatistic.decode(reader, reader.uint32())); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.monthly.push(TimeSeriesStatistic.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CountUsersResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + grandTotal: isSet(object.grandTotal) + ? globalThis.Number(object.grandTotal) + : isSet(object.grand_total) + ? globalThis.Number(object.grand_total) + : 0, + currentDate: isSet(object.currentDate) + ? DateMessage.fromJSON(object.currentDate) + : isSet(object.current_date) + ? DateMessage.fromJSON(object.current_date) + : undefined, + daily: globalThis.Array.isArray(object?.daily) + ? object.daily.map((e: any) => TimeSeriesStatistic.fromJSON(e)) + : [], + monthly: globalThis.Array.isArray(object?.monthly) + ? object.monthly.map((e: any) => TimeSeriesStatistic.fromJSON(e)) + : [], + }; + }, + + toJSON(message: CountUsersResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.grandTotal !== 0) { + obj.grandTotal = Math.round(message.grandTotal); + } + if (message.currentDate !== undefined) { + obj.currentDate = DateMessage.toJSON(message.currentDate); + } + if (message.daily?.length) { + obj.daily = message.daily.map((e) => TimeSeriesStatistic.toJSON(e)); + } + if (message.monthly?.length) { + obj.monthly = message.monthly.map((e) => TimeSeriesStatistic.toJSON(e)); + } + return obj; + }, + + create(base?: DeepPartial): CountUsersResponse { + return CountUsersResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): CountUsersResponse { + const message = createBaseCountUsersResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.grandTotal = object.grandTotal ?? 0; + message.currentDate = (object.currentDate !== undefined && object.currentDate !== null) + ? DateMessage.fromPartial(object.currentDate) + : undefined; + message.daily = object.daily?.map((e) => TimeSeriesStatistic.fromPartial(e)) || []; + message.monthly = object.monthly?.map((e) => TimeSeriesStatistic.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseSearchUsersResponse(): SearchUsersResponse { + return { success: false, resultCode: 0, message: "", users: [], total: 0 }; +} + +export const SearchUsersResponse: MessageFns = { + encode(message: SearchUsersResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + for (const v of message.users) { + User.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.total !== 0) { + writer.uint32(40).int32(message.total); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SearchUsersResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSearchUsersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.users.push(User.decode(reader, reader.uint32())); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.total = reader.int32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SearchUsersResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + users: globalThis.Array.isArray(object?.users) ? object.users.map((e: any) => User.fromJSON(e)) : [], + total: isSet(object.total) ? globalThis.Number(object.total) : 0, + }; + }, + + toJSON(message: SearchUsersResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.users?.length) { + obj.users = message.users.map((e) => User.toJSON(e)); + } + if (message.total !== 0) { + obj.total = Math.round(message.total); + } + return obj; + }, + + create(base?: DeepPartial): SearchUsersResponse { + return SearchUsersResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): SearchUsersResponse { + const message = createBaseSearchUsersResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.users = object.users?.map((e) => User.fromPartial(e)) || []; + message.total = object.total ?? 0; + return message; + }, +}; + +function createBaseSearchRolesRequest(): SearchRolesRequest { + return { actorId: "", actorToken: "", search: "", page: 0, pageSize: 0 }; +} + +export const SearchRolesRequest: MessageFns = { + encode(message: SearchRolesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.search !== "") { + writer.uint32(90).string(message.search); + } + if (message.page !== 0) { + writer.uint32(96).int32(message.page); + } + if (message.pageSize !== 0) { + writer.uint32(104).int32(message.pageSize); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SearchRolesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSearchRolesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.search = reader.string(); + continue; + } + case 12: { + if (tag !== 96) { + break; + } + + message.page = reader.int32(); + continue; + } + case 13: { + if (tag !== 104) { + break; + } + + message.pageSize = reader.int32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SearchRolesRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + search: isSet(object.search) ? globalThis.String(object.search) : "", + page: isSet(object.page) ? globalThis.Number(object.page) : 0, + pageSize: isSet(object.pageSize) + ? globalThis.Number(object.pageSize) + : isSet(object.page_size) + ? globalThis.Number(object.page_size) + : 0, + }; + }, + + toJSON(message: SearchRolesRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.search !== "") { + obj.search = message.search; + } + if (message.page !== 0) { + obj.page = Math.round(message.page); + } + if (message.pageSize !== 0) { + obj.pageSize = Math.round(message.pageSize); + } + return obj; + }, + + create(base?: DeepPartial): SearchRolesRequest { + return SearchRolesRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): SearchRolesRequest { + const message = createBaseSearchRolesRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.search = object.search ?? ""; + message.page = object.page ?? 0; + message.pageSize = object.pageSize ?? 0; + return message; + }, +}; + +function createBaseSearchRolesResponse(): SearchRolesResponse { + return { success: false, resultCode: 0, message: "", roles: [], total: 0 }; +} + +export const SearchRolesResponse: MessageFns = { + encode(message: SearchRolesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + for (const v of message.roles) { + Role.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.total !== 0) { + writer.uint32(40).int32(message.total); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): SearchRolesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSearchRolesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.roles.push(Role.decode(reader, reader.uint32())); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.total = reader.int32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): SearchRolesResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + roles: globalThis.Array.isArray(object?.roles) ? object.roles.map((e: any) => Role.fromJSON(e)) : [], + total: isSet(object.total) ? globalThis.Number(object.total) : 0, + }; + }, + + toJSON(message: SearchRolesResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.roles?.length) { + obj.roles = message.roles.map((e) => Role.toJSON(e)); + } + if (message.total !== 0) { + obj.total = Math.round(message.total); + } + return obj; + }, + + create(base?: DeepPartial): SearchRolesResponse { + return SearchRolesResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): SearchRolesResponse { + const message = createBaseSearchRolesResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.roles = object.roles?.map((e) => Role.fromPartial(e)) || []; + message.total = object.total ?? 0; + return message; + }, +}; + +function createBaseGetRoleScopesRequest(): GetRoleScopesRequest { + return { actorId: "", actorToken: "", roleId: undefined, scopeCode: undefined }; +} + +export const GetRoleScopesRequest: MessageFns = { + encode(message: GetRoleScopesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.roleId !== undefined) { + writer.uint32(26).string(message.roleId); + } + if (message.scopeCode !== undefined) { + writer.uint32(34).string(message.scopeCode); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetRoleScopesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetRoleScopesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.roleId = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.scopeCode = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetRoleScopesRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + roleId: isSet(object.roleId) + ? globalThis.String(object.roleId) + : isSet(object.role_id) + ? globalThis.String(object.role_id) + : undefined, + scopeCode: isSet(object.scopeCode) + ? globalThis.String(object.scopeCode) + : isSet(object.scope_code) + ? globalThis.String(object.scope_code) + : undefined, + }; + }, + + toJSON(message: GetRoleScopesRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.roleId !== undefined) { + obj.roleId = message.roleId; + } + if (message.scopeCode !== undefined) { + obj.scopeCode = message.scopeCode; + } + return obj; + }, + + create(base?: DeepPartial): GetRoleScopesRequest { + return GetRoleScopesRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetRoleScopesRequest { + const message = createBaseGetRoleScopesRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.roleId = object.roleId ?? undefined; + message.scopeCode = object.scopeCode ?? undefined; + return message; + }, +}; + +function createBaseGetRoleScopesResponse(): GetRoleScopesResponse { + return { success: false, resultCode: 0, message: "", roleScopes: [], roles: {} }; +} + +export const GetRoleScopesResponse: MessageFns = { + encode(message: GetRoleScopesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + for (const v of message.roleScopes) { + RoleScope.encode(v!, writer.uint32(34).fork()).join(); + } + globalThis.Object.entries(message.roles).forEach(([key, value]: [string, Role]) => { + GetRoleScopesResponse_RolesEntry.encode({ key: key as any, value }, writer.uint32(42).fork()).join(); + }); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetRoleScopesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetRoleScopesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.roleScopes.push(RoleScope.decode(reader, reader.uint32())); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + const entry5 = GetRoleScopesResponse_RolesEntry.decode(reader, reader.uint32()); + if (entry5.value !== undefined) { + message.roles[entry5.key] = entry5.value; + } + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetRoleScopesResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + roleScopes: globalThis.Array.isArray(object?.roleScopes) + ? object.roleScopes.map((e: any) => RoleScope.fromJSON(e)) + : globalThis.Array.isArray(object?.role_scopes) + ? object.role_scopes.map((e: any) => RoleScope.fromJSON(e)) + : [], + roles: isObject(object.roles) + ? (globalThis.Object.entries(object.roles) as [string, any][]).reduce( + (acc: { [key: string]: Role }, [key, value]: [string, any]) => { + acc[key] = Role.fromJSON(value); + return acc; + }, + {}, + ) + : {}, + }; + }, + + toJSON(message: GetRoleScopesResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.roleScopes?.length) { + obj.roleScopes = message.roleScopes.map((e) => RoleScope.toJSON(e)); + } + if (message.roles) { + const entries = globalThis.Object.entries(message.roles) as [string, Role][]; + if (entries.length > 0) { + obj.roles = {}; + entries.forEach(([k, v]) => { + obj.roles[k] = Role.toJSON(v); + }); + } + } + return obj; + }, + + create(base?: DeepPartial): GetRoleScopesResponse { + return GetRoleScopesResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetRoleScopesResponse { + const message = createBaseGetRoleScopesResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.roleScopes = object.roleScopes?.map((e) => RoleScope.fromPartial(e)) || []; + message.roles = (globalThis.Object.entries(object.roles ?? {}) as [string, Role][]).reduce( + (acc: { [key: string]: Role }, [key, value]: [string, Role]) => { + if (value !== undefined) { + acc[key] = Role.fromPartial(value); + } + return acc; + }, + {}, + ); + return message; + }, +}; + +function createBaseGetRoleScopesResponse_RolesEntry(): GetRoleScopesResponse_RolesEntry { + return { key: "", value: undefined }; +} + +export const GetRoleScopesResponse_RolesEntry: MessageFns = { + encode(message: GetRoleScopesResponse_RolesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== undefined) { + Role.encode(message.value, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetRoleScopesResponse_RolesEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetRoleScopesResponse_RolesEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.value = Role.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetRoleScopesResponse_RolesEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? Role.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: GetRoleScopesResponse_RolesEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== undefined) { + obj.value = Role.toJSON(message.value); + } + return obj; + }, + + create(base?: DeepPartial): GetRoleScopesResponse_RolesEntry { + return GetRoleScopesResponse_RolesEntry.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetRoleScopesResponse_RolesEntry { + const message = createBaseGetRoleScopesResponse_RolesEntry(); + message.key = object.key ?? ""; + message.value = (object.value !== undefined && object.value !== null) ? Role.fromPartial(object.value) : undefined; + return message; + }, +}; + +function createBaseLookup(): Lookup { + return { code: "", name: "", description: "" }; +} + +export const Lookup: MessageFns = { + encode(message: Lookup, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.code !== "") { + writer.uint32(10).string(message.code); + } + if (message.name !== "") { + writer.uint32(18).string(message.name); + } + if (message.description !== "") { + writer.uint32(26).string(message.description); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Lookup { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLookup(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.code = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.name = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.description = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Lookup { + return { + code: isSet(object.code) ? globalThis.String(object.code) : "", + name: isSet(object.name) ? globalThis.String(object.name) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + }; + }, + + toJSON(message: Lookup): unknown { + const obj: any = {}; + if (message.code !== "") { + obj.code = message.code; + } + if (message.name !== "") { + obj.name = message.name; + } + if (message.description !== "") { + obj.description = message.description; + } + return obj; + }, + + create(base?: DeepPartial): Lookup { + return Lookup.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): Lookup { + const message = createBaseLookup(); + message.code = object.code ?? ""; + message.name = object.name ?? ""; + message.description = object.description ?? ""; + return message; + }, +}; + +function createBaseScope(): Scope { + return { code: "", description: "", parentCode: undefined, isActive: false }; +} + +export const Scope: MessageFns = { + encode(message: Scope, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.code !== "") { + writer.uint32(10).string(message.code); + } + if (message.description !== "") { + writer.uint32(18).string(message.description); + } + if (message.parentCode !== undefined) { + writer.uint32(26).string(message.parentCode); + } + if (message.isActive !== false) { + writer.uint32(32).bool(message.isActive); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): Scope { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseScope(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.code = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.description = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.parentCode = reader.string(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.isActive = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): Scope { + return { + code: isSet(object.code) ? globalThis.String(object.code) : "", + description: isSet(object.description) ? globalThis.String(object.description) : "", + parentCode: isSet(object.parentCode) + ? globalThis.String(object.parentCode) + : isSet(object.parent_code) + ? globalThis.String(object.parent_code) + : undefined, + isActive: isSet(object.isActive) + ? globalThis.Boolean(object.isActive) + : isSet(object.is_active) + ? globalThis.Boolean(object.is_active) + : false, + }; + }, + + toJSON(message: Scope): unknown { + const obj: any = {}; + if (message.code !== "") { + obj.code = message.code; + } + if (message.description !== "") { + obj.description = message.description; + } + if (message.parentCode !== undefined) { + obj.parentCode = message.parentCode; + } + if (message.isActive !== false) { + obj.isActive = message.isActive; + } + return obj; + }, + + create(base?: DeepPartial): Scope { + return Scope.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): Scope { + const message = createBaseScope(); + message.code = object.code ?? ""; + message.description = object.description ?? ""; + message.parentCode = object.parentCode ?? undefined; + message.isActive = object.isActive ?? false; + return message; + }, +}; + +function createBaseGetUserWithRolesRequest(): GetUserWithRolesRequest { + return { actorId: "", actorToken: "", userId: "", includeInactive: false, scopeCodes: [], roleNames: [] }; +} + +export const GetUserWithRolesRequest: MessageFns = { + encode(message: GetUserWithRolesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.userId !== "") { + writer.uint32(26).string(message.userId); + } + if (message.includeInactive !== false) { + writer.uint32(32).bool(message.includeInactive); + } + for (const v of message.scopeCodes) { + writer.uint32(42).string(v!); + } + for (const v of message.roleNames) { + writer.uint32(50).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUserWithRolesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUserWithRolesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.userId = reader.string(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.includeInactive = reader.bool(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.scopeCodes.push(reader.string()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.roleNames.push(reader.string()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUserWithRolesRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + includeInactive: isSet(object.includeInactive) + ? globalThis.Boolean(object.includeInactive) + : isSet(object.include_inactive) + ? globalThis.Boolean(object.include_inactive) + : false, + scopeCodes: globalThis.Array.isArray(object?.scopeCodes) + ? object.scopeCodes.map((e: any) => globalThis.String(e)) + : globalThis.Array.isArray(object?.scope_codes) + ? object.scope_codes.map((e: any) => globalThis.String(e)) + : [], + roleNames: globalThis.Array.isArray(object?.roleNames) + ? object.roleNames.map((e: any) => globalThis.String(e)) + : globalThis.Array.isArray(object?.role_names) + ? object.role_names.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: GetUserWithRolesRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.includeInactive !== false) { + obj.includeInactive = message.includeInactive; + } + if (message.scopeCodes?.length) { + obj.scopeCodes = message.scopeCodes; + } + if (message.roleNames?.length) { + obj.roleNames = message.roleNames; + } + return obj; + }, + + create(base?: DeepPartial): GetUserWithRolesRequest { + return GetUserWithRolesRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUserWithRolesRequest { + const message = createBaseGetUserWithRolesRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userId = object.userId ?? ""; + message.includeInactive = object.includeInactive ?? false; + message.scopeCodes = object.scopeCodes?.map((e) => e) || []; + message.roleNames = object.roleNames?.map((e) => e) || []; + return message; + }, +}; + +function createBaseGetUserWithRolesResponse(): GetUserWithRolesResponse { + return { + success: false, + resultCode: 0, + message: "", + user: undefined, + roles: {}, + assignedRoles: [], + scopes: {}, + actors: {}, + }; +} + +export const GetUserWithRolesResponse: MessageFns = { + encode(message: GetUserWithRolesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + if (message.user !== undefined) { + User.encode(message.user, writer.uint32(34).fork()).join(); + } + globalThis.Object.entries(message.roles).forEach(([key, value]: [string, Role]) => { + GetUserWithRolesResponse_RolesEntry.encode({ key: key as any, value }, writer.uint32(42).fork()).join(); + }); + for (const v of message.assignedRoles) { + UserRole.encode(v!, writer.uint32(50).fork()).join(); + } + globalThis.Object.entries(message.scopes).forEach(([key, value]: [string, Scope]) => { + GetUserWithRolesResponse_ScopesEntry.encode({ key: key as any, value }, writer.uint32(58).fork()).join(); + }); + globalThis.Object.entries(message.actors).forEach(([key, value]: [string, User]) => { + GetUserWithRolesResponse_ActorsEntry.encode({ key: key as any, value }, writer.uint32(66).fork()).join(); + }); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUserWithRolesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUserWithRolesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.user = User.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + const entry5 = GetUserWithRolesResponse_RolesEntry.decode(reader, reader.uint32()); + if (entry5.value !== undefined) { + message.roles[entry5.key] = entry5.value; + } + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.assignedRoles.push(UserRole.decode(reader, reader.uint32())); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + const entry7 = GetUserWithRolesResponse_ScopesEntry.decode(reader, reader.uint32()); + if (entry7.value !== undefined) { + message.scopes[entry7.key] = entry7.value; + } + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + const entry8 = GetUserWithRolesResponse_ActorsEntry.decode(reader, reader.uint32()); + if (entry8.value !== undefined) { + message.actors[entry8.key] = entry8.value; + } + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUserWithRolesResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + user: isSet(object.user) ? User.fromJSON(object.user) : undefined, + roles: isObject(object.roles) + ? (globalThis.Object.entries(object.roles) as [string, any][]).reduce( + (acc: { [key: string]: Role }, [key, value]: [string, any]) => { + acc[key] = Role.fromJSON(value); + return acc; + }, + {}, + ) + : {}, + assignedRoles: globalThis.Array.isArray(object?.assignedRoles) + ? object.assignedRoles.map((e: any) => UserRole.fromJSON(e)) + : globalThis.Array.isArray(object?.assigned_roles) + ? object.assigned_roles.map((e: any) => UserRole.fromJSON(e)) + : [], + scopes: isObject(object.scopes) + ? (globalThis.Object.entries(object.scopes) as [string, any][]).reduce( + (acc: { [key: string]: Scope }, [key, value]: [string, any]) => { + acc[key] = Scope.fromJSON(value); + return acc; + }, + {}, + ) + : {}, + actors: isObject(object.actors) + ? (globalThis.Object.entries(object.actors) as [string, any][]).reduce( + (acc: { [key: string]: User }, [key, value]: [string, any]) => { + acc[key] = User.fromJSON(value); + return acc; + }, + {}, + ) + : {}, + }; + }, + + toJSON(message: GetUserWithRolesResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.user !== undefined) { + obj.user = User.toJSON(message.user); + } + if (message.roles) { + const entries = globalThis.Object.entries(message.roles) as [string, Role][]; + if (entries.length > 0) { + obj.roles = {}; + entries.forEach(([k, v]) => { + obj.roles[k] = Role.toJSON(v); + }); + } + } + if (message.assignedRoles?.length) { + obj.assignedRoles = message.assignedRoles.map((e) => UserRole.toJSON(e)); + } + if (message.scopes) { + const entries = globalThis.Object.entries(message.scopes) as [string, Scope][]; + if (entries.length > 0) { + obj.scopes = {}; + entries.forEach(([k, v]) => { + obj.scopes[k] = Scope.toJSON(v); + }); + } + } + if (message.actors) { + const entries = globalThis.Object.entries(message.actors) as [string, User][]; + if (entries.length > 0) { + obj.actors = {}; + entries.forEach(([k, v]) => { + obj.actors[k] = User.toJSON(v); + }); + } + } + return obj; + }, + + create(base?: DeepPartial): GetUserWithRolesResponse { + return GetUserWithRolesResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUserWithRolesResponse { + const message = createBaseGetUserWithRolesResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.user = (object.user !== undefined && object.user !== null) ? User.fromPartial(object.user) : undefined; + message.roles = (globalThis.Object.entries(object.roles ?? {}) as [string, Role][]).reduce( + (acc: { [key: string]: Role }, [key, value]: [string, Role]) => { + if (value !== undefined) { + acc[key] = Role.fromPartial(value); + } + return acc; + }, + {}, + ); + message.assignedRoles = object.assignedRoles?.map((e) => UserRole.fromPartial(e)) || []; + message.scopes = (globalThis.Object.entries(object.scopes ?? {}) as [string, Scope][]).reduce( + (acc: { [key: string]: Scope }, [key, value]: [string, Scope]) => { + if (value !== undefined) { + acc[key] = Scope.fromPartial(value); + } + return acc; + }, + {}, + ); + message.actors = (globalThis.Object.entries(object.actors ?? {}) as [string, User][]).reduce( + (acc: { [key: string]: User }, [key, value]: [string, User]) => { + if (value !== undefined) { + acc[key] = User.fromPartial(value); + } + return acc; + }, + {}, + ); + return message; + }, +}; + +function createBaseGetUserWithRolesResponse_RolesEntry(): GetUserWithRolesResponse_RolesEntry { + return { key: "", value: undefined }; +} + +export const GetUserWithRolesResponse_RolesEntry: MessageFns = { + encode(message: GetUserWithRolesResponse_RolesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== undefined) { + Role.encode(message.value, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUserWithRolesResponse_RolesEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUserWithRolesResponse_RolesEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.value = Role.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUserWithRolesResponse_RolesEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? Role.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: GetUserWithRolesResponse_RolesEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== undefined) { + obj.value = Role.toJSON(message.value); + } + return obj; + }, + + create(base?: DeepPartial): GetUserWithRolesResponse_RolesEntry { + return GetUserWithRolesResponse_RolesEntry.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUserWithRolesResponse_RolesEntry { + const message = createBaseGetUserWithRolesResponse_RolesEntry(); + message.key = object.key ?? ""; + message.value = (object.value !== undefined && object.value !== null) ? Role.fromPartial(object.value) : undefined; + return message; + }, +}; + +function createBaseGetUserWithRolesResponse_ScopesEntry(): GetUserWithRolesResponse_ScopesEntry { + return { key: "", value: undefined }; +} + +export const GetUserWithRolesResponse_ScopesEntry: MessageFns = { + encode(message: GetUserWithRolesResponse_ScopesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== undefined) { + Scope.encode(message.value, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUserWithRolesResponse_ScopesEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUserWithRolesResponse_ScopesEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.value = Scope.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUserWithRolesResponse_ScopesEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? Scope.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: GetUserWithRolesResponse_ScopesEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== undefined) { + obj.value = Scope.toJSON(message.value); + } + return obj; + }, + + create(base?: DeepPartial): GetUserWithRolesResponse_ScopesEntry { + return GetUserWithRolesResponse_ScopesEntry.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUserWithRolesResponse_ScopesEntry { + const message = createBaseGetUserWithRolesResponse_ScopesEntry(); + message.key = object.key ?? ""; + message.value = (object.value !== undefined && object.value !== null) ? Scope.fromPartial(object.value) : undefined; + return message; + }, +}; + +function createBaseGetUserWithRolesResponse_ActorsEntry(): GetUserWithRolesResponse_ActorsEntry { + return { key: "", value: undefined }; +} + +export const GetUserWithRolesResponse_ActorsEntry: MessageFns = { + encode(message: GetUserWithRolesResponse_ActorsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== undefined) { + User.encode(message.value, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUserWithRolesResponse_ActorsEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUserWithRolesResponse_ActorsEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.value = User.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUserWithRolesResponse_ActorsEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? User.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: GetUserWithRolesResponse_ActorsEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== undefined) { + obj.value = User.toJSON(message.value); + } + return obj; + }, + + create(base?: DeepPartial): GetUserWithRolesResponse_ActorsEntry { + return GetUserWithRolesResponse_ActorsEntry.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUserWithRolesResponse_ActorsEntry { + const message = createBaseGetUserWithRolesResponse_ActorsEntry(); + message.key = object.key ?? ""; + message.value = (object.value !== undefined && object.value !== null) ? User.fromPartial(object.value) : undefined; + return message; + }, +}; + +function createBaseUserRole(): UserRole { + return { + id: "", + userId: "", + roleId: "", + scopeCode: "", + targetId: undefined, + isActive: false, + createdAt: undefined, + createdBy: "", + updatedAt: undefined, + updatedBy: "", + expiresAt: undefined, + deletedAt: undefined, + deletedBy: undefined, + }; +} + +export const UserRole: MessageFns = { + encode(message: UserRole, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + if (message.userId !== "") { + writer.uint32(18).string(message.userId); + } + if (message.roleId !== "") { + writer.uint32(26).string(message.roleId); + } + if (message.scopeCode !== "") { + writer.uint32(34).string(message.scopeCode); + } + if (message.targetId !== undefined) { + writer.uint32(42).string(message.targetId); + } + if (message.isActive !== false) { + writer.uint32(48).bool(message.isActive); + } + if (message.createdAt !== undefined) { + Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(90).fork()).join(); + } + if (message.createdBy !== "") { + writer.uint32(98).string(message.createdBy); + } + if (message.updatedAt !== undefined) { + Timestamp.encode(toTimestamp(message.updatedAt), writer.uint32(106).fork()).join(); + } + if (message.updatedBy !== "") { + writer.uint32(114).string(message.updatedBy); + } + if (message.expiresAt !== undefined) { + Timestamp.encode(toTimestamp(message.expiresAt), writer.uint32(122).fork()).join(); + } + if (message.deletedAt !== undefined) { + Timestamp.encode(toTimestamp(message.deletedAt), writer.uint32(130).fork()).join(); + } + if (message.deletedBy !== undefined) { + writer.uint32(138).string(message.deletedBy); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UserRole { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUserRole(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.userId = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.roleId = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.scopeCode = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.targetId = reader.string(); + continue; + } + case 6: { + if (tag !== 48) { + break; + } + + message.isActive = reader.bool(); + continue; + } + case 11: { + if (tag !== 90) { + break; + } + + message.createdAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 12: { + if (tag !== 98) { + break; + } + + message.createdBy = reader.string(); + continue; + } + case 13: { + if (tag !== 106) { + break; + } + + message.updatedAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 14: { + if (tag !== 114) { + break; + } + + message.updatedBy = reader.string(); + continue; + } + case 15: { + if (tag !== 122) { + break; + } + + message.expiresAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 16: { + if (tag !== 130) { + break; + } + + message.deletedAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 17: { + if (tag !== 138) { + break; + } + + message.deletedBy = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UserRole { + return { + id: isSet(object.id) ? globalThis.String(object.id) : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + roleId: isSet(object.roleId) + ? globalThis.String(object.roleId) + : isSet(object.role_id) + ? globalThis.String(object.role_id) + : "", + scopeCode: isSet(object.scopeCode) + ? globalThis.String(object.scopeCode) + : isSet(object.scope_code) + ? globalThis.String(object.scope_code) + : "", + targetId: isSet(object.targetId) + ? globalThis.String(object.targetId) + : isSet(object.target_id) + ? globalThis.String(object.target_id) + : undefined, + isActive: isSet(object.isActive) + ? globalThis.Boolean(object.isActive) + : isSet(object.is_active) + ? globalThis.Boolean(object.is_active) + : false, + createdAt: isSet(object.createdAt) + ? fromJsonTimestamp(object.createdAt) + : isSet(object.created_at) + ? fromJsonTimestamp(object.created_at) + : undefined, + createdBy: isSet(object.createdBy) + ? globalThis.String(object.createdBy) + : isSet(object.created_by) + ? globalThis.String(object.created_by) + : "", + updatedAt: isSet(object.updatedAt) + ? fromJsonTimestamp(object.updatedAt) + : isSet(object.updated_at) + ? fromJsonTimestamp(object.updated_at) + : undefined, + updatedBy: isSet(object.updatedBy) + ? globalThis.String(object.updatedBy) + : isSet(object.updated_by) + ? globalThis.String(object.updated_by) + : "", + expiresAt: isSet(object.expiresAt) + ? fromJsonTimestamp(object.expiresAt) + : isSet(object.expires_at) + ? fromJsonTimestamp(object.expires_at) + : undefined, + deletedAt: isSet(object.deletedAt) + ? fromJsonTimestamp(object.deletedAt) + : isSet(object.deleted_at) + ? fromJsonTimestamp(object.deleted_at) + : undefined, + deletedBy: isSet(object.deletedBy) + ? globalThis.String(object.deletedBy) + : isSet(object.deleted_by) + ? globalThis.String(object.deleted_by) + : undefined, + }; + }, + + toJSON(message: UserRole): unknown { + const obj: any = {}; + if (message.id !== "") { + obj.id = message.id; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.roleId !== "") { + obj.roleId = message.roleId; + } + if (message.scopeCode !== "") { + obj.scopeCode = message.scopeCode; + } + if (message.targetId !== undefined) { + obj.targetId = message.targetId; + } + if (message.isActive !== false) { + obj.isActive = message.isActive; + } + if (message.createdAt !== undefined) { + obj.createdAt = message.createdAt.toISOString(); + } + if (message.createdBy !== "") { + obj.createdBy = message.createdBy; + } + if (message.updatedAt !== undefined) { + obj.updatedAt = message.updatedAt.toISOString(); + } + if (message.updatedBy !== "") { + obj.updatedBy = message.updatedBy; + } + if (message.expiresAt !== undefined) { + obj.expiresAt = message.expiresAt.toISOString(); + } + if (message.deletedAt !== undefined) { + obj.deletedAt = message.deletedAt.toISOString(); + } + if (message.deletedBy !== undefined) { + obj.deletedBy = message.deletedBy; + } + return obj; + }, + + create(base?: DeepPartial): UserRole { + return UserRole.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): UserRole { + const message = createBaseUserRole(); + message.id = object.id ?? ""; + message.userId = object.userId ?? ""; + message.roleId = object.roleId ?? ""; + message.scopeCode = object.scopeCode ?? ""; + message.targetId = object.targetId ?? undefined; + message.isActive = object.isActive ?? false; + message.createdAt = object.createdAt ?? undefined; + message.createdBy = object.createdBy ?? ""; + message.updatedAt = object.updatedAt ?? undefined; + message.updatedBy = object.updatedBy ?? ""; + message.expiresAt = object.expiresAt ?? undefined; + message.deletedAt = object.deletedAt ?? undefined; + message.deletedBy = object.deletedBy ?? undefined; + return message; + }, +}; + +function createBaseGetUsersRequest(): GetUsersRequest { + return { actorId: "", actorToken: "", userIds: [] }; +} + +export const GetUsersRequest: MessageFns = { + encode(message: GetUsersRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + for (const v of message.userIds) { + writer.uint32(26).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUsersRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUsersRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.userIds.push(reader.string()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUsersRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userIds: globalThis.Array.isArray(object?.userIds) + ? object.userIds.map((e: any) => globalThis.String(e)) + : globalThis.Array.isArray(object?.user_ids) + ? object.user_ids.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: GetUsersRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userIds?.length) { + obj.userIds = message.userIds; + } + return obj; + }, + + create(base?: DeepPartial): GetUsersRequest { + return GetUsersRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUsersRequest { + const message = createBaseGetUsersRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userIds = object.userIds?.map((e) => e) || []; + return message; + }, +}; + +function createBaseUsersResponse(): UsersResponse { + return { success: false, resultCode: 0, message: "", users: [] }; +} + +export const UsersResponse: MessageFns = { + encode(message: UsersResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + for (const v of message.users) { + User.encode(v!, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UsersResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUsersResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.users.push(User.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UsersResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + users: globalThis.Array.isArray(object?.users) ? object.users.map((e: any) => User.fromJSON(e)) : [], + }; + }, + + toJSON(message: UsersResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.users?.length) { + obj.users = message.users.map((e) => User.toJSON(e)); + } + return obj; + }, + + create(base?: DeepPartial): UsersResponse { + return UsersResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): UsersResponse { + const message = createBaseUsersResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.users = object.users?.map((e) => User.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGetAssignableRolesRequest(): GetAssignableRolesRequest { + return { actorId: "", actorToken: "", userId: "" }; +} + +export const GetAssignableRolesRequest: MessageFns = { + encode(message: GetAssignableRolesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.userId !== "") { + writer.uint32(26).string(message.userId); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetAssignableRolesRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetAssignableRolesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.userId = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetAssignableRolesRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + }; + }, + + toJSON(message: GetAssignableRolesRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + return obj; + }, + + create(base?: DeepPartial): GetAssignableRolesRequest { + return GetAssignableRolesRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetAssignableRolesRequest { + const message = createBaseGetAssignableRolesRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userId = object.userId ?? ""; + return message; + }, +}; + +function createBaseScopeList(): ScopeList { + return { scopeCodes: [] }; +} + +export const ScopeList: MessageFns = { + encode(message: ScopeList, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + for (const v of message.scopeCodes) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ScopeList { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseScopeList(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.scopeCodes.push(reader.string()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ScopeList { + return { + scopeCodes: globalThis.Array.isArray(object?.scopeCodes) + ? object.scopeCodes.map((e: any) => globalThis.String(e)) + : globalThis.Array.isArray(object?.scope_codes) + ? object.scope_codes.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: ScopeList): unknown { + const obj: any = {}; + if (message.scopeCodes?.length) { + obj.scopeCodes = message.scopeCodes; + } + return obj; + }, + + create(base?: DeepPartial): ScopeList { + return ScopeList.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): ScopeList { + const message = createBaseScopeList(); + message.scopeCodes = object.scopeCodes?.map((e) => e) || []; + return message; + }, +}; + +function createBaseGetAssignableRolesResponse(): GetAssignableRolesResponse { + return { success: false, resultCode: 0, message: "", roles: [], scopes: [], roleScopes: {} }; +} + +export const GetAssignableRolesResponse: MessageFns = { + encode(message: GetAssignableRolesResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + for (const v of message.roles) { + RoleScopeTarget.encode(v!, writer.uint32(34).fork()).join(); + } + for (const v of message.scopes) { + Scope.encode(v!, writer.uint32(42).fork()).join(); + } + globalThis.Object.entries(message.roleScopes).forEach(([key, value]: [string, ScopeList]) => { + GetAssignableRolesResponse_RoleScopesEntry.encode({ key: key as any, value }, writer.uint32(50).fork()).join(); + }); + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetAssignableRolesResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetAssignableRolesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.roles.push(RoleScopeTarget.decode(reader, reader.uint32())); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.scopes.push(Scope.decode(reader, reader.uint32())); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + const entry6 = GetAssignableRolesResponse_RoleScopesEntry.decode(reader, reader.uint32()); + if (entry6.value !== undefined) { + message.roleScopes[entry6.key] = entry6.value; + } + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetAssignableRolesResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + roles: globalThis.Array.isArray(object?.roles) ? object.roles.map((e: any) => RoleScopeTarget.fromJSON(e)) : [], + scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e: any) => Scope.fromJSON(e)) : [], + roleScopes: isObject(object.roleScopes) + ? (globalThis.Object.entries(object.roleScopes) as [string, any][]).reduce( + (acc: { [key: string]: ScopeList }, [key, value]: [string, any]) => { + acc[key] = ScopeList.fromJSON(value); + return acc; + }, + {}, + ) + : isObject(object.role_scopes) + ? (globalThis.Object.entries(object.role_scopes) as [string, any][]).reduce( + (acc: { [key: string]: ScopeList }, [key, value]: [string, any]) => { + acc[key] = ScopeList.fromJSON(value); + return acc; + }, + {}, + ) + : {}, + }; + }, + + toJSON(message: GetAssignableRolesResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.roles?.length) { + obj.roles = message.roles.map((e) => RoleScopeTarget.toJSON(e)); + } + if (message.scopes?.length) { + obj.scopes = message.scopes.map((e) => Scope.toJSON(e)); + } + if (message.roleScopes) { + const entries = globalThis.Object.entries(message.roleScopes) as [string, ScopeList][]; + if (entries.length > 0) { + obj.roleScopes = {}; + entries.forEach(([k, v]) => { + obj.roleScopes[k] = ScopeList.toJSON(v); + }); + } + } + return obj; + }, + + create(base?: DeepPartial): GetAssignableRolesResponse { + return GetAssignableRolesResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetAssignableRolesResponse { + const message = createBaseGetAssignableRolesResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.roles = object.roles?.map((e) => RoleScopeTarget.fromPartial(e)) || []; + message.scopes = object.scopes?.map((e) => Scope.fromPartial(e)) || []; + message.roleScopes = (globalThis.Object.entries(object.roleScopes ?? {}) as [string, ScopeList][]).reduce( + (acc: { [key: string]: ScopeList }, [key, value]: [string, ScopeList]) => { + if (value !== undefined) { + acc[key] = ScopeList.fromPartial(value); + } + return acc; + }, + {}, + ); + return message; + }, +}; + +function createBaseGetAssignableRolesResponse_RoleScopesEntry(): GetAssignableRolesResponse_RoleScopesEntry { + return { key: "", value: undefined }; +} + +export const GetAssignableRolesResponse_RoleScopesEntry: MessageFns = { + encode(message: GetAssignableRolesResponse_RoleScopesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.key !== "") { + writer.uint32(10).string(message.key); + } + if (message.value !== undefined) { + ScopeList.encode(message.value, writer.uint32(18).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetAssignableRolesResponse_RoleScopesEntry { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetAssignableRolesResponse_RoleScopesEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.key = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.value = ScopeList.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetAssignableRolesResponse_RoleScopesEntry { + return { + key: isSet(object.key) ? globalThis.String(object.key) : "", + value: isSet(object.value) ? ScopeList.fromJSON(object.value) : undefined, + }; + }, + + toJSON(message: GetAssignableRolesResponse_RoleScopesEntry): unknown { + const obj: any = {}; + if (message.key !== "") { + obj.key = message.key; + } + if (message.value !== undefined) { + obj.value = ScopeList.toJSON(message.value); + } + return obj; + }, + + create(base?: DeepPartial): GetAssignableRolesResponse_RoleScopesEntry { + return GetAssignableRolesResponse_RoleScopesEntry.fromPartial(base ?? {}); + }, + fromPartial( + object: DeepPartial, + ): GetAssignableRolesResponse_RoleScopesEntry { + const message = createBaseGetAssignableRolesResponse_RoleScopesEntry(); + message.key = object.key ?? ""; + message.value = (object.value !== undefined && object.value !== null) + ? ScopeList.fromPartial(object.value) + : undefined; + return message; + }, +}; + +function createBaseRoleScopeTarget(): RoleScopeTarget { + return { role: undefined, scope: undefined, targetId: "", expiresAt: undefined }; +} + +export const RoleScopeTarget: MessageFns = { + encode(message: RoleScopeTarget, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.role !== undefined) { + Role.encode(message.role, writer.uint32(10).fork()).join(); + } + if (message.scope !== undefined) { + Scope.encode(message.scope, writer.uint32(18).fork()).join(); + } + if (message.targetId !== "") { + writer.uint32(26).string(message.targetId); + } + if (message.expiresAt !== undefined) { + Timestamp.encode(toTimestamp(message.expiresAt), writer.uint32(58).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RoleScopeTarget { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRoleScopeTarget(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.role = Role.decode(reader, reader.uint32()); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.scope = Scope.decode(reader, reader.uint32()); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.targetId = reader.string(); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.expiresAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RoleScopeTarget { + return { + role: isSet(object.role) ? Role.fromJSON(object.role) : undefined, + scope: isSet(object.scope) ? Scope.fromJSON(object.scope) : undefined, + targetId: isSet(object.targetId) + ? globalThis.String(object.targetId) + : isSet(object.target_id) + ? globalThis.String(object.target_id) + : "", + expiresAt: isSet(object.expiresAt) + ? fromJsonTimestamp(object.expiresAt) + : isSet(object.expires_at) + ? fromJsonTimestamp(object.expires_at) + : undefined, + }; + }, + + toJSON(message: RoleScopeTarget): unknown { + const obj: any = {}; + if (message.role !== undefined) { + obj.role = Role.toJSON(message.role); + } + if (message.scope !== undefined) { + obj.scope = Scope.toJSON(message.scope); + } + if (message.targetId !== "") { + obj.targetId = message.targetId; + } + if (message.expiresAt !== undefined) { + obj.expiresAt = message.expiresAt.toISOString(); + } + return obj; + }, + + create(base?: DeepPartial): RoleScopeTarget { + return RoleScopeTarget.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): RoleScopeTarget { + const message = createBaseRoleScopeTarget(); + message.role = (object.role !== undefined && object.role !== null) ? Role.fromPartial(object.role) : undefined; + message.scope = (object.scope !== undefined && object.scope !== null) ? Scope.fromPartial(object.scope) : undefined; + message.targetId = object.targetId ?? ""; + message.expiresAt = object.expiresAt ?? undefined; + return message; + }, +}; + +function createBaseGetRoleDetailsRequest(): GetRoleDetailsRequest { + return { actorId: "", actorToken: "", roleId: "" }; +} + +export const GetRoleDetailsRequest: MessageFns = { + encode(message: GetRoleDetailsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.roleId !== "") { + writer.uint32(26).string(message.roleId); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetRoleDetailsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetRoleDetailsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.roleId = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetRoleDetailsRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + roleId: isSet(object.roleId) + ? globalThis.String(object.roleId) + : isSet(object.role_id) + ? globalThis.String(object.role_id) + : "", + }; + }, + + toJSON(message: GetRoleDetailsRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.roleId !== "") { + obj.roleId = message.roleId; + } + return obj; + }, + + create(base?: DeepPartial): GetRoleDetailsRequest { + return GetRoleDetailsRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetRoleDetailsRequest { + const message = createBaseGetRoleDetailsRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.roleId = object.roleId ?? ""; + return message; + }, +}; + +function createBaseRoleScope(): RoleScope { + return { id: "", roleId: "", scopeCode: "", isActive: false }; +} + +export const RoleScope: MessageFns = { + encode(message: RoleScope, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + if (message.roleId !== "") { + writer.uint32(18).string(message.roleId); + } + if (message.scopeCode !== "") { + writer.uint32(26).string(message.scopeCode); + } + if (message.isActive !== false) { + writer.uint32(32).bool(message.isActive); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): RoleScope { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseRoleScope(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.roleId = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.scopeCode = reader.string(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.isActive = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): RoleScope { + return { + id: isSet(object.id) ? globalThis.String(object.id) : "", + roleId: isSet(object.roleId) + ? globalThis.String(object.roleId) + : isSet(object.role_id) + ? globalThis.String(object.role_id) + : "", + scopeCode: isSet(object.scopeCode) + ? globalThis.String(object.scopeCode) + : isSet(object.scope_code) + ? globalThis.String(object.scope_code) + : "", + isActive: isSet(object.isActive) + ? globalThis.Boolean(object.isActive) + : isSet(object.is_active) + ? globalThis.Boolean(object.is_active) + : false, + }; + }, + + toJSON(message: RoleScope): unknown { + const obj: any = {}; + if (message.id !== "") { + obj.id = message.id; + } + if (message.roleId !== "") { + obj.roleId = message.roleId; + } + if (message.scopeCode !== "") { + obj.scopeCode = message.scopeCode; + } + if (message.isActive !== false) { + obj.isActive = message.isActive; + } + return obj; + }, + + create(base?: DeepPartial): RoleScope { + return RoleScope.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): RoleScope { + const message = createBaseRoleScope(); + message.id = object.id ?? ""; + message.roleId = object.roleId ?? ""; + message.scopeCode = object.scopeCode ?? ""; + message.isActive = object.isActive ?? false; + return message; + }, +}; + +function createBaseGetRoleDetailsResponse(): GetRoleDetailsResponse { + return { + success: false, + resultCode: 0, + message: "", + role: undefined, + assignedRoles: [], + scopes: [], + actors: [], + roleScopes: [], + }; +} + +export const GetRoleDetailsResponse: MessageFns = { + encode(message: GetRoleDetailsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + if (message.role !== undefined) { + Role.encode(message.role, writer.uint32(34).fork()).join(); + } + for (const v of message.assignedRoles) { + UserRole.encode(v!, writer.uint32(42).fork()).join(); + } + for (const v of message.scopes) { + Scope.encode(v!, writer.uint32(50).fork()).join(); + } + for (const v of message.actors) { + User.encode(v!, writer.uint32(58).fork()).join(); + } + for (const v of message.roleScopes) { + RoleScope.encode(v!, writer.uint32(66).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetRoleDetailsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetRoleDetailsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.role = Role.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.assignedRoles.push(UserRole.decode(reader, reader.uint32())); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.scopes.push(Scope.decode(reader, reader.uint32())); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.actors.push(User.decode(reader, reader.uint32())); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.roleScopes.push(RoleScope.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetRoleDetailsResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + role: isSet(object.role) ? Role.fromJSON(object.role) : undefined, + assignedRoles: globalThis.Array.isArray(object?.assignedRoles) + ? object.assignedRoles.map((e: any) => UserRole.fromJSON(e)) + : globalThis.Array.isArray(object?.assigned_roles) + ? object.assigned_roles.map((e: any) => UserRole.fromJSON(e)) + : [], + scopes: globalThis.Array.isArray(object?.scopes) ? object.scopes.map((e: any) => Scope.fromJSON(e)) : [], + actors: globalThis.Array.isArray(object?.actors) ? object.actors.map((e: any) => User.fromJSON(e)) : [], + roleScopes: globalThis.Array.isArray(object?.roleScopes) + ? object.roleScopes.map((e: any) => RoleScope.fromJSON(e)) + : globalThis.Array.isArray(object?.role_scopes) + ? object.role_scopes.map((e: any) => RoleScope.fromJSON(e)) + : [], + }; + }, + + toJSON(message: GetRoleDetailsResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.role !== undefined) { + obj.role = Role.toJSON(message.role); + } + if (message.assignedRoles?.length) { + obj.assignedRoles = message.assignedRoles.map((e) => UserRole.toJSON(e)); + } + if (message.scopes?.length) { + obj.scopes = message.scopes.map((e) => Scope.toJSON(e)); + } + if (message.actors?.length) { + obj.actors = message.actors.map((e) => User.toJSON(e)); + } + if (message.roleScopes?.length) { + obj.roleScopes = message.roleScopes.map((e) => RoleScope.toJSON(e)); + } + return obj; + }, + + create(base?: DeepPartial): GetRoleDetailsResponse { + return GetRoleDetailsResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetRoleDetailsResponse { + const message = createBaseGetRoleDetailsResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.role = (object.role !== undefined && object.role !== null) ? Role.fromPartial(object.role) : undefined; + message.assignedRoles = object.assignedRoles?.map((e) => UserRole.fromPartial(e)) || []; + message.scopes = object.scopes?.map((e) => Scope.fromPartial(e)) || []; + message.actors = object.actors?.map((e) => User.fromPartial(e)) || []; + message.roleScopes = object.roleScopes?.map((e) => RoleScope.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGetRoleRequest(): GetRoleRequest { + return { actorId: "", actorToken: "", roleId: "" }; +} + +export const GetRoleRequest: MessageFns = { + encode(message: GetRoleRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.roleId !== "") { + writer.uint32(26).string(message.roleId); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetRoleRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetRoleRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.roleId = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetRoleRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + roleId: isSet(object.roleId) + ? globalThis.String(object.roleId) + : isSet(object.role_id) + ? globalThis.String(object.role_id) + : "", + }; + }, + + toJSON(message: GetRoleRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.roleId !== "") { + obj.roleId = message.roleId; + } + return obj; + }, + + create(base?: DeepPartial): GetRoleRequest { + return GetRoleRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetRoleRequest { + const message = createBaseGetRoleRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.roleId = object.roleId ?? ""; + return message; + }, +}; + +function createBaseGetRoleResponse(): GetRoleResponse { + return { success: false, resultCode: 0, message: "", role: undefined }; +} + +export const GetRoleResponse: MessageFns = { + encode(message: GetRoleResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + if (message.role !== undefined) { + Role.encode(message.role, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetRoleResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetRoleResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.role = Role.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetRoleResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + role: isSet(object.role) ? Role.fromJSON(object.role) : undefined, + }; + }, + + toJSON(message: GetRoleResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.role !== undefined) { + obj.role = Role.toJSON(message.role); + } + return obj; + }, + + create(base?: DeepPartial): GetRoleResponse { + return GetRoleResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetRoleResponse { + const message = createBaseGetRoleResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.role = (object.role !== undefined && object.role !== null) ? Role.fromPartial(object.role) : undefined; + return message; + }, +}; + +function createBaseGetUserRoleRequest(): GetUserRoleRequest { + return { actorId: "", actorToken: "", userRoleId: "" }; +} + +export const GetUserRoleRequest: MessageFns = { + encode(message: GetUserRoleRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.userRoleId !== "") { + writer.uint32(26).string(message.userRoleId); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUserRoleRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUserRoleRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.userRoleId = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUserRoleRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userRoleId: isSet(object.userRoleId) + ? globalThis.String(object.userRoleId) + : isSet(object.user_role_id) + ? globalThis.String(object.user_role_id) + : "", + }; + }, + + toJSON(message: GetUserRoleRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userRoleId !== "") { + obj.userRoleId = message.userRoleId; + } + return obj; + }, + + create(base?: DeepPartial): GetUserRoleRequest { + return GetUserRoleRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUserRoleRequest { + const message = createBaseGetUserRoleRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userRoleId = object.userRoleId ?? ""; + return message; + }, +}; + +function createBaseGetUserRoleResponse(): GetUserRoleResponse { + return { success: false, resultCode: 0, message: "", userRole: undefined, role: undefined, scope: undefined }; +} + +export const GetUserRoleResponse: MessageFns = { + encode(message: GetUserRoleResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + if (message.userRole !== undefined) { + UserRole.encode(message.userRole, writer.uint32(34).fork()).join(); + } + if (message.role !== undefined) { + Role.encode(message.role, writer.uint32(42).fork()).join(); + } + if (message.scope !== undefined) { + Scope.encode(message.scope, writer.uint32(50).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUserRoleResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUserRoleResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.userRole = UserRole.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.role = Role.decode(reader, reader.uint32()); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.scope = Scope.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUserRoleResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + userRole: isSet(object.userRole) + ? UserRole.fromJSON(object.userRole) + : isSet(object.user_role) + ? UserRole.fromJSON(object.user_role) + : undefined, + role: isSet(object.role) ? Role.fromJSON(object.role) : undefined, + scope: isSet(object.scope) ? Scope.fromJSON(object.scope) : undefined, + }; + }, + + toJSON(message: GetUserRoleResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.userRole !== undefined) { + obj.userRole = UserRole.toJSON(message.userRole); + } + if (message.role !== undefined) { + obj.role = Role.toJSON(message.role); + } + if (message.scope !== undefined) { + obj.scope = Scope.toJSON(message.scope); + } + return obj; + }, + + create(base?: DeepPartial): GetUserRoleResponse { + return GetUserRoleResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUserRoleResponse { + const message = createBaseGetUserRoleResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.userRole = (object.userRole !== undefined && object.userRole !== null) + ? UserRole.fromPartial(object.userRole) + : undefined; + message.role = (object.role !== undefined && object.role !== null) ? Role.fromPartial(object.role) : undefined; + message.scope = (object.scope !== undefined && object.scope !== null) ? Scope.fromPartial(object.scope) : undefined; + return message; + }, +}; + +function createBaseUpdateUserInfoRequest(): UpdateUserInfoRequest { + return { + actorId: "", + actorToken: "", + userId: "", + firstNames: undefined, + lastName: undefined, + profilePictureId: undefined, + dateOfBirth: undefined, + handle: undefined, + }; +} + +export const UpdateUserInfoRequest: MessageFns = { + encode(message: UpdateUserInfoRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.userId !== "") { + writer.uint32(26).string(message.userId); + } + if (message.firstNames !== undefined) { + writer.uint32(34).string(message.firstNames); + } + if (message.lastName !== undefined) { + writer.uint32(42).string(message.lastName); + } + if (message.profilePictureId !== undefined) { + writer.uint32(50).string(message.profilePictureId); + } + if (message.dateOfBirth !== undefined) { + DateMessage.encode(message.dateOfBirth, writer.uint32(58).fork()).join(); + } + if (message.handle !== undefined) { + writer.uint32(66).string(message.handle); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UpdateUserInfoRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpdateUserInfoRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.userId = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.firstNames = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.lastName = reader.string(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.profilePictureId = reader.string(); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.dateOfBirth = DateMessage.decode(reader, reader.uint32()); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.handle = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UpdateUserInfoRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + firstNames: isSet(object.firstNames) + ? globalThis.String(object.firstNames) + : isSet(object.first_names) + ? globalThis.String(object.first_names) + : undefined, + lastName: isSet(object.lastName) + ? globalThis.String(object.lastName) + : isSet(object.last_name) + ? globalThis.String(object.last_name) + : undefined, + profilePictureId: isSet(object.profilePictureId) + ? globalThis.String(object.profilePictureId) + : isSet(object.profile_picture_id) + ? globalThis.String(object.profile_picture_id) + : undefined, + dateOfBirth: isSet(object.dateOfBirth) + ? DateMessage.fromJSON(object.dateOfBirth) + : isSet(object.date_of_birth) + ? DateMessage.fromJSON(object.date_of_birth) + : undefined, + handle: isSet(object.handle) ? globalThis.String(object.handle) : undefined, + }; + }, + + toJSON(message: UpdateUserInfoRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.firstNames !== undefined) { + obj.firstNames = message.firstNames; + } + if (message.lastName !== undefined) { + obj.lastName = message.lastName; + } + if (message.profilePictureId !== undefined) { + obj.profilePictureId = message.profilePictureId; + } + if (message.dateOfBirth !== undefined) { + obj.dateOfBirth = DateMessage.toJSON(message.dateOfBirth); + } + if (message.handle !== undefined) { + obj.handle = message.handle; + } + return obj; + }, + + create(base?: DeepPartial): UpdateUserInfoRequest { + return UpdateUserInfoRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): UpdateUserInfoRequest { + const message = createBaseUpdateUserInfoRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userId = object.userId ?? ""; + message.firstNames = object.firstNames ?? undefined; + message.lastName = object.lastName ?? undefined; + message.profilePictureId = object.profilePictureId ?? undefined; + message.dateOfBirth = (object.dateOfBirth !== undefined && object.dateOfBirth !== null) + ? DateMessage.fromPartial(object.dateOfBirth) + : undefined; + message.handle = object.handle ?? undefined; + return message; + }, +}; + +function createBaseUpdateUserInfoResponse(): UpdateUserInfoResponse { + return { success: false, resultCode: 0, message: "", user: undefined }; +} + +export const UpdateUserInfoResponse: MessageFns = { + encode(message: UpdateUserInfoResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + if (message.user !== undefined) { + User.encode(message.user, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UpdateUserInfoResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpdateUserInfoResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.user = User.decode(reader, reader.uint32()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UpdateUserInfoResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + user: isSet(object.user) ? User.fromJSON(object.user) : undefined, + }; + }, + + toJSON(message: UpdateUserInfoResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.user !== undefined) { + obj.user = User.toJSON(message.user); + } + return obj; + }, + + create(base?: DeepPartial): UpdateUserInfoResponse { + return UpdateUserInfoResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): UpdateUserInfoResponse { + const message = createBaseUpdateUserInfoResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.user = (object.user !== undefined && object.user !== null) ? User.fromPartial(object.user) : undefined; + return message; + }, +}; + +function createBaseGetScopeAncestorsRequest(): GetScopeAncestorsRequest { + return { actorId: "", actorToken: "", scopeCode: "" }; +} + +export const GetScopeAncestorsRequest: MessageFns = { + encode(message: GetScopeAncestorsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.scopeCode !== "") { + writer.uint32(26).string(message.scopeCode); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetScopeAncestorsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetScopeAncestorsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.scopeCode = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetScopeAncestorsRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + scopeCode: isSet(object.scopeCode) + ? globalThis.String(object.scopeCode) + : isSet(object.scope_code) + ? globalThis.String(object.scope_code) + : "", + }; + }, + + toJSON(message: GetScopeAncestorsRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.scopeCode !== "") { + obj.scopeCode = message.scopeCode; + } + return obj; + }, + + create(base?: DeepPartial): GetScopeAncestorsRequest { + return GetScopeAncestorsRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetScopeAncestorsRequest { + const message = createBaseGetScopeAncestorsRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.scopeCode = object.scopeCode ?? ""; + return message; + }, +}; + +function createBaseGetScopeAncestorsResponse(): GetScopeAncestorsResponse { + return { success: false, resultCode: 0, message: "", ancestors: [] }; +} + +export const GetScopeAncestorsResponse: MessageFns = { + encode(message: GetScopeAncestorsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + for (const v of message.ancestors) { + Scope.encode(v!, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetScopeAncestorsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetScopeAncestorsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.ancestors.push(Scope.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetScopeAncestorsResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + ancestors: globalThis.Array.isArray(object?.ancestors) ? object.ancestors.map((e: any) => Scope.fromJSON(e)) : [], + }; + }, + + toJSON(message: GetScopeAncestorsResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.ancestors?.length) { + obj.ancestors = message.ancestors.map((e) => Scope.toJSON(e)); + } + return obj; + }, + + create(base?: DeepPartial): GetScopeAncestorsResponse { + return GetScopeAncestorsResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetScopeAncestorsResponse { + const message = createBaseGetScopeAncestorsResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.ancestors = object.ancestors?.map((e) => Scope.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGetScopeDescendantsRequest(): GetScopeDescendantsRequest { + return { actorId: "", actorToken: "", scopeCode: "" }; +} + +export const GetScopeDescendantsRequest: MessageFns = { + encode(message: GetScopeDescendantsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.scopeCode !== "") { + writer.uint32(26).string(message.scopeCode); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetScopeDescendantsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetScopeDescendantsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.scopeCode = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetScopeDescendantsRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + scopeCode: isSet(object.scopeCode) + ? globalThis.String(object.scopeCode) + : isSet(object.scope_code) + ? globalThis.String(object.scope_code) + : "", + }; + }, + + toJSON(message: GetScopeDescendantsRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.scopeCode !== "") { + obj.scopeCode = message.scopeCode; + } + return obj; + }, + + create(base?: DeepPartial): GetScopeDescendantsRequest { + return GetScopeDescendantsRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetScopeDescendantsRequest { + const message = createBaseGetScopeDescendantsRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.scopeCode = object.scopeCode ?? ""; + return message; + }, +}; + +function createBaseGetScopeDescendantsResponse(): GetScopeDescendantsResponse { + return { success: false, resultCode: 0, message: "", descendants: [] }; +} + +export const GetScopeDescendantsResponse: MessageFns = { + encode(message: GetScopeDescendantsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + for (const v of message.descendants) { + Scope.encode(v!, writer.uint32(34).fork()).join(); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetScopeDescendantsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetScopeDescendantsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.descendants.push(Scope.decode(reader, reader.uint32())); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetScopeDescendantsResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + descendants: globalThis.Array.isArray(object?.descendants) + ? object.descendants.map((e: any) => Scope.fromJSON(e)) + : [], + }; + }, + + toJSON(message: GetScopeDescendantsResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.descendants?.length) { + obj.descendants = message.descendants.map((e) => Scope.toJSON(e)); + } + return obj; + }, + + create(base?: DeepPartial): GetScopeDescendantsResponse { + return GetScopeDescendantsResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetScopeDescendantsResponse { + const message = createBaseGetScopeDescendantsResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.descendants = object.descendants?.map((e) => Scope.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseGetAssignableTargetsRequest(): GetAssignableTargetsRequest { + return { actorId: "", actorToken: "", scopeCode: "" }; +} + +export const GetAssignableTargetsRequest: MessageFns = { + encode(message: GetAssignableTargetsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.scopeCode !== "") { + writer.uint32(26).string(message.scopeCode); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetAssignableTargetsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetAssignableTargetsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.scopeCode = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetAssignableTargetsRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + scopeCode: isSet(object.scopeCode) + ? globalThis.String(object.scopeCode) + : isSet(object.scope_code) + ? globalThis.String(object.scope_code) + : "", + }; + }, + + toJSON(message: GetAssignableTargetsRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.scopeCode !== "") { + obj.scopeCode = message.scopeCode; + } + return obj; + }, + + create(base?: DeepPartial): GetAssignableTargetsRequest { + return GetAssignableTargetsRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetAssignableTargetsRequest { + const message = createBaseGetAssignableTargetsRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.scopeCode = object.scopeCode ?? ""; + return message; + }, +}; + +function createBaseGetAssignableTargetsResponse(): GetAssignableTargetsResponse { + return { success: false, resultCode: 0, message: "", targetIds: [], allTargetsPermissible: false }; +} + +export const GetAssignableTargetsResponse: MessageFns = { + encode(message: GetAssignableTargetsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + for (const v of message.targetIds) { + writer.uint32(34).string(v!); + } + if (message.allTargetsPermissible !== false) { + writer.uint32(40).bool(message.allTargetsPermissible); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetAssignableTargetsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetAssignableTargetsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.targetIds.push(reader.string()); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.allTargetsPermissible = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetAssignableTargetsResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + targetIds: globalThis.Array.isArray(object?.targetIds) + ? object.targetIds.map((e: any) => globalThis.String(e)) + : globalThis.Array.isArray(object?.target_ids) + ? object.target_ids.map((e: any) => globalThis.String(e)) + : [], + allTargetsPermissible: isSet(object.allTargetsPermissible) + ? globalThis.Boolean(object.allTargetsPermissible) + : isSet(object.all_targets_permissible) + ? globalThis.Boolean(object.all_targets_permissible) + : false, + }; + }, + + toJSON(message: GetAssignableTargetsResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.targetIds?.length) { + obj.targetIds = message.targetIds; + } + if (message.allTargetsPermissible !== false) { + obj.allTargetsPermissible = message.allTargetsPermissible; + } + return obj; + }, + + create(base?: DeepPartial): GetAssignableTargetsResponse { + return GetAssignableTargetsResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetAssignableTargetsResponse { + const message = createBaseGetAssignableTargetsResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.targetIds = object.targetIds?.map((e) => e) || []; + message.allTargetsPermissible = object.allTargetsPermissible ?? false; + return message; + }, +}; + +function createBaseGetUsersByRoleRequest(): GetUsersByRoleRequest { + return { actorId: "", actorToken: "", roleId: "", scopeCode: undefined, targetId: undefined, includeInactive: false }; +} + +export const GetUsersByRoleRequest: MessageFns = { + encode(message: GetUsersByRoleRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.roleId !== "") { + writer.uint32(26).string(message.roleId); + } + if (message.scopeCode !== undefined) { + writer.uint32(34).string(message.scopeCode); + } + if (message.targetId !== undefined) { + writer.uint32(42).string(message.targetId); + } + if (message.includeInactive !== false) { + writer.uint32(48).bool(message.includeInactive); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUsersByRoleRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUsersByRoleRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.roleId = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.scopeCode = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.targetId = reader.string(); + continue; + } + case 6: { + if (tag !== 48) { + break; + } + + message.includeInactive = reader.bool(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUsersByRoleRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + roleId: isSet(object.roleId) + ? globalThis.String(object.roleId) + : isSet(object.role_id) + ? globalThis.String(object.role_id) + : "", + scopeCode: isSet(object.scopeCode) + ? globalThis.String(object.scopeCode) + : isSet(object.scope_code) + ? globalThis.String(object.scope_code) + : undefined, + targetId: isSet(object.targetId) + ? globalThis.String(object.targetId) + : isSet(object.target_id) + ? globalThis.String(object.target_id) + : undefined, + includeInactive: isSet(object.includeInactive) + ? globalThis.Boolean(object.includeInactive) + : isSet(object.include_inactive) + ? globalThis.Boolean(object.include_inactive) + : false, + }; + }, + + toJSON(message: GetUsersByRoleRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.roleId !== "") { + obj.roleId = message.roleId; + } + if (message.scopeCode !== undefined) { + obj.scopeCode = message.scopeCode; + } + if (message.targetId !== undefined) { + obj.targetId = message.targetId; + } + if (message.includeInactive !== false) { + obj.includeInactive = message.includeInactive; + } + return obj; + }, + + create(base?: DeepPartial): GetUsersByRoleRequest { + return GetUsersByRoleRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUsersByRoleRequest { + const message = createBaseGetUsersByRoleRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.roleId = object.roleId ?? ""; + message.scopeCode = object.scopeCode ?? undefined; + message.targetId = object.targetId ?? undefined; + message.includeInactive = object.includeInactive ?? false; + return message; + }, +}; + +function createBaseGetUsersByRoleResponse(): GetUsersByRoleResponse { + return { success: false, resultCode: 0, message: "", users: [], total: 0 }; +} + +export const GetUsersByRoleResponse: MessageFns = { + encode(message: GetUsersByRoleResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + for (const v of message.users) { + User.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.total !== 0) { + writer.uint32(40).int32(message.total); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUsersByRoleResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUsersByRoleResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.users.push(User.decode(reader, reader.uint32())); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.total = reader.int32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUsersByRoleResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + users: globalThis.Array.isArray(object?.users) ? object.users.map((e: any) => User.fromJSON(e)) : [], + total: isSet(object.total) ? globalThis.Number(object.total) : 0, + }; + }, + + toJSON(message: GetUsersByRoleResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.users?.length) { + obj.users = message.users.map((e) => User.toJSON(e)); + } + if (message.total !== 0) { + obj.total = Math.round(message.total); + } + return obj; + }, + + create(base?: DeepPartial): GetUsersByRoleResponse { + return GetUsersByRoleResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUsersByRoleResponse { + const message = createBaseGetUsersByRoleResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.users = object.users?.map((e) => User.fromPartial(e)) || []; + message.total = object.total ?? 0; + return message; + }, +}; + +function createBaseCreateUserRequest(): CreateUserRequest { + return { + actorId: "", + actorToken: "", + email: undefined, + phone: undefined, + firstNames: "", + lastName: "", + profilePictureUrl: "", + password: undefined, + dateOfBirth: undefined, + handle: undefined, + }; +} + +export const CreateUserRequest: MessageFns = { + encode(message: CreateUserRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.email !== undefined) { + writer.uint32(26).string(message.email); + } + if (message.phone !== undefined) { + writer.uint32(34).string(message.phone); + } + if (message.firstNames !== "") { + writer.uint32(42).string(message.firstNames); + } + if (message.lastName !== "") { + writer.uint32(50).string(message.lastName); + } + if (message.profilePictureUrl !== "") { + writer.uint32(58).string(message.profilePictureUrl); + } + if (message.password !== undefined) { + writer.uint32(66).string(message.password); + } + if (message.dateOfBirth !== undefined) { + DateMessage.encode(message.dateOfBirth, writer.uint32(74).fork()).join(); + } + if (message.handle !== undefined) { + writer.uint32(82).string(message.handle); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CreateUserRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreateUserRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.email = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.phone = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.firstNames = reader.string(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.lastName = reader.string(); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.profilePictureUrl = reader.string(); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.password = reader.string(); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.dateOfBirth = DateMessage.decode(reader, reader.uint32()); + continue; + } + case 10: { + if (tag !== 82) { + break; + } + + message.handle = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CreateUserRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + email: isSet(object.email) ? globalThis.String(object.email) : undefined, + phone: isSet(object.phone) ? globalThis.String(object.phone) : undefined, + firstNames: isSet(object.firstNames) + ? globalThis.String(object.firstNames) + : isSet(object.first_names) + ? globalThis.String(object.first_names) + : "", + lastName: isSet(object.lastName) + ? globalThis.String(object.lastName) + : isSet(object.last_name) + ? globalThis.String(object.last_name) + : "", + profilePictureUrl: isSet(object.profilePictureUrl) + ? globalThis.String(object.profilePictureUrl) + : isSet(object.profile_picture_url) + ? globalThis.String(object.profile_picture_url) + : "", + password: isSet(object.password) ? globalThis.String(object.password) : undefined, + dateOfBirth: isSet(object.dateOfBirth) + ? DateMessage.fromJSON(object.dateOfBirth) + : isSet(object.date_of_birth) + ? DateMessage.fromJSON(object.date_of_birth) + : undefined, + handle: isSet(object.handle) ? globalThis.String(object.handle) : undefined, + }; + }, + + toJSON(message: CreateUserRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.email !== undefined) { + obj.email = message.email; + } + if (message.phone !== undefined) { + obj.phone = message.phone; + } + if (message.firstNames !== "") { + obj.firstNames = message.firstNames; + } + if (message.lastName !== "") { + obj.lastName = message.lastName; + } + if (message.profilePictureUrl !== "") { + obj.profilePictureUrl = message.profilePictureUrl; + } + if (message.password !== undefined) { + obj.password = message.password; + } + if (message.dateOfBirth !== undefined) { + obj.dateOfBirth = DateMessage.toJSON(message.dateOfBirth); + } + if (message.handle !== undefined) { + obj.handle = message.handle; + } + return obj; + }, + + create(base?: DeepPartial): CreateUserRequest { + return CreateUserRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): CreateUserRequest { + const message = createBaseCreateUserRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.email = object.email ?? undefined; + message.phone = object.phone ?? undefined; + message.firstNames = object.firstNames ?? ""; + message.lastName = object.lastName ?? ""; + message.profilePictureUrl = object.profilePictureUrl ?? ""; + message.password = object.password ?? undefined; + message.dateOfBirth = (object.dateOfBirth !== undefined && object.dateOfBirth !== null) + ? DateMessage.fromPartial(object.dateOfBirth) + : undefined; + message.handle = object.handle ?? undefined; + return message; + }, +}; + +function createBaseCreateUserResponse(): CreateUserResponse { + return { success: false, resultCode: 0, message: "", user: undefined, password: undefined }; +} + +export const CreateUserResponse: MessageFns = { + encode(message: CreateUserResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + if (message.user !== undefined) { + User.encode(message.user, writer.uint32(34).fork()).join(); + } + if (message.password !== undefined) { + writer.uint32(42).string(message.password); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): CreateUserResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCreateUserResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.user = User.decode(reader, reader.uint32()); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.password = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): CreateUserResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + user: isSet(object.user) ? User.fromJSON(object.user) : undefined, + password: isSet(object.password) ? globalThis.String(object.password) : undefined, + }; + }, + + toJSON(message: CreateUserResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.user !== undefined) { + obj.user = User.toJSON(message.user); + } + if (message.password !== undefined) { + obj.password = message.password; + } + return obj; + }, + + create(base?: DeepPartial): CreateUserResponse { + return CreateUserResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): CreateUserResponse { + const message = createBaseCreateUserResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.user = (object.user !== undefined && object.user !== null) ? User.fromPartial(object.user) : undefined; + message.password = object.password ?? undefined; + return message; + }, +}; + +function createBaseDeviceInfo(): DeviceInfo { + return { + applicationName: "", + applicationVersion: "", + deviceName: "", + deviceType: "", + deviceOs: "", + deviceOsVersion: "", + deviceId: "", + }; +} + +export const DeviceInfo: MessageFns = { + encode(message: DeviceInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.applicationName !== "") { + writer.uint32(10).string(message.applicationName); + } + if (message.applicationVersion !== "") { + writer.uint32(18).string(message.applicationVersion); + } + if (message.deviceName !== "") { + writer.uint32(26).string(message.deviceName); + } + if (message.deviceType !== "") { + writer.uint32(34).string(message.deviceType); + } + if (message.deviceOs !== "") { + writer.uint32(42).string(message.deviceOs); + } + if (message.deviceOsVersion !== "") { + writer.uint32(50).string(message.deviceOsVersion); + } + if (message.deviceId !== "") { + writer.uint32(58).string(message.deviceId); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): DeviceInfo { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseDeviceInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.applicationName = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.applicationVersion = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.deviceName = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.deviceType = reader.string(); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.deviceOs = reader.string(); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.deviceOsVersion = reader.string(); + continue; + } + case 7: { + if (tag !== 58) { + break; + } + + message.deviceId = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): DeviceInfo { + return { + applicationName: isSet(object.applicationName) + ? globalThis.String(object.applicationName) + : isSet(object.application_name) + ? globalThis.String(object.application_name) + : "", + applicationVersion: isSet(object.applicationVersion) + ? globalThis.String(object.applicationVersion) + : isSet(object.application_version) + ? globalThis.String(object.application_version) + : "", + deviceName: isSet(object.deviceName) + ? globalThis.String(object.deviceName) + : isSet(object.device_name) + ? globalThis.String(object.device_name) + : "", + deviceType: isSet(object.deviceType) + ? globalThis.String(object.deviceType) + : isSet(object.device_type) + ? globalThis.String(object.device_type) + : "", + deviceOs: isSet(object.deviceOs) + ? globalThis.String(object.deviceOs) + : isSet(object.device_os) + ? globalThis.String(object.device_os) + : "", + deviceOsVersion: isSet(object.deviceOsVersion) + ? globalThis.String(object.deviceOsVersion) + : isSet(object.device_os_version) + ? globalThis.String(object.device_os_version) + : "", + deviceId: isSet(object.deviceId) + ? globalThis.String(object.deviceId) + : isSet(object.device_id) + ? globalThis.String(object.device_id) + : "", + }; + }, + + toJSON(message: DeviceInfo): unknown { + const obj: any = {}; + if (message.applicationName !== "") { + obj.applicationName = message.applicationName; + } + if (message.applicationVersion !== "") { + obj.applicationVersion = message.applicationVersion; + } + if (message.deviceName !== "") { + obj.deviceName = message.deviceName; + } + if (message.deviceType !== "") { + obj.deviceType = message.deviceType; + } + if (message.deviceOs !== "") { + obj.deviceOs = message.deviceOs; + } + if (message.deviceOsVersion !== "") { + obj.deviceOsVersion = message.deviceOsVersion; + } + if (message.deviceId !== "") { + obj.deviceId = message.deviceId; + } + return obj; + }, + + create(base?: DeepPartial): DeviceInfo { + return DeviceInfo.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): DeviceInfo { + const message = createBaseDeviceInfo(); + message.applicationName = object.applicationName ?? ""; + message.applicationVersion = object.applicationVersion ?? ""; + message.deviceName = object.deviceName ?? ""; + message.deviceType = object.deviceType ?? ""; + message.deviceOs = object.deviceOs ?? ""; + message.deviceOsVersion = object.deviceOsVersion ?? ""; + message.deviceId = object.deviceId ?? ""; + return message; + }, +}; + +function createBaseUserSession(): UserSession { + return { + id: "", + userId: "", + deviceInfo: undefined, + createdAt: undefined, + expiresAt: undefined, + lastActivity: undefined, + isActive: false, + ipAddress: "", + userAgent: "", + }; +} + +export const UserSession: MessageFns = { + encode(message: UserSession, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.id !== "") { + writer.uint32(10).string(message.id); + } + if (message.userId !== "") { + writer.uint32(18).string(message.userId); + } + if (message.deviceInfo !== undefined) { + DeviceInfo.encode(message.deviceInfo, writer.uint32(26).fork()).join(); + } + if (message.createdAt !== undefined) { + Timestamp.encode(toTimestamp(message.createdAt), writer.uint32(34).fork()).join(); + } + if (message.expiresAt !== undefined) { + Timestamp.encode(toTimestamp(message.expiresAt), writer.uint32(42).fork()).join(); + } + if (message.lastActivity !== undefined) { + Timestamp.encode(toTimestamp(message.lastActivity), writer.uint32(50).fork()).join(); + } + if (message.isActive !== false) { + writer.uint32(56).bool(message.isActive); + } + if (message.ipAddress !== "") { + writer.uint32(66).string(message.ipAddress); + } + if (message.userAgent !== "") { + writer.uint32(74).string(message.userAgent); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): UserSession { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUserSession(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.id = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.userId = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.deviceInfo = DeviceInfo.decode(reader, reader.uint32()); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.createdAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 5: { + if (tag !== 42) { + break; + } + + message.expiresAt = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 6: { + if (tag !== 50) { + break; + } + + message.lastActivity = fromTimestamp(Timestamp.decode(reader, reader.uint32())); + continue; + } + case 7: { + if (tag !== 56) { + break; + } + + message.isActive = reader.bool(); + continue; + } + case 8: { + if (tag !== 66) { + break; + } + + message.ipAddress = reader.string(); + continue; + } + case 9: { + if (tag !== 74) { + break; + } + + message.userAgent = reader.string(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): UserSession { + return { + id: isSet(object.id) ? globalThis.String(object.id) : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + deviceInfo: isSet(object.deviceInfo) + ? DeviceInfo.fromJSON(object.deviceInfo) + : isSet(object.device_info) + ? DeviceInfo.fromJSON(object.device_info) + : undefined, + createdAt: isSet(object.createdAt) + ? fromJsonTimestamp(object.createdAt) + : isSet(object.created_at) + ? fromJsonTimestamp(object.created_at) + : undefined, + expiresAt: isSet(object.expiresAt) + ? fromJsonTimestamp(object.expiresAt) + : isSet(object.expires_at) + ? fromJsonTimestamp(object.expires_at) + : undefined, + lastActivity: isSet(object.lastActivity) + ? fromJsonTimestamp(object.lastActivity) + : isSet(object.last_activity) + ? fromJsonTimestamp(object.last_activity) + : undefined, + isActive: isSet(object.isActive) + ? globalThis.Boolean(object.isActive) + : isSet(object.is_active) + ? globalThis.Boolean(object.is_active) + : false, + ipAddress: isSet(object.ipAddress) + ? globalThis.String(object.ipAddress) + : isSet(object.ip_address) + ? globalThis.String(object.ip_address) + : "", + userAgent: isSet(object.userAgent) + ? globalThis.String(object.userAgent) + : isSet(object.user_agent) + ? globalThis.String(object.user_agent) + : "", + }; + }, + + toJSON(message: UserSession): unknown { + const obj: any = {}; + if (message.id !== "") { + obj.id = message.id; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.deviceInfo !== undefined) { + obj.deviceInfo = DeviceInfo.toJSON(message.deviceInfo); + } + if (message.createdAt !== undefined) { + obj.createdAt = message.createdAt.toISOString(); + } + if (message.expiresAt !== undefined) { + obj.expiresAt = message.expiresAt.toISOString(); + } + if (message.lastActivity !== undefined) { + obj.lastActivity = message.lastActivity.toISOString(); + } + if (message.isActive !== false) { + obj.isActive = message.isActive; + } + if (message.ipAddress !== "") { + obj.ipAddress = message.ipAddress; + } + if (message.userAgent !== "") { + obj.userAgent = message.userAgent; + } + return obj; + }, + + create(base?: DeepPartial): UserSession { + return UserSession.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): UserSession { + const message = createBaseUserSession(); + message.id = object.id ?? ""; + message.userId = object.userId ?? ""; + message.deviceInfo = (object.deviceInfo !== undefined && object.deviceInfo !== null) + ? DeviceInfo.fromPartial(object.deviceInfo) + : undefined; + message.createdAt = object.createdAt ?? undefined; + message.expiresAt = object.expiresAt ?? undefined; + message.lastActivity = object.lastActivity ?? undefined; + message.isActive = object.isActive ?? false; + message.ipAddress = object.ipAddress ?? ""; + message.userAgent = object.userAgent ?? ""; + return message; + }, +}; + +function createBaseGetUserSessionsRequest(): GetUserSessionsRequest { + return { actorId: "", actorToken: "", userId: "", page: 0, size: 0 }; +} + +export const GetUserSessionsRequest: MessageFns = { + encode(message: GetUserSessionsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.userId !== "") { + writer.uint32(26).string(message.userId); + } + if (message.page !== 0) { + writer.uint32(32).int32(message.page); + } + if (message.size !== 0) { + writer.uint32(40).int32(message.size); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUserSessionsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUserSessionsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.userId = reader.string(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.page = reader.int32(); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.size = reader.int32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUserSessionsRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + page: isSet(object.page) ? globalThis.Number(object.page) : 0, + size: isSet(object.size) ? globalThis.Number(object.size) : 0, + }; + }, + + toJSON(message: GetUserSessionsRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.page !== 0) { + obj.page = Math.round(message.page); + } + if (message.size !== 0) { + obj.size = Math.round(message.size); + } + return obj; + }, + + create(base?: DeepPartial): GetUserSessionsRequest { + return GetUserSessionsRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUserSessionsRequest { + const message = createBaseGetUserSessionsRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userId = object.userId ?? ""; + message.page = object.page ?? 0; + message.size = object.size ?? 0; + return message; + }, +}; + +function createBaseGetUserSessionsResponse(): GetUserSessionsResponse { + return { success: false, resultCode: 0, message: "", sessions: [], total: 0 }; +} + +export const GetUserSessionsResponse: MessageFns = { + encode(message: GetUserSessionsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + for (const v of message.sessions) { + UserSession.encode(v!, writer.uint32(34).fork()).join(); + } + if (message.total !== 0) { + writer.uint32(40).int32(message.total); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): GetUserSessionsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGetUserSessionsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.sessions.push(UserSession.decode(reader, reader.uint32())); + continue; + } + case 5: { + if (tag !== 40) { + break; + } + + message.total = reader.int32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): GetUserSessionsResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + sessions: globalThis.Array.isArray(object?.sessions) + ? object.sessions.map((e: any) => UserSession.fromJSON(e)) + : [], + total: isSet(object.total) ? globalThis.Number(object.total) : 0, + }; + }, + + toJSON(message: GetUserSessionsResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.sessions?.length) { + obj.sessions = message.sessions.map((e) => UserSession.toJSON(e)); + } + if (message.total !== 0) { + obj.total = Math.round(message.total); + } + return obj; + }, + + create(base?: DeepPartial): GetUserSessionsResponse { + return GetUserSessionsResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): GetUserSessionsResponse { + const message = createBaseGetUserSessionsResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.sessions = object.sessions?.map((e) => UserSession.fromPartial(e)) || []; + message.total = object.total ?? 0; + return message; + }, +}; + +function createBaseClearUserSessionsRequest(): ClearUserSessionsRequest { + return { actorId: "", actorToken: "", userId: "", sessionIds: [] }; +} + +export const ClearUserSessionsRequest: MessageFns = { + encode(message: ClearUserSessionsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.actorId !== "") { + writer.uint32(10).string(message.actorId); + } + if (message.actorToken !== "") { + writer.uint32(18).string(message.actorToken); + } + if (message.userId !== "") { + writer.uint32(26).string(message.userId); + } + for (const v of message.sessionIds) { + writer.uint32(34).string(v!); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ClearUserSessionsRequest { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseClearUserSessionsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 10) { + break; + } + + message.actorId = reader.string(); + continue; + } + case 2: { + if (tag !== 18) { + break; + } + + message.actorToken = reader.string(); + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.userId = reader.string(); + continue; + } + case 4: { + if (tag !== 34) { + break; + } + + message.sessionIds.push(reader.string()); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ClearUserSessionsRequest { + return { + actorId: isSet(object.actorId) + ? globalThis.String(object.actorId) + : isSet(object.actor_id) + ? globalThis.String(object.actor_id) + : "", + actorToken: isSet(object.actorToken) + ? globalThis.String(object.actorToken) + : isSet(object.actor_token) + ? globalThis.String(object.actor_token) + : "", + userId: isSet(object.userId) + ? globalThis.String(object.userId) + : isSet(object.user_id) + ? globalThis.String(object.user_id) + : "", + sessionIds: globalThis.Array.isArray(object?.sessionIds) + ? object.sessionIds.map((e: any) => globalThis.String(e)) + : globalThis.Array.isArray(object?.session_ids) + ? object.session_ids.map((e: any) => globalThis.String(e)) + : [], + }; + }, + + toJSON(message: ClearUserSessionsRequest): unknown { + const obj: any = {}; + if (message.actorId !== "") { + obj.actorId = message.actorId; + } + if (message.actorToken !== "") { + obj.actorToken = message.actorToken; + } + if (message.userId !== "") { + obj.userId = message.userId; + } + if (message.sessionIds?.length) { + obj.sessionIds = message.sessionIds; + } + return obj; + }, + + create(base?: DeepPartial): ClearUserSessionsRequest { + return ClearUserSessionsRequest.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): ClearUserSessionsRequest { + const message = createBaseClearUserSessionsRequest(); + message.actorId = object.actorId ?? ""; + message.actorToken = object.actorToken ?? ""; + message.userId = object.userId ?? ""; + message.sessionIds = object.sessionIds?.map((e) => e) || []; + return message; + }, +}; + +function createBaseClearUserSessionsResponse(): ClearUserSessionsResponse { + return { success: false, resultCode: 0, message: "", clearedCount: 0 }; +} + +export const ClearUserSessionsResponse: MessageFns = { + encode(message: ClearUserSessionsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + if (message.success !== false) { + writer.uint32(8).bool(message.success); + } + if (message.resultCode !== 0) { + writer.uint32(16).int32(message.resultCode); + } + if (message.message !== "") { + writer.uint32(26).string(message.message); + } + if (message.clearedCount !== 0) { + writer.uint32(32).int32(message.clearedCount); + } + return writer; + }, + + decode(input: BinaryReader | Uint8Array, length?: number): ClearUserSessionsResponse { + const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseClearUserSessionsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (tag !== 8) { + break; + } + + message.success = reader.bool(); + continue; + } + case 2: { + if (tag !== 16) { + break; + } + + message.resultCode = reader.int32() as any; + continue; + } + case 3: { + if (tag !== 26) { + break; + } + + message.message = reader.string(); + continue; + } + case 4: { + if (tag !== 32) { + break; + } + + message.clearedCount = reader.int32(); + continue; + } + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skip(tag & 7); + } + return message; + }, + + fromJSON(object: any): ClearUserSessionsResponse { + return { + success: isSet(object.success) ? globalThis.Boolean(object.success) : false, + resultCode: isSet(object.resultCode) + ? resultCodeFromJSON(object.resultCode) + : isSet(object.result_code) + ? resultCodeFromJSON(object.result_code) + : 0, + message: isSet(object.message) ? globalThis.String(object.message) : "", + clearedCount: isSet(object.clearedCount) + ? globalThis.Number(object.clearedCount) + : isSet(object.cleared_count) + ? globalThis.Number(object.cleared_count) + : 0, + }; + }, + + toJSON(message: ClearUserSessionsResponse): unknown { + const obj: any = {}; + if (message.success !== false) { + obj.success = message.success; + } + if (message.resultCode !== 0) { + obj.resultCode = resultCodeToJSON(message.resultCode); + } + if (message.message !== "") { + obj.message = message.message; + } + if (message.clearedCount !== 0) { + obj.clearedCount = Math.round(message.clearedCount); + } + return obj; + }, + + create(base?: DeepPartial): ClearUserSessionsResponse { + return ClearUserSessionsResponse.fromPartial(base ?? {}); + }, + fromPartial(object: DeepPartial): ClearUserSessionsResponse { + const message = createBaseClearUserSessionsResponse(); + message.success = object.success ?? false; + message.resultCode = object.resultCode ?? 0; + message.message = object.message ?? ""; + message.clearedCount = object.clearedCount ?? 0; + return message; + }, +}; + +export type AuthAdminServiceService = typeof AuthAdminServiceService; +export const AuthAdminServiceService = { + getUser: { + path: "/st_peter.admin.AuthAdminService/GetUser" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetUserRequest): Buffer => Buffer.from(GetUserRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetUserRequest => GetUserRequest.decode(value), + responseSerialize: (value: UserResponse): Buffer => Buffer.from(UserResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): UserResponse => UserResponse.decode(value), + }, + getUsers: { + path: "/st_peter.admin.AuthAdminService/GetUsers" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetUsersRequest): Buffer => Buffer.from(GetUsersRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetUsersRequest => GetUsersRequest.decode(value), + responseSerialize: (value: UsersResponse): Buffer => Buffer.from(UsersResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): UsersResponse => UsersResponse.decode(value), + }, + getUsersByUsernames: { + path: "/st_peter.admin.AuthAdminService/GetUsersByUsernames" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetUsersByUsernamesRequest): Buffer => + Buffer.from(GetUsersByUsernamesRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetUsersByUsernamesRequest => GetUsersByUsernamesRequest.decode(value), + responseSerialize: (value: UsersResponse): Buffer => Buffer.from(UsersResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): UsersResponse => UsersResponse.decode(value), + }, + deleteUser: { + path: "/st_peter.admin.AuthAdminService/DeleteUser" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: DeleteUserRequest): Buffer => Buffer.from(DeleteUserRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): DeleteUserRequest => DeleteUserRequest.decode(value), + responseSerialize: (value: OperationResponse): Buffer => Buffer.from(OperationResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): OperationResponse => OperationResponse.decode(value), + }, + restoreUser: { + path: "/st_peter.admin.AuthAdminService/RestoreUser" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: RestoreUserRequest): Buffer => Buffer.from(RestoreUserRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): RestoreUserRequest => RestoreUserRequest.decode(value), + responseSerialize: (value: OperationResponse): Buffer => Buffer.from(OperationResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): OperationResponse => OperationResponse.decode(value), + }, + assignRoleToUser: { + path: "/st_peter.admin.AuthAdminService/AssignRoleToUser" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: AssignRoleRequest): Buffer => Buffer.from(AssignRoleRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): AssignRoleRequest => AssignRoleRequest.decode(value), + responseSerialize: (value: GetUserWithRolesResponse): Buffer => + Buffer.from(GetUserWithRolesResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetUserWithRolesResponse => GetUserWithRolesResponse.decode(value), + }, + unassignRoleFromUser: { + path: "/st_peter.admin.AuthAdminService/UnassignRoleFromUser" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: UnassignRoleRequest): Buffer => Buffer.from(UnassignRoleRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): UnassignRoleRequest => UnassignRoleRequest.decode(value), + responseSerialize: (value: GetUserWithRolesResponse): Buffer => + Buffer.from(GetUserWithRolesResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetUserWithRolesResponse => GetUserWithRolesResponse.decode(value), + }, + getRoleDetails: { + path: "/st_peter.admin.AuthAdminService/GetRoleDetails" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetRoleDetailsRequest): Buffer => + Buffer.from(GetRoleDetailsRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetRoleDetailsRequest => GetRoleDetailsRequest.decode(value), + responseSerialize: (value: GetRoleDetailsResponse): Buffer => + Buffer.from(GetRoleDetailsResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetRoleDetailsResponse => GetRoleDetailsResponse.decode(value), + }, + getRole: { + path: "/st_peter.admin.AuthAdminService/GetRole" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetRoleRequest): Buffer => Buffer.from(GetRoleRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetRoleRequest => GetRoleRequest.decode(value), + responseSerialize: (value: GetRoleResponse): Buffer => Buffer.from(GetRoleResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetRoleResponse => GetRoleResponse.decode(value), + }, + getUserRole: { + path: "/st_peter.admin.AuthAdminService/GetUserRole" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetUserRoleRequest): Buffer => Buffer.from(GetUserRoleRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetUserRoleRequest => GetUserRoleRequest.decode(value), + responseSerialize: (value: GetUserRoleResponse): Buffer => Buffer.from(GetUserRoleResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetUserRoleResponse => GetUserRoleResponse.decode(value), + }, + searchUsers: { + path: "/st_peter.admin.AuthAdminService/SearchUsers" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: SearchUsersRequest): Buffer => Buffer.from(SearchUsersRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): SearchUsersRequest => SearchUsersRequest.decode(value), + responseSerialize: (value: SearchUsersResponse): Buffer => Buffer.from(SearchUsersResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): SearchUsersResponse => SearchUsersResponse.decode(value), + }, + countUsers: { + path: "/st_peter.admin.AuthAdminService/CountUsers" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: CountUsersRequest): Buffer => Buffer.from(CountUsersRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): CountUsersRequest => CountUsersRequest.decode(value), + responseSerialize: (value: CountUsersResponse): Buffer => Buffer.from(CountUsersResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): CountUsersResponse => CountUsersResponse.decode(value), + }, + searchRoles: { + path: "/st_peter.admin.AuthAdminService/SearchRoles" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: SearchRolesRequest): Buffer => Buffer.from(SearchRolesRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): SearchRolesRequest => SearchRolesRequest.decode(value), + responseSerialize: (value: SearchRolesResponse): Buffer => Buffer.from(SearchRolesResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): SearchRolesResponse => SearchRolesResponse.decode(value), + }, + getRoleScopes: { + path: "/st_peter.admin.AuthAdminService/GetRoleScopes" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetRoleScopesRequest): Buffer => Buffer.from(GetRoleScopesRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetRoleScopesRequest => GetRoleScopesRequest.decode(value), + responseSerialize: (value: GetRoleScopesResponse): Buffer => + Buffer.from(GetRoleScopesResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetRoleScopesResponse => GetRoleScopesResponse.decode(value), + }, + getUserWithRoles: { + path: "/st_peter.admin.AuthAdminService/GetUserWithRoles" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetUserWithRolesRequest): Buffer => + Buffer.from(GetUserWithRolesRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetUserWithRolesRequest => GetUserWithRolesRequest.decode(value), + responseSerialize: (value: GetUserWithRolesResponse): Buffer => + Buffer.from(GetUserWithRolesResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetUserWithRolesResponse => GetUserWithRolesResponse.decode(value), + }, + getAssignableRoles: { + path: "/st_peter.admin.AuthAdminService/GetAssignableRoles" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetAssignableRolesRequest): Buffer => + Buffer.from(GetAssignableRolesRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetAssignableRolesRequest => GetAssignableRolesRequest.decode(value), + responseSerialize: (value: GetAssignableRolesResponse): Buffer => + Buffer.from(GetAssignableRolesResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetAssignableRolesResponse => GetAssignableRolesResponse.decode(value), + }, + updateUserInfo: { + path: "/st_peter.admin.AuthAdminService/UpdateUserInfo" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: UpdateUserInfoRequest): Buffer => + Buffer.from(UpdateUserInfoRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): UpdateUserInfoRequest => UpdateUserInfoRequest.decode(value), + responseSerialize: (value: UpdateUserInfoResponse): Buffer => + Buffer.from(UpdateUserInfoResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): UpdateUserInfoResponse => UpdateUserInfoResponse.decode(value), + }, + getScopeAncestors: { + path: "/st_peter.admin.AuthAdminService/GetScopeAncestors" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetScopeAncestorsRequest): Buffer => + Buffer.from(GetScopeAncestorsRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetScopeAncestorsRequest => GetScopeAncestorsRequest.decode(value), + responseSerialize: (value: GetScopeAncestorsResponse): Buffer => + Buffer.from(GetScopeAncestorsResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetScopeAncestorsResponse => GetScopeAncestorsResponse.decode(value), + }, + getScopeDescendants: { + path: "/st_peter.admin.AuthAdminService/GetScopeDescendants" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetScopeDescendantsRequest): Buffer => + Buffer.from(GetScopeDescendantsRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetScopeDescendantsRequest => GetScopeDescendantsRequest.decode(value), + responseSerialize: (value: GetScopeDescendantsResponse): Buffer => + Buffer.from(GetScopeDescendantsResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetScopeDescendantsResponse => GetScopeDescendantsResponse.decode(value), + }, + getAssignableTargets: { + path: "/st_peter.admin.AuthAdminService/GetAssignableTargets" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetAssignableTargetsRequest): Buffer => + Buffer.from(GetAssignableTargetsRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetAssignableTargetsRequest => GetAssignableTargetsRequest.decode(value), + responseSerialize: (value: GetAssignableTargetsResponse): Buffer => + Buffer.from(GetAssignableTargetsResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetAssignableTargetsResponse => GetAssignableTargetsResponse.decode(value), + }, + getUsersByRole: { + path: "/st_peter.admin.AuthAdminService/GetUsersByRole" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetUsersByRoleRequest): Buffer => + Buffer.from(GetUsersByRoleRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetUsersByRoleRequest => GetUsersByRoleRequest.decode(value), + responseSerialize: (value: GetUsersByRoleResponse): Buffer => + Buffer.from(GetUsersByRoleResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetUsersByRoleResponse => GetUsersByRoleResponse.decode(value), + }, + createUser: { + path: "/st_peter.admin.AuthAdminService/CreateUser" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: CreateUserRequest): Buffer => Buffer.from(CreateUserRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): CreateUserRequest => CreateUserRequest.decode(value), + responseSerialize: (value: CreateUserResponse): Buffer => Buffer.from(CreateUserResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): CreateUserResponse => CreateUserResponse.decode(value), + }, + getUserSessions: { + path: "/st_peter.admin.AuthAdminService/GetUserSessions" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: GetUserSessionsRequest): Buffer => + Buffer.from(GetUserSessionsRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): GetUserSessionsRequest => GetUserSessionsRequest.decode(value), + responseSerialize: (value: GetUserSessionsResponse): Buffer => + Buffer.from(GetUserSessionsResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): GetUserSessionsResponse => GetUserSessionsResponse.decode(value), + }, + clearUserSessions: { + path: "/st_peter.admin.AuthAdminService/ClearUserSessions" as const, + requestStream: false as const, + responseStream: false as const, + requestSerialize: (value: ClearUserSessionsRequest): Buffer => + Buffer.from(ClearUserSessionsRequest.encode(value).finish()), + requestDeserialize: (value: Buffer): ClearUserSessionsRequest => ClearUserSessionsRequest.decode(value), + responseSerialize: (value: ClearUserSessionsResponse): Buffer => + Buffer.from(ClearUserSessionsResponse.encode(value).finish()), + responseDeserialize: (value: Buffer): ClearUserSessionsResponse => ClearUserSessionsResponse.decode(value), + }, +} as const; + +export interface AuthAdminServiceServer extends UntypedServiceImplementation { + getUser: handleUnaryCall; + getUsers: handleUnaryCall; + getUsersByUsernames: handleUnaryCall; + deleteUser: handleUnaryCall; + restoreUser: handleUnaryCall; + assignRoleToUser: handleUnaryCall; + unassignRoleFromUser: handleUnaryCall; + getRoleDetails: handleUnaryCall; + getRole: handleUnaryCall; + getUserRole: handleUnaryCall; + searchUsers: handleUnaryCall; + countUsers: handleUnaryCall; + searchRoles: handleUnaryCall; + getRoleScopes: handleUnaryCall; + getUserWithRoles: handleUnaryCall; + getAssignableRoles: handleUnaryCall; + updateUserInfo: handleUnaryCall; + getScopeAncestors: handleUnaryCall; + getScopeDescendants: handleUnaryCall; + getAssignableTargets: handleUnaryCall; + getUsersByRole: handleUnaryCall; + createUser: handleUnaryCall; + getUserSessions: handleUnaryCall; + clearUserSessions: handleUnaryCall; +} + +export interface AuthAdminServiceClient extends Client { + getUser( + request: GetUserRequest, + callback: (error: ServiceError | null, response: UserResponse) => void, + ): ClientUnaryCall; + getUser( + request: GetUserRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: UserResponse) => void, + ): ClientUnaryCall; + getUser( + request: GetUserRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: UserResponse) => void, + ): ClientUnaryCall; + getUsers( + request: GetUsersRequest, + callback: (error: ServiceError | null, response: UsersResponse) => void, + ): ClientUnaryCall; + getUsers( + request: GetUsersRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: UsersResponse) => void, + ): ClientUnaryCall; + getUsers( + request: GetUsersRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: UsersResponse) => void, + ): ClientUnaryCall; + getUsersByUsernames( + request: GetUsersByUsernamesRequest, + callback: (error: ServiceError | null, response: UsersResponse) => void, + ): ClientUnaryCall; + getUsersByUsernames( + request: GetUsersByUsernamesRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: UsersResponse) => void, + ): ClientUnaryCall; + getUsersByUsernames( + request: GetUsersByUsernamesRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: UsersResponse) => void, + ): ClientUnaryCall; + deleteUser( + request: DeleteUserRequest, + callback: (error: ServiceError | null, response: OperationResponse) => void, + ): ClientUnaryCall; + deleteUser( + request: DeleteUserRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: OperationResponse) => void, + ): ClientUnaryCall; + deleteUser( + request: DeleteUserRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: OperationResponse) => void, + ): ClientUnaryCall; + restoreUser( + request: RestoreUserRequest, + callback: (error: ServiceError | null, response: OperationResponse) => void, + ): ClientUnaryCall; + restoreUser( + request: RestoreUserRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: OperationResponse) => void, + ): ClientUnaryCall; + restoreUser( + request: RestoreUserRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: OperationResponse) => void, + ): ClientUnaryCall; + assignRoleToUser( + request: AssignRoleRequest, + callback: (error: ServiceError | null, response: GetUserWithRolesResponse) => void, + ): ClientUnaryCall; + assignRoleToUser( + request: AssignRoleRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetUserWithRolesResponse) => void, + ): ClientUnaryCall; + assignRoleToUser( + request: AssignRoleRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetUserWithRolesResponse) => void, + ): ClientUnaryCall; + unassignRoleFromUser( + request: UnassignRoleRequest, + callback: (error: ServiceError | null, response: GetUserWithRolesResponse) => void, + ): ClientUnaryCall; + unassignRoleFromUser( + request: UnassignRoleRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetUserWithRolesResponse) => void, + ): ClientUnaryCall; + unassignRoleFromUser( + request: UnassignRoleRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetUserWithRolesResponse) => void, + ): ClientUnaryCall; + getRoleDetails( + request: GetRoleDetailsRequest, + callback: (error: ServiceError | null, response: GetRoleDetailsResponse) => void, + ): ClientUnaryCall; + getRoleDetails( + request: GetRoleDetailsRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetRoleDetailsResponse) => void, + ): ClientUnaryCall; + getRoleDetails( + request: GetRoleDetailsRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetRoleDetailsResponse) => void, + ): ClientUnaryCall; + getRole( + request: GetRoleRequest, + callback: (error: ServiceError | null, response: GetRoleResponse) => void, + ): ClientUnaryCall; + getRole( + request: GetRoleRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetRoleResponse) => void, + ): ClientUnaryCall; + getRole( + request: GetRoleRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetRoleResponse) => void, + ): ClientUnaryCall; + getUserRole( + request: GetUserRoleRequest, + callback: (error: ServiceError | null, response: GetUserRoleResponse) => void, + ): ClientUnaryCall; + getUserRole( + request: GetUserRoleRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetUserRoleResponse) => void, + ): ClientUnaryCall; + getUserRole( + request: GetUserRoleRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetUserRoleResponse) => void, + ): ClientUnaryCall; + searchUsers( + request: SearchUsersRequest, + callback: (error: ServiceError | null, response: SearchUsersResponse) => void, + ): ClientUnaryCall; + searchUsers( + request: SearchUsersRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: SearchUsersResponse) => void, + ): ClientUnaryCall; + searchUsers( + request: SearchUsersRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: SearchUsersResponse) => void, + ): ClientUnaryCall; + countUsers( + request: CountUsersRequest, + callback: (error: ServiceError | null, response: CountUsersResponse) => void, + ): ClientUnaryCall; + countUsers( + request: CountUsersRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: CountUsersResponse) => void, + ): ClientUnaryCall; + countUsers( + request: CountUsersRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: CountUsersResponse) => void, + ): ClientUnaryCall; + searchRoles( + request: SearchRolesRequest, + callback: (error: ServiceError | null, response: SearchRolesResponse) => void, + ): ClientUnaryCall; + searchRoles( + request: SearchRolesRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: SearchRolesResponse) => void, + ): ClientUnaryCall; + searchRoles( + request: SearchRolesRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: SearchRolesResponse) => void, + ): ClientUnaryCall; + getRoleScopes( + request: GetRoleScopesRequest, + callback: (error: ServiceError | null, response: GetRoleScopesResponse) => void, + ): ClientUnaryCall; + getRoleScopes( + request: GetRoleScopesRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetRoleScopesResponse) => void, + ): ClientUnaryCall; + getRoleScopes( + request: GetRoleScopesRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetRoleScopesResponse) => void, + ): ClientUnaryCall; + getUserWithRoles( + request: GetUserWithRolesRequest, + callback: (error: ServiceError | null, response: GetUserWithRolesResponse) => void, + ): ClientUnaryCall; + getUserWithRoles( + request: GetUserWithRolesRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetUserWithRolesResponse) => void, + ): ClientUnaryCall; + getUserWithRoles( + request: GetUserWithRolesRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetUserWithRolesResponse) => void, + ): ClientUnaryCall; + getAssignableRoles( + request: GetAssignableRolesRequest, + callback: (error: ServiceError | null, response: GetAssignableRolesResponse) => void, + ): ClientUnaryCall; + getAssignableRoles( + request: GetAssignableRolesRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetAssignableRolesResponse) => void, + ): ClientUnaryCall; + getAssignableRoles( + request: GetAssignableRolesRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetAssignableRolesResponse) => void, + ): ClientUnaryCall; + updateUserInfo( + request: UpdateUserInfoRequest, + callback: (error: ServiceError | null, response: UpdateUserInfoResponse) => void, + ): ClientUnaryCall; + updateUserInfo( + request: UpdateUserInfoRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: UpdateUserInfoResponse) => void, + ): ClientUnaryCall; + updateUserInfo( + request: UpdateUserInfoRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: UpdateUserInfoResponse) => void, + ): ClientUnaryCall; + getScopeAncestors( + request: GetScopeAncestorsRequest, + callback: (error: ServiceError | null, response: GetScopeAncestorsResponse) => void, + ): ClientUnaryCall; + getScopeAncestors( + request: GetScopeAncestorsRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetScopeAncestorsResponse) => void, + ): ClientUnaryCall; + getScopeAncestors( + request: GetScopeAncestorsRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetScopeAncestorsResponse) => void, + ): ClientUnaryCall; + getScopeDescendants( + request: GetScopeDescendantsRequest, + callback: (error: ServiceError | null, response: GetScopeDescendantsResponse) => void, + ): ClientUnaryCall; + getScopeDescendants( + request: GetScopeDescendantsRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetScopeDescendantsResponse) => void, + ): ClientUnaryCall; + getScopeDescendants( + request: GetScopeDescendantsRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetScopeDescendantsResponse) => void, + ): ClientUnaryCall; + getAssignableTargets( + request: GetAssignableTargetsRequest, + callback: (error: ServiceError | null, response: GetAssignableTargetsResponse) => void, + ): ClientUnaryCall; + getAssignableTargets( + request: GetAssignableTargetsRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetAssignableTargetsResponse) => void, + ): ClientUnaryCall; + getAssignableTargets( + request: GetAssignableTargetsRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetAssignableTargetsResponse) => void, + ): ClientUnaryCall; + getUsersByRole( + request: GetUsersByRoleRequest, + callback: (error: ServiceError | null, response: GetUsersByRoleResponse) => void, + ): ClientUnaryCall; + getUsersByRole( + request: GetUsersByRoleRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetUsersByRoleResponse) => void, + ): ClientUnaryCall; + getUsersByRole( + request: GetUsersByRoleRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetUsersByRoleResponse) => void, + ): ClientUnaryCall; + createUser( + request: CreateUserRequest, + callback: (error: ServiceError | null, response: CreateUserResponse) => void, + ): ClientUnaryCall; + createUser( + request: CreateUserRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: CreateUserResponse) => void, + ): ClientUnaryCall; + createUser( + request: CreateUserRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: CreateUserResponse) => void, + ): ClientUnaryCall; + getUserSessions( + request: GetUserSessionsRequest, + callback: (error: ServiceError | null, response: GetUserSessionsResponse) => void, + ): ClientUnaryCall; + getUserSessions( + request: GetUserSessionsRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: GetUserSessionsResponse) => void, + ): ClientUnaryCall; + getUserSessions( + request: GetUserSessionsRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: GetUserSessionsResponse) => void, + ): ClientUnaryCall; + clearUserSessions( + request: ClearUserSessionsRequest, + callback: (error: ServiceError | null, response: ClearUserSessionsResponse) => void, + ): ClientUnaryCall; + clearUserSessions( + request: ClearUserSessionsRequest, + metadata: Metadata, + callback: (error: ServiceError | null, response: ClearUserSessionsResponse) => void, + ): ClientUnaryCall; + clearUserSessions( + request: ClearUserSessionsRequest, + metadata: Metadata, + options: Partial, + callback: (error: ServiceError | null, response: ClearUserSessionsResponse) => void, + ): ClientUnaryCall; +} + +export const AuthAdminServiceClient = makeGenericClientConstructor( + AuthAdminServiceService, + "st_peter.admin.AuthAdminService", +) as unknown as { + new (address: string, credentials: ChannelCredentials, options?: Partial): AuthAdminServiceClient; + service: typeof AuthAdminServiceService; + serviceName: string; +}; + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +export type DeepPartial = T extends Builtin ? T + : T extends globalThis.Array ? globalThis.Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +function toTimestamp(date: Date): Timestamp { + const seconds = Math.trunc(date.getTime() / 1_000); + const nanos = (date.getTime() % 1_000) * 1_000_000; + return { seconds, nanos }; +} + +function fromTimestamp(t: Timestamp): Date { + let millis = (t.seconds || 0) * 1_000; + millis += (t.nanos || 0) / 1_000_000; + return new globalThis.Date(millis); +} + +function fromJsonTimestamp(o: any): Date { + if (o instanceof globalThis.Date) { + return o; + } else if (typeof o === "string") { + return new globalThis.Date(o); + } else { + return fromTimestamp(Timestamp.fromJSON(o)); + } +} + +function longToNumber(int64: { toString(): string }): number { + const num = globalThis.Number(int64.toString()); + if (num > globalThis.Number.MAX_SAFE_INTEGER) { + throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + } + if (num < globalThis.Number.MIN_SAFE_INTEGER) { + throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + } + return num; +} + +function isObject(value: any): boolean { + return typeof value === "object" && value !== null; +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} + +export interface MessageFns { + encode(message: T, writer?: BinaryWriter): BinaryWriter; + decode(input: BinaryReader | Uint8Array, length?: number): T; + fromJSON(object: any): T; + toJSON(message: T): unknown; + create(base?: DeepPartial): T; + fromPartial(object: DeepPartial): T; +} diff --git a/ts/src/index.ts b/ts/src/index.ts index 687768d..8f57c2a 100644 --- a/ts/src/index.ts +++ b/ts/src/index.ts @@ -6,5 +6,8 @@ export { } from "./auth"; export type { LoginOutcome, ConnectOptions } from "./auth"; -// Raw wire surface for callers that need it. +// Raw wire surface for callers that need it. The admin surface +// (AuthAdminServiceClient — user + targeted-role administration) is exposed +// as generated stubs; ergonomic wrappers exist in the Rust client first. export * as authpb from "./genpb/st-peter-auth"; +export * as adminpb from "./genpb/st-peter-admin";