| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466 |
- // Copyright 2025 Kuban Technologies
- //
- // 规则分组管理 - 支持场景化验证
- // 允许在不同业务场景下应用不同的验证规则集
- // Code generated by protoc-gen-go. DO NOT EDIT.
- // versions:
- // protoc-gen-go v1.36.6-modify
- // protoc v6.31.1
- // source: kuban/api/validate/rule_groups.proto
- package validate
- import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- _ "google.golang.org/protobuf/types/descriptorpb"
- reflect "reflect"
- sync "sync"
- unsafe "unsafe"
- )
- const (
- // Verify that this generated code is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
- // Verify that runtime/protoimpl is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
- )
- // 常用验证组定义
- type CommonValidationGroup int32
- const (
- CommonValidationGroup_COMMON_VALIDATION_GROUP_UNSPECIFIED CommonValidationGroup = 0
- // CRUD 操作组
- CommonValidationGroup_COMMON_VALIDATION_GROUP_CREATE CommonValidationGroup = 1 // 创建场景
- CommonValidationGroup_COMMON_VALIDATION_GROUP_UPDATE CommonValidationGroup = 2 // 更新场景
- CommonValidationGroup_COMMON_VALIDATION_GROUP_PATCH CommonValidationGroup = 3 // 部分更新场景
- CommonValidationGroup_COMMON_VALIDATION_GROUP_DELETE CommonValidationGroup = 4 // 删除场景
- CommonValidationGroup_COMMON_VALIDATION_GROUP_QUERY CommonValidationGroup = 5 // 查询场景
- // 严格程度组
- CommonValidationGroup_COMMON_VALIDATION_GROUP_STRICT CommonValidationGroup = 10 // 严格模式
- CommonValidationGroup_COMMON_VALIDATION_GROUP_NORMAL CommonValidationGroup = 11 // 标准模式
- CommonValidationGroup_COMMON_VALIDATION_GROUP_LOOSE CommonValidationGroup = 12 // 宽松模式
- // 用户场景组
- CommonValidationGroup_COMMON_VALIDATION_GROUP_REGISTER CommonValidationGroup = 20 // 用户注册
- CommonValidationGroup_COMMON_VALIDATION_GROUP_LOGIN CommonValidationGroup = 21 // 用户登录
- CommonValidationGroup_COMMON_VALIDATION_GROUP_PROFILE CommonValidationGroup = 22 // 个人资料
- CommonValidationGroup_COMMON_VALIDATION_GROUP_CHANGE_PASSWORD CommonValidationGroup = 23 // 修改密码
- CommonValidationGroup_COMMON_VALIDATION_GROUP_RESET_PASSWORD CommonValidationGroup = 24 // 重置密码
- // 审核场景组
- CommonValidationGroup_COMMON_VALIDATION_GROUP_DRAFT CommonValidationGroup = 30 // 草稿
- CommonValidationGroup_COMMON_VALIDATION_GROUP_SUBMIT CommonValidationGroup = 31 // 提交审核
- CommonValidationGroup_COMMON_VALIDATION_GROUP_APPROVE CommonValidationGroup = 32 // 审核通过
- CommonValidationGroup_COMMON_VALIDATION_GROUP_REJECT CommonValidationGroup = 33 // 审核拒绝
- // 实名认证场景
- CommonValidationGroup_COMMON_VALIDATION_GROUP_REAL_NAME_AUTH CommonValidationGroup = 40 // 实名认证
- CommonValidationGroup_COMMON_VALIDATION_GROUP_ENTERPRISE_AUTH CommonValidationGroup = 41 // 企业认证
- CommonValidationGroup_COMMON_VALIDATION_GROUP_BANK_CARD_BINDING CommonValidationGroup = 42 // 银行卡绑定
- // 安全场景组
- CommonValidationGroup_COMMON_VALIDATION_GROUP_SENSITIVE_OP CommonValidationGroup = 50 // 敏感操作
- CommonValidationGroup_COMMON_VALIDATION_GROUP_FINANCIAL CommonValidationGroup = 51 // 金融交易
- CommonValidationGroup_COMMON_VALIDATION_GROUP_ADMIN CommonValidationGroup = 52 // 管理员操作
- )
- // Enum value maps for CommonValidationGroup.
- var (
- CommonValidationGroup_name = map[int32]string{
- 0: "COMMON_VALIDATION_GROUP_UNSPECIFIED",
- 1: "COMMON_VALIDATION_GROUP_CREATE",
- 2: "COMMON_VALIDATION_GROUP_UPDATE",
- 3: "COMMON_VALIDATION_GROUP_PATCH",
- 4: "COMMON_VALIDATION_GROUP_DELETE",
- 5: "COMMON_VALIDATION_GROUP_QUERY",
- 10: "COMMON_VALIDATION_GROUP_STRICT",
- 11: "COMMON_VALIDATION_GROUP_NORMAL",
- 12: "COMMON_VALIDATION_GROUP_LOOSE",
- 20: "COMMON_VALIDATION_GROUP_REGISTER",
- 21: "COMMON_VALIDATION_GROUP_LOGIN",
- 22: "COMMON_VALIDATION_GROUP_PROFILE",
- 23: "COMMON_VALIDATION_GROUP_CHANGE_PASSWORD",
- 24: "COMMON_VALIDATION_GROUP_RESET_PASSWORD",
- 30: "COMMON_VALIDATION_GROUP_DRAFT",
- 31: "COMMON_VALIDATION_GROUP_SUBMIT",
- 32: "COMMON_VALIDATION_GROUP_APPROVE",
- 33: "COMMON_VALIDATION_GROUP_REJECT",
- 40: "COMMON_VALIDATION_GROUP_REAL_NAME_AUTH",
- 41: "COMMON_VALIDATION_GROUP_ENTERPRISE_AUTH",
- 42: "COMMON_VALIDATION_GROUP_BANK_CARD_BINDING",
- 50: "COMMON_VALIDATION_GROUP_SENSITIVE_OP",
- 51: "COMMON_VALIDATION_GROUP_FINANCIAL",
- 52: "COMMON_VALIDATION_GROUP_ADMIN",
- }
- CommonValidationGroup_value = map[string]int32{
- "COMMON_VALIDATION_GROUP_UNSPECIFIED": 0,
- "COMMON_VALIDATION_GROUP_CREATE": 1,
- "COMMON_VALIDATION_GROUP_UPDATE": 2,
- "COMMON_VALIDATION_GROUP_PATCH": 3,
- "COMMON_VALIDATION_GROUP_DELETE": 4,
- "COMMON_VALIDATION_GROUP_QUERY": 5,
- "COMMON_VALIDATION_GROUP_STRICT": 10,
- "COMMON_VALIDATION_GROUP_NORMAL": 11,
- "COMMON_VALIDATION_GROUP_LOOSE": 12,
- "COMMON_VALIDATION_GROUP_REGISTER": 20,
- "COMMON_VALIDATION_GROUP_LOGIN": 21,
- "COMMON_VALIDATION_GROUP_PROFILE": 22,
- "COMMON_VALIDATION_GROUP_CHANGE_PASSWORD": 23,
- "COMMON_VALIDATION_GROUP_RESET_PASSWORD": 24,
- "COMMON_VALIDATION_GROUP_DRAFT": 30,
- "COMMON_VALIDATION_GROUP_SUBMIT": 31,
- "COMMON_VALIDATION_GROUP_APPROVE": 32,
- "COMMON_VALIDATION_GROUP_REJECT": 33,
- "COMMON_VALIDATION_GROUP_REAL_NAME_AUTH": 40,
- "COMMON_VALIDATION_GROUP_ENTERPRISE_AUTH": 41,
- "COMMON_VALIDATION_GROUP_BANK_CARD_BINDING": 42,
- "COMMON_VALIDATION_GROUP_SENSITIVE_OP": 50,
- "COMMON_VALIDATION_GROUP_FINANCIAL": 51,
- "COMMON_VALIDATION_GROUP_ADMIN": 52,
- }
- )
- func (x CommonValidationGroup) Enum() *CommonValidationGroup {
- p := new(CommonValidationGroup)
- *p = x
- return p
- }
- func (x CommonValidationGroup) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
- }
- func (CommonValidationGroup) Descriptor() protoreflect.EnumDescriptor {
- return file_kuban_api_validate_rule_groups_proto_enumTypes[0].Descriptor()
- }
- func (CommonValidationGroup) Type() protoreflect.EnumType {
- return &file_kuban_api_validate_rule_groups_proto_enumTypes[0]
- }
- func (x CommonValidationGroup) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
- }
- // Deprecated: Use CommonValidationGroup.Descriptor instead.
- func (CommonValidationGroup) EnumDescriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{0}
- }
- // 请求来源
- type RequestSource int32
- const (
- RequestSource_REQUEST_SOURCE_UNSPECIFIED RequestSource = 0
- RequestSource_REQUEST_SOURCE_WEB RequestSource = 1 // Web 端
- RequestSource_REQUEST_SOURCE_MOBILE RequestSource = 2 // 移动端
- RequestSource_REQUEST_SOURCE_API RequestSource = 3 // API 调用
- RequestSource_REQUEST_SOURCE_INTERNAL RequestSource = 4 // 内部调用
- RequestSource_REQUEST_SOURCE_BATCH RequestSource = 5 // 批量处理
- )
- // Enum value maps for RequestSource.
- var (
- RequestSource_name = map[int32]string{
- 0: "REQUEST_SOURCE_UNSPECIFIED",
- 1: "REQUEST_SOURCE_WEB",
- 2: "REQUEST_SOURCE_MOBILE",
- 3: "REQUEST_SOURCE_API",
- 4: "REQUEST_SOURCE_INTERNAL",
- 5: "REQUEST_SOURCE_BATCH",
- }
- RequestSource_value = map[string]int32{
- "REQUEST_SOURCE_UNSPECIFIED": 0,
- "REQUEST_SOURCE_WEB": 1,
- "REQUEST_SOURCE_MOBILE": 2,
- "REQUEST_SOURCE_API": 3,
- "REQUEST_SOURCE_INTERNAL": 4,
- "REQUEST_SOURCE_BATCH": 5,
- }
- )
- func (x RequestSource) Enum() *RequestSource {
- p := new(RequestSource)
- *p = x
- return p
- }
- func (x RequestSource) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
- }
- func (RequestSource) Descriptor() protoreflect.EnumDescriptor {
- return file_kuban_api_validate_rule_groups_proto_enumTypes[1].Descriptor()
- }
- func (RequestSource) Type() protoreflect.EnumType {
- return &file_kuban_api_validate_rule_groups_proto_enumTypes[1]
- }
- func (x RequestSource) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
- }
- // Deprecated: Use RequestSource.Descriptor instead.
- func (RequestSource) EnumDescriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{1}
- }
- // 验证模式
- type ValidationMode int32
- const (
- ValidationMode_VALIDATION_MODE_UNSPECIFIED ValidationMode = 0
- ValidationMode_VALIDATION_MODE_ALL ValidationMode = 1 // 验证所有规则
- ValidationMode_VALIDATION_MODE_REQUIRED_ONLY ValidationMode = 2 // 仅验证必填项
- ValidationMode_VALIDATION_MODE_CHANGED_ONLY ValidationMode = 3 // 仅验证修改的字段
- ValidationMode_VALIDATION_MODE_CUSTOM ValidationMode = 4 // 自定义(根据组选择)
- )
- // Enum value maps for ValidationMode.
- var (
- ValidationMode_name = map[int32]string{
- 0: "VALIDATION_MODE_UNSPECIFIED",
- 1: "VALIDATION_MODE_ALL",
- 2: "VALIDATION_MODE_REQUIRED_ONLY",
- 3: "VALIDATION_MODE_CHANGED_ONLY",
- 4: "VALIDATION_MODE_CUSTOM",
- }
- ValidationMode_value = map[string]int32{
- "VALIDATION_MODE_UNSPECIFIED": 0,
- "VALIDATION_MODE_ALL": 1,
- "VALIDATION_MODE_REQUIRED_ONLY": 2,
- "VALIDATION_MODE_CHANGED_ONLY": 3,
- "VALIDATION_MODE_CUSTOM": 4,
- }
- )
- func (x ValidationMode) Enum() *ValidationMode {
- p := new(ValidationMode)
- *p = x
- return p
- }
- func (x ValidationMode) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
- }
- func (ValidationMode) Descriptor() protoreflect.EnumDescriptor {
- return file_kuban_api_validate_rule_groups_proto_enumTypes[2].Descriptor()
- }
- func (ValidationMode) Type() protoreflect.EnumType {
- return &file_kuban_api_validate_rule_groups_proto_enumTypes[2]
- }
- func (x ValidationMode) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
- }
- // Deprecated: Use ValidationMode.Descriptor instead.
- func (ValidationMode) EnumDescriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{2}
- }
- // 组合类型
- type CompositeType int32
- const (
- CompositeType_COMPOSITE_TYPE_UNSPECIFIED CompositeType = 0
- CompositeType_COMPOSITE_TYPE_AND CompositeType = 1 // 所有规则都必须通过
- CompositeType_COMPOSITE_TYPE_OR CompositeType = 2 // 至少一个规则通过
- CompositeType_COMPOSITE_TYPE_XOR CompositeType = 3 // 恰好一个规则通过
- CompositeType_COMPOSITE_TYPE_NOT CompositeType = 4 // 规则不能通过
- )
- // Enum value maps for CompositeType.
- var (
- CompositeType_name = map[int32]string{
- 0: "COMPOSITE_TYPE_UNSPECIFIED",
- 1: "COMPOSITE_TYPE_AND",
- 2: "COMPOSITE_TYPE_OR",
- 3: "COMPOSITE_TYPE_XOR",
- 4: "COMPOSITE_TYPE_NOT",
- }
- CompositeType_value = map[string]int32{
- "COMPOSITE_TYPE_UNSPECIFIED": 0,
- "COMPOSITE_TYPE_AND": 1,
- "COMPOSITE_TYPE_OR": 2,
- "COMPOSITE_TYPE_XOR": 3,
- "COMPOSITE_TYPE_NOT": 4,
- }
- )
- func (x CompositeType) Enum() *CompositeType {
- p := new(CompositeType)
- *p = x
- return p
- }
- func (x CompositeType) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
- }
- func (CompositeType) Descriptor() protoreflect.EnumDescriptor {
- return file_kuban_api_validate_rule_groups_proto_enumTypes[3].Descriptor()
- }
- func (CompositeType) Type() protoreflect.EnumType {
- return &file_kuban_api_validate_rule_groups_proto_enumTypes[3]
- }
- func (x CompositeType) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
- }
- // Deprecated: Use CompositeType.Descriptor instead.
- func (CompositeType) EnumDescriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{3}
- }
- // 默认行为
- type DefaultBehavior int32
- const (
- DefaultBehavior_DEFAULT_BEHAVIOR_UNSPECIFIED DefaultBehavior = 0
- DefaultBehavior_DEFAULT_BEHAVIOR_SKIP DefaultBehavior = 1 // 跳过验证
- DefaultBehavior_DEFAULT_BEHAVIOR_APPLY DefaultBehavior = 2 // 应用验证
- DefaultBehavior_DEFAULT_BEHAVIOR_FAIL DefaultBehavior = 3 // 验证失败
- )
- // Enum value maps for DefaultBehavior.
- var (
- DefaultBehavior_name = map[int32]string{
- 0: "DEFAULT_BEHAVIOR_UNSPECIFIED",
- 1: "DEFAULT_BEHAVIOR_SKIP",
- 2: "DEFAULT_BEHAVIOR_APPLY",
- 3: "DEFAULT_BEHAVIOR_FAIL",
- }
- DefaultBehavior_value = map[string]int32{
- "DEFAULT_BEHAVIOR_UNSPECIFIED": 0,
- "DEFAULT_BEHAVIOR_SKIP": 1,
- "DEFAULT_BEHAVIOR_APPLY": 2,
- "DEFAULT_BEHAVIOR_FAIL": 3,
- }
- )
- func (x DefaultBehavior) Enum() *DefaultBehavior {
- p := new(DefaultBehavior)
- *p = x
- return p
- }
- func (x DefaultBehavior) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
- }
- func (DefaultBehavior) Descriptor() protoreflect.EnumDescriptor {
- return file_kuban_api_validate_rule_groups_proto_enumTypes[4].Descriptor()
- }
- func (DefaultBehavior) Type() protoreflect.EnumType {
- return &file_kuban_api_validate_rule_groups_proto_enumTypes[4]
- }
- func (x DefaultBehavior) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
- }
- // Deprecated: Use DefaultBehavior.Descriptor instead.
- func (DefaultBehavior) EnumDescriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{4}
- }
- // 规则集类别
- type RuleSetCategory int32
- const (
- RuleSetCategory_RULE_SET_CATEGORY_UNSPECIFIED RuleSetCategory = 0
- RuleSetCategory_RULE_SET_CATEGORY_USER_MANAGEMENT RuleSetCategory = 1 // 用户管理
- RuleSetCategory_RULE_SET_CATEGORY_FINANCIAL RuleSetCategory = 2 // 金融
- RuleSetCategory_RULE_SET_CATEGORY_ECOMMERCE RuleSetCategory = 3 // 电商
- RuleSetCategory_RULE_SET_CATEGORY_CONTENT RuleSetCategory = 4 // 内容管理
- RuleSetCategory_RULE_SET_CATEGORY_GOVERNMENT RuleSetCategory = 5 // 政务
- RuleSetCategory_RULE_SET_CATEGORY_HEALTHCARE RuleSetCategory = 6 // 医疗
- RuleSetCategory_RULE_SET_CATEGORY_EDUCATION RuleSetCategory = 7 // 教育
- RuleSetCategory_RULE_SET_CATEGORY_GENERAL RuleSetCategory = 99 // 通用
- )
- // Enum value maps for RuleSetCategory.
- var (
- RuleSetCategory_name = map[int32]string{
- 0: "RULE_SET_CATEGORY_UNSPECIFIED",
- 1: "RULE_SET_CATEGORY_USER_MANAGEMENT",
- 2: "RULE_SET_CATEGORY_FINANCIAL",
- 3: "RULE_SET_CATEGORY_ECOMMERCE",
- 4: "RULE_SET_CATEGORY_CONTENT",
- 5: "RULE_SET_CATEGORY_GOVERNMENT",
- 6: "RULE_SET_CATEGORY_HEALTHCARE",
- 7: "RULE_SET_CATEGORY_EDUCATION",
- 99: "RULE_SET_CATEGORY_GENERAL",
- }
- RuleSetCategory_value = map[string]int32{
- "RULE_SET_CATEGORY_UNSPECIFIED": 0,
- "RULE_SET_CATEGORY_USER_MANAGEMENT": 1,
- "RULE_SET_CATEGORY_FINANCIAL": 2,
- "RULE_SET_CATEGORY_ECOMMERCE": 3,
- "RULE_SET_CATEGORY_CONTENT": 4,
- "RULE_SET_CATEGORY_GOVERNMENT": 5,
- "RULE_SET_CATEGORY_HEALTHCARE": 6,
- "RULE_SET_CATEGORY_EDUCATION": 7,
- "RULE_SET_CATEGORY_GENERAL": 99,
- }
- )
- func (x RuleSetCategory) Enum() *RuleSetCategory {
- p := new(RuleSetCategory)
- *p = x
- return p
- }
- func (x RuleSetCategory) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
- }
- func (RuleSetCategory) Descriptor() protoreflect.EnumDescriptor {
- return file_kuban_api_validate_rule_groups_proto_enumTypes[5].Descriptor()
- }
- func (RuleSetCategory) Type() protoreflect.EnumType {
- return &file_kuban_api_validate_rule_groups_proto_enumTypes[5]
- }
- func (x RuleSetCategory) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
- }
- // Deprecated: Use RuleSetCategory.Descriptor instead.
- func (RuleSetCategory) EnumDescriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{5}
- }
- // 验证组 - 用于场景化验证
- //
- // 使用示例:
- // ```proto
- //
- // message User {
- // string name = 1 [
- // (kuban.api.validate.field).string = { min_len: 2, max_len: 50 },
- // (kuban.api.validate.field).groups = ["create", "update"]
- // ];
- //
- // string password = 2 [
- // (kuban.api.validate.field).string = { min_len: 8 },
- // (kuban.api.validate.field).groups = ["create", "change_password"]
- // ];
- // }
- //
- // ```
- type ValidationGroup struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- // 组名称(唯一标识)
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"`
- // 组显示名称(中文)
- DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name"`
- // 组显示名称(英文)
- DisplayNameEn string `protobuf:"bytes,3,opt,name=display_name_en,json=displayNameEn,proto3" json:"display_name_en"`
- // 组描述
- Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description"`
- // 是否为默认组(默认启用)
- IsDefault bool `protobuf:"varint,5,opt,name=is_default,json=isDefault,proto3" json:"is_default"`
- // 优先级(数字越大优先级越高)
- Priority int32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority"`
- // 父组(用于继承规则)
- ParentGroup string `protobuf:"bytes,7,opt,name=parent_group,json=parentGroup,proto3" json:"parent_group"`
- // 互斥组(不能同时激活的组)
- ExclusiveGroups []string `protobuf:"bytes,8,rep,name=exclusive_groups,json=exclusiveGroups,proto3" json:"exclusive_groups"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
- }
- func (x *ValidationGroup) Reset() {
- *x = ValidationGroup{}
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
- func (x *ValidationGroup) String() string {
- return protoimpl.X.MessageStringOf(x)
- }
- func (*ValidationGroup) ProtoMessage() {}
- func (x *ValidationGroup) ProtoReflect() protoreflect.Message {
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[0]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
- }
- // Deprecated: Use ValidationGroup.ProtoReflect.Descriptor instead.
- func (*ValidationGroup) Descriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{0}
- }
- func (x *ValidationGroup) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
- }
- func (x *ValidationGroup) GetDisplayName() string {
- if x != nil {
- return x.DisplayName
- }
- return ""
- }
- func (x *ValidationGroup) GetDisplayNameEn() string {
- if x != nil {
- return x.DisplayNameEn
- }
- return ""
- }
- func (x *ValidationGroup) GetDescription() string {
- if x != nil {
- return x.Description
- }
- return ""
- }
- func (x *ValidationGroup) GetIsDefault() bool {
- if x != nil {
- return x.IsDefault
- }
- return false
- }
- func (x *ValidationGroup) GetPriority() int32 {
- if x != nil {
- return x.Priority
- }
- return 0
- }
- func (x *ValidationGroup) GetParentGroup() string {
- if x != nil {
- return x.ParentGroup
- }
- return ""
- }
- func (x *ValidationGroup) GetExclusiveGroups() []string {
- if x != nil {
- return x.ExclusiveGroups
- }
- return nil
- }
- // 验证上下文 - 运行时传递给验证器的上下文信息
- type ValidationContext struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- // 激活的验证组
- ActiveGroups []string `protobuf:"bytes,1,rep,name=active_groups,json=activeGroups,proto3" json:"active_groups"`
- // 用户角色
- UserRoles []string `protobuf:"bytes,2,rep,name=user_roles,json=userRoles,proto3" json:"user_roles"`
- // 用户权限
- UserPermissions []string `protobuf:"bytes,3,rep,name=user_permissions,json=userPermissions,proto3" json:"user_permissions"`
- // 租户 ID(多租户场景)
- TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id"`
- // 请求来源
- Source RequestSource `protobuf:"varint,5,opt,name=source,proto3,enum=kuban.api.validate.RequestSource" json:"source"`
- // 是否为管理员操作
- IsAdmin bool `protobuf:"varint,6,opt,name=is_admin,json=isAdmin,proto3" json:"is_admin"`
- // 自定义元数据
- Metadata map[string]string `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
- // 验证时间戳
- Timestamp int64 `protobuf:"varint,8,opt,name=timestamp,proto3" json:"timestamp"`
- // 语言偏好(用于错误消息)
- Language string `protobuf:"bytes,9,opt,name=language,proto3" json:"language"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
- }
- func (x *ValidationContext) Reset() {
- *x = ValidationContext{}
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
- func (x *ValidationContext) String() string {
- return protoimpl.X.MessageStringOf(x)
- }
- func (*ValidationContext) ProtoMessage() {}
- func (x *ValidationContext) ProtoReflect() protoreflect.Message {
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[1]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
- }
- // Deprecated: Use ValidationContext.ProtoReflect.Descriptor instead.
- func (*ValidationContext) Descriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{1}
- }
- func (x *ValidationContext) GetActiveGroups() []string {
- if x != nil {
- return x.ActiveGroups
- }
- return nil
- }
- func (x *ValidationContext) GetUserRoles() []string {
- if x != nil {
- return x.UserRoles
- }
- return nil
- }
- func (x *ValidationContext) GetUserPermissions() []string {
- if x != nil {
- return x.UserPermissions
- }
- return nil
- }
- func (x *ValidationContext) GetTenantId() string {
- if x != nil {
- return x.TenantId
- }
- return ""
- }
- func (x *ValidationContext) GetSource() RequestSource {
- if x != nil {
- return x.Source
- }
- return RequestSource_REQUEST_SOURCE_UNSPECIFIED
- }
- func (x *ValidationContext) GetIsAdmin() bool {
- if x != nil {
- return x.IsAdmin
- }
- return false
- }
- func (x *ValidationContext) GetMetadata() map[string]string {
- if x != nil {
- return x.Metadata
- }
- return nil
- }
- func (x *ValidationContext) GetTimestamp() int64 {
- if x != nil {
- return x.Timestamp
- }
- return 0
- }
- func (x *ValidationContext) GetLanguage() string {
- if x != nil {
- return x.Language
- }
- return ""
- }
- // 验证策略 - 控制验证行为
- type ValidationStrategy struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- // 验证模式
- Mode ValidationMode `protobuf:"varint,1,opt,name=mode,proto3,enum=kuban.api.validate.ValidationMode" json:"mode"`
- // 是否快速失败(遇到第一个错误就停止)
- FailFast bool `protobuf:"varint,2,opt,name=fail_fast,json=failFast,proto3" json:"fail_fast"`
- // 是否收集警告(非阻塞性错误)
- CollectWarnings bool `protobuf:"varint,3,opt,name=collect_warnings,json=collectWarnings,proto3" json:"collect_warnings"`
- // 最大错误数(超过后停止验证)
- MaxErrors int32 `protobuf:"varint,4,opt,name=max_errors,json=maxErrors,proto3" json:"max_errors"`
- // 验证超时(毫秒)
- TimeoutMs int64 `protobuf:"varint,5,opt,name=timeout_ms,json=timeoutMs,proto3" json:"timeout_ms"`
- // 是否启用缓存
- EnableCache bool `protobuf:"varint,6,opt,name=enable_cache,json=enableCache,proto3" json:"enable_cache"`
- // 缓存 TTL(秒)
- CacheTtlSeconds int32 `protobuf:"varint,7,opt,name=cache_ttl_seconds,json=cacheTtlSeconds,proto3" json:"cache_ttl_seconds"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
- }
- func (x *ValidationStrategy) Reset() {
- *x = ValidationStrategy{}
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
- func (x *ValidationStrategy) String() string {
- return protoimpl.X.MessageStringOf(x)
- }
- func (*ValidationStrategy) ProtoMessage() {}
- func (x *ValidationStrategy) ProtoReflect() protoreflect.Message {
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[2]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
- }
- // Deprecated: Use ValidationStrategy.ProtoReflect.Descriptor instead.
- func (*ValidationStrategy) Descriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{2}
- }
- func (x *ValidationStrategy) GetMode() ValidationMode {
- if x != nil {
- return x.Mode
- }
- return ValidationMode_VALIDATION_MODE_UNSPECIFIED
- }
- func (x *ValidationStrategy) GetFailFast() bool {
- if x != nil {
- return x.FailFast
- }
- return false
- }
- func (x *ValidationStrategy) GetCollectWarnings() bool {
- if x != nil {
- return x.CollectWarnings
- }
- return false
- }
- func (x *ValidationStrategy) GetMaxErrors() int32 {
- if x != nil {
- return x.MaxErrors
- }
- return 0
- }
- func (x *ValidationStrategy) GetTimeoutMs() int64 {
- if x != nil {
- return x.TimeoutMs
- }
- return 0
- }
- func (x *ValidationStrategy) GetEnableCache() bool {
- if x != nil {
- return x.EnableCache
- }
- return false
- }
- func (x *ValidationStrategy) GetCacheTtlSeconds() int32 {
- if x != nil {
- return x.CacheTtlSeconds
- }
- return 0
- }
- // 组合验证规则 - 支持复杂的验证逻辑组合
- type CompositeRule struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- // 规则组合类型
- Type CompositeType `protobuf:"varint,1,opt,name=type,proto3,enum=kuban.api.validate.CompositeType" json:"type"`
- // 子规则列表
- Rules []*RuleRef `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules"`
- // 错误消息
- Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message"`
- // 错误消息(英文)
- MessageEn string `protobuf:"bytes,4,opt,name=message_en,json=messageEn,proto3" json:"message_en"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
- }
- func (x *CompositeRule) Reset() {
- *x = CompositeRule{}
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
- func (x *CompositeRule) String() string {
- return protoimpl.X.MessageStringOf(x)
- }
- func (*CompositeRule) ProtoMessage() {}
- func (x *CompositeRule) ProtoReflect() protoreflect.Message {
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[3]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
- }
- // Deprecated: Use CompositeRule.ProtoReflect.Descriptor instead.
- func (*CompositeRule) Descriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{3}
- }
- func (x *CompositeRule) GetType() CompositeType {
- if x != nil {
- return x.Type
- }
- return CompositeType_COMPOSITE_TYPE_UNSPECIFIED
- }
- func (x *CompositeRule) GetRules() []*RuleRef {
- if x != nil {
- return x.Rules
- }
- return nil
- }
- func (x *CompositeRule) GetMessage() string {
- if x != nil {
- return x.Message
- }
- return ""
- }
- func (x *CompositeRule) GetMessageEn() string {
- if x != nil {
- return x.MessageEn
- }
- return ""
- }
- // 规则引用
- type RuleRef struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- // 规则 ID
- RuleId string `protobuf:"bytes,1,opt,name=rule_id,json=ruleId,proto3" json:"rule_id"`
- // 规则权重(用于优先级排序)
- Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight"`
- // 是否为可选规则
- Optional bool `protobuf:"varint,3,opt,name=optional,proto3" json:"optional"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
- }
- func (x *RuleRef) Reset() {
- *x = RuleRef{}
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
- func (x *RuleRef) String() string {
- return protoimpl.X.MessageStringOf(x)
- }
- func (*RuleRef) ProtoMessage() {}
- func (x *RuleRef) ProtoReflect() protoreflect.Message {
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[4]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
- }
- // Deprecated: Use RuleRef.ProtoReflect.Descriptor instead.
- func (*RuleRef) Descriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{4}
- }
- func (x *RuleRef) GetRuleId() string {
- if x != nil {
- return x.RuleId
- }
- return ""
- }
- func (x *RuleRef) GetWeight() int32 {
- if x != nil {
- return x.Weight
- }
- return 0
- }
- func (x *RuleRef) GetOptional() bool {
- if x != nil {
- return x.Optional
- }
- return false
- }
- // 条件验证规则 - 根据条件决定是否应用规则
- type ConditionalRule struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- // 条件表达式(CEL)
- Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition"`
- // 条件为真时应用的规则
- WhenTrue []*RuleRef `protobuf:"bytes,2,rep,name=when_true,json=whenTrue,proto3" json:"when_true"`
- // 条件为假时应用的规则
- WhenFalse []*RuleRef `protobuf:"bytes,3,rep,name=when_false,json=whenFalse,proto3" json:"when_false"`
- // 条件评估失败时的默认行为
- OnError DefaultBehavior `protobuf:"varint,4,opt,name=on_error,json=onError,proto3,enum=kuban.api.validate.DefaultBehavior" json:"on_error"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
- }
- func (x *ConditionalRule) Reset() {
- *x = ConditionalRule{}
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
- func (x *ConditionalRule) String() string {
- return protoimpl.X.MessageStringOf(x)
- }
- func (*ConditionalRule) ProtoMessage() {}
- func (x *ConditionalRule) ProtoReflect() protoreflect.Message {
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[5]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
- }
- // Deprecated: Use ConditionalRule.ProtoReflect.Descriptor instead.
- func (*ConditionalRule) Descriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{5}
- }
- func (x *ConditionalRule) GetCondition() string {
- if x != nil {
- return x.Condition
- }
- return ""
- }
- func (x *ConditionalRule) GetWhenTrue() []*RuleRef {
- if x != nil {
- return x.WhenTrue
- }
- return nil
- }
- func (x *ConditionalRule) GetWhenFalse() []*RuleRef {
- if x != nil {
- return x.WhenFalse
- }
- return nil
- }
- func (x *ConditionalRule) GetOnError() DefaultBehavior {
- if x != nil {
- return x.OnError
- }
- return DefaultBehavior_DEFAULT_BEHAVIOR_UNSPECIFIED
- }
- // 验证规则集 - 预定义的规则组合,可复用
- type ValidationRuleSet struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- // 规则集 ID
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
- // 规则集名称
- Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"`
- // 规则集描述
- Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description"`
- // 规则集版本
- Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version"`
- // 包含的验证组
- Groups []string `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups"`
- // 包含的规则
- Rules []*RuleRef `protobuf:"bytes,6,rep,name=rules,proto3" json:"rules"`
- // 验证策略
- Strategy *ValidationStrategy `protobuf:"bytes,7,opt,name=strategy,proto3" json:"strategy"`
- // 是否为内置规则集
- Builtin bool `protobuf:"varint,8,opt,name=builtin,proto3" json:"builtin"`
- // 创建时间
- CreatedAt int64 `protobuf:"varint,9,opt,name=created_at,json=createdAt,proto3" json:"created_at"`
- // 更新时间
- UpdatedAt int64 `protobuf:"varint,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at"`
- // 创建者
- CreatedBy string `protobuf:"bytes,11,opt,name=created_by,json=createdBy,proto3" json:"created_by"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
- }
- func (x *ValidationRuleSet) Reset() {
- *x = ValidationRuleSet{}
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
- func (x *ValidationRuleSet) String() string {
- return protoimpl.X.MessageStringOf(x)
- }
- func (*ValidationRuleSet) ProtoMessage() {}
- func (x *ValidationRuleSet) ProtoReflect() protoreflect.Message {
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[6]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
- }
- // Deprecated: Use ValidationRuleSet.ProtoReflect.Descriptor instead.
- func (*ValidationRuleSet) Descriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{6}
- }
- func (x *ValidationRuleSet) GetId() string {
- if x != nil {
- return x.Id
- }
- return ""
- }
- func (x *ValidationRuleSet) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
- }
- func (x *ValidationRuleSet) GetDescription() string {
- if x != nil {
- return x.Description
- }
- return ""
- }
- func (x *ValidationRuleSet) GetVersion() string {
- if x != nil {
- return x.Version
- }
- return ""
- }
- func (x *ValidationRuleSet) GetGroups() []string {
- if x != nil {
- return x.Groups
- }
- return nil
- }
- func (x *ValidationRuleSet) GetRules() []*RuleRef {
- if x != nil {
- return x.Rules
- }
- return nil
- }
- func (x *ValidationRuleSet) GetStrategy() *ValidationStrategy {
- if x != nil {
- return x.Strategy
- }
- return nil
- }
- func (x *ValidationRuleSet) GetBuiltin() bool {
- if x != nil {
- return x.Builtin
- }
- return false
- }
- func (x *ValidationRuleSet) GetCreatedAt() int64 {
- if x != nil {
- return x.CreatedAt
- }
- return 0
- }
- func (x *ValidationRuleSet) GetUpdatedAt() int64 {
- if x != nil {
- return x.UpdatedAt
- }
- return 0
- }
- func (x *ValidationRuleSet) GetCreatedBy() string {
- if x != nil {
- return x.CreatedBy
- }
- return ""
- }
- // 规则集模板 - 用于快速创建常见场景的验证规则
- type RuleSetTemplate struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- // 模板 ID
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
- // 模板名称
- Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"`
- // 模板描述
- Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description"`
- // 适用场景
- Scenarios []string `protobuf:"bytes,4,rep,name=scenarios,proto3" json:"scenarios"`
- // 模板类别
- Categories []string `protobuf:"bytes,5,rep,name=categories,proto3" json:"categories"`
- // 规则集定义
- RuleSet *ValidationRuleSet `protobuf:"bytes,6,opt,name=rule_set,json=ruleSet,proto3" json:"rule_set"`
- // 使用示例
- UsageExample string `protobuf:"bytes,7,opt,name=usage_example,json=usageExample,proto3" json:"usage_example"`
- // 下载次数
- DownloadCount int64 `protobuf:"varint,8,opt,name=download_count,json=downloadCount,proto3" json:"download_count"`
- // 评分
- Rating float32 `protobuf:"fixed32,9,opt,name=rating,proto3" json:"rating"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
- }
- func (x *RuleSetTemplate) Reset() {
- *x = RuleSetTemplate{}
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
- func (x *RuleSetTemplate) String() string {
- return protoimpl.X.MessageStringOf(x)
- }
- func (*RuleSetTemplate) ProtoMessage() {}
- func (x *RuleSetTemplate) ProtoReflect() protoreflect.Message {
- mi := &file_kuban_api_validate_rule_groups_proto_msgTypes[7]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
- }
- // Deprecated: Use RuleSetTemplate.ProtoReflect.Descriptor instead.
- func (*RuleSetTemplate) Descriptor() ([]byte, []int) {
- return file_kuban_api_validate_rule_groups_proto_rawDescGZIP(), []int{7}
- }
- func (x *RuleSetTemplate) GetId() string {
- if x != nil {
- return x.Id
- }
- return ""
- }
- func (x *RuleSetTemplate) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
- }
- func (x *RuleSetTemplate) GetDescription() string {
- if x != nil {
- return x.Description
- }
- return ""
- }
- func (x *RuleSetTemplate) GetScenarios() []string {
- if x != nil {
- return x.Scenarios
- }
- return nil
- }
- func (x *RuleSetTemplate) GetCategories() []string {
- if x != nil {
- return x.Categories
- }
- return nil
- }
- func (x *RuleSetTemplate) GetRuleSet() *ValidationRuleSet {
- if x != nil {
- return x.RuleSet
- }
- return nil
- }
- func (x *RuleSetTemplate) GetUsageExample() string {
- if x != nil {
- return x.UsageExample
- }
- return ""
- }
- func (x *RuleSetTemplate) GetDownloadCount() int64 {
- if x != nil {
- return x.DownloadCount
- }
- return 0
- }
- func (x *RuleSetTemplate) GetRating() float32 {
- if x != nil {
- return x.Rating
- }
- return 0
- }
- var File_kuban_api_validate_rule_groups_proto protoreflect.FileDescriptor
- const file_kuban_api_validate_rule_groups_proto_rawDesc = "" +
- "\n" +
- "$kuban/api/validate/rule_groups.proto\x12\x12kuban.api.validate\x1a google/protobuf/descriptor.proto\"\x9b\x02\n" +
- "\x0fValidationGroup\x12\x12\n" +
- "\x04name\x18\x01 \x01(\tR\x04name\x12!\n" +
- "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12&\n" +
- "\x0fdisplay_name_en\x18\x03 \x01(\tR\rdisplayNameEn\x12 \n" +
- "\vdescription\x18\x04 \x01(\tR\vdescription\x12\x1d\n" +
- "\n" +
- "is_default\x18\x05 \x01(\bR\tisDefault\x12\x1a\n" +
- "\bpriority\x18\x06 \x01(\x05R\bpriority\x12!\n" +
- "\fparent_group\x18\a \x01(\tR\vparentGroup\x12)\n" +
- "\x10exclusive_groups\x18\b \x03(\tR\x0fexclusiveGroups\"\xbd\x03\n" +
- "\x11ValidationContext\x12#\n" +
- "\ractive_groups\x18\x01 \x03(\tR\factiveGroups\x12\x1d\n" +
- "\n" +
- "user_roles\x18\x02 \x03(\tR\tuserRoles\x12)\n" +
- "\x10user_permissions\x18\x03 \x03(\tR\x0fuserPermissions\x12\x1b\n" +
- "\ttenant_id\x18\x04 \x01(\tR\btenantId\x129\n" +
- "\x06source\x18\x05 \x01(\x0e2!.kuban.api.validate.RequestSourceR\x06source\x12\x19\n" +
- "\bis_admin\x18\x06 \x01(\bR\aisAdmin\x12O\n" +
- "\bmetadata\x18\a \x03(\v23.kuban.api.validate.ValidationContext.MetadataEntryR\bmetadata\x12\x1c\n" +
- "\ttimestamp\x18\b \x01(\x03R\ttimestamp\x12\x1a\n" +
- "\blanguage\x18\t \x01(\tR\blanguage\x1a;\n" +
- "\rMetadataEntry\x12\x10\n" +
- "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
- "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xa1\x02\n" +
- "\x12ValidationStrategy\x126\n" +
- "\x04mode\x18\x01 \x01(\x0e2\".kuban.api.validate.ValidationModeR\x04mode\x12\x1b\n" +
- "\tfail_fast\x18\x02 \x01(\bR\bfailFast\x12)\n" +
- "\x10collect_warnings\x18\x03 \x01(\bR\x0fcollectWarnings\x12\x1d\n" +
- "\n" +
- "max_errors\x18\x04 \x01(\x05R\tmaxErrors\x12\x1d\n" +
- "\n" +
- "timeout_ms\x18\x05 \x01(\x03R\ttimeoutMs\x12!\n" +
- "\fenable_cache\x18\x06 \x01(\bR\venableCache\x12*\n" +
- "\x11cache_ttl_seconds\x18\a \x01(\x05R\x0fcacheTtlSeconds\"\xb2\x01\n" +
- "\rCompositeRule\x125\n" +
- "\x04type\x18\x01 \x01(\x0e2!.kuban.api.validate.CompositeTypeR\x04type\x121\n" +
- "\x05rules\x18\x02 \x03(\v2\x1b.kuban.api.validate.RuleRefR\x05rules\x12\x18\n" +
- "\amessage\x18\x03 \x01(\tR\amessage\x12\x1d\n" +
- "\n" +
- "message_en\x18\x04 \x01(\tR\tmessageEn\"V\n" +
- "\aRuleRef\x12\x17\n" +
- "\arule_id\x18\x01 \x01(\tR\x06ruleId\x12\x16\n" +
- "\x06weight\x18\x02 \x01(\x05R\x06weight\x12\x1a\n" +
- "\boptional\x18\x03 \x01(\bR\boptional\"\xe5\x01\n" +
- "\x0fConditionalRule\x12\x1c\n" +
- "\tcondition\x18\x01 \x01(\tR\tcondition\x128\n" +
- "\twhen_true\x18\x02 \x03(\v2\x1b.kuban.api.validate.RuleRefR\bwhenTrue\x12:\n" +
- "\n" +
- "when_false\x18\x03 \x03(\v2\x1b.kuban.api.validate.RuleRefR\twhenFalse\x12>\n" +
- "\bon_error\x18\x04 \x01(\x0e2#.kuban.api.validate.DefaultBehaviorR\aonError\"\xf9\x02\n" +
- "\x11ValidationRuleSet\x12\x0e\n" +
- "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
- "\x04name\x18\x02 \x01(\tR\x04name\x12 \n" +
- "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x18\n" +
- "\aversion\x18\x04 \x01(\tR\aversion\x12\x16\n" +
- "\x06groups\x18\x05 \x03(\tR\x06groups\x121\n" +
- "\x05rules\x18\x06 \x03(\v2\x1b.kuban.api.validate.RuleRefR\x05rules\x12B\n" +
- "\bstrategy\x18\a \x01(\v2&.kuban.api.validate.ValidationStrategyR\bstrategy\x12\x18\n" +
- "\abuiltin\x18\b \x01(\bR\abuiltin\x12\x1d\n" +
- "\n" +
- "created_at\x18\t \x01(\x03R\tcreatedAt\x12\x1d\n" +
- "\n" +
- "updated_at\x18\n" +
- " \x01(\x03R\tupdatedAt\x12\x1d\n" +
- "\n" +
- "created_by\x18\v \x01(\tR\tcreatedBy\"\xbb\x02\n" +
- "\x0fRuleSetTemplate\x12\x0e\n" +
- "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
- "\x04name\x18\x02 \x01(\tR\x04name\x12 \n" +
- "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x1c\n" +
- "\tscenarios\x18\x04 \x03(\tR\tscenarios\x12\x1e\n" +
- "\n" +
- "categories\x18\x05 \x03(\tR\n" +
- "categories\x12@\n" +
- "\brule_set\x18\x06 \x01(\v2%.kuban.api.validate.ValidationRuleSetR\aruleSet\x12#\n" +
- "\rusage_example\x18\a \x01(\tR\fusageExample\x12%\n" +
- "\x0edownload_count\x18\b \x01(\x03R\rdownloadCount\x12\x16\n" +
- "\x06rating\x18\t \x01(\x02R\x06rating*\xb0\a\n" +
- "\x15CommonValidationGroup\x12'\n" +
- "#COMMON_VALIDATION_GROUP_UNSPECIFIED\x10\x00\x12\"\n" +
- "\x1eCOMMON_VALIDATION_GROUP_CREATE\x10\x01\x12\"\n" +
- "\x1eCOMMON_VALIDATION_GROUP_UPDATE\x10\x02\x12!\n" +
- "\x1dCOMMON_VALIDATION_GROUP_PATCH\x10\x03\x12\"\n" +
- "\x1eCOMMON_VALIDATION_GROUP_DELETE\x10\x04\x12!\n" +
- "\x1dCOMMON_VALIDATION_GROUP_QUERY\x10\x05\x12\"\n" +
- "\x1eCOMMON_VALIDATION_GROUP_STRICT\x10\n" +
- "\x12\"\n" +
- "\x1eCOMMON_VALIDATION_GROUP_NORMAL\x10\v\x12!\n" +
- "\x1dCOMMON_VALIDATION_GROUP_LOOSE\x10\f\x12$\n" +
- " COMMON_VALIDATION_GROUP_REGISTER\x10\x14\x12!\n" +
- "\x1dCOMMON_VALIDATION_GROUP_LOGIN\x10\x15\x12#\n" +
- "\x1fCOMMON_VALIDATION_GROUP_PROFILE\x10\x16\x12+\n" +
- "'COMMON_VALIDATION_GROUP_CHANGE_PASSWORD\x10\x17\x12*\n" +
- "&COMMON_VALIDATION_GROUP_RESET_PASSWORD\x10\x18\x12!\n" +
- "\x1dCOMMON_VALIDATION_GROUP_DRAFT\x10\x1e\x12\"\n" +
- "\x1eCOMMON_VALIDATION_GROUP_SUBMIT\x10\x1f\x12#\n" +
- "\x1fCOMMON_VALIDATION_GROUP_APPROVE\x10 \x12\"\n" +
- "\x1eCOMMON_VALIDATION_GROUP_REJECT\x10!\x12*\n" +
- "&COMMON_VALIDATION_GROUP_REAL_NAME_AUTH\x10(\x12+\n" +
- "'COMMON_VALIDATION_GROUP_ENTERPRISE_AUTH\x10)\x12-\n" +
- ")COMMON_VALIDATION_GROUP_BANK_CARD_BINDING\x10*\x12(\n" +
- "$COMMON_VALIDATION_GROUP_SENSITIVE_OP\x102\x12%\n" +
- "!COMMON_VALIDATION_GROUP_FINANCIAL\x103\x12!\n" +
- "\x1dCOMMON_VALIDATION_GROUP_ADMIN\x104*\xb1\x01\n" +
- "\rRequestSource\x12\x1e\n" +
- "\x1aREQUEST_SOURCE_UNSPECIFIED\x10\x00\x12\x16\n" +
- "\x12REQUEST_SOURCE_WEB\x10\x01\x12\x19\n" +
- "\x15REQUEST_SOURCE_MOBILE\x10\x02\x12\x16\n" +
- "\x12REQUEST_SOURCE_API\x10\x03\x12\x1b\n" +
- "\x17REQUEST_SOURCE_INTERNAL\x10\x04\x12\x18\n" +
- "\x14REQUEST_SOURCE_BATCH\x10\x05*\xab\x01\n" +
- "\x0eValidationMode\x12\x1f\n" +
- "\x1bVALIDATION_MODE_UNSPECIFIED\x10\x00\x12\x17\n" +
- "\x13VALIDATION_MODE_ALL\x10\x01\x12!\n" +
- "\x1dVALIDATION_MODE_REQUIRED_ONLY\x10\x02\x12 \n" +
- "\x1cVALIDATION_MODE_CHANGED_ONLY\x10\x03\x12\x1a\n" +
- "\x16VALIDATION_MODE_CUSTOM\x10\x04*\x8e\x01\n" +
- "\rCompositeType\x12\x1e\n" +
- "\x1aCOMPOSITE_TYPE_UNSPECIFIED\x10\x00\x12\x16\n" +
- "\x12COMPOSITE_TYPE_AND\x10\x01\x12\x15\n" +
- "\x11COMPOSITE_TYPE_OR\x10\x02\x12\x16\n" +
- "\x12COMPOSITE_TYPE_XOR\x10\x03\x12\x16\n" +
- "\x12COMPOSITE_TYPE_NOT\x10\x04*\x85\x01\n" +
- "\x0fDefaultBehavior\x12 \n" +
- "\x1cDEFAULT_BEHAVIOR_UNSPECIFIED\x10\x00\x12\x19\n" +
- "\x15DEFAULT_BEHAVIOR_SKIP\x10\x01\x12\x1a\n" +
- "\x16DEFAULT_BEHAVIOR_APPLY\x10\x02\x12\x19\n" +
- "\x15DEFAULT_BEHAVIOR_FAIL\x10\x03*\xc0\x02\n" +
- "\x0fRuleSetCategory\x12!\n" +
- "\x1dRULE_SET_CATEGORY_UNSPECIFIED\x10\x00\x12%\n" +
- "!RULE_SET_CATEGORY_USER_MANAGEMENT\x10\x01\x12\x1f\n" +
- "\x1bRULE_SET_CATEGORY_FINANCIAL\x10\x02\x12\x1f\n" +
- "\x1bRULE_SET_CATEGORY_ECOMMERCE\x10\x03\x12\x1d\n" +
- "\x19RULE_SET_CATEGORY_CONTENT\x10\x04\x12 \n" +
- "\x1cRULE_SET_CATEGORY_GOVERNMENT\x10\x05\x12 \n" +
- "\x1cRULE_SET_CATEGORY_HEALTHCARE\x10\x06\x12\x1f\n" +
- "\x1bRULE_SET_CATEGORY_EDUCATION\x10\a\x12\x1d\n" +
- "\x19RULE_SET_CATEGORY_GENERAL\x10cB=Z;git.ikuban.com/server/kubanapis/kuban/api/validate;validateb\x06proto3"
- var (
- file_kuban_api_validate_rule_groups_proto_rawDescOnce sync.Once
- file_kuban_api_validate_rule_groups_proto_rawDescData []byte
- )
- func file_kuban_api_validate_rule_groups_proto_rawDescGZIP() []byte {
- file_kuban_api_validate_rule_groups_proto_rawDescOnce.Do(func() {
- file_kuban_api_validate_rule_groups_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_kuban_api_validate_rule_groups_proto_rawDesc), len(file_kuban_api_validate_rule_groups_proto_rawDesc)))
- })
- return file_kuban_api_validate_rule_groups_proto_rawDescData
- }
- var file_kuban_api_validate_rule_groups_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
- var file_kuban_api_validate_rule_groups_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
- var file_kuban_api_validate_rule_groups_proto_goTypes = []any{
- (CommonValidationGroup)(0), // 0: kuban.api.validate.CommonValidationGroup
- (RequestSource)(0), // 1: kuban.api.validate.RequestSource
- (ValidationMode)(0), // 2: kuban.api.validate.ValidationMode
- (CompositeType)(0), // 3: kuban.api.validate.CompositeType
- (DefaultBehavior)(0), // 4: kuban.api.validate.DefaultBehavior
- (RuleSetCategory)(0), // 5: kuban.api.validate.RuleSetCategory
- (*ValidationGroup)(nil), // 6: kuban.api.validate.ValidationGroup
- (*ValidationContext)(nil), // 7: kuban.api.validate.ValidationContext
- (*ValidationStrategy)(nil), // 8: kuban.api.validate.ValidationStrategy
- (*CompositeRule)(nil), // 9: kuban.api.validate.CompositeRule
- (*RuleRef)(nil), // 10: kuban.api.validate.RuleRef
- (*ConditionalRule)(nil), // 11: kuban.api.validate.ConditionalRule
- (*ValidationRuleSet)(nil), // 12: kuban.api.validate.ValidationRuleSet
- (*RuleSetTemplate)(nil), // 13: kuban.api.validate.RuleSetTemplate
- nil, // 14: kuban.api.validate.ValidationContext.MetadataEntry
- }
- var file_kuban_api_validate_rule_groups_proto_depIdxs = []int32{
- 1, // 0: kuban.api.validate.ValidationContext.source:type_name -> kuban.api.validate.RequestSource
- 14, // 1: kuban.api.validate.ValidationContext.metadata:type_name -> kuban.api.validate.ValidationContext.MetadataEntry
- 2, // 2: kuban.api.validate.ValidationStrategy.mode:type_name -> kuban.api.validate.ValidationMode
- 3, // 3: kuban.api.validate.CompositeRule.type:type_name -> kuban.api.validate.CompositeType
- 10, // 4: kuban.api.validate.CompositeRule.rules:type_name -> kuban.api.validate.RuleRef
- 10, // 5: kuban.api.validate.ConditionalRule.when_true:type_name -> kuban.api.validate.RuleRef
- 10, // 6: kuban.api.validate.ConditionalRule.when_false:type_name -> kuban.api.validate.RuleRef
- 4, // 7: kuban.api.validate.ConditionalRule.on_error:type_name -> kuban.api.validate.DefaultBehavior
- 10, // 8: kuban.api.validate.ValidationRuleSet.rules:type_name -> kuban.api.validate.RuleRef
- 8, // 9: kuban.api.validate.ValidationRuleSet.strategy:type_name -> kuban.api.validate.ValidationStrategy
- 12, // 10: kuban.api.validate.RuleSetTemplate.rule_set:type_name -> kuban.api.validate.ValidationRuleSet
- 11, // [11:11] is the sub-list for method output_type
- 11, // [11:11] is the sub-list for method input_type
- 11, // [11:11] is the sub-list for extension type_name
- 11, // [11:11] is the sub-list for extension extendee
- 0, // [0:11] is the sub-list for field type_name
- }
- func init() { file_kuban_api_validate_rule_groups_proto_init() }
- func file_kuban_api_validate_rule_groups_proto_init() {
- if File_kuban_api_validate_rule_groups_proto != nil {
- return
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: unsafe.Slice(unsafe.StringData(file_kuban_api_validate_rule_groups_proto_rawDesc), len(file_kuban_api_validate_rule_groups_proto_rawDesc)),
- NumEnums: 6,
- NumMessages: 9,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_kuban_api_validate_rule_groups_proto_goTypes,
- DependencyIndexes: file_kuban_api_validate_rule_groups_proto_depIdxs,
- EnumInfos: file_kuban_api_validate_rule_groups_proto_enumTypes,
- MessageInfos: file_kuban_api_validate_rule_groups_proto_msgTypes,
- }.Build()
- File_kuban_api_validate_rule_groups_proto = out.File
- file_kuban_api_validate_rule_groups_proto_goTypes = nil
- file_kuban_api_validate_rule_groups_proto_depIdxs = nil
- }
|