From e4fa9a6987975abe6ada2131523b8f76c1b8297c Mon Sep 17 00:00:00 2001 From: Calvin <70191007+ckluy31@users.noreply.github.com> Date: Wed, 9 Oct 2024 16:15:23 +1100 Subject: [PATCH] Add attachments to Justification to allow admins to query access requests matching certain JIRA tickets. (#269) * Add attachments to Justification to allow admins to query access requests matching certain JIRA tickets. * rename to attestion type --------- Co-authored-by: JoshuaWilkes <14214200+JoshuaWilkes@users.noreply.github.com> --- .changeset/brave-seals-camp.md | 5 + .../access/v1alpha1/access_request.pb.go | 508 +++++++++++------- .../v1alpha1/access_request.pb.validate.go | 140 +++++ .../access/v1alpha1/access_request.proto | 16 +- 4 files changed, 483 insertions(+), 186 deletions(-) create mode 100644 .changeset/brave-seals-camp.md diff --git a/.changeset/brave-seals-camp.md b/.changeset/brave-seals-camp.md new file mode 100644 index 00000000..a70e9698 --- /dev/null +++ b/.changeset/brave-seals-camp.md @@ -0,0 +1,5 @@ +--- +"@common-fate/sdk": minor +--- + +Add attachments to Justification to allow admins to query access requests matching certain JIRA tickets. diff --git a/gen/commonfate/access/v1alpha1/access_request.pb.go b/gen/commonfate/access/v1alpha1/access_request.pb.go index b2bf5ee7..a3e56e55 100644 --- a/gen/commonfate/access/v1alpha1/access_request.pb.go +++ b/gen/commonfate/access/v1alpha1/access_request.pb.go @@ -132,6 +132,52 @@ func (ClosingReason) EnumDescriptor() ([]byte, []int) { return file_commonfate_access_v1alpha1_access_request_proto_rawDescGZIP(), []int{1} } +type AttachmentType int32 + +const ( + AttachmentType_ATTESTATION_TYPE_UNSPECIFIED AttachmentType = 0 + AttachmentType_ATTESTATION_TYPE_JIRA_TICKET AttachmentType = 1 +) + +// Enum value maps for AttachmentType. +var ( + AttachmentType_name = map[int32]string{ + 0: "ATTESTATION_TYPE_UNSPECIFIED", + 1: "ATTESTATION_TYPE_JIRA_TICKET", + } + AttachmentType_value = map[string]int32{ + "ATTESTATION_TYPE_UNSPECIFIED": 0, + "ATTESTATION_TYPE_JIRA_TICKET": 1, + } +) + +func (x AttachmentType) Enum() *AttachmentType { + p := new(AttachmentType) + *p = x + return p +} + +func (x AttachmentType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AttachmentType) Descriptor() protoreflect.EnumDescriptor { + return file_commonfate_access_v1alpha1_access_request_proto_enumTypes[2].Descriptor() +} + +func (AttachmentType) Type() protoreflect.EnumType { + return &file_commonfate_access_v1alpha1_access_request_proto_enumTypes[2] +} + +func (x AttachmentType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AttachmentType.Descriptor instead. +func (AttachmentType) EnumDescriptor() ([]byte, []int) { + return file_commonfate_access_v1alpha1_access_request_proto_rawDescGZIP(), []int{2} +} + type Filter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1335,7 +1381,8 @@ type Justification struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Reason *string `protobuf:"bytes,1,opt,name=reason,proto3,oneof" json:"reason,omitempty"` + Reason *string `protobuf:"bytes,1,opt,name=reason,proto3,oneof" json:"reason,omitempty"` + Attachments []*AttachmentInput `protobuf:"bytes,2,rep,name=attachments,proto3" json:"attachments,omitempty"` } func (x *Justification) Reset() { @@ -1375,6 +1422,76 @@ func (x *Justification) GetReason() string { return "" } +func (x *Justification) GetAttachments() []*AttachmentInput { + if x != nil { + return x.Attachments + } + return nil +} + +type AttachmentInput struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type AttachmentType `protobuf:"varint,1,opt,name=type,proto3,enum=commonfate.access.v1alpha1.AttachmentType" json:"type,omitempty"` + // ID of the integration the attachment is associated with. + IntegrationId string `protobuf:"bytes,2,opt,name=integration_id,json=integrationId,proto3" json:"integration_id,omitempty"` + // ID of the attachment, such as the Jira ticket ID. + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *AttachmentInput) Reset() { + *x = AttachmentInput{} + mi := &file_commonfate_access_v1alpha1_access_request_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AttachmentInput) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttachmentInput) ProtoMessage() {} + +func (x *AttachmentInput) ProtoReflect() protoreflect.Message { + mi := &file_commonfate_access_v1alpha1_access_request_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 AttachmentInput.ProtoReflect.Descriptor instead. +func (*AttachmentInput) Descriptor() ([]byte, []int) { + return file_commonfate_access_v1alpha1_access_request_proto_rawDescGZIP(), []int{18} +} + +func (x *AttachmentInput) GetType() AttachmentType { + if x != nil { + return x.Type + } + return AttachmentType_ATTESTATION_TYPE_UNSPECIFIED +} + +func (x *AttachmentInput) GetIntegrationId() string { + if x != nil { + return x.IntegrationId + } + return "" +} + +func (x *AttachmentInput) GetId() string { + if x != nil { + return x.Id + } + return "" +} + var File_commonfate_access_v1alpha1_access_request_proto protoreflect.FileDescriptor var file_commonfate_access_v1alpha1_access_request_proto_rawDesc = []byte{ @@ -1640,119 +1757,138 @@ var file_commonfate_access_v1alpha1_access_request_proto_rawDesc = []byte{ 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x37, 0x0a, 0x0d, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2a, - 0x81, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x19, 0x0a, - 0x15, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x51, 0x55, - 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, - 0x44, 0x10, 0x03, 0x2a, 0xaa, 0x02, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, - 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x40, 0x0a, 0x3c, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0d, 0x4a, 0x75, 0x73, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, + 0x88, 0x01, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x74, + 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x2a, 0x81, 0x01, 0x0a, 0x0d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x1a, + 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, + 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, + 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x51, 0x55, + 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x03, 0x2a, 0xaa, + 0x02, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x12, 0x29, 0x0a, 0x25, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x51, - 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x3f, 0x0a, 0x3b, - 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, - 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, - 0x56, 0x45, 0x44, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, 0x41, 0x0a, - 0x3d, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, - 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, - 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x04, - 0x32, 0x82, 0x08, 0x0a, 0x14, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x12, 0x36, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, + 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x40, 0x0a, 0x3c, 0x41, + 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4c, + 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x50, 0x50, + 0x52, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x28, 0x0a, + 0x24, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, + 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, + 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x3f, 0x0a, 0x3b, 0x41, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, + 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, + 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x45, + 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x03, 0x12, 0x41, 0x0a, 0x3d, 0x41, 0x43, 0x43, 0x45, + 0x53, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x49, + 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, + 0x54, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x54, 0x0a, 0x0e, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, + 0x1c, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x20, 0x0a, 0x1c, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x49, 0x52, 0x41, 0x5f, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x54, 0x10, + 0x01, 0x32, 0x82, 0x08, 0x0a, 0x14, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x04, 0x88, 0xb5, 0x18, 0x01, 0x12, 0x92, 0x01, 0x0a, 0x15, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, - 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x04, 0x88, 0xb5, 0x18, 0x01, 0x12, 0x83, 0x01, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, + 0x74, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x04, 0x88, - 0xb5, 0x18, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x3a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x04, 0x88, 0xb5, 0x18, 0x01, 0x12, 0x92, 0x01, 0x0a, 0x15, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4d, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x04, 0x88, 0xb5, 0x18, 0x01, 0x12, 0x83, + 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, + 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x04, + 0x88, 0xb5, 0x18, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x04, 0x88, 0xb5, 0x18, 0x01, 0x12, 0x8b, - 0x01, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x12, 0x3a, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x04, 0x88, 0xb5, 0x18, 0x01, 0x12, + 0x8b, 0x01, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, + 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, + 0x0a, 0x15, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8e, 0x01, 0x0a, - 0x15, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, - 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x39, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x85, 0x01, - 0x0a, 0x12, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, - 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x88, 0x02, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x12, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2d, 0x66, 0x61, 0x74, 0x65, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x58, 0xaa, 0x02, - 0x1a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x1a, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x5c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5c, - 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x26, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x66, 0x61, 0x74, 0x65, 0x5c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5c, 0x56, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x1c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x3a, 0x3a, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x85, + 0x01, 0x0a, 0x12, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, + 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x88, 0x02, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x12, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2d, 0x66, 0x61, 0x74, 0x65, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x41, 0x58, 0xaa, + 0x02, 0x1a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xca, 0x02, 0x1a, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x5c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0xe2, 0x02, 0x26, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x5c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5c, 0x56, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x1c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x66, 0x61, 0x74, 0x65, 0x3a, + 0x3a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1767,87 +1903,91 @@ func file_commonfate_access_v1alpha1_access_request_proto_rawDescGZIP() []byte { return file_commonfate_access_v1alpha1_access_request_proto_rawDescData } -var file_commonfate_access_v1alpha1_access_request_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_commonfate_access_v1alpha1_access_request_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_commonfate_access_v1alpha1_access_request_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_commonfate_access_v1alpha1_access_request_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_commonfate_access_v1alpha1_access_request_proto_goTypes = []any{ (RequestStatus)(0), // 0: commonfate.access.v1alpha1.RequestStatus (ClosingReason)(0), // 1: commonfate.access.v1alpha1.ClosingReason - (*Filter)(nil), // 2: commonfate.access.v1alpha1.Filter - (*QueryAccessRequestsRequest)(nil), // 3: commonfate.access.v1alpha1.QueryAccessRequestsRequest - (*QueryMyAccessRequestsResponse)(nil), // 4: commonfate.access.v1alpha1.QueryMyAccessRequestsResponse - (*QueryMyAccessRequestsRequest)(nil), // 5: commonfate.access.v1alpha1.QueryMyAccessRequestsRequest - (*QueryAccessRequestsResponse)(nil), // 6: commonfate.access.v1alpha1.QueryAccessRequestsResponse - (*GetAccessRequestRequest)(nil), // 7: commonfate.access.v1alpha1.GetAccessRequestRequest - (*GetAccessRequestResponse)(nil), // 8: commonfate.access.v1alpha1.GetAccessRequestResponse - (*GetAccessRequestActionsRequest)(nil), // 9: commonfate.access.v1alpha1.GetAccessRequestActionsRequest - (*GetAccessRequestActionsResponse)(nil), // 10: commonfate.access.v1alpha1.GetAccessRequestActionsResponse - (*AccessRequest)(nil), // 11: commonfate.access.v1alpha1.AccessRequest - (*AccessRequestActions)(nil), // 12: commonfate.access.v1alpha1.AccessRequestActions - (*ApproveAccessRequestRequest)(nil), // 13: commonfate.access.v1alpha1.ApproveAccessRequestRequest - (*ApproveAccessRequestResponse)(nil), // 14: commonfate.access.v1alpha1.ApproveAccessRequestResponse - (*CloseAccessRequestRequest)(nil), // 15: commonfate.access.v1alpha1.CloseAccessRequestRequest - (*CloseAccessRequestResponse)(nil), // 16: commonfate.access.v1alpha1.CloseAccessRequestResponse - (*ActivateAccessRequestRequest)(nil), // 17: commonfate.access.v1alpha1.ActivateAccessRequestRequest - (*ActivateAccessRequestResponse)(nil), // 18: commonfate.access.v1alpha1.ActivateAccessRequestResponse - (*Justification)(nil), // 19: commonfate.access.v1alpha1.Justification - (*v1alpha1.EntityFilter)(nil), // 20: commonfate.filters.v1alpha1.EntityFilter - (*v1alpha1.BoolFilter)(nil), // 21: commonfate.filters.v1alpha1.BoolFilter - (*v1alpha1.IntegerFilter)(nil), // 22: commonfate.filters.v1alpha1.IntegerFilter - (*v1alpha1.TimeRangeFilter)(nil), // 23: commonfate.filters.v1alpha1.TimeRangeFilter - (v1alpha11.Order)(0), // 24: commonfate.entity.v1alpha1.Order - (*Grant)(nil), // 25: commonfate.access.v1alpha1.Grant - (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp - (*User)(nil), // 27: commonfate.access.v1alpha1.User - (*Diagnostic)(nil), // 28: commonfate.access.v1alpha1.Diagnostic + (AttachmentType)(0), // 2: commonfate.access.v1alpha1.AttachmentType + (*Filter)(nil), // 3: commonfate.access.v1alpha1.Filter + (*QueryAccessRequestsRequest)(nil), // 4: commonfate.access.v1alpha1.QueryAccessRequestsRequest + (*QueryMyAccessRequestsResponse)(nil), // 5: commonfate.access.v1alpha1.QueryMyAccessRequestsResponse + (*QueryMyAccessRequestsRequest)(nil), // 6: commonfate.access.v1alpha1.QueryMyAccessRequestsRequest + (*QueryAccessRequestsResponse)(nil), // 7: commonfate.access.v1alpha1.QueryAccessRequestsResponse + (*GetAccessRequestRequest)(nil), // 8: commonfate.access.v1alpha1.GetAccessRequestRequest + (*GetAccessRequestResponse)(nil), // 9: commonfate.access.v1alpha1.GetAccessRequestResponse + (*GetAccessRequestActionsRequest)(nil), // 10: commonfate.access.v1alpha1.GetAccessRequestActionsRequest + (*GetAccessRequestActionsResponse)(nil), // 11: commonfate.access.v1alpha1.GetAccessRequestActionsResponse + (*AccessRequest)(nil), // 12: commonfate.access.v1alpha1.AccessRequest + (*AccessRequestActions)(nil), // 13: commonfate.access.v1alpha1.AccessRequestActions + (*ApproveAccessRequestRequest)(nil), // 14: commonfate.access.v1alpha1.ApproveAccessRequestRequest + (*ApproveAccessRequestResponse)(nil), // 15: commonfate.access.v1alpha1.ApproveAccessRequestResponse + (*CloseAccessRequestRequest)(nil), // 16: commonfate.access.v1alpha1.CloseAccessRequestRequest + (*CloseAccessRequestResponse)(nil), // 17: commonfate.access.v1alpha1.CloseAccessRequestResponse + (*ActivateAccessRequestRequest)(nil), // 18: commonfate.access.v1alpha1.ActivateAccessRequestRequest + (*ActivateAccessRequestResponse)(nil), // 19: commonfate.access.v1alpha1.ActivateAccessRequestResponse + (*Justification)(nil), // 20: commonfate.access.v1alpha1.Justification + (*AttachmentInput)(nil), // 21: commonfate.access.v1alpha1.AttachmentInput + (*v1alpha1.EntityFilter)(nil), // 22: commonfate.filters.v1alpha1.EntityFilter + (*v1alpha1.BoolFilter)(nil), // 23: commonfate.filters.v1alpha1.BoolFilter + (*v1alpha1.IntegerFilter)(nil), // 24: commonfate.filters.v1alpha1.IntegerFilter + (*v1alpha1.TimeRangeFilter)(nil), // 25: commonfate.filters.v1alpha1.TimeRangeFilter + (v1alpha11.Order)(0), // 26: commonfate.entity.v1alpha1.Order + (*Grant)(nil), // 27: commonfate.access.v1alpha1.Grant + (*timestamppb.Timestamp)(nil), // 28: google.protobuf.Timestamp + (*User)(nil), // 29: commonfate.access.v1alpha1.User + (*Diagnostic)(nil), // 30: commonfate.access.v1alpha1.Diagnostic } var file_commonfate_access_v1alpha1_access_request_proto_depIdxs = []int32{ - 20, // 0: commonfate.access.v1alpha1.Filter.requested_by:type_name -> commonfate.filters.v1alpha1.EntityFilter - 20, // 1: commonfate.access.v1alpha1.Filter.closed_by:type_name -> commonfate.filters.v1alpha1.EntityFilter - 20, // 2: commonfate.access.v1alpha1.Filter.approved_by:type_name -> commonfate.filters.v1alpha1.EntityFilter - 21, // 3: commonfate.access.v1alpha1.Filter.manually_approved:type_name -> commonfate.filters.v1alpha1.BoolFilter - 21, // 4: commonfate.access.v1alpha1.Filter.auto_approved:type_name -> commonfate.filters.v1alpha1.BoolFilter - 22, // 5: commonfate.access.v1alpha1.Filter.grant_count:type_name -> commonfate.filters.v1alpha1.IntegerFilter - 23, // 6: commonfate.access.v1alpha1.Filter.requested_at:type_name -> commonfate.filters.v1alpha1.TimeRangeFilter - 23, // 7: commonfate.access.v1alpha1.Filter.approved_at:type_name -> commonfate.filters.v1alpha1.TimeRangeFilter - 23, // 8: commonfate.access.v1alpha1.Filter.closed_at:type_name -> commonfate.filters.v1alpha1.TimeRangeFilter - 23, // 9: commonfate.access.v1alpha1.Filter.activated_at:type_name -> commonfate.filters.v1alpha1.TimeRangeFilter - 24, // 10: commonfate.access.v1alpha1.QueryAccessRequestsRequest.order:type_name -> commonfate.entity.v1alpha1.Order + 22, // 0: commonfate.access.v1alpha1.Filter.requested_by:type_name -> commonfate.filters.v1alpha1.EntityFilter + 22, // 1: commonfate.access.v1alpha1.Filter.closed_by:type_name -> commonfate.filters.v1alpha1.EntityFilter + 22, // 2: commonfate.access.v1alpha1.Filter.approved_by:type_name -> commonfate.filters.v1alpha1.EntityFilter + 23, // 3: commonfate.access.v1alpha1.Filter.manually_approved:type_name -> commonfate.filters.v1alpha1.BoolFilter + 23, // 4: commonfate.access.v1alpha1.Filter.auto_approved:type_name -> commonfate.filters.v1alpha1.BoolFilter + 24, // 5: commonfate.access.v1alpha1.Filter.grant_count:type_name -> commonfate.filters.v1alpha1.IntegerFilter + 25, // 6: commonfate.access.v1alpha1.Filter.requested_at:type_name -> commonfate.filters.v1alpha1.TimeRangeFilter + 25, // 7: commonfate.access.v1alpha1.Filter.approved_at:type_name -> commonfate.filters.v1alpha1.TimeRangeFilter + 25, // 8: commonfate.access.v1alpha1.Filter.closed_at:type_name -> commonfate.filters.v1alpha1.TimeRangeFilter + 25, // 9: commonfate.access.v1alpha1.Filter.activated_at:type_name -> commonfate.filters.v1alpha1.TimeRangeFilter + 26, // 10: commonfate.access.v1alpha1.QueryAccessRequestsRequest.order:type_name -> commonfate.entity.v1alpha1.Order 0, // 11: commonfate.access.v1alpha1.QueryAccessRequestsRequest.request_status:type_name -> commonfate.access.v1alpha1.RequestStatus - 2, // 12: commonfate.access.v1alpha1.QueryAccessRequestsRequest.filters:type_name -> commonfate.access.v1alpha1.Filter - 11, // 13: commonfate.access.v1alpha1.QueryMyAccessRequestsResponse.access_requests:type_name -> commonfate.access.v1alpha1.AccessRequest - 24, // 14: commonfate.access.v1alpha1.QueryMyAccessRequestsRequest.order:type_name -> commonfate.entity.v1alpha1.Order + 3, // 12: commonfate.access.v1alpha1.QueryAccessRequestsRequest.filters:type_name -> commonfate.access.v1alpha1.Filter + 12, // 13: commonfate.access.v1alpha1.QueryMyAccessRequestsResponse.access_requests:type_name -> commonfate.access.v1alpha1.AccessRequest + 26, // 14: commonfate.access.v1alpha1.QueryMyAccessRequestsRequest.order:type_name -> commonfate.entity.v1alpha1.Order 0, // 15: commonfate.access.v1alpha1.QueryMyAccessRequestsRequest.request_status:type_name -> commonfate.access.v1alpha1.RequestStatus - 2, // 16: commonfate.access.v1alpha1.QueryMyAccessRequestsRequest.filters:type_name -> commonfate.access.v1alpha1.Filter - 11, // 17: commonfate.access.v1alpha1.QueryAccessRequestsResponse.access_requests:type_name -> commonfate.access.v1alpha1.AccessRequest - 11, // 18: commonfate.access.v1alpha1.GetAccessRequestResponse.access_request:type_name -> commonfate.access.v1alpha1.AccessRequest - 12, // 19: commonfate.access.v1alpha1.GetAccessRequestActionsResponse.access_request_actions:type_name -> commonfate.access.v1alpha1.AccessRequestActions - 25, // 20: commonfate.access.v1alpha1.AccessRequest.grants:type_name -> commonfate.access.v1alpha1.Grant - 26, // 21: commonfate.access.v1alpha1.AccessRequest.created_at:type_name -> google.protobuf.Timestamp - 19, // 22: commonfate.access.v1alpha1.AccessRequest.justification:type_name -> commonfate.access.v1alpha1.Justification - 27, // 23: commonfate.access.v1alpha1.AccessRequest.principal:type_name -> commonfate.access.v1alpha1.User - 28, // 24: commonfate.access.v1alpha1.ApproveAccessRequestResponse.diagnostics:type_name -> commonfate.access.v1alpha1.Diagnostic + 3, // 16: commonfate.access.v1alpha1.QueryMyAccessRequestsRequest.filters:type_name -> commonfate.access.v1alpha1.Filter + 12, // 17: commonfate.access.v1alpha1.QueryAccessRequestsResponse.access_requests:type_name -> commonfate.access.v1alpha1.AccessRequest + 12, // 18: commonfate.access.v1alpha1.GetAccessRequestResponse.access_request:type_name -> commonfate.access.v1alpha1.AccessRequest + 13, // 19: commonfate.access.v1alpha1.GetAccessRequestActionsResponse.access_request_actions:type_name -> commonfate.access.v1alpha1.AccessRequestActions + 27, // 20: commonfate.access.v1alpha1.AccessRequest.grants:type_name -> commonfate.access.v1alpha1.Grant + 28, // 21: commonfate.access.v1alpha1.AccessRequest.created_at:type_name -> google.protobuf.Timestamp + 20, // 22: commonfate.access.v1alpha1.AccessRequest.justification:type_name -> commonfate.access.v1alpha1.Justification + 29, // 23: commonfate.access.v1alpha1.AccessRequest.principal:type_name -> commonfate.access.v1alpha1.User + 30, // 24: commonfate.access.v1alpha1.ApproveAccessRequestResponse.diagnostics:type_name -> commonfate.access.v1alpha1.Diagnostic 1, // 25: commonfate.access.v1alpha1.CloseAccessRequestRequest.closing_reason:type_name -> commonfate.access.v1alpha1.ClosingReason - 28, // 26: commonfate.access.v1alpha1.CloseAccessRequestResponse.diagnostics:type_name -> commonfate.access.v1alpha1.Diagnostic - 28, // 27: commonfate.access.v1alpha1.ActivateAccessRequestResponse.diagnostics:type_name -> commonfate.access.v1alpha1.Diagnostic - 3, // 28: commonfate.access.v1alpha1.AccessRequestService.QueryAccessRequests:input_type -> commonfate.access.v1alpha1.QueryAccessRequestsRequest - 5, // 29: commonfate.access.v1alpha1.AccessRequestService.QueryMyAccessRequests:input_type -> commonfate.access.v1alpha1.QueryMyAccessRequestsRequest - 7, // 30: commonfate.access.v1alpha1.AccessRequestService.GetAccessRequest:input_type -> commonfate.access.v1alpha1.GetAccessRequestRequest - 9, // 31: commonfate.access.v1alpha1.AccessRequestService.GetAccessRequestActions:input_type -> commonfate.access.v1alpha1.GetAccessRequestActionsRequest - 13, // 32: commonfate.access.v1alpha1.AccessRequestService.ApproveAccessRequest:input_type -> commonfate.access.v1alpha1.ApproveAccessRequestRequest - 17, // 33: commonfate.access.v1alpha1.AccessRequestService.ActivateAccessRequest:input_type -> commonfate.access.v1alpha1.ActivateAccessRequestRequest - 15, // 34: commonfate.access.v1alpha1.AccessRequestService.CloseAccessRequest:input_type -> commonfate.access.v1alpha1.CloseAccessRequestRequest - 6, // 35: commonfate.access.v1alpha1.AccessRequestService.QueryAccessRequests:output_type -> commonfate.access.v1alpha1.QueryAccessRequestsResponse - 4, // 36: commonfate.access.v1alpha1.AccessRequestService.QueryMyAccessRequests:output_type -> commonfate.access.v1alpha1.QueryMyAccessRequestsResponse - 8, // 37: commonfate.access.v1alpha1.AccessRequestService.GetAccessRequest:output_type -> commonfate.access.v1alpha1.GetAccessRequestResponse - 10, // 38: commonfate.access.v1alpha1.AccessRequestService.GetAccessRequestActions:output_type -> commonfate.access.v1alpha1.GetAccessRequestActionsResponse - 14, // 39: commonfate.access.v1alpha1.AccessRequestService.ApproveAccessRequest:output_type -> commonfate.access.v1alpha1.ApproveAccessRequestResponse - 18, // 40: commonfate.access.v1alpha1.AccessRequestService.ActivateAccessRequest:output_type -> commonfate.access.v1alpha1.ActivateAccessRequestResponse - 16, // 41: commonfate.access.v1alpha1.AccessRequestService.CloseAccessRequest:output_type -> commonfate.access.v1alpha1.CloseAccessRequestResponse - 35, // [35:42] is the sub-list for method output_type - 28, // [28:35] is the sub-list for method input_type - 28, // [28:28] is the sub-list for extension type_name - 28, // [28:28] is the sub-list for extension extendee - 0, // [0:28] is the sub-list for field type_name + 30, // 26: commonfate.access.v1alpha1.CloseAccessRequestResponse.diagnostics:type_name -> commonfate.access.v1alpha1.Diagnostic + 30, // 27: commonfate.access.v1alpha1.ActivateAccessRequestResponse.diagnostics:type_name -> commonfate.access.v1alpha1.Diagnostic + 21, // 28: commonfate.access.v1alpha1.Justification.attachments:type_name -> commonfate.access.v1alpha1.AttachmentInput + 2, // 29: commonfate.access.v1alpha1.AttachmentInput.type:type_name -> commonfate.access.v1alpha1.AttachmentType + 4, // 30: commonfate.access.v1alpha1.AccessRequestService.QueryAccessRequests:input_type -> commonfate.access.v1alpha1.QueryAccessRequestsRequest + 6, // 31: commonfate.access.v1alpha1.AccessRequestService.QueryMyAccessRequests:input_type -> commonfate.access.v1alpha1.QueryMyAccessRequestsRequest + 8, // 32: commonfate.access.v1alpha1.AccessRequestService.GetAccessRequest:input_type -> commonfate.access.v1alpha1.GetAccessRequestRequest + 10, // 33: commonfate.access.v1alpha1.AccessRequestService.GetAccessRequestActions:input_type -> commonfate.access.v1alpha1.GetAccessRequestActionsRequest + 14, // 34: commonfate.access.v1alpha1.AccessRequestService.ApproveAccessRequest:input_type -> commonfate.access.v1alpha1.ApproveAccessRequestRequest + 18, // 35: commonfate.access.v1alpha1.AccessRequestService.ActivateAccessRequest:input_type -> commonfate.access.v1alpha1.ActivateAccessRequestRequest + 16, // 36: commonfate.access.v1alpha1.AccessRequestService.CloseAccessRequest:input_type -> commonfate.access.v1alpha1.CloseAccessRequestRequest + 7, // 37: commonfate.access.v1alpha1.AccessRequestService.QueryAccessRequests:output_type -> commonfate.access.v1alpha1.QueryAccessRequestsResponse + 5, // 38: commonfate.access.v1alpha1.AccessRequestService.QueryMyAccessRequests:output_type -> commonfate.access.v1alpha1.QueryMyAccessRequestsResponse + 9, // 39: commonfate.access.v1alpha1.AccessRequestService.GetAccessRequest:output_type -> commonfate.access.v1alpha1.GetAccessRequestResponse + 11, // 40: commonfate.access.v1alpha1.AccessRequestService.GetAccessRequestActions:output_type -> commonfate.access.v1alpha1.GetAccessRequestActionsResponse + 15, // 41: commonfate.access.v1alpha1.AccessRequestService.ApproveAccessRequest:output_type -> commonfate.access.v1alpha1.ApproveAccessRequestResponse + 19, // 42: commonfate.access.v1alpha1.AccessRequestService.ActivateAccessRequest:output_type -> commonfate.access.v1alpha1.ActivateAccessRequestResponse + 17, // 43: commonfate.access.v1alpha1.AccessRequestService.CloseAccessRequest:output_type -> commonfate.access.v1alpha1.CloseAccessRequestResponse + 37, // [37:44] is the sub-list for method output_type + 30, // [30:37] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name } func init() { file_commonfate_access_v1alpha1_access_request_proto_init() } @@ -1879,8 +2019,8 @@ func file_commonfate_access_v1alpha1_access_request_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_commonfate_access_v1alpha1_access_request_proto_rawDesc, - NumEnums: 2, - NumMessages: 18, + NumEnums: 3, + NumMessages: 19, NumExtensions: 0, NumServices: 1, }, diff --git a/gen/commonfate/access/v1alpha1/access_request.pb.validate.go b/gen/commonfate/access/v1alpha1/access_request.pb.validate.go index f9224be4..e147c263 100644 --- a/gen/commonfate/access/v1alpha1/access_request.pb.validate.go +++ b/gen/commonfate/access/v1alpha1/access_request.pb.validate.go @@ -2698,6 +2698,40 @@ func (m *Justification) validate(all bool) error { var errors []error + for idx, item := range m.GetAttachments() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, JustificationValidationError{ + field: fmt.Sprintf("Attachments[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, JustificationValidationError{ + field: fmt.Sprintf("Attachments[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return JustificationValidationError{ + field: fmt.Sprintf("Attachments[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + if m.Reason != nil { // no validation rules for Reason } @@ -2779,3 +2813,109 @@ var _ interface { Cause() error ErrorName() string } = JustificationValidationError{} + +// Validate checks the field values on AttachmentInput with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *AttachmentInput) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on AttachmentInput with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// AttachmentInputMultiError, or nil if none found. +func (m *AttachmentInput) ValidateAll() error { + return m.validate(true) +} + +func (m *AttachmentInput) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Type + + // no validation rules for IntegrationId + + // no validation rules for Id + + if len(errors) > 0 { + return AttachmentInputMultiError(errors) + } + + return nil +} + +// AttachmentInputMultiError is an error wrapping multiple validation errors +// returned by AttachmentInput.ValidateAll() if the designated constraints +// aren't met. +type AttachmentInputMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m AttachmentInputMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m AttachmentInputMultiError) AllErrors() []error { return m } + +// AttachmentInputValidationError is the validation error returned by +// AttachmentInput.Validate if the designated constraints aren't met. +type AttachmentInputValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e AttachmentInputValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e AttachmentInputValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e AttachmentInputValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e AttachmentInputValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e AttachmentInputValidationError) ErrorName() string { return "AttachmentInputValidationError" } + +// Error satisfies the builtin error interface +func (e AttachmentInputValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sAttachmentInput.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = AttachmentInputValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = AttachmentInputValidationError{} diff --git a/proto/commonfate/access/v1alpha1/access_request.proto b/proto/commonfate/access/v1alpha1/access_request.proto index 9608c377..e63a2e8c 100644 --- a/proto/commonfate/access/v1alpha1/access_request.proto +++ b/proto/commonfate/access/v1alpha1/access_request.proto @@ -203,8 +203,6 @@ enum ClosingReason { ACCESS_REQUEST_CLOSING_REASON_MANUAL = 2; ACCESS_REQUEST_CLOSING_REASON_REQUESTED_TO_APPROVED_EXPIRED = 3; ACCESS_REQUEST_CLOSING_REASON_REQUESTED_TO_ACTIVATION_EXPIRED = 4; - - } message CloseAccessRequestResponse { @@ -237,4 +235,18 @@ message ActivateAccessRequestResponse { message Justification { optional string reason = 1; + repeated AttachmentInput attachments = 2; +} + +message AttachmentInput { + AttachmentType type = 1; + // ID of the integration the attachment is associated with. + string integration_id = 2; + // ID of the attachment, such as the Jira ticket ID. + string id = 3; +} + +enum AttachmentType { + ATTESTATION_TYPE_UNSPECIFIED = 0; + ATTESTATION_TYPE_JIRA_TICKET = 1; }