mirror of
https://github.com/andwati/zitadel.git
synced 2026-11-01 20:02:15 +00:00
feat: org command sides (#96)
* start org * refactor(eventstore): filter in sql for querier * feat(eventstore): Aggregate precondition preconditions are checked right before insert. Insert is still transaction save * feat(eventstore): check preconditions in repository * test(eventstore): test precondition in models * test(eventstore): precondition-tests * start org * refactor(eventstore): filter in sql for querier * feat(eventstore): Aggregate precondition preconditions are checked right before insert. Insert is still transaction save * feat(admin): start implement org * feat(eventstore): check preconditions in repository * fix(eventstore): data as NULL if empty refactor(eventstore): naming in sequence methods * feat(admin): org command side * feat(management): start org-repo * feat(org): member * fix: replace ObjectRoot.ID with ObjectRoot.AggregateID * aggregateID * add remove,change member * refactor(org): namings * refactor(eventstore): querier as type * fix(precondition): rename validation from precondition to validation * test(eventstore): isErr func instead of wantErr bool * fix(tests): Data * fix(eventstore): correct check for existing events in push, simplify insert statement * fix(eventstore): aggregate id public * test(org): eventsourcing * test(org): eventstore * test(org): deactivate, reactivate, orgbyid * test(org): getMemberByIDs * tests * running tests * add user repo to admin * thorw not found if no org found * eventstore tests done * lauft * validate if user is already member of org * modules * delete unused file * add member validation test * return error if unable to validat member * generate org id once, set resourceowner of org * Update internal/admin/repository/eventsourcing/eventstore/org.go * Update internal/admin/repository/eventsourcing/eventstore/org.go * Update internal/org/repository/eventsourcing/member_model.go * Update internal/org/repository/eventsourcing/org.go * Update internal/org/repository/eventsourcing/org.go * Update internal/org/repository/eventsourcing/org_member.go * Update internal/org/repository/eventsourcing/org_member.go * Update internal/org/repository/eventsourcing/org_model.go * Update internal/org/repository/eventsourcing/org.go * Update internal/org/repository/eventsourcing/org_model.go * Update internal/org/repository/eventsourcing/org_model.go * typo * correct user events * usercreate for setuporg instead of userregister * set data * mod * mod * tests * cleanup code * code styling * return member on add and change * change username in startup * girignore * orgID as parameter in re-/deactive org * startup config * migration for admin_api-user * probes fro admin * move unique org Co-authored-by: Fabiennne <[email protected]>
This commit is contained in:
+11
-5
@@ -2,16 +2,22 @@ package admin
|
||||
|
||||
import (
|
||||
"context"
|
||||
app "github.com/caos/zitadel/internal/admin"
|
||||
sd "github.com/caos/zitadel/internal/config/systemdefaults"
|
||||
|
||||
"github.com/caos/logging"
|
||||
"github.com/caos/zitadel/internal/admin/repository/eventsourcing"
|
||||
"github.com/caos/zitadel/internal/api/auth"
|
||||
"github.com/caos/zitadel/pkg/admin/api"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
App app.Config
|
||||
API api.Config
|
||||
Repository eventsourcing.Config
|
||||
API api.Config
|
||||
}
|
||||
|
||||
func Start(ctx context.Context, config Config, authZ auth.Config) {
|
||||
api.Start(ctx, config.API)
|
||||
func Start(ctx context.Context, config Config, authZ auth.Config, systemDefaults sd.SystemDefaults) {
|
||||
repo, err := eventsourcing.Start(config.Repository, systemDefaults)
|
||||
logging.Log("MAIN-9uBxp").OnError(err).Panic("unable to start app")
|
||||
|
||||
api.Start(ctx, config.API, authZ, repo)
|
||||
}
|
||||
|
||||
@@ -2,6 +2,9 @@ package api
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/caos/zitadel/internal/admin/repository"
|
||||
"github.com/caos/zitadel/internal/api/auth"
|
||||
grpc_util "github.com/caos/zitadel/internal/api/grpc"
|
||||
"github.com/caos/zitadel/internal/api/grpc/server"
|
||||
"github.com/caos/zitadel/pkg/admin/api/grpc"
|
||||
@@ -11,8 +14,8 @@ type Config struct {
|
||||
GRPC grpc_util.Config
|
||||
}
|
||||
|
||||
func Start(ctx context.Context, conf Config) {
|
||||
grpcServer := grpc.StartServer(conf.GRPC.ToServerConfig())
|
||||
func Start(ctx context.Context, conf Config, authZ auth.Config, repo repository.Repository) {
|
||||
grpcServer := grpc.StartServer(conf.GRPC.ToServerConfig(), authZ, repo)
|
||||
grpcGateway := grpc.StartGateway(conf.GRPC.ToGatewayConfig())
|
||||
|
||||
server.StartServer(ctx, grpcServer)
|
||||
|
||||
+223
-144
@@ -583,11 +583,11 @@ func (m *OrgSearchResponse) GetResult() []*Org {
|
||||
}
|
||||
|
||||
type OrgSetUpRequest struct {
|
||||
Org *CreateOrgRequest `protobuf:"bytes,1,opt,name=org,proto3" json:"org,omitempty"`
|
||||
User *RegisterUserRequest `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
Org *CreateOrgRequest `protobuf:"bytes,1,opt,name=org,proto3" json:"org,omitempty"`
|
||||
User *CreateUserRequest `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *OrgSetUpRequest) Reset() { *m = OrgSetUpRequest{} }
|
||||
@@ -622,7 +622,7 @@ func (m *OrgSetUpRequest) GetOrg() *CreateOrgRequest {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *OrgSetUpRequest) GetUser() *RegisterUserRequest {
|
||||
func (m *OrgSetUpRequest) GetUser() *CreateUserRequest {
|
||||
if m != nil {
|
||||
return m.User
|
||||
}
|
||||
@@ -676,105 +676,169 @@ func (m *OrgSetUpResponse) GetUser() *User {
|
||||
return nil
|
||||
}
|
||||
|
||||
type RegisterUserRequest struct {
|
||||
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
|
||||
type CreateUserRequest struct {
|
||||
UserName string `protobuf:"bytes,1,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"`
|
||||
FirstName string `protobuf:"bytes,2,opt,name=first_name,json=firstName,proto3" json:"first_name,omitempty"`
|
||||
LastName string `protobuf:"bytes,3,opt,name=last_name,json=lastName,proto3" json:"last_name,omitempty"`
|
||||
NickName string `protobuf:"bytes,4,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"`
|
||||
DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
|
||||
PreferredLanguage string `protobuf:"bytes,6,opt,name=preferred_language,json=preferredLanguage,proto3" json:"preferred_language,omitempty"`
|
||||
Gender Gender `protobuf:"varint,7,opt,name=gender,proto3,enum=zitadel.admin.api.v1.Gender" json:"gender,omitempty"`
|
||||
Password string `protobuf:"bytes,8,opt,name=password,proto3" json:"password,omitempty"`
|
||||
OrgId string `protobuf:"bytes,9,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
|
||||
Email string `protobuf:"bytes,8,opt,name=email,proto3" json:"email,omitempty"`
|
||||
IsEmailVerified bool `protobuf:"varint,9,opt,name=is_email_verified,json=isEmailVerified,proto3" json:"is_email_verified,omitempty"`
|
||||
Phone string `protobuf:"bytes,11,opt,name=phone,proto3" json:"phone,omitempty"`
|
||||
IsPhoneVerified bool `protobuf:"varint,12,opt,name=is_phone_verified,json=isPhoneVerified,proto3" json:"is_phone_verified,omitempty"`
|
||||
Country string `protobuf:"bytes,13,opt,name=country,proto3" json:"country,omitempty"`
|
||||
Locality string `protobuf:"bytes,14,opt,name=locality,proto3" json:"locality,omitempty"`
|
||||
PostalCode string `protobuf:"bytes,15,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"`
|
||||
Region string `protobuf:"bytes,16,opt,name=region,proto3" json:"region,omitempty"`
|
||||
StreetAddress string `protobuf:"bytes,17,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"`
|
||||
Password string `protobuf:"bytes,18,opt,name=password,proto3" json:"password,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
}
|
||||
|
||||
func (m *RegisterUserRequest) Reset() { *m = RegisterUserRequest{} }
|
||||
func (m *RegisterUserRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*RegisterUserRequest) ProtoMessage() {}
|
||||
func (*RegisterUserRequest) Descriptor() ([]byte, []int) {
|
||||
func (m *CreateUserRequest) Reset() { *m = CreateUserRequest{} }
|
||||
func (m *CreateUserRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*CreateUserRequest) ProtoMessage() {}
|
||||
func (*CreateUserRequest) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_73a7fc70dcc2027c, []int{9}
|
||||
}
|
||||
|
||||
func (m *RegisterUserRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_RegisterUserRequest.Unmarshal(m, b)
|
||||
func (m *CreateUserRequest) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_CreateUserRequest.Unmarshal(m, b)
|
||||
}
|
||||
func (m *RegisterUserRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_RegisterUserRequest.Marshal(b, m, deterministic)
|
||||
func (m *CreateUserRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||
return xxx_messageInfo_CreateUserRequest.Marshal(b, m, deterministic)
|
||||
}
|
||||
func (m *RegisterUserRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_RegisterUserRequest.Merge(m, src)
|
||||
func (m *CreateUserRequest) XXX_Merge(src proto.Message) {
|
||||
xxx_messageInfo_CreateUserRequest.Merge(m, src)
|
||||
}
|
||||
func (m *RegisterUserRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_RegisterUserRequest.Size(m)
|
||||
func (m *CreateUserRequest) XXX_Size() int {
|
||||
return xxx_messageInfo_CreateUserRequest.Size(m)
|
||||
}
|
||||
func (m *RegisterUserRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_RegisterUserRequest.DiscardUnknown(m)
|
||||
func (m *CreateUserRequest) XXX_DiscardUnknown() {
|
||||
xxx_messageInfo_CreateUserRequest.DiscardUnknown(m)
|
||||
}
|
||||
|
||||
var xxx_messageInfo_RegisterUserRequest proto.InternalMessageInfo
|
||||
var xxx_messageInfo_CreateUserRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *RegisterUserRequest) GetEmail() string {
|
||||
func (m *CreateUserRequest) GetUserName() string {
|
||||
if m != nil {
|
||||
return m.Email
|
||||
return m.UserName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *RegisterUserRequest) GetFirstName() string {
|
||||
func (m *CreateUserRequest) GetFirstName() string {
|
||||
if m != nil {
|
||||
return m.FirstName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *RegisterUserRequest) GetLastName() string {
|
||||
func (m *CreateUserRequest) GetLastName() string {
|
||||
if m != nil {
|
||||
return m.LastName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *RegisterUserRequest) GetNickName() string {
|
||||
func (m *CreateUserRequest) GetNickName() string {
|
||||
if m != nil {
|
||||
return m.NickName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *RegisterUserRequest) GetDisplayName() string {
|
||||
func (m *CreateUserRequest) GetDisplayName() string {
|
||||
if m != nil {
|
||||
return m.DisplayName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *RegisterUserRequest) GetPreferredLanguage() string {
|
||||
func (m *CreateUserRequest) GetPreferredLanguage() string {
|
||||
if m != nil {
|
||||
return m.PreferredLanguage
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *RegisterUserRequest) GetGender() Gender {
|
||||
func (m *CreateUserRequest) GetGender() Gender {
|
||||
if m != nil {
|
||||
return m.Gender
|
||||
}
|
||||
return Gender_GENDER_UNSPECIFIED
|
||||
}
|
||||
|
||||
func (m *RegisterUserRequest) GetPassword() string {
|
||||
func (m *CreateUserRequest) GetEmail() string {
|
||||
if m != nil {
|
||||
return m.Password
|
||||
return m.Email
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *RegisterUserRequest) GetOrgId() string {
|
||||
func (m *CreateUserRequest) GetIsEmailVerified() bool {
|
||||
if m != nil {
|
||||
return m.OrgId
|
||||
return m.IsEmailVerified
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (m *CreateUserRequest) GetPhone() string {
|
||||
if m != nil {
|
||||
return m.Phone
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *CreateUserRequest) GetIsPhoneVerified() bool {
|
||||
if m != nil {
|
||||
return m.IsPhoneVerified
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (m *CreateUserRequest) GetCountry() string {
|
||||
if m != nil {
|
||||
return m.Country
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *CreateUserRequest) GetLocality() string {
|
||||
if m != nil {
|
||||
return m.Locality
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *CreateUserRequest) GetPostalCode() string {
|
||||
if m != nil {
|
||||
return m.PostalCode
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *CreateUserRequest) GetRegion() string {
|
||||
if m != nil {
|
||||
return m.Region
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *CreateUserRequest) GetStreetAddress() string {
|
||||
if m != nil {
|
||||
return m.StreetAddress
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *CreateUserRequest) GetPassword() string {
|
||||
if m != nil {
|
||||
return m.Password
|
||||
}
|
||||
return ""
|
||||
}
|
||||
@@ -800,6 +864,7 @@ type User struct {
|
||||
PostalCode string `protobuf:"bytes,18,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"`
|
||||
Region string `protobuf:"bytes,19,opt,name=region,proto3" json:"region,omitempty"`
|
||||
StreetAddress string `protobuf:"bytes,20,opt,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"`
|
||||
Sequence uint64 `protobuf:"varint,21,opt,name=sequence,proto3" json:"sequence,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
@@ -970,6 +1035,13 @@ func (m *User) GetStreetAddress() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *User) GetSequence() uint64 {
|
||||
if m != nil {
|
||||
return m.Sequence
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type CreateOrgRequest struct {
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
|
||||
@@ -1032,7 +1104,7 @@ func init() {
|
||||
proto.RegisterType((*OrgSearchResponse)(nil), "zitadel.admin.api.v1.OrgSearchResponse")
|
||||
proto.RegisterType((*OrgSetUpRequest)(nil), "zitadel.admin.api.v1.OrgSetUpRequest")
|
||||
proto.RegisterType((*OrgSetUpResponse)(nil), "zitadel.admin.api.v1.OrgSetUpResponse")
|
||||
proto.RegisterType((*RegisterUserRequest)(nil), "zitadel.admin.api.v1.RegisterUserRequest")
|
||||
proto.RegisterType((*CreateUserRequest)(nil), "zitadel.admin.api.v1.CreateUserRequest")
|
||||
proto.RegisterType((*User)(nil), "zitadel.admin.api.v1.User")
|
||||
proto.RegisterType((*CreateOrgRequest)(nil), "zitadel.admin.api.v1.CreateOrgRequest")
|
||||
}
|
||||
@@ -1040,112 +1112,119 @@ func init() {
|
||||
func init() { proto.RegisterFile("admin.proto", fileDescriptor_73a7fc70dcc2027c) }
|
||||
|
||||
var fileDescriptor_73a7fc70dcc2027c = []byte{
|
||||
// 1667 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4f, 0x73, 0x1b, 0x49,
|
||||
0x15, 0xcf, 0xe8, 0x9f, 0x47, 0x4f, 0xfe, 0x33, 0xee, 0x78, 0x9d, 0x59, 0x39, 0xbb, 0xf6, 0x0e,
|
||||
0x9b, 0x90, 0xd5, 0x12, 0x69, 0x23, 0x96, 0x2a, 0xca, 0xd4, 0x2e, 0x25, 0x5b, 0xb3, 0x8e, 0x2a,
|
||||
0xb6, 0xe4, 0x1d, 0xc9, 0xe1, 0xcf, 0x45, 0x4c, 0x34, 0xed, 0x51, 0x93, 0xd1, 0xcc, 0xa4, 0xbb,
|
||||
0x95, 0xa0, 0xa5, 0x38, 0x90, 0x2a, 0x2e, 0x1c, 0x38, 0xc0, 0x81, 0x4f, 0xc0, 0x99, 0x13, 0x57,
|
||||
0xbe, 0x04, 0x1f, 0x80, 0x0b, 0x55, 0x5c, 0x38, 0x70, 0xe1, 0xb2, 0x27, 0xaa, 0xbb, 0x47, 0xb2,
|
||||
0x46, 0x96, 0x62, 0x52, 0x5c, 0xf6, 0x64, 0xf5, 0xef, 0xf7, 0x7b, 0xaf, 0x5f, 0xbf, 0x7e, 0xfd,
|
||||
0xa6, 0xdb, 0x50, 0x72, 0xbd, 0x11, 0x09, 0xab, 0x31, 0x8d, 0x78, 0x84, 0x76, 0xbe, 0x22, 0xdc,
|
||||
0xf5, 0x70, 0x50, 0x55, 0xa0, 0x1b, 0x93, 0xea, 0xcb, 0x47, 0xe5, 0xbb, 0x7e, 0x14, 0xf9, 0x01,
|
||||
0xae, 0xb9, 0x31, 0xa9, 0xb9, 0x61, 0x18, 0x71, 0x97, 0x93, 0x28, 0x64, 0xca, 0xa6, 0xbc, 0x97,
|
||||
0xb0, 0x72, 0xf4, 0x6c, 0x7c, 0x59, 0xc3, 0xa3, 0x98, 0x4f, 0x12, 0x72, 0x7f, 0x91, 0xe4, 0x64,
|
||||
0x84, 0x19, 0x77, 0x47, 0x71, 0x22, 0xb8, 0xbb, 0x28, 0x60, 0x9c, 0x8e, 0x07, 0x3c, 0x61, 0xef,
|
||||
0xbc, 0x74, 0x03, 0xe2, 0xb9, 0x1c, 0xd7, 0xa6, 0x3f, 0x12, 0xe2, 0x3b, 0xf2, 0xcf, 0xe0, 0xa1,
|
||||
0x8f, 0xc3, 0x87, 0xec, 0x95, 0xeb, 0xfb, 0x98, 0xd6, 0xa2, 0x58, 0x86, 0xb5, 0x24, 0x44, 0xd3,
|
||||
0x1d, 0xf3, 0xa1, 0xa2, 0xa7, 0x2a, 0xc5, 0x58, 0x77, 0x20, 0xdf, 0xa1, 0x7e, 0xab, 0x89, 0x36,
|
||||
0x21, 0x43, 0x3c, 0x53, 0x3b, 0xd0, 0x1e, 0x14, 0x9d, 0x0c, 0xf1, 0xac, 0x73, 0x30, 0x2e, 0x42,
|
||||
0xf2, 0x62, 0x8c, 0x3b, 0xd4, 0x77, 0xf0, 0x8b, 0x31, 0x66, 0x1c, 0xed, 0x41, 0x2e, 0x74, 0x47,
|
||||
0x58, 0xa9, 0x8e, 0xd6, 0xbe, 0x3e, 0xca, 0xd1, 0x8c, 0xa1, 0x39, 0x12, 0x44, 0xfb, 0x50, 0xf0,
|
||||
0xa2, 0x91, 0x4b, 0x42, 0x33, 0x93, 0xa6, 0x13, 0xd8, 0xfa, 0x04, 0xb6, 0xe7, 0x3c, 0xb2, 0x38,
|
||||
0x0a, 0x19, 0x46, 0x7b, 0x50, 0x24, 0xac, 0x3f, 0x96, 0xb8, 0xf4, 0xab, 0x3b, 0x3a, 0x61, 0x4a,
|
||||
0x67, 0xfd, 0x47, 0x83, 0x6c, 0x87, 0xfa, 0x8b, 0xb1, 0xa1, 0x4f, 0x21, 0xcf, 0xb8, 0xcb, 0xb1,
|
||||
0x9c, 0x69, 0xb3, 0xfe, 0x7e, 0x75, 0xd9, 0xae, 0x55, 0x3b, 0xd4, 0xef, 0x0a, 0x95, 0xa3, 0xc4,
|
||||
0xe8, 0x87, 0xb0, 0x31, 0xa0, 0x58, 0xe6, 0xa5, 0x2f, 0x32, 0x69, 0x66, 0x0f, 0xb4, 0x07, 0xa5,
|
||||
0x7a, 0xb9, 0xaa, 0x76, 0xa0, 0x3a, 0xdd, 0x81, 0x6a, 0x6f, 0xba, 0x45, 0xce, 0xfa, 0xd4, 0xa0,
|
||||
0x29, 0x1c, 0xfc, 0x00, 0x4a, 0x83, 0xa1, 0x1b, 0xfa, 0x58, 0x99, 0xe7, 0x6e, 0x34, 0x07, 0x25,
|
||||
0x97, 0xc6, 0x28, 0xc9, 0x5d, 0x5e, 0xae, 0x42, 0xa5, 0x6c, 0x77, 0x96, 0xb2, 0x82, 0x44, 0xa7,
|
||||
0x99, 0xfa, 0xa7, 0x06, 0x86, 0x88, 0x1e, 0xbb, 0x74, 0x30, 0x9c, 0x26, 0x7f, 0x17, 0x0a, 0xd1,
|
||||
0xe5, 0x25, 0xc3, 0x5c, 0x26, 0x22, 0xe7, 0x24, 0x23, 0xb4, 0x03, 0xf9, 0x80, 0x8c, 0x08, 0x97,
|
||||
0xc9, 0xc8, 0x39, 0x6a, 0x80, 0xba, 0xb0, 0xc9, 0x22, 0xca, 0x49, 0xe8, 0xf7, 0x07, 0x51, 0x30,
|
||||
0x1e, 0x85, 0x72, 0xb5, 0x9b, 0x75, 0x6b, 0x75, 0xae, 0xe4, 0x6c, 0x4f, 0xf0, 0xe4, 0x48, 0xff,
|
||||
0xfa, 0x28, 0xff, 0x5a, 0xcb, 0x1c, 0xdc, 0x72, 0x36, 0x12, 0x1f, 0xc7, 0xd2, 0x05, 0x32, 0x20,
|
||||
0xeb, 0xb2, 0x81, 0x5c, 0xb8, 0xee, 0x88, 0x9f, 0xe8, 0x73, 0x58, 0x7b, 0x31, 0xc6, 0x94, 0x60,
|
||||
0x66, 0xe6, 0x0f, 0xb2, 0x0f, 0x4a, 0xf5, 0x0f, 0x6f, 0xf0, 0xff, 0xe5, 0x18, 0xd3, 0x89, 0x33,
|
||||
0x35, 0xb2, 0xfe, 0xa4, 0xc1, 0x66, 0x9a, 0x43, 0x9f, 0x43, 0xf6, 0x39, 0x9e, 0xc8, 0x45, 0xbe,
|
||||
0x6d, 0xb8, 0xc2, 0x10, 0x7d, 0x06, 0x85, 0x11, 0xe6, 0xc3, 0xc8, 0x4b, 0xaa, 0xe3, 0xde, 0x0d,
|
||||
0x2e, 0xce, 0xa4, 0xd8, 0x49, 0x8c, 0x44, 0x3a, 0x5f, 0xba, 0xc1, 0x58, 0x55, 0x47, 0xd1, 0x51,
|
||||
0x03, 0xeb, 0x8f, 0x1a, 0x6c, 0xcf, 0xed, 0x48, 0x52, 0xbc, 0x6f, 0xb7, 0x25, 0x1f, 0xc0, 0x3a,
|
||||
0x8f, 0xb8, 0x1b, 0xf4, 0x29, 0x66, 0xe3, 0x80, 0xcb, 0x09, 0x72, 0x4e, 0x49, 0x62, 0x8e, 0x84,
|
||||
0xd0, 0x23, 0x28, 0x24, 0x64, 0x4e, 0x66, 0xf3, 0xdd, 0x95, 0xb1, 0x3b, 0x89, 0xd0, 0xfa, 0xad,
|
||||
0x06, 0x5b, 0x32, 0x32, 0x7e, 0x11, 0x4f, 0x4b, 0xe5, 0xfb, 0x90, 0x8d, 0xa8, 0x2f, 0x83, 0x2a,
|
||||
0xd5, 0xef, 0x2f, 0xf7, 0x71, 0x2c, 0x2a, 0x7b, 0xee, 0x70, 0x3b, 0xc2, 0x04, 0x7d, 0x06, 0xb9,
|
||||
0x31, 0xc3, 0x54, 0x06, 0x5e, 0xaa, 0x7f, 0xb4, 0xdc, 0xd4, 0xc1, 0x3e, 0x61, 0x1c, 0xd3, 0x0b,
|
||||
0x86, 0xe9, 0xd4, 0x5a, 0x9a, 0x59, 0x51, 0x52, 0xb7, 0x32, 0x96, 0x24, 0x49, 0x1f, 0xcf, 0x07,
|
||||
0xf3, 0x86, 0x05, 0xc9, 0xf9, 0xab, 0xa9, 0xf9, 0xcb, 0xcb, 0xd5, 0x72, 0x5e, 0x35, 0xe1, 0xbf,
|
||||
0x32, 0x70, 0x7b, 0x49, 0x38, 0xe8, 0x3d, 0xc8, 0xe3, 0x91, 0x4b, 0x82, 0x54, 0xab, 0xfa, 0x99,
|
||||
0xe6, 0x28, 0x14, 0xdd, 0x07, 0xb8, 0x24, 0x94, 0xf1, 0xbe, 0x3c, 0x92, 0x0b, 0xfd, 0xaa, 0x28,
|
||||
0xa9, 0xb6, 0x38, 0xa0, 0x1f, 0x42, 0x31, 0x70, 0xa7, 0xb2, 0x6c, 0x5a, 0xa6, 0x0b, 0x46, 0xaa,
|
||||
0xf6, 0xa0, 0x18, 0x92, 0xc1, 0x73, 0xa5, 0xca, 0xc9, 0xb2, 0xd1, 0x05, 0x20, 0xc9, 0x0f, 0x60,
|
||||
0xdd, 0x23, 0x2c, 0x0e, 0xdc, 0x49, 0x7f, 0xee, 0xfc, 0x97, 0x12, 0x4c, 0x4a, 0x1e, 0x02, 0x8a,
|
||||
0x29, 0xbe, 0xc4, 0x94, 0x62, 0xaf, 0x1f, 0xb8, 0xa1, 0x3f, 0x76, 0x7d, 0x9c, 0xb4, 0x84, 0xed,
|
||||
0x19, 0x73, 0x9a, 0x10, 0xe8, 0x53, 0x28, 0xf8, 0x38, 0xf4, 0x30, 0x35, 0xd7, 0x64, 0x81, 0xdf,
|
||||
0x5d, 0x9e, 0xa5, 0x13, 0xa9, 0x71, 0x12, 0x2d, 0xfa, 0x16, 0xe8, 0xb1, 0xcb, 0xd8, 0xab, 0x88,
|
||||
0x7a, 0xa6, 0xbe, 0xb0, 0x92, 0x29, 0x81, 0xde, 0x87, 0x42, 0x44, 0xfd, 0x3e, 0xf1, 0xcc, 0x62,
|
||||
0x5a, 0x92, 0x8f, 0xa8, 0xdf, 0xf2, 0xac, 0xbf, 0xe7, 0x21, 0x27, 0xd2, 0x7c, 0xad, 0x23, 0x7f,
|
||||
0x2f, 0xdd, 0x91, 0xf7, 0x57, 0x6f, 0xdc, 0x37, 0xa8, 0x25, 0xef, 0x41, 0x51, 0x14, 0xd1, 0xfc,
|
||||
0xbe, 0xe8, 0x02, 0x90, 0x9b, 0xf2, 0x5e, 0xaa, 0x44, 0xd4, 0x66, 0xcc, 0x55, 0xc6, 0xde, 0x7c,
|
||||
0x65, 0xac, 0x29, 0xdb, 0xe5, 0x05, 0xa1, 0xdf, 0x50, 0x10, 0xc5, 0xff, 0xb5, 0x20, 0xe0, 0xe6,
|
||||
0x82, 0x28, 0xbd, 0x45, 0x41, 0xec, 0x4c, 0x8f, 0xc8, 0xba, 0x6a, 0x74, 0xea, 0x64, 0x3c, 0x80,
|
||||
0x2d, 0xc2, 0x6c, 0xf1, 0xf3, 0x29, 0xa6, 0xe4, 0x92, 0x60, 0xcf, 0xdc, 0x90, 0xed, 0x7e, 0x11,
|
||||
0x16, 0xf6, 0xf1, 0x30, 0x0a, 0xb1, 0xb9, 0xa9, 0xec, 0xe5, 0x40, 0xd9, 0x9f, 0x8b, 0x9f, 0x33,
|
||||
0xfb, 0xad, 0xa9, 0x7d, 0x0a, 0x46, 0x26, 0xac, 0x0d, 0xa2, 0x71, 0xc8, 0xe9, 0xc4, 0x34, 0xa4,
|
||||
0x87, 0xe9, 0x10, 0x95, 0x41, 0x0f, 0xa2, 0x81, 0x1b, 0x10, 0x3e, 0x31, 0xb7, 0x93, 0xd4, 0x26,
|
||||
0x63, 0xb4, 0x0f, 0xa5, 0x38, 0x62, 0xa2, 0x8b, 0x0e, 0x22, 0x0f, 0x9b, 0x48, 0xd2, 0xa0, 0xa0,
|
||||
0xe3, 0xc8, 0x93, 0x3d, 0x99, 0x62, 0x9f, 0x44, 0xa1, 0x79, 0x5b, 0x7d, 0x53, 0xd5, 0x08, 0xdd,
|
||||
0x83, 0x4d, 0xc6, 0x29, 0xc6, 0xbc, 0xef, 0x7a, 0x1e, 0xc5, 0x8c, 0x99, 0x3b, 0x92, 0xdf, 0x50,
|
||||
0x68, 0x43, 0x81, 0xe2, 0xda, 0xb3, 0xd8, 0x19, 0xff, 0xbf, 0x6b, 0x4f, 0xe5, 0x1c, 0xf4, 0xe9,
|
||||
0x4d, 0x04, 0x99, 0xb0, 0xd3, 0x71, 0x4e, 0xba, 0xbd, 0x46, 0xcf, 0xee, 0x5f, 0xb4, 0xbb, 0xe7,
|
||||
0xf6, 0x71, 0xeb, 0x8b, 0x96, 0xdd, 0x34, 0x6e, 0xa1, 0xdb, 0xb0, 0x35, 0x63, 0x1a, 0xc7, 0xbd,
|
||||
0xd6, 0x53, 0xdb, 0xd0, 0xd0, 0x3b, 0xb0, 0x3d, 0x03, 0x5b, 0xed, 0x04, 0xce, 0x54, 0x7e, 0x01,
|
||||
0xeb, 0xf3, 0x1f, 0x40, 0x74, 0x17, 0x4c, 0x21, 0xb3, 0x1b, 0xce, 0xf1, 0xe3, 0x27, 0xf6, 0x4f,
|
||||
0x16, 0x3c, 0xbf, 0x0b, 0xef, 0xa4, 0xd8, 0x8e, 0x73, 0xd2, 0x6f, 0x37, 0xce, 0x84, 0xff, 0x3b,
|
||||
0x70, 0x3b, 0x45, 0x35, 0x3b, 0x67, 0x8d, 0x56, 0xdb, 0xc8, 0xa0, 0x5d, 0x40, 0x29, 0x42, 0x86,
|
||||
0x60, 0x64, 0x2b, 0x41, 0xf2, 0xad, 0xb9, 0xfa, 0x6e, 0xa2, 0x32, 0xec, 0xce, 0xa4, 0x67, 0x76,
|
||||
0xef, 0x71, 0xa7, 0xd9, 0xb7, 0xbf, 0xbc, 0x68, 0x9c, 0x76, 0x8d, 0x5b, 0x68, 0x1f, 0xf6, 0x16,
|
||||
0xb9, 0x6e, 0xaf, 0xe1, 0xf4, 0xba, 0xfd, 0x1f, 0xb5, 0x7a, 0x8f, 0x0d, 0x2d, 0x15, 0x79, 0x22,
|
||||
0x38, 0xee, 0xb4, 0x7b, 0x8d, 0x56, 0xbb, 0x6b, 0x64, 0x2a, 0x7f, 0xd6, 0xa0, 0x38, 0x6b, 0x19,
|
||||
0x62, 0x1d, 0x17, 0x5d, 0xdb, 0x59, 0x96, 0xbc, 0x1d, 0x30, 0xae, 0xa8, 0x59, 0xf6, 0x76, 0x01,
|
||||
0x5d, 0xa1, 0x57, 0xe9, 0x13, 0x59, 0xbd, 0xc2, 0x9b, 0xf6, 0xa9, 0xdd, 0xb3, 0x9b, 0x46, 0x36,
|
||||
0xed, 0xe4, 0xb4, 0x73, 0xfc, 0xc4, 0x6e, 0x1a, 0xb9, 0xb4, 0xb8, 0x7b, 0xd1, 0x3d, 0xb7, 0xdb,
|
||||
0x4d, 0x23, 0x9f, 0x86, 0x5b, 0xed, 0x56, 0xaf, 0xd5, 0x38, 0x35, 0x0a, 0x95, 0x1f, 0x43, 0x41,
|
||||
0x9d, 0x32, 0x31, 0xf9, 0x89, 0xdd, 0x6e, 0xda, 0xce, 0x42, 0xa8, 0xdb, 0xb0, 0x91, 0xe0, 0x5f,
|
||||
0xd8, 0x67, 0x8d, 0x53, 0x11, 0xe7, 0x16, 0x94, 0x12, 0x48, 0x02, 0x19, 0x84, 0x60, 0x33, 0x01,
|
||||
0x9a, 0xad, 0xa7, 0xb6, 0xd3, 0xb5, 0x8d, 0x6c, 0xfd, 0xdf, 0x79, 0x58, 0x6f, 0x88, 0xd3, 0xdc,
|
||||
0xc5, 0xf4, 0x25, 0x19, 0x60, 0xf4, 0x04, 0xd6, 0x1e, 0x63, 0x37, 0xe0, 0xc3, 0xaf, 0xd0, 0xee,
|
||||
0xb5, 0x7e, 0x67, 0x8b, 0x17, 0x48, 0x79, 0x05, 0x6e, 0x19, 0xaf, 0xff, 0xf6, 0x8f, 0x3f, 0x64,
|
||||
0x00, 0xe9, 0xb5, 0x61, 0xe2, 0xe1, 0x04, 0xf2, 0x0e, 0x76, 0xbd, 0xc9, 0x5b, 0xbb, 0xda, 0x94,
|
||||
0xae, 0x74, 0x54, 0xa8, 0x51, 0x69, 0xdf, 0x06, 0xfd, 0x69, 0xf2, 0x50, 0x59, 0xe9, 0xeb, 0xce,
|
||||
0x35, 0xbc, 0x2b, 0x9f, 0x3c, 0xd6, 0xb6, 0x74, 0x56, 0x42, 0xc5, 0xd9, 0x63, 0x07, 0xfd, 0x46,
|
||||
0x83, 0x52, 0x8b, 0x75, 0xa8, 0xaf, 0x5e, 0x04, 0x68, 0xc5, 0x65, 0x66, 0xf1, 0xa5, 0x52, 0xfe,
|
||||
0xf6, 0x8d, 0x3a, 0x75, 0x3b, 0xb1, 0xee, 0xbd, 0xfe, 0x8b, 0x09, 0xa0, 0x13, 0x77, 0x54, 0x15,
|
||||
0x2b, 0x90, 0x11, 0x6c, 0xa3, 0xad, 0x5a, 0x44, 0x7d, 0x56, 0xeb, 0x13, 0xa6, 0x5e, 0x26, 0xe8,
|
||||
0x12, 0xe0, 0x04, 0xf3, 0x0e, 0xf5, 0x8f, 0x26, 0xad, 0x26, 0xda, 0x5b, 0x79, 0x8b, 0x69, 0x35,
|
||||
0xcb, 0xab, 0xaf, 0x38, 0xd6, 0xc1, 0x92, 0xc9, 0xd6, 0x11, 0xa8, 0xc9, 0x7e, 0x49, 0xbc, 0x5f,
|
||||
0x89, 0xf5, 0x82, 0x3a, 0x5e, 0x1d, 0xea, 0xb3, 0x55, 0xcb, 0x5d, 0x7c, 0x1b, 0xac, 0x5a, 0xee,
|
||||
0xb5, 0x1b, 0xab, 0x75, 0x7f, 0x49, 0x04, 0xc8, 0xda, 0x48, 0x96, 0xcb, 0xa4, 0xf8, 0x50, 0xab,
|
||||
0xa0, 0x5f, 0x6b, 0xa0, 0xcb, 0x6b, 0x9c, 0x78, 0x7e, 0xbd, 0xe9, 0x06, 0x7d, 0x75, 0xeb, 0x2c,
|
||||
0xdf, 0xbf, 0x49, 0x36, 0x17, 0x43, 0x09, 0x8a, 0x22, 0x86, 0x57, 0x94, 0x70, 0xac, 0x72, 0x6e,
|
||||
0xad, 0xcf, 0x82, 0xe0, 0xe3, 0xf8, 0x50, 0xab, 0x1c, 0xfd, 0x55, 0xfb, 0x7d, 0xe3, 0x77, 0x1a,
|
||||
0x6a, 0xc0, 0x86, 0xf4, 0x77, 0xc0, 0x54, 0xe5, 0x5b, 0x1f, 0xa3, 0x8f, 0x86, 0x9c, 0xc7, 0xec,
|
||||
0xb0, 0x56, 0xf3, 0x09, 0x1f, 0x8e, 0x9f, 0x55, 0x07, 0xd1, 0xa8, 0x36, 0x70, 0x23, 0x56, 0x4b,
|
||||
0x02, 0xa8, 0xc5, 0xcf, 0xfd, 0x9a, 0x34, 0xaa, 0x67, 0x3f, 0xa9, 0x3e, 0xaa, 0x68, 0x99, 0xba,
|
||||
0xe1, 0xc6, 0x71, 0x40, 0x06, 0xf2, 0xe6, 0x50, 0xfb, 0x39, 0x8b, 0xc2, 0x34, 0xe2, 0xd3, 0x78,
|
||||
0x70, 0x78, 0x4d, 0x73, 0x78, 0x4d, 0xf3, 0xd3, 0xca, 0x8d, 0x53, 0xca, 0xff, 0x12, 0x08, 0xed,
|
||||
0xb3, 0x82, 0x2c, 0xf0, 0xef, 0xfe, 0x37, 0x00, 0x00, 0xff, 0xff, 0x70, 0xfd, 0x92, 0x95, 0x62,
|
||||
0x10, 0x00, 0x00,
|
||||
// 1785 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0x59,
|
||||
0x15, 0x4e, 0xeb, 0x65, 0xe9, 0x48, 0x96, 0x5b, 0x37, 0x8e, 0xd3, 0x23, 0x67, 0xb0, 0xa7, 0x99,
|
||||
0xbc, 0x14, 0x22, 0x4d, 0xc4, 0x50, 0x50, 0x9e, 0x62, 0x28, 0xd9, 0xea, 0xb1, 0x55, 0xb1, 0x25,
|
||||
0x4f, 0x4b, 0x0e, 0x8f, 0x8d, 0xe8, 0xa8, 0xaf, 0x5b, 0x4d, 0xa4, 0xee, 0xce, 0xbd, 0x2d, 0x07,
|
||||
0x85, 0x62, 0x41, 0xaa, 0xa8, 0x62, 0xc5, 0x02, 0x16, 0xfc, 0x02, 0xd6, 0xac, 0xd8, 0xb2, 0x66,
|
||||
0xcf, 0x92, 0x2d, 0x55, 0x6c, 0xd9, 0xb0, 0x09, 0x1b, 0xea, 0x3e, 0x5a, 0x6f, 0xc5, 0xe5, 0x62,
|
||||
0xc3, 0xca, 0xea, 0xf3, 0x7d, 0xe7, 0xdc, 0x73, 0xcf, 0x3d, 0xdf, 0x7d, 0x18, 0xb2, 0x96, 0x3d,
|
||||
0x74, 0xbd, 0x72, 0x40, 0xfc, 0xd0, 0x47, 0xdb, 0x6f, 0xdd, 0xd0, 0xb2, 0xf1, 0xa0, 0x2c, 0x8c,
|
||||
0x56, 0xe0, 0x96, 0xaf, 0x9e, 0x15, 0xef, 0x39, 0xbe, 0xef, 0x0c, 0x70, 0xc5, 0x0a, 0xdc, 0x8a,
|
||||
0xe5, 0x79, 0x7e, 0x68, 0x85, 0xae, 0xef, 0x51, 0xe1, 0x53, 0xdc, 0x95, 0x28, 0xff, 0x7a, 0x39,
|
||||
0xba, 0xac, 0xe0, 0x61, 0x10, 0x8e, 0x25, 0xb8, 0xb7, 0x08, 0x86, 0xee, 0x10, 0xd3, 0xd0, 0x1a,
|
||||
0x06, 0x92, 0x70, 0x6f, 0x91, 0x40, 0x43, 0x32, 0xea, 0x85, 0x12, 0xbd, 0x7b, 0x65, 0x0d, 0x5c,
|
||||
0xdb, 0x0a, 0x71, 0x25, 0xfa, 0x21, 0x81, 0x6f, 0xf1, 0x3f, 0xbd, 0xa7, 0x0e, 0xf6, 0x9e, 0xd2,
|
||||
0x37, 0x96, 0xe3, 0x60, 0x52, 0xf1, 0x03, 0x9e, 0xd6, 0x8a, 0x14, 0x35, 0x6b, 0x14, 0xf6, 0x05,
|
||||
0x1c, 0xb1, 0x04, 0xa2, 0xdf, 0x85, 0x64, 0x8b, 0x38, 0x8d, 0x3a, 0xca, 0x43, 0xcc, 0xb5, 0x35,
|
||||
0x65, 0x5f, 0x79, 0x94, 0x31, 0x63, 0xae, 0xad, 0x9f, 0x83, 0x7a, 0xe1, 0xb9, 0xaf, 0x47, 0xb8,
|
||||
0x45, 0x1c, 0x13, 0xbf, 0x1e, 0x61, 0x1a, 0xa2, 0x5d, 0x48, 0x78, 0xd6, 0x10, 0x0b, 0xd6, 0xe1,
|
||||
0xc6, 0xfb, 0xc3, 0x04, 0x89, 0xa9, 0x8a, 0xc9, 0x8d, 0x68, 0x0f, 0x52, 0xb6, 0x3f, 0xb4, 0x5c,
|
||||
0x4f, 0x8b, 0xcd, 0xc3, 0xd2, 0xac, 0x7f, 0x06, 0x85, 0x99, 0x88, 0x34, 0xf0, 0x3d, 0x8a, 0xd1,
|
||||
0x2e, 0x64, 0x5c, 0xda, 0x1d, 0x71, 0x3b, 0x8f, 0x9b, 0x36, 0xd3, 0x2e, 0x15, 0x3c, 0xfd, 0xdf,
|
||||
0x0a, 0xc4, 0x5b, 0xc4, 0x59, 0xcc, 0x0d, 0x7d, 0x0e, 0x49, 0x1a, 0x5a, 0x21, 0xe6, 0x23, 0xe5,
|
||||
0xab, 0xdf, 0x28, 0xaf, 0x5a, 0xb5, 0x72, 0x8b, 0x38, 0x6d, 0xc6, 0x32, 0x05, 0x19, 0xfd, 0x00,
|
||||
0x36, 0x7b, 0x04, 0xf3, 0xba, 0x74, 0x59, 0x25, 0xb5, 0xf8, 0xbe, 0xf2, 0x28, 0x5b, 0x2d, 0x96,
|
||||
0xc5, 0x0a, 0x94, 0xa3, 0x15, 0x28, 0x77, 0xa2, 0x25, 0x32, 0x73, 0x91, 0x43, 0x9d, 0x05, 0xf8,
|
||||
0x02, 0xb2, 0xbd, 0xbe, 0xe5, 0x39, 0x58, 0xb8, 0x27, 0xae, 0x75, 0x07, 0x41, 0xe7, 0xce, 0x48,
|
||||
0xd6, 0x2e, 0xc9, 0x67, 0x21, 0x4a, 0xb6, 0x33, 0x29, 0x59, 0x8a, 0x5b, 0xa3, 0x4a, 0xfd, 0x53,
|
||||
0x01, 0x95, 0x65, 0x8f, 0x2d, 0xd2, 0xeb, 0x47, 0xc5, 0xdf, 0x81, 0x94, 0x7f, 0x79, 0x49, 0x71,
|
||||
0xc8, 0x0b, 0x91, 0x30, 0xe5, 0x17, 0xda, 0x86, 0xe4, 0xc0, 0x1d, 0xba, 0x21, 0x2f, 0x46, 0xc2,
|
||||
0x14, 0x1f, 0xa8, 0x0d, 0x79, 0xea, 0x93, 0xd0, 0xf5, 0x9c, 0x6e, 0xcf, 0x1f, 0x8c, 0x86, 0x1e,
|
||||
0x9f, 0x6d, 0xbe, 0xaa, 0xaf, 0xaf, 0x15, 0x1f, 0xed, 0x39, 0x1e, 0x1f, 0xa6, 0xdf, 0x1f, 0x26,
|
||||
0xdf, 0x29, 0xb1, 0xfd, 0x5b, 0xe6, 0xa6, 0x8c, 0x71, 0xc4, 0x43, 0x20, 0x15, 0xe2, 0x16, 0xed,
|
||||
0xf1, 0x89, 0xa7, 0x4d, 0xf6, 0x13, 0x7d, 0x09, 0x1b, 0xaf, 0x47, 0x98, 0xb8, 0x98, 0x6a, 0xc9,
|
||||
0xfd, 0xf8, 0xa3, 0x6c, 0xf5, 0xd3, 0x6b, 0xe2, 0x7f, 0x3d, 0xc2, 0x64, 0x6c, 0x46, 0x4e, 0xfa,
|
||||
0x1f, 0x15, 0xc8, 0xcf, 0x63, 0xe8, 0x4b, 0x88, 0xbf, 0xc2, 0x63, 0x3e, 0xc9, 0x9b, 0xa6, 0xcb,
|
||||
0x1c, 0xd1, 0xf7, 0x21, 0x35, 0xc4, 0x61, 0xdf, 0xb7, 0x65, 0x77, 0xdc, 0xbf, 0x26, 0xc4, 0x19,
|
||||
0x27, 0x9b, 0xd2, 0x89, 0x95, 0xf3, 0xca, 0x1a, 0x8c, 0x44, 0x77, 0x64, 0x4c, 0xf1, 0xa1, 0xff,
|
||||
0x41, 0x81, 0xc2, 0xcc, 0x8a, 0xc8, 0xe6, 0xbd, 0xd9, 0x92, 0x7c, 0x02, 0xb9, 0xd0, 0x0f, 0xad,
|
||||
0x41, 0x97, 0x60, 0x3a, 0x1a, 0x84, 0x7c, 0x80, 0x84, 0x99, 0xe5, 0x36, 0x93, 0x9b, 0xd0, 0x33,
|
||||
0x48, 0x49, 0x30, 0xc1, 0xab, 0xf9, 0xd1, 0xda, 0xdc, 0x4d, 0x49, 0xd4, 0x7f, 0xa3, 0xc0, 0x16,
|
||||
0xcf, 0x2c, 0xbc, 0x08, 0xa2, 0x56, 0xf9, 0x1e, 0xc4, 0x7d, 0xe2, 0xf0, 0xa4, 0xb2, 0xd5, 0x07,
|
||||
0xab, 0x63, 0x1c, 0xb1, 0xce, 0x9e, 0x11, 0xb7, 0xc9, 0x5c, 0xd0, 0x17, 0x90, 0x18, 0x51, 0x4c,
|
||||
0x78, 0xe2, 0xd9, 0xea, 0xc3, 0x0f, 0xb9, 0x5e, 0x50, 0x4c, 0x22, 0x5f, 0xee, 0xa4, 0xfb, 0xb2,
|
||||
0x6b, 0x79, 0x26, 0xb2, 0x44, 0x4f, 0x66, 0x53, 0xf9, 0xc0, 0x74, 0xf8, 0xe8, 0xe5, 0xb9, 0xd1,
|
||||
0x8b, 0xab, 0xd9, 0x7c, 0x5c, 0x31, 0xe0, 0xdf, 0x93, 0x50, 0x58, 0x4a, 0x06, 0x3d, 0x84, 0x0c,
|
||||
0x43, 0xbb, 0x33, 0x5b, 0x15, 0xbc, 0x3f, 0xdc, 0x20, 0x49, 0x55, 0xd1, 0xfe, 0xaa, 0x98, 0x69,
|
||||
0x06, 0x36, 0x99, 0xfc, 0x1e, 0x03, 0x5c, 0xba, 0x84, 0x86, 0x82, 0x19, 0x5b, 0x62, 0x66, 0x38,
|
||||
0xca, 0xa9, 0x0f, 0x21, 0x33, 0xb0, 0x22, 0x66, 0x7c, 0x39, 0x26, 0x03, 0x39, 0xf1, 0x3e, 0x64,
|
||||
0x3c, 0xb7, 0xf7, 0x4a, 0x10, 0x13, 0x9c, 0xc8, 0xfa, 0x93, 0xc4, 0x39, 0x8d, 0x41, 0x9c, 0xf6,
|
||||
0x04, 0x72, 0xb6, 0x4b, 0x83, 0x81, 0x35, 0xee, 0x4e, 0x77, 0x85, 0x19, 0x66, 0x56, 0xa2, 0x9c,
|
||||
0xfc, 0x5d, 0x40, 0x01, 0xc1, 0x97, 0x98, 0x10, 0x6c, 0x77, 0x07, 0x96, 0xe7, 0x8c, 0x2c, 0x07,
|
||||
0x8b, 0x2d, 0x63, 0xc6, 0xa5, 0x30, 0xe1, 0x9c, 0x4a, 0x0a, 0xfa, 0x1c, 0x52, 0x0e, 0xf6, 0x6c,
|
||||
0x4c, 0xb4, 0x0d, 0x2e, 0x85, 0x7b, 0xab, 0x2b, 0x7a, 0xcc, 0x39, 0xa6, 0xe4, 0x22, 0x1d, 0x92,
|
||||
0x78, 0x68, 0xb9, 0x03, 0x2d, 0xcd, 0x47, 0xc8, 0xbd, 0x3f, 0xcc, 0x90, 0x0d, 0x3e, 0xcf, 0x9f,
|
||||
0x2a, 0xa6, 0x80, 0x50, 0x09, 0x0a, 0x2e, 0xed, 0xf2, 0xdf, 0xdd, 0x2b, 0x4c, 0xdc, 0x4b, 0x17,
|
||||
0xdb, 0x5a, 0x86, 0xef, 0x0b, 0x5b, 0x2e, 0x35, 0x98, 0xfd, 0x85, 0x34, 0xa3, 0x8f, 0x21, 0x19,
|
||||
0xf4, 0x7d, 0x0f, 0x6b, 0xd9, 0x99, 0x73, 0x41, 0xdb, 0x36, 0x85, 0x55, 0x86, 0xe2, 0xbf, 0xa7,
|
||||
0xa1, 0x72, 0x51, 0xa8, 0x73, 0x66, 0x9f, 0x84, 0xd2, 0x61, 0xa3, 0xe7, 0x8f, 0xbc, 0x90, 0x8c,
|
||||
0xb5, 0xcd, 0x85, 0xe9, 0x47, 0x00, 0xfa, 0x14, 0xd2, 0x03, 0xbf, 0x67, 0x0d, 0xdc, 0x70, 0xac,
|
||||
0xe5, 0x17, 0x17, 0x20, 0x42, 0xd0, 0x63, 0xc8, 0x06, 0x3e, 0x65, 0x6a, 0xec, 0xf9, 0x36, 0xd6,
|
||||
0xb6, 0x16, 0x88, 0x20, 0xc0, 0x23, 0xdf, 0xc6, 0x68, 0x9f, 0x89, 0xd2, 0x71, 0x7d, 0x4f, 0x53,
|
||||
0x17, 0x58, 0xd2, 0x8e, 0x2a, 0x90, 0xa7, 0x21, 0xc1, 0x38, 0xec, 0x5a, 0xb6, 0x4d, 0x30, 0xa5,
|
||||
0x5a, 0x61, 0x81, 0xb9, 0x29, 0xf0, 0x9a, 0x80, 0xd1, 0x37, 0x21, 0x1d, 0x58, 0x94, 0xbe, 0xf1,
|
||||
0x89, 0xad, 0xa1, 0xd9, 0xaa, 0x9c, 0x98, 0x13, 0x40, 0xff, 0x4f, 0x12, 0x12, 0xac, 0xaf, 0x97,
|
||||
0x8e, 0xbf, 0xef, 0xcc, 0x1f, 0x7f, 0x7b, 0xeb, 0x75, 0xf2, 0x7f, 0x74, 0xfe, 0xed, 0xce, 0xaa,
|
||||
0x52, 0x1c, 0x82, 0x53, 0x25, 0x7e, 0x3c, 0xa7, 0x44, 0x71, 0x18, 0xce, 0xa8, 0x6f, 0x77, 0x56,
|
||||
0x7d, 0x1b, 0xc2, 0x77, 0xa2, 0xb8, 0xdd, 0x59, 0xc5, 0xa5, 0x05, 0x38, 0xd1, 0xd9, 0x27, 0x0b,
|
||||
0x3a, 0xcb, 0x70, 0x7c, 0x4e, 0x5d, 0x4f, 0x57, 0xaa, 0x0b, 0x38, 0xf1, 0x83, 0x9a, 0xca, 0xde,
|
||||
0x40, 0x53, 0xdb, 0x91, 0xa6, 0x72, 0xe2, 0x54, 0x11, 0x2a, 0x7a, 0x04, 0x8b, 0x62, 0xe1, 0x6d,
|
||||
0xbd, 0x42, 0x43, 0xdb, 0x91, 0x86, 0xf2, 0xc2, 0x5f, 0x48, 0x87, 0xfb, 0xcf, 0x29, 0x84, 0x37,
|
||||
0xf2, 0x0a, 0xe1, 0x68, 0x53, 0xe1, 0xf0, 0x26, 0x9e, 0xca, 0xa5, 0x38, 0x23, 0x97, 0x82, 0x2c,
|
||||
0x6d, 0x24, 0x92, 0xbd, 0x79, 0x91, 0xf0, 0x4e, 0x9d, 0x93, 0xc6, 0xce, 0x44, 0x1a, 0xb7, 0xc5,
|
||||
0x05, 0x46, 0x0a, 0xe2, 0xfe, 0x92, 0x20, 0xb6, 0x39, 0xbe, 0x20, 0x83, 0x22, 0xa4, 0x29, 0xdb,
|
||||
0xb4, 0xbd, 0x1e, 0xd6, 0xee, 0xf0, 0xd3, 0x70, 0xf2, 0xcd, 0xee, 0x9f, 0x8b, 0x47, 0xd4, 0xff,
|
||||
0x76, 0xff, 0x2c, 0x9d, 0x43, 0x3a, 0xba, 0x12, 0x22, 0x0d, 0xb6, 0x5b, 0xe6, 0x71, 0xbb, 0x53,
|
||||
0xeb, 0x18, 0xdd, 0x8b, 0x66, 0xfb, 0xdc, 0x38, 0x6a, 0x7c, 0xd5, 0x30, 0xea, 0xea, 0x2d, 0x74,
|
||||
0x1b, 0xb6, 0x26, 0x48, 0xed, 0xa8, 0xd3, 0x78, 0x61, 0xa8, 0x0a, 0xba, 0x03, 0x85, 0x89, 0xb1,
|
||||
0xd1, 0x94, 0xe6, 0x58, 0xe9, 0xe7, 0x90, 0x9b, 0xbd, 0x89, 0xa0, 0x7b, 0xa0, 0x31, 0x9a, 0x51,
|
||||
0x33, 0x8f, 0x4e, 0x9e, 0x1b, 0x3f, 0x5e, 0x88, 0xfc, 0x11, 0xdc, 0x99, 0x43, 0x5b, 0xe6, 0x71,
|
||||
0xb7, 0x59, 0x3b, 0x63, 0xf1, 0xef, 0xc2, 0xed, 0x39, 0xa8, 0xde, 0x3a, 0xab, 0x35, 0x9a, 0x6a,
|
||||
0x0c, 0xed, 0x00, 0x9a, 0x03, 0x78, 0x0a, 0x6a, 0xbc, 0x34, 0x90, 0x87, 0xfe, 0xf4, 0x02, 0x83,
|
||||
0x8a, 0xb0, 0x33, 0xa1, 0x9e, 0x19, 0x9d, 0x93, 0x56, 0xbd, 0x6b, 0x7c, 0x7d, 0x51, 0x3b, 0x6d,
|
||||
0xab, 0xb7, 0xd0, 0x1e, 0xec, 0x2e, 0x62, 0xed, 0x4e, 0xcd, 0xec, 0xb4, 0xbb, 0x3f, 0x6c, 0x74,
|
||||
0x4e, 0x54, 0x65, 0x2e, 0x73, 0x49, 0x38, 0x6a, 0x35, 0x3b, 0xb5, 0x46, 0xb3, 0xad, 0xc6, 0x4a,
|
||||
0x7f, 0x52, 0x20, 0x33, 0xd9, 0x4e, 0xd8, 0x3c, 0x2e, 0xda, 0x86, 0xb9, 0xaa, 0x78, 0xdb, 0xa0,
|
||||
0x4e, 0xa1, 0x49, 0xf5, 0x76, 0x00, 0x4d, 0xad, 0xd3, 0xf2, 0xb1, 0xaa, 0x4e, 0xed, 0x75, 0xe3,
|
||||
0xd4, 0xe8, 0x18, 0x75, 0x35, 0x3e, 0x1f, 0xe4, 0xb4, 0x75, 0xf4, 0xdc, 0xa8, 0xab, 0x89, 0x79,
|
||||
0x72, 0xfb, 0xa2, 0x7d, 0x6e, 0x34, 0xeb, 0x6a, 0x72, 0xde, 0xdc, 0x68, 0x36, 0x3a, 0x8d, 0xda,
|
||||
0xa9, 0x9a, 0x2a, 0xfd, 0x08, 0x52, 0x42, 0x81, 0x6c, 0xf0, 0x63, 0xa3, 0x59, 0x37, 0xcc, 0x85,
|
||||
0x54, 0x0b, 0xb0, 0x29, 0xed, 0x5f, 0x19, 0x67, 0xb5, 0x53, 0x96, 0xe7, 0x16, 0x64, 0xa5, 0x89,
|
||||
0x1b, 0x62, 0x08, 0x41, 0x5e, 0x1a, 0xea, 0x8d, 0x17, 0x86, 0xd9, 0x36, 0xd4, 0x78, 0xf5, 0x5f,
|
||||
0x49, 0xc8, 0xd5, 0x98, 0xd2, 0xdb, 0x98, 0x5c, 0xb9, 0x3d, 0x8c, 0x9e, 0xc3, 0xc6, 0x09, 0xb6,
|
||||
0x06, 0x61, 0xff, 0x2d, 0xda, 0x59, 0xda, 0x0b, 0x0d, 0xf6, 0x14, 0x2c, 0xae, 0xb1, 0xeb, 0xea,
|
||||
0xbb, 0xbf, 0xfd, 0xe3, 0xf7, 0x31, 0x40, 0xe9, 0x4a, 0x5f, 0x46, 0x38, 0x86, 0xa4, 0x89, 0x2d,
|
||||
0x7b, 0x7c, 0xe3, 0x50, 0x79, 0x1e, 0x2a, 0x8d, 0x52, 0x15, 0xc2, 0xfd, 0x9b, 0x90, 0x7e, 0x21,
|
||||
0x5f, 0x8c, 0x6b, 0x63, 0xdd, 0x5d, 0xb2, 0xb7, 0xf9, 0xdb, 0x53, 0x2f, 0xf0, 0x60, 0x59, 0x94,
|
||||
0x99, 0xbc, 0x3a, 0xd1, 0xaf, 0x15, 0xc8, 0x36, 0x68, 0x8b, 0x38, 0xe2, 0x69, 0x86, 0xd6, 0xdc,
|
||||
0x2a, 0x17, 0x9f, 0x8c, 0xc5, 0x87, 0xd7, 0xf2, 0xc4, 0x45, 0x51, 0xbf, 0xff, 0xee, 0xcf, 0x1a,
|
||||
0x40, 0xda, 0xb5, 0x86, 0x65, 0x36, 0x03, 0x9e, 0x41, 0x01, 0x6d, 0x55, 0x7c, 0xe2, 0xd0, 0x4a,
|
||||
0xd7, 0xa5, 0xe2, 0x89, 0x88, 0x2e, 0x01, 0x8e, 0x71, 0xd8, 0x22, 0xce, 0xe1, 0xb8, 0x51, 0x47,
|
||||
0xbb, 0x6b, 0x2f, 0x94, 0x8d, 0x7a, 0x71, 0xfd, 0x6d, 0x53, 0xdf, 0x5f, 0x31, 0x58, 0x0e, 0x81,
|
||||
0x18, 0xec, 0x17, 0xae, 0xfd, 0x4b, 0x36, 0x5f, 0x10, 0xf2, 0x6a, 0x11, 0x87, 0xae, 0x9b, 0xee,
|
||||
0xe2, 0x23, 0x6d, 0xdd, 0x74, 0x97, 0x9e, 0x0e, 0xfa, 0x83, 0x15, 0x19, 0x20, 0x7d, 0x53, 0x4e,
|
||||
0x97, 0x72, 0xf2, 0x81, 0x52, 0x42, 0xbf, 0x52, 0x20, 0xcd, 0x6f, 0xd4, 0xec, 0x1d, 0xfc, 0xa1,
|
||||
0xa7, 0xcc, 0xf4, 0xfa, 0x5f, 0x7c, 0x70, 0x1d, 0x6d, 0x26, 0x87, 0x2c, 0x64, 0x58, 0x0e, 0x6f,
|
||||
0x88, 0x1b, 0x62, 0x51, 0x73, 0x3d, 0x37, 0x49, 0x22, 0x1c, 0x05, 0x07, 0x4a, 0xe9, 0xf0, 0x2f,
|
||||
0xca, 0xef, 0x6a, 0xbf, 0x55, 0x50, 0x0d, 0x36, 0x79, 0xbc, 0x7d, 0x2a, 0x3a, 0x5f, 0x7f, 0x82,
|
||||
0x1e, 0xf7, 0xc3, 0x30, 0xa0, 0x07, 0x95, 0x8a, 0xe3, 0x86, 0xfd, 0xd1, 0xcb, 0x72, 0xcf, 0x1f,
|
||||
0x56, 0x7a, 0x96, 0x4f, 0x2b, 0x32, 0x81, 0x4a, 0xf0, 0xca, 0xa9, 0x70, 0xa7, 0x6a, 0xfc, 0xb3,
|
||||
0xf2, 0xb3, 0x92, 0x12, 0xab, 0xaa, 0x56, 0x10, 0x0c, 0xdc, 0x1e, 0xbf, 0x55, 0x54, 0x7e, 0x46,
|
||||
0x7d, 0x6f, 0xde, 0xe2, 0x90, 0xa0, 0x77, 0xb0, 0xc4, 0x39, 0x58, 0xe2, 0xfc, 0xa4, 0x74, 0xed,
|
||||
0x90, 0xfc, 0xdf, 0x35, 0x8c, 0xfb, 0x32, 0xc5, 0x1b, 0xfc, 0xdb, 0xff, 0x0d, 0x00, 0x00, 0xff,
|
||||
0xff, 0xd2, 0xa3, 0xeb, 0x34, 0xeb, 0x11, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
||||
@@ -197,6 +197,64 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1CreateUserRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"user_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"first_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"last_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"nick_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"display_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"preferred_language": {
|
||||
"type": "string"
|
||||
},
|
||||
"gender": {
|
||||
"$ref": "#/definitions/v1Gender"
|
||||
},
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"is_email_verified": {
|
||||
"type": "boolean",
|
||||
"format": "boolean"
|
||||
},
|
||||
"phone": {
|
||||
"type": "string"
|
||||
},
|
||||
"is_phone_verified": {
|
||||
"type": "boolean",
|
||||
"format": "boolean"
|
||||
},
|
||||
"country": {
|
||||
"type": "string"
|
||||
},
|
||||
"locality": {
|
||||
"type": "string"
|
||||
},
|
||||
"postal_code": {
|
||||
"type": "string"
|
||||
},
|
||||
"region": {
|
||||
"type": "string"
|
||||
},
|
||||
"street_address": {
|
||||
"type": "string"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1Gender": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
@@ -321,7 +379,7 @@
|
||||
"$ref": "#/definitions/v1CreateOrgRequest"
|
||||
},
|
||||
"user": {
|
||||
"$ref": "#/definitions/v1RegisterUserRequest"
|
||||
"$ref": "#/definitions/v1CreateUserRequest"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -345,38 +403,6 @@
|
||||
],
|
||||
"default": "ORGSTATE_UNSPECIFIED"
|
||||
},
|
||||
"v1RegisterUserRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"first_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"last_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"nick_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"display_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"preferred_language": {
|
||||
"type": "string"
|
||||
},
|
||||
"gender": {
|
||||
"$ref": "#/definitions/v1Gender"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
},
|
||||
"org_id": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1UniqueOrgResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -452,6 +478,10 @@
|
||||
},
|
||||
"street_address": {
|
||||
"type": "string"
|
||||
},
|
||||
"sequence": {
|
||||
"type": "string",
|
||||
"format": "uint64"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -2,21 +2,38 @@ package grpc
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/caos/zitadel/internal/errors"
|
||||
)
|
||||
|
||||
func (s *Server) GetOrgByID(ctx context.Context, orgID *OrgID) (_ *Org, err error) {
|
||||
return nil, errors.ThrowUnimplemented(nil, "GRPC-mvn3R", "Not implemented")
|
||||
org, err := s.org.OrgByID(ctx, orgID.Id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return orgFromModel(org), nil
|
||||
}
|
||||
|
||||
func (s *Server) SearchOrgs(ctx context.Context, request *OrgSearchRequest) (_ *OrgSearchResponse, err error) {
|
||||
return nil, errors.ThrowUnimplemented(nil, "GRPC-Po9Hd", "Not implemented")
|
||||
orgs, err := s.org.SearchOrgs(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &OrgSearchResponse{Result: orgsFromModel(orgs),
|
||||
Limit: request.Limit,
|
||||
Offset: request.Offset,
|
||||
// TotalResult: , TODO: total result from search
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *Server) IsOrgUnique(ctx context.Context, request *UniqueOrgRequest) (org *UniqueOrgResponse, err error) {
|
||||
return nil, errors.ThrowUnimplemented(nil, "GRPC-0p6Fw", "Not implemented")
|
||||
isUnique, err := s.org.IsOrgUnique(ctx, request.Name, request.Domain)
|
||||
|
||||
return &UniqueOrgResponse{IsUnique: isUnique}, err
|
||||
}
|
||||
|
||||
func (s *Server) SetUpOrg(ctx context.Context, orgSetUp *OrgSetUpRequest) (_ *OrgSetUpResponse, err error) {
|
||||
return nil, errors.ThrowUnimplemented(nil, "GRPC-hdj5D", "Not implemented")
|
||||
setUp, err := s.org.SetUpOrg(ctx, setUpRequestToModel(orgSetUp))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return setUpOrgResponseFromModel(setUp), err
|
||||
}
|
||||
|
||||
@@ -0,0 +1,181 @@
|
||||
package grpc
|
||||
|
||||
import (
|
||||
"github.com/caos/logging"
|
||||
admin_model "github.com/caos/zitadel/internal/admin/model"
|
||||
org_model "github.com/caos/zitadel/internal/org/model"
|
||||
usr_model "github.com/caos/zitadel/internal/user/model"
|
||||
"github.com/golang/protobuf/ptypes"
|
||||
"golang.org/x/text/language"
|
||||
)
|
||||
|
||||
func setUpRequestToModel(setUp *OrgSetUpRequest) *admin_model.SetupOrg {
|
||||
return &admin_model.SetupOrg{
|
||||
Org: orgCreateRequestToModel(setUp.Org),
|
||||
User: userCreateRequestToModel(setUp.User),
|
||||
}
|
||||
}
|
||||
|
||||
func orgCreateRequestToModel(org *CreateOrgRequest) *org_model.Org {
|
||||
return &org_model.Org{
|
||||
Domain: org.Domain,
|
||||
Name: org.Name,
|
||||
}
|
||||
}
|
||||
|
||||
func userCreateRequestToModel(user *CreateUserRequest) *usr_model.User {
|
||||
preferredLanguage, err := language.Parse(user.PreferredLanguage)
|
||||
logging.Log("GRPC-30hwz").OnError(err).Debug("unable to parse language")
|
||||
|
||||
return &usr_model.User{
|
||||
Profile: &usr_model.Profile{
|
||||
UserName: user.UserName,
|
||||
DisplayName: user.DisplayName,
|
||||
FirstName: user.FirstName,
|
||||
LastName: user.LastName,
|
||||
NickName: user.NickName,
|
||||
PreferredLanguage: preferredLanguage,
|
||||
Gender: genderToModel(user.Gender),
|
||||
},
|
||||
Password: &usr_model.Password{
|
||||
SecretString: user.Password,
|
||||
},
|
||||
Email: &usr_model.Email{
|
||||
EmailAddress: user.Email,
|
||||
IsEmailVerified: user.IsEmailVerified,
|
||||
},
|
||||
Phone: &usr_model.Phone{
|
||||
IsPhoneVerified: user.IsPhoneVerified,
|
||||
PhoneNumber: user.Phone,
|
||||
},
|
||||
Address: &usr_model.Address{
|
||||
Country: user.Country,
|
||||
Locality: user.Locality,
|
||||
PostalCode: user.PostalCode,
|
||||
Region: user.Region,
|
||||
StreetAddress: user.StreetAddress,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func setUpOrgResponseFromModel(setUp *admin_model.SetupOrg) *OrgSetUpResponse {
|
||||
return &OrgSetUpResponse{
|
||||
Org: orgFromModel(setUp.Org),
|
||||
User: userFromModel(setUp.User),
|
||||
}
|
||||
}
|
||||
|
||||
func orgsFromModel(orgs []*org_model.Org) []*Org {
|
||||
result := make([]*Org, len(orgs))
|
||||
for i, org := range orgs {
|
||||
result[i] = orgFromModel(org)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
func orgFromModel(org *org_model.Org) *Org {
|
||||
creationDate, err := ptypes.TimestampProto(org.CreationDate)
|
||||
logging.Log("GRPC-GTHsZ").OnError(err).Debug("unable to get timestamp from time")
|
||||
|
||||
changeDate, err := ptypes.TimestampProto(org.ChangeDate)
|
||||
logging.Log("GRPC-dVnoj").OnError(err).Debug("unable to get timestamp from time")
|
||||
|
||||
return &Org{
|
||||
Domain: org.Domain,
|
||||
ChangeDate: changeDate,
|
||||
CreationDate: creationDate,
|
||||
Id: org.AggregateID,
|
||||
Name: org.Name,
|
||||
State: orgStateFromModel(org.State),
|
||||
}
|
||||
}
|
||||
|
||||
func userFromModel(user *usr_model.User) *User {
|
||||
creationDate, err := ptypes.TimestampProto(user.CreationDate)
|
||||
logging.Log("GRPC-8duwe").OnError(err).Debug("unable to parse timestamp")
|
||||
|
||||
changeDate, err := ptypes.TimestampProto(user.ChangeDate)
|
||||
logging.Log("GRPC-ckoe3d").OnError(err).Debug("unable to parse timestamp")
|
||||
|
||||
converted := &User{
|
||||
Id: user.AggregateID,
|
||||
State: userStateFromModel(user.State),
|
||||
CreationDate: creationDate,
|
||||
ChangeDate: changeDate,
|
||||
Sequence: user.Sequence,
|
||||
UserName: user.UserName,
|
||||
FirstName: user.FirstName,
|
||||
LastName: user.LastName,
|
||||
DisplayName: user.DisplayName,
|
||||
NickName: user.NickName,
|
||||
PreferredLanguage: user.PreferredLanguage.String(),
|
||||
Gender: genderFromModel(user.Gender),
|
||||
}
|
||||
if user.Email != nil {
|
||||
converted.Email = user.EmailAddress
|
||||
converted.IsEmailVerified = user.IsEmailVerified
|
||||
}
|
||||
if user.Phone != nil {
|
||||
converted.Phone = user.PhoneNumber
|
||||
converted.IsPhoneVerified = user.IsPhoneVerified
|
||||
}
|
||||
if user.Address != nil {
|
||||
converted.Country = user.Country
|
||||
converted.Locality = user.Locality
|
||||
converted.PostalCode = user.PostalCode
|
||||
converted.Region = user.Region
|
||||
converted.StreetAddress = user.StreetAddress
|
||||
}
|
||||
return converted
|
||||
}
|
||||
|
||||
func orgStateFromModel(state org_model.OrgState) OrgState {
|
||||
switch state {
|
||||
case org_model.ORGSTATE_ACTIVE:
|
||||
return OrgState_ORGSTATE_ACTIVE
|
||||
case org_model.ORGSTATE_INACTIVE:
|
||||
return OrgState_ORGSTATE_INACTIVE
|
||||
default:
|
||||
return OrgState_ORGSTATE_UNSPECIFIED
|
||||
}
|
||||
}
|
||||
|
||||
func genderFromModel(gender usr_model.Gender) Gender {
|
||||
switch gender {
|
||||
case usr_model.GENDER_FEMALE:
|
||||
return Gender_GENDER_FEMALE
|
||||
case usr_model.GENDER_MALE:
|
||||
return Gender_GENDER_MALE
|
||||
case usr_model.GENDER_DIVERSE:
|
||||
return Gender_GENDER_DIVERSE
|
||||
default:
|
||||
return Gender_GENDER_UNSPECIFIED
|
||||
}
|
||||
}
|
||||
|
||||
func genderToModel(gender Gender) usr_model.Gender {
|
||||
switch gender {
|
||||
case Gender_GENDER_FEMALE:
|
||||
return usr_model.GENDER_FEMALE
|
||||
case Gender_GENDER_MALE:
|
||||
return usr_model.GENDER_MALE
|
||||
case Gender_GENDER_DIVERSE:
|
||||
return usr_model.GENDER_DIVERSE
|
||||
default:
|
||||
return usr_model.GENDER_UNDEFINED
|
||||
}
|
||||
}
|
||||
|
||||
func userStateFromModel(state usr_model.UserState) UserState {
|
||||
switch state {
|
||||
case usr_model.USERSTATE_ACTIVE:
|
||||
return UserState_USERSTATE_ACTIVE
|
||||
case usr_model.USERSTATE_INACTIVE:
|
||||
return UserState_USERSTATE_INACTIVE
|
||||
case usr_model.USERSTATE_LOCKED:
|
||||
return UserState_USERSTATE_LOCKED
|
||||
default:
|
||||
return UserState_USERSTATE_UNSPECIFIED
|
||||
}
|
||||
}
|
||||
@@ -2,17 +2,18 @@ package grpc
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/caos/zitadel/internal/errors"
|
||||
"github.com/golang/protobuf/ptypes/empty"
|
||||
pb_struct "github.com/golang/protobuf/ptypes/struct"
|
||||
)
|
||||
|
||||
func (s *Server) Healthz(_ context.Context, e *empty.Empty) (*empty.Empty, error) {
|
||||
return nil, errors.ThrowUnimplemented(nil, "GRPC-ruc8e", "Not implemented")
|
||||
return &empty.Empty{}, nil
|
||||
}
|
||||
|
||||
func (s *Server) Ready(ctx context.Context, e *empty.Empty) (*empty.Empty, error) {
|
||||
return nil, errors.ThrowUnimplemented(nil, "GRPC-bw3vR", "Not implemented")
|
||||
return &empty.Empty{}, s.repo.Health(ctx)
|
||||
}
|
||||
|
||||
func (s *Server) Validate(ctx context.Context, _ *empty.Empty) (*pb_struct.Struct, error) {
|
||||
|
||||
@@ -1,28 +1,32 @@
|
||||
package grpc
|
||||
|
||||
import (
|
||||
grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware"
|
||||
"google.golang.org/grpc"
|
||||
|
||||
admin_auth "github.com/caos/zitadel/internal/admin/auth"
|
||||
"github.com/caos/zitadel/internal/admin/repository"
|
||||
"github.com/caos/zitadel/internal/api/auth"
|
||||
grpc_util "github.com/caos/zitadel/internal/api/grpc"
|
||||
"github.com/caos/zitadel/internal/api/grpc/server/middleware"
|
||||
grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
var _ AdminServiceServer = (*Server)(nil)
|
||||
|
||||
type Config struct {
|
||||
Port string
|
||||
SearchLimit int
|
||||
}
|
||||
|
||||
type Server struct {
|
||||
port string
|
||||
searchLimit int
|
||||
port string
|
||||
org repository.OrgRepository
|
||||
verifier auth.TokenVerifier
|
||||
authZ auth.Config
|
||||
repo repository.Repository
|
||||
}
|
||||
|
||||
func StartServer(conf grpc_util.ServerConfig) *Server {
|
||||
func StartServer(conf grpc_util.ServerConfig, authZ auth.Config, repo repository.Repository) *Server {
|
||||
return &Server{
|
||||
port: conf.Port,
|
||||
port: conf.Port,
|
||||
org: repo,
|
||||
repo: repo,
|
||||
authZ: authZ,
|
||||
verifier: admin_auth.Start(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +40,7 @@ func (s *Server) GRPCServer() (*grpc.Server, error) {
|
||||
grpc.UnaryInterceptor(
|
||||
grpc_middleware.ChainUnaryServer(
|
||||
middleware.ErrorHandler(),
|
||||
AdminService_Authorization_Interceptor(s.verifier, &s.authZ),
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
@@ -164,7 +164,7 @@ enum OrgSearchMethod {
|
||||
|
||||
message OrgSetUpRequest {
|
||||
CreateOrgRequest org = 1;
|
||||
RegisterUserRequest user = 2;
|
||||
CreateUserRequest user = 2;
|
||||
}
|
||||
|
||||
message OrgSetUpResponse {
|
||||
@@ -172,16 +172,24 @@ message OrgSetUpResponse {
|
||||
User user = 2;
|
||||
}
|
||||
|
||||
message RegisterUserRequest {
|
||||
string email = 1 [(validate.rules).string.email = true];
|
||||
string first_name = 2 [(validate.rules).string.min_len = 1];
|
||||
string last_name = 3 [(validate.rules).string.min_len = 1];
|
||||
string nick_name = 4;
|
||||
string display_name = 5;
|
||||
string preferred_language = 6;
|
||||
message CreateUserRequest {
|
||||
string user_name = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
string first_name = 2 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
string last_name = 3 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
string nick_name = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string display_name = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string preferred_language = 6 [(validate.rules).string = {max_len: 200}];
|
||||
Gender gender = 7;
|
||||
string password = 8 [(validate.rules).string.min_len = 1];
|
||||
string org_id = 9 [(validate.rules).string.min_len = 1];
|
||||
string email = 8 [(validate.rules).string = {min_len: 1, max_len: 200, email: true}];
|
||||
bool is_email_verified = 9;
|
||||
string phone = 11 [(validate.rules).string = {max_len: 20}];
|
||||
bool is_phone_verified = 12;
|
||||
string country = 13 [(validate.rules).string = {max_len: 200}];
|
||||
string locality = 14 [(validate.rules).string = {max_len: 200}];
|
||||
string postal_code = 15 [(validate.rules).string = {max_len: 200}];
|
||||
string region = 16 [(validate.rules).string = {max_len: 200}];
|
||||
string street_address = 17 [(validate.rules).string = {max_len: 200}];
|
||||
string password = 18 [(validate.rules).string = {max_len: 72}];
|
||||
}
|
||||
|
||||
message User {
|
||||
@@ -205,6 +213,7 @@ message User {
|
||||
string postal_code = 18;
|
||||
string region = 19;
|
||||
string street_address = 20;
|
||||
uint64 sequence = 21;
|
||||
}
|
||||
|
||||
enum UserState {
|
||||
|
||||
Reference in New Issue
Block a user