Skip to content

v0.0.69

pan-dotdot-proto

pan/dotdot/v1/base/auth.proto

AuthSource

NameNumberDescription
None0
Console1
Pan2

pan/dotdot/v1/base/admin.proto

AdminMember

FieldTypeLabelDescription
dot_idstringdotdot內部的帳號識別id
source_idstring第三方認證源的id
sourceAuthSource第三方認證源
display_namestring顯示名稱
functionsAdminFunctionrepeated該帳號擁有的admin functions (superuser操作權限)

AdminFunction

NameNumberDescription
FunctionNone0
RoleOperation1可操作Role
PolicyOperation2可操作Policy
PermissionOperation3可操作Permission

pan/dotdot/v1/admin/command.proto

AssignFunctionsAnswer

error -> InvalidArgument | PermissionDenied | Error_MemberNotFound

AssignFunctionsPayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstring要賦予admin function的member的dot_id
functionspan.dotdot.v1.base.AdminFunctionrepeated要賦予的admin functions

RevokeFunctionsAnswer

error -> InvalidArgument | PermissionDenied | Error_MemberNotFound

RevokeFunctionsPayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstring要撤銷權限的對象dot_id
functionspan.dotdot.v1.base.AdminFunctionrepeated要撤銷的admin functions
propagatebool連帶移除該member創建的role, policy和permission

TransferRootAnswer

error -> InvalidArgument | PermissionDenied | Error_MemberNotFound

TransferRootPayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstring要轉移root權限的對象dot_id

Command

Method NameRequest TypeResponse TypeDescription
TransferRootTransferRootPayloadTransferRootAnswerroot only - 轉移root role給另一位member,轉移後自己會失去root role
AssignFunctionsAssignFunctionsPayloadAssignFunctionsAnswerroot only - 賦予admin function給某一位member
RevokeFunctionsRevokeFunctionsPayloadRevokeFunctionsAnswerroot only - 撤除某一位member的admin function,可選擇同時移除該位member所創建的規則

pan/dotdot/v1/admin/query.proto

GetAdminFunctionsAnswer

error -> Internal | InvalidArgument | PermissionDenied

FieldTypeLabelDescription
recordsGetAdminFunctionsAnswer.Recordrepeated

GetAdminFunctionsAnswer.Record

FieldTypeLabelDescription
idint64admin_function的id
namestringadmin_function的name

GetAdminFunctionsPayload

FieldTypeLabelDescription
admin_tokenstring

GetAdminMembersAnswer

error -> Internal | PermissionDenied

FieldTypeLabelDescription
memberspan.dotdot.v1.base.AdminMemberrepeated
totalint32

GetAdminMembersPayload

FieldTypeLabelDescription
admin_tokenstring
functionspan.dotdot.v1.base.AdminFunctionrepeated要篩選的admin function,只會返回擁有指定function的member。如果是空array,則返回all
pageint32
sizeint32

Query

Method NameRequest TypeResponse TypeDescription
GetAdminFunctionsGetAdminFunctionsPayloadGetAdminFunctionsAnswerroot only,查詢所有admin functions
GetAdminMembersGetAdminMembersPayloadGetAdminMembersAnswerroot only,查詢所有「擁有任一admin function的auth member」

pan/dotdot/v1/auth/command.proto

AppleLoginAnswer

FieldTypeLabelDescription
admin_tokenstring

AppleLoginPayload

FieldTypeLabelDescription
apple_access_tokenstring

GoogleLoginAnswer

error -> Internal | Unauthenticated | InvalidArgument | Error_MemberNotFound

FieldTypeLabelDescription
admin_tokenstring
dot_idstringdotdot內部的帳號識別id
expired_atgoogle.protobuf.Timestamptoken過期時間
is_rootbool是root帳號
functionspan.dotdot.v1.base.AdminFunctionrepeated該帳號擁有的admin functions (superuser操作權限)

GoogleLoginPayload

FieldTypeLabelDescription
google_access_tokenstring

PanLoginAnswer

error -> Internal | Unauthenticated | InvalidArgument | Error_MemberNotFound

FieldTypeLabelDescription
admin_tokenstring
dot_idstringdotdot內部的帳號識別id
expired_atgoogle.protobuf.Timestamptoken過期時間
is_rootbool是root帳號
functionspan.dotdot.v1.base.AdminFunctionrepeated該帳號擁有的admin functions (superuser操作權限)

PanLoginPayload

FieldTypeLabelDescription
pan_access_tokenstring

RefreshInfoAnswer

error -> Internal | InvalidArgument | PermissionDenied

FieldTypeLabelDescription
is_rootbool是root帳號
functionspan.dotdot.v1.base.AdminFunctionrepeated該帳號擁有的admin functions (superuser操作權限)

RefreshInfoPayload

FieldTypeLabelDescription
admin_tokenstring

RegisterAnswer

RegisterAnswer.Error

RegisterPayload

FieldTypeLabelDescription
app_codestringdeprecated
sourcepan.dotdot.v1.base.AuthSource第三方認證源
idstringemail or uid

RegisterAnswer.Error.Value

NameNumberDescription
None0
IdDuplicated1001source id重複註冊

Command

Method NameRequest TypeResponse TypeDescription
RegisterRegisterPayloadRegisterAnswer沒有使用
PanLoginPanLoginPayloadPanLoginAnswer透過pan access token換取該member的admin_token, dot_id, admin functions, 是否是root等資訊
GoogleLoginGoogleLoginPayloadGoogleLoginAnswer透過google access token換取該member的admin_token, dot_id, admin functions, 是否是root等資訊
AppleLoginAppleLoginPayloadAppleLoginAnswer
RefreshInfoRefreshInfoPayloadRefreshInfoAnswer用admin token換取該member的admin functions, 是否是root等資訊

pan/dotdot/v1/base/domain.proto

Domain

NameNumberDescription
DomainNone0
DomainPan1
DomainJPay2
DomainJPoints3
DomainJKTalk4

pan/dotdot/v1/base/error.proto

Error

Error.Value

NameNumberDescription
None0
PolicyNotFound1101查無policy
PermissionNotFound1102查無permission
RoleNotFound1103查無role
MemberNotFound1104查無該用戶
AssignerNotFound1105查無操作者資料
ReceiverNotFound1106查無被操作者資料
NameDuplicated1107名字重複
HierarchyOverHeight1120繼承關聯後高度超過指定高度
ChildHierarchyOverHeight1121子節點高度 >= 父節點高度
MemberAlreadyExist1122用戶已存在

pan/dotdot/v1/base/general.proto

TernaryCondition

NameNumberDescription
All0
True1
False2

pan/dotdot/v1/base/group.proto

Group

FieldTypeLabelDescription
idint64
namestring
display_namestring

pan/dotdot/v1/base/member.proto

AuthMember

FieldTypeLabelDescription
dot_idstringdotdot內部的帳號識別id
source_idstring第三方認證源的id
sourceAuthSource第三方認證源
display_namestring顯示名稱

PanMember

FieldTypeLabelDescription
uidint64pan的member uid
huidstringpan的member huid
display_namestringpan的member display name

pan/dotdot/v1/base/permission.proto

GenericNode

FieldTypeLabelDescription
idint64節點id
namestring唯一名稱
display_namestring顯示名稱
purposestring補充描述
typeNodeType節點類型
creator_idstring創建該node的auth member的dot_id
domainDomain該節點所屬domain,目前僅Permission有這欄位(ex: 'pan', 'jpay', 'jpoints')

NodeList

FieldTypeLabelDescription
nodesGenericNoderepeated

Permission

FieldTypeLabelDescription
idint64
namestring唯一名稱
display_namestring顯示名稱
purposestring
domainDomain

Policy

FieldTypeLabelDescription
idint64
namestring唯一名稱
display_namestring顯示名稱
purposestring
permissionsPermissionrepeated
policiesPolicyrepeated

Role

FieldTypeLabelDescription
idint64
namestring唯一名稱
display_namestring顯示名稱
purposestring補充描述
linker_idstring當初賦予該role給該auth member的auth member的dot_id (僅部分API會有值)
permissionsPermissionrepeated直接關聯的所有permission
policiesPolicyrepeated直接關聯的所有policy

NodeType

NameNumberDescription
Type_None0
Type_Permission1
Type_Policy2
Type_Role3
Type_AuthMember4

pan/dotdot/v1/group/command.proto

AssignGroupManagerAnswer

AssignGroupManagerPayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstring
group_idint64

AttachMemberToGroupAnswer

AttachMemberToGroupPayload

FieldTypeLabelDescription
admin_tokenstring
uidint64
group_idint64

CreateTargetGroupAnswer

FieldTypeLabelDescription
group_idint64

CreateTargetGroupPayload

FieldTypeLabelDescription
admin_tokenstring
namestringrequired & unique
display_namestringrequired

DetachMemberFromGroupAnswer

DetachMemberFromGroupPayload

FieldTypeLabelDescription
admin_tokenstring
uidint64
group_idint64

Command

Method NameRequest TypeResponse TypeDescription
CreateTargetGroupCreateTargetGroupPayloadCreateTargetGroupAnswerroot only
AssignGroupManagerAssignGroupManagerPayloadAssignGroupManagerAnswerroot only
AttachMemberToGroupAttachMemberToGroupPayloadAttachMemberToGroupAnswerroot only
DetachMemberFromGroupDetachMemberFromGroupPayloadDetachMemberFromGroupAnswerroot only

pan/dotdot/v1/group/query.proto

GetGroupManagersAnswer

FieldTypeLabelDescription
managerspan.dotdot.v1.base.AuthMemberrepeated

GetGroupManagersPayload

FieldTypeLabelDescription
admin_tokenstring
group_idint64

GetGroupMembersAnswer

FieldTypeLabelDescription
memberspan.dotdot.v1.base.PanMemberrepeated

GetGroupMembersPayload

FieldTypeLabelDescription
admin_tokenstring
group_idint64

GetGroupsAnswer

FieldTypeLabelDescription
groupspan.dotdot.v1.base.Grouprepeated

GetGroupsPayload

FieldTypeLabelDescription
admin_tokenstring

Query

Method NameRequest TypeResponse TypeDescription
GetGroupsGetGroupsPayloadGetGroupsAnswer
GetGroupManagersGetGroupManagersPayloadGetGroupManagersAnswer
GetGroupMembersGetGroupMembersPayloadGetGroupMembersAnswer

pan/dotdot/v1/health.proto

HealthCheckRequest

FieldTypeLabelDescription
servicestring

HealthCheckResponse

FieldTypeLabelDescription
statusHealthCheckResponse.ServingStatus

HealthCheckResponse.ServingStatus

NameNumberDescription
SERVING_STATUS_UNSPECIFIED0
SERVING_STATUS_SERVING1
SERVING_STATUS_NOT_SERVING2
SERVING_STATUS_SERVICE_UNKNOWN3Used only by the Watch method.

HealthService

Method NameRequest TypeResponse TypeDescription
CheckHealthCheckRequestHealthCheckResponse
WatchHealthCheckRequestHealthCheckResponse stream

validate/validate.proto

AnyRules

AnyRules describe constraints applied exclusively to the google.protobuf.Any well-known type

FieldTypeLabelDescription
requiredbooloptionalRequired specifies that this field must be set
instringrepeatedIn specifies that this field's type_url must be equal to one of the specified values.
not_instringrepeatedNotIn specifies that this field's type_url must not be equal to any of the specified values.

BoolRules

BoolRules describes the constraints applied to bool values

FieldTypeLabelDescription
constbooloptionalConst specifies that this field must be exactly the specified value

BytesRules

BytesRules describe the constraints applied to bytes values

FieldTypeLabelDescription
constbytesoptionalConst specifies that this field must be exactly the specified value
lenuint64optionalLen specifies that this field must be the specified number of bytes
min_lenuint64optionalMinLen specifies that this field must be the specified number of bytes at a minimum
max_lenuint64optionalMaxLen specifies that this field must be the specified number of bytes at a maximum
patternstringoptionalPattern specifies that this field must match against the specified regular expression (RE2 syntax). The included expression should elide any delimiters.
prefixbytesoptionalPrefix specifies that this field must have the specified bytes at the beginning of the string.
suffixbytesoptionalSuffix specifies that this field must have the specified bytes at the end of the string.
containsbytesoptionalContains specifies that this field must have the specified bytes anywhere in the string.
inbytesrepeatedIn specifies that this field must be equal to one of the specified values
not_inbytesrepeatedNotIn specifies that this field cannot be equal to one of the specified values
ipbooloptionalIp specifies that the field must be a valid IP (v4 or v6) address in byte format
ipv4booloptionalIpv4 specifies that the field must be a valid IPv4 address in byte format
ipv6booloptionalIpv6 specifies that the field must be a valid IPv6 address in byte format
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

DoubleRules

DoubleRules describes the constraints applied to double values

FieldTypeLabelDescription
constdoubleoptionalConst specifies that this field must be exactly the specified value
ltdoubleoptionalLt specifies that this field must be less than the specified value, exclusive
ltedoubleoptionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtdoubleoptionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gtedoubleoptionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
indoublerepeatedIn specifies that this field must be equal to one of the specified values
not_indoublerepeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

DurationRules

DurationRules describe the constraints applied exclusively to the google.protobuf.Duration well-known type

FieldTypeLabelDescription
requiredbooloptionalRequired specifies that this field must be set
constgoogle.protobuf.DurationoptionalConst specifies that this field must be exactly the specified value
ltgoogle.protobuf.DurationoptionalLt specifies that this field must be less than the specified value, exclusive
ltegoogle.protobuf.DurationoptionalLt specifies that this field must be less than the specified value, inclusive
gtgoogle.protobuf.DurationoptionalGt specifies that this field must be greater than the specified value, exclusive
gtegoogle.protobuf.DurationoptionalGte specifies that this field must be greater than the specified value, inclusive
ingoogle.protobuf.DurationrepeatedIn specifies that this field must be equal to one of the specified values
not_ingoogle.protobuf.DurationrepeatedNotIn specifies that this field cannot be equal to one of the specified values

EnumRules

EnumRules describe the constraints applied to enum values

FieldTypeLabelDescription
constint32optionalConst specifies that this field must be exactly the specified value
defined_onlybooloptionalDefinedOnly specifies that this field must be only one of the defined values for this enum, failing on any undefined value.
inint32repeatedIn specifies that this field must be equal to one of the specified values
not_inint32repeatedNotIn specifies that this field cannot be equal to one of the specified values

FieldRules

FieldRules encapsulates the rules for each type of field. Depending on the field, the correct set should be used to ensure proper validations.

FieldTypeLabelDescription
messageMessageRulesoptional
floatFloatRulesoptionalScalar Field Types
doubleDoubleRulesoptional
int32Int32Rulesoptional
int64Int64Rulesoptional
uint32UInt32Rulesoptional
uint64UInt64Rulesoptional
sint32SInt32Rulesoptional
sint64SInt64Rulesoptional
fixed32Fixed32Rulesoptional
fixed64Fixed64Rulesoptional
sfixed32SFixed32Rulesoptional
sfixed64SFixed64Rulesoptional
boolBoolRulesoptional
stringStringRulesoptional
bytesBytesRulesoptional
enumEnumRulesoptionalComplex Field Types
repeatedRepeatedRulesoptional
mapMapRulesoptional
anyAnyRulesoptionalWell-Known Field Types
durationDurationRulesoptional
timestampTimestampRulesoptional

Fixed32Rules

Fixed32Rules describes the constraints applied to fixed32 values

FieldTypeLabelDescription
constfixed32optionalConst specifies that this field must be exactly the specified value
ltfixed32optionalLt specifies that this field must be less than the specified value, exclusive
ltefixed32optionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtfixed32optionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gtefixed32optionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
infixed32repeatedIn specifies that this field must be equal to one of the specified values
not_infixed32repeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

Fixed64Rules

Fixed64Rules describes the constraints applied to fixed64 values

FieldTypeLabelDescription
constfixed64optionalConst specifies that this field must be exactly the specified value
ltfixed64optionalLt specifies that this field must be less than the specified value, exclusive
ltefixed64optionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtfixed64optionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gtefixed64optionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
infixed64repeatedIn specifies that this field must be equal to one of the specified values
not_infixed64repeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

FloatRules

FloatRules describes the constraints applied to float values

FieldTypeLabelDescription
constfloatoptionalConst specifies that this field must be exactly the specified value
ltfloatoptionalLt specifies that this field must be less than the specified value, exclusive
ltefloatoptionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtfloatoptionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gtefloatoptionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
infloatrepeatedIn specifies that this field must be equal to one of the specified values
not_infloatrepeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

Int32Rules

Int32Rules describes the constraints applied to int32 values

FieldTypeLabelDescription
constint32optionalConst specifies that this field must be exactly the specified value
ltint32optionalLt specifies that this field must be less than the specified value, exclusive
lteint32optionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtint32optionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gteint32optionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
inint32repeatedIn specifies that this field must be equal to one of the specified values
not_inint32repeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

Int64Rules

Int64Rules describes the constraints applied to int64 values

FieldTypeLabelDescription
constint64optionalConst specifies that this field must be exactly the specified value
ltint64optionalLt specifies that this field must be less than the specified value, exclusive
lteint64optionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtint64optionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gteint64optionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
inint64repeatedIn specifies that this field must be equal to one of the specified values
not_inint64repeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

MapRules

MapRules describe the constraints applied to map values

FieldTypeLabelDescription
min_pairsuint64optionalMinPairs specifies that this field must have the specified number of KVs at a minimum
max_pairsuint64optionalMaxPairs specifies that this field must have the specified number of KVs at a maximum
no_sparsebooloptionalNoSparse specifies values in this field cannot be unset. This only applies to map's with message value types.
keysFieldRulesoptionalKeys specifies the constraints to be applied to each key in the field.
valuesFieldRulesoptionalValues specifies the constraints to be applied to the value of each key in the field. Message values will still have their validations evaluated unless skip is specified here.
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

MessageRules

MessageRules describe the constraints applied to embedded message values. For message-type fields, validation is performed recursively.

FieldTypeLabelDescription
skipbooloptionalSkip specifies that the validation rules of this field should not be evaluated
requiredbooloptionalRequired specifies that this field must be set

RepeatedRules

RepeatedRules describe the constraints applied to repeated values

FieldTypeLabelDescription
min_itemsuint64optionalMinItems specifies that this field must have the specified number of items at a minimum
max_itemsuint64optionalMaxItems specifies that this field must have the specified number of items at a maximum
uniquebooloptionalUnique specifies that all elements in this field must be unique. This constraint is only applicable to scalar and enum types (messages are not supported).
itemsFieldRulesoptionalItems specifies the constraints to be applied to each item in the field. Repeated message fields will still execute validation against each item unless skip is specified here.
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

SFixed32Rules

SFixed32Rules describes the constraints applied to sfixed32 values

FieldTypeLabelDescription
constsfixed32optionalConst specifies that this field must be exactly the specified value
ltsfixed32optionalLt specifies that this field must be less than the specified value, exclusive
ltesfixed32optionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtsfixed32optionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gtesfixed32optionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
insfixed32repeatedIn specifies that this field must be equal to one of the specified values
not_insfixed32repeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

SFixed64Rules

SFixed64Rules describes the constraints applied to sfixed64 values

FieldTypeLabelDescription
constsfixed64optionalConst specifies that this field must be exactly the specified value
ltsfixed64optionalLt specifies that this field must be less than the specified value, exclusive
ltesfixed64optionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtsfixed64optionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gtesfixed64optionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
insfixed64repeatedIn specifies that this field must be equal to one of the specified values
not_insfixed64repeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

SInt32Rules

SInt32Rules describes the constraints applied to sint32 values

FieldTypeLabelDescription
constsint32optionalConst specifies that this field must be exactly the specified value
ltsint32optionalLt specifies that this field must be less than the specified value, exclusive
ltesint32optionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtsint32optionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gtesint32optionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
insint32repeatedIn specifies that this field must be equal to one of the specified values
not_insint32repeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

SInt64Rules

SInt64Rules describes the constraints applied to sint64 values

FieldTypeLabelDescription
constsint64optionalConst specifies that this field must be exactly the specified value
ltsint64optionalLt specifies that this field must be less than the specified value, exclusive
ltesint64optionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtsint64optionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gtesint64optionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
insint64repeatedIn specifies that this field must be equal to one of the specified values
not_insint64repeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

StringRules

StringRules describe the constraints applied to string values

FieldTypeLabelDescription
conststringoptionalConst specifies that this field must be exactly the specified value
lenuint64optionalLen specifies that this field must be the specified number of characters (Unicode code points). Note that the number of characters may differ from the number of bytes in the string.
min_lenuint64optionalMinLen specifies that this field must be the specified number of characters (Unicode code points) at a minimum. Note that the number of characters may differ from the number of bytes in the string.
max_lenuint64optionalMaxLen specifies that this field must be the specified number of characters (Unicode code points) at a maximum. Note that the number of characters may differ from the number of bytes in the string.
len_bytesuint64optionalLenBytes specifies that this field must be the specified number of bytes
min_bytesuint64optionalMinBytes specifies that this field must be the specified number of bytes at a minimum
max_bytesuint64optionalMaxBytes specifies that this field must be the specified number of bytes at a maximum
patternstringoptionalPattern specifies that this field must match against the specified regular expression (RE2 syntax). The included expression should elide any delimiters.
prefixstringoptionalPrefix specifies that this field must have the specified substring at the beginning of the string.
suffixstringoptionalSuffix specifies that this field must have the specified substring at the end of the string.
containsstringoptionalContains specifies that this field must have the specified substring anywhere in the string.
not_containsstringoptionalNotContains specifies that this field cannot have the specified substring anywhere in the string.
instringrepeatedIn specifies that this field must be equal to one of the specified values
not_instringrepeatedNotIn specifies that this field cannot be equal to one of the specified values
emailbooloptionalEmail specifies that the field must be a valid email address as defined by RFC 5322
hostnamebooloptionalHostname specifies that the field must be a valid hostname as defined by RFC 1034. This constraint does not support internationalized domain names (IDNs).
ipbooloptionalIp specifies that the field must be a valid IP (v4 or v6) address. Valid IPv6 addresses should not include surrounding square brackets.
ipv4booloptionalIpv4 specifies that the field must be a valid IPv4 address.
ipv6booloptionalIpv6 specifies that the field must be a valid IPv6 address. Valid IPv6 addresses should not include surrounding square brackets.
uribooloptionalUri specifies that the field must be a valid, absolute URI as defined by RFC 3986
uri_refbooloptionalUriRef specifies that the field must be a valid URI as defined by RFC 3986 and may be relative or absolute.
addressbooloptionalAddress specifies that the field must be either a valid hostname as defined by RFC 1034 (which does not support internationalized domain names or IDNs), or it can be a valid IP (v4 or v6).
uuidbooloptionalUuid specifies that the field must be a valid UUID as defined by RFC 4122
well_known_regexKnownRegexoptionalWellKnownRegex specifies a common well known pattern defined as a regex.
strictbooloptionalThis applies to regexes HTTP_HEADER_NAME and HTTP_HEADER_VALUE to enable strict header validation. By default, this is true, and HTTP header validations are RFC-compliant. Setting to false will enable a looser validations that only disallows \r\n\0 characters, which can be used to bypass header matching rules. Default: true
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

TimestampRules

TimestampRules describe the constraints applied exclusively to the google.protobuf.Timestamp well-known type

FieldTypeLabelDescription
requiredbooloptionalRequired specifies that this field must be set
constgoogle.protobuf.TimestampoptionalConst specifies that this field must be exactly the specified value
ltgoogle.protobuf.TimestampoptionalLt specifies that this field must be less than the specified value, exclusive
ltegoogle.protobuf.TimestampoptionalLte specifies that this field must be less than the specified value, inclusive
gtgoogle.protobuf.TimestampoptionalGt specifies that this field must be greater than the specified value, exclusive
gtegoogle.protobuf.TimestampoptionalGte specifies that this field must be greater than the specified value, inclusive
lt_nowbooloptionalLtNow specifies that this must be less than the current time. LtNow can only be used with the Within rule.
gt_nowbooloptionalGtNow specifies that this must be greater than the current time. GtNow can only be used with the Within rule.
withingoogle.protobuf.DurationoptionalWithin specifies that this field must be within this duration of the current time. This constraint can be used alone or with the LtNow and GtNow rules.

UInt32Rules

UInt32Rules describes the constraints applied to uint32 values

FieldTypeLabelDescription
constuint32optionalConst specifies that this field must be exactly the specified value
ltuint32optionalLt specifies that this field must be less than the specified value, exclusive
lteuint32optionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtuint32optionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gteuint32optionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
inuint32repeatedIn specifies that this field must be equal to one of the specified values
not_inuint32repeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

UInt64Rules

UInt64Rules describes the constraints applied to uint64 values

FieldTypeLabelDescription
constuint64optionalConst specifies that this field must be exactly the specified value
ltuint64optionalLt specifies that this field must be less than the specified value, exclusive
lteuint64optionalLte specifies that this field must be less than or equal to the specified value, inclusive
gtuint64optionalGt specifies that this field must be greater than the specified value, exclusive. If the value of Gt is larger than a specified Lt or Lte, the range is reversed.
gteuint64optionalGte specifies that this field must be greater than or equal to the specified value, inclusive. If the value of Gte is larger than a specified Lt or Lte, the range is reversed.
inuint64repeatedIn specifies that this field must be equal to one of the specified values
not_inuint64repeatedNotIn specifies that this field cannot be equal to one of the specified values
ignore_emptybooloptionalIgnoreEmpty specifies that the validation rules of this field should be evaluated only if the field is not empty

KnownRegex

WellKnownRegex contain some well-known patterns.

NameNumberDescription
UNKNOWN0
HTTP_HEADER_NAME1HTTP header name as defined by RFC 7230.
HTTP_HEADER_VALUE2HTTP header value as defined by RFC 7230.

File-level Extensions

ExtensionTypeBaseNumberDescription
rulesFieldRules.google.protobuf.FieldOptions1071Rules specify the validations to be performed on this field. By default, no validation is performed against a field.
disabledbool.google.protobuf.MessageOptions1071Disabled nullifies any validation rules for this message, including any message fields associated with it that do support validation.
ignoredbool.google.protobuf.MessageOptions1072Ignore skips generation of validation methods for this message.
requiredbool.google.protobuf.OneofOptions1071Required ensures that exactly one the field options in a oneof is set; validation fails if no fields in the oneof are set.

pan/dotdot/v1/member/command.proto

CreateMemberAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_MemberAlreadyExist

FieldTypeLabelDescription
dot_idstringdotdot內部的帳號識別id

CreateMemberPayload

FieldTypeLabelDescription
admin_tokenstring
source_idstring指定member的source_id (ex: lc member的話是email,但如果透過pan login就是uid)
sourcepan.dotdot.v1.base.AuthSource
display_namestring

UpdateMemberAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_MemberNotFound

UpdateMemberPayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstringdotdot內部的帳號識別id
display_namestring

Command

Method NameRequest TypeResponse TypeDescription
CreateMemberCreateMemberPayloadCreateMemberAnswerroot only,創建auth member,創建後的member可透過google或pan登入
UpdateMemberUpdateMemberPayloadUpdateMemberAnswerroot only,可更新member的資訊

pan/dotdot/v1/member/query.proto

GetMemberListAnswer

error -> Internal | InvalidArgument | PermissionDenied

FieldTypeLabelDescription
recordsGetMemberListAnswer.Recordrepeated
totalint32總數

GetMemberListAnswer.Record

FieldTypeLabelDescription
dot_idstringdotdot內部的帳號識別id
source_idstring第三方認證源的id
sourcepan.dotdot.v1.base.AuthSource第三方認證源
display_namestring顯示名稱

GetMemberListPayload

FieldTypeLabelDescription
admin_tokenstring
source_idstring若source是pan,則source_id為uid,是完全比對。若source是lc,則source_id為email,是模糊比對。
sourcepan.dotdot.v1.base.AuthSource
display_namestring
has_rolespan.dotdot.v1.base.TernaryConditionfilter member是否要擁有roles
pageint32
page_sizeint32

Query

Method NameRequest TypeResponse TypeDescription
GetMemberListGetMemberListPayloadGetMemberListAnswer查詢所有auth member

pan/dotdot/v1/permission/command.proto

CreatePermissionAnswer

error -> Internal | PermissionDenied | InvalidArgument | Unauthenticated | Error_NameDuplicated

FieldTypeLabelDescription
permission_idint64新創建的permission的id

CreatePermissionPayload

FieldTypeLabelDescription
admin_tokenstring
namestring名稱,需要唯一
display_namestring顯示名稱
purposestring補充描述
domainpan.dotdot.v1.base.Domain領域分類

DeletePermissionAnswer

error -> Internal | InvalidArgument | PermissionDenied | Unauthenticated | Error_PermissionNotFound

DeletePermissionPayload

FieldTypeLabelDescription
admin_tokenstring
permission_idint64要刪除的permission的id

UpdatePermissionAnswer

error -> Internal | InvalidArgument | PermissionDenied | Unauthenticated | Error_PermissionNotFound

UpdatePermissionPayload

FieldTypeLabelDescription
admin_tokenstring
permission_idint64要更新的permission的id
display_namestring顯示名稱
purposestring補充描述

Command

Method NameRequest TypeResponse TypeDescription
CreatePermissionCreatePermissionPayloadCreatePermissionAnswer只限「root」或是「擁有PermissionOperation的auth member」可調用
UpdatePermissionUpdatePermissionPayloadUpdatePermissionAnswer只限「root」或是「擁有PermissionOperation、且為該permission的創建者的auth member」可調用
DeletePermissionDeletePermissionPayloadDeletePermissionAnswer只限「root」或是「擁有PermissionOperation、且為該permission的創建者的auth member」可調用

pan/dotdot/v1/permission/query.proto

CheckPermissionsAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_MemberNotFound

FieldTypeLabelDescription
recordsCheckPermissionsAnswer.Recordrepeated
sourcepan.dotdot.v1.base.AuthSourceinput的admin_token的member的source
source_idstringinput的admin_token的member的source_id
dot_idstringinput的admin_token的member的dot_id

CheckPermissionsAnswer.Record

FieldTypeLabelDescription
permission_idint64input的permission_id
is_verifiedbool該member是否擁有該permission_id的權限

CheckPermissionsPayload

FieldTypeLabelDescription
admin_tokenstring
permission_idsint64repeated

GetAllPermissionAnswer

error -> Internal | InvalidArgument | PermissionDenied

FieldTypeLabelDescription
permissionspan.dotdot.v1.base.GenericNoderepeated
totalint64總數

GetAllPermissionPayload

FieldTypeLabelDescription
admin_tokenstring
attachablebool若為true,則只顯示自己可以貼到role上的permission
pageint32頁數
sizeint32每頁的筆數
domainpan.dotdot.v1.base.Domain篩選domain
namestring查詢的permission name,模糊比對
display_namestring查詢的permission display_name,模糊比對

GetPersonalBreadCrumbAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_MemberNotFound

FieldTypeLabelDescription
node_matrixpan.dotdot.v1.base.NodeListrepeated

GetPersonalBreadCrumbPayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstring要查詢的對象的dot_id,如果為空則會使用admin_token的dot_id查詢

GetPersonalPermissionsAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_MemberNotFound

FieldTypeLabelDescription
permissionspan.dotdot.v1.base.Permissionrepeated

GetPersonalPermissionsPayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstring要查詢的對象的dot_id,如果為空則會使用admin_token的dot_id查詢
namestring查詢的permission name,模糊比對
display_namestring查詢的permission display_name,模糊比對

GetPersonalTreeAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_MemberNotFound

FieldTypeLabelDescription
rolespan.dotdot.v1.base.Rolerepeated

GetPersonalTreePayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstring要查詢的對象的dot_id,如果為空則會使用admin_token的dot_id查詢

Query

Method NameRequest TypeResponse TypeDescription
GetPersonalTreeGetPersonalTreePayloadGetPersonalTreeAnswer查詢個人擁有的權限Tree (path = Role -> Policy -> Permission),可查詢自己或他人
GetPersonalBreadCrumbGetPersonalBreadCrumbPayloadGetPersonalBreadCrumbAnswer查詢個人擁有的權限BreadCrumb (path = Role -> Policy -> Permission),可查詢自己或他人
GetPersonalPermissionsGetPersonalPermissionsPayloadGetPersonalPermissionsAnswer查詢個人所有的permission,可查詢自己或他人
GetAllPermissionGetAllPermissionPayloadGetAllPermissionAnswer查詢所有permission 若attachable設為true,則是查詢可貼到role或policy上的permission (目前是自身擁有的皆可,所以查詢結果會和GetPersonalPermissions相同)
CheckPermissionsCheckPermissionsPayloadCheckPermissionsAnswer給持有限制資源的back-end確認權限使用

pan/dotdot/v1/policy/command.proto

CreatePolicyAnswer

error -> Internal | InvalidArgument | PermissionDenied | Unauthenticated | Error_MemberNotFound | Error_HierarchyOverHeight | Error_NameDuplicated | Error_PolicyNotFound | Error_PermissionNotFound

FieldTypeLabelDescription
policy_idint64

CreatePolicyPayload

FieldTypeLabelDescription
admin_tokenstring
namestring
display_namestring
purposestring
policy_idsint64repeated
permission_idsint64repeated

DeletePolicyAnswer

error -> Internal | InvalidArgument | PermissionDenied | Unauthorized | Error_PolicyNotFound

DeletePolicyPayload

FieldTypeLabelDescription
admin_tokenstring
policy_idint64要刪除的policy的id

UpdatePolicyAnswer

error -> Internal | InvalidArgument | PermissionDenied | Unauthorized | Error_PolicyNotFound | Error_MemberNotFound | Error_ChildHierarchyOverHeight | Error_HierarchyOverHeight | Error_NameDuplicated

UpdatePolicyPayload

FieldTypeLabelDescription
admin_tokenstring
policy_idint64要更新的policy的id
namestring
display_namestring
purposestring
policy_idsint64repeated
permission_idsint64repeated

Command

Method NameRequest TypeResponse TypeDescription
CreatePolicyCreatePolicyPayloadCreatePolicyAnswer只限「root」或是「擁有PolicyOperation的auth member」可調用 作為children的policies和permissions不可皆為空 可賦予的policies和permissions限定在「自身擁有的roles有直接關聯的policy或permission」 child policy不可超過指定樹高,目前為1 (即child policy下面不可再關聯policy)
UpdatePolicyUpdatePolicyPayloadUpdatePolicyAnswer只限「root」或是「擁有PolicyOperation、且為該policy的創建者的auth member」可調用 作為children的policies和permissions不可皆為空 可賦予的policies和permissions限定在「自身擁有的roles有直接關聯的policy或permission」 child policy不可超過指定樹高,目前為1 (即child policy下面不可再關聯policy) 要更新的Policy和child policy不可是相同樹高
DeletePolicyDeletePolicyPayloadDeletePolicyAnswer只限「root」或是「擁有PolicyOperation、且為該policy的創建者的auth member」可調用

pan/dotdot/v1/policy/query.proto

GetAllPolicyAnswer

error -> Internal | InvalidArgument | PermissionDenied

FieldTypeLabelDescription
policiespan.dotdot.v1.base.GenericNoderepeated
totalint64總數

GetAllPolicyPayload

FieldTypeLabelDescription
admin_tokenstring
attachablebool若設定為true,則只查詢自己有資格賦予到role上的
namestring模糊比對policy name
display_namestring模糊比對policy display_name
pageint32頁數
sizeint32

GetPolicyBreadCrumbAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_MemberNotFound

FieldTypeLabelDescription
node_matrixpan.dotdot.v1.base.NodeListrepeated

GetPolicyBreadCrumbPayload

FieldTypeLabelDescription
admin_tokenstring
policy_idint64要查詢的policy的id

GetPolicyDetailAnswer

error -> Internal | InvalidArgument | PermissionDenied

FieldTypeLabelDescription
idint64policy的id
namestring名稱
display_namestring顯示名稱
purposestring補充描述
permissionsint64repeated向下直接關聯的所有permission的id
policiesint64repeated向下直接關聯的所有policy的id

GetPolicyDetailPayload

FieldTypeLabelDescription
admin_tokenstring
policy_idint64要查詢的policy的id

GetPolicyTreeAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_MemberNotFound

FieldTypeLabelDescription
policypan.dotdot.v1.base.Policy

GetPolicyTreePayload

FieldTypeLabelDescription
admin_tokenstring
policy_idint64要查詢的policy的id

Query

Method NameRequest TypeResponse TypeDescription
GetAllPolicyGetAllPolicyPayloadGetAllPolicyAnswer查詢全部role 若attachable設為true,則只返回自己可attach到role上的policy (目前條件為自己擁有的policy)
GetPolicyDetailGetPolicyDetailPayloadGetPolicyDetailAnswer查詢單一policy的資料,children僅顯示直接關聯者、以id表示
GetPolicyTreeGetPolicyTreePayloadGetPolicyTreeAnswer查詢單一policy到leaf為止的Tree (path = Policy -> Permission)
GetPolicyBreadCrumbGetPolicyBreadCrumbPayloadGetPolicyBreadCrumbAnswer查詢單一policy到leaf為止的BreadCrumb (path = Policy -> Permission)

pan/dotdot/v1/role/command.proto

AttachRoleAnswer

error -> Internal | InvalidArgument | PermissionDenied | Unauthorized | Error_AssignerNotFound | Error_ReceiverNotFound | Error_RoleNotFound

AttachRolePayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstringdotdot內部的帳號識別id
role_idsint64repeated

CreateRoleAnswer

error -> Internal | InvalidArgument | PermissionDenied | Unauthorized | Error_MemberNotFound | Error_NameDuplicated | Error_PolicyNotFound | Error_PermissionNotFound

FieldTypeLabelDescription
role_idint64新創建的role的id

CreateRolePayload

FieldTypeLabelDescription
admin_tokenstring
namestring
display_namestring
purposestring
policy_idsint64repeated
permission_idsint64repeated

DeleteRoleAnswer

error -> Internal | InvalidArgument | PermissionDenied | Unauthorized | Error_RoleNotFound

DeleteRolePayload

FieldTypeLabelDescription
admin_tokenstring
role_idint64要刪除的role的id

DetachRoleAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_AssignerNotFound | Error_ReceiverNotFound | Error_RoleNotFound

DetachRolePayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstringdotdot內部的帳號識別id
role_idsint64repeated

UpdateRoleAnswer

error -> Internal | InvalidArgument | PermissionDenied | Unauthorized | Error_RoleNotFound | Error_MemberNotFound | Error_NameDuplicated

UpdateRolePayload

FieldTypeLabelDescription
admin_tokenstring
role_idint64要更新的role的id
namestring
display_namestring
purposestring
policy_idsint64repeated
permission_idsint64repeated

Command

Method NameRequest TypeResponse TypeDescription
AttachRoleAttachRolePayloadAttachRoleAnswer只限「root」或是「擁有RoleOperation的auth member」可調用 可賦予的範圍只限於自身擁有的role
DetachRoleDetachRolePayloadDetachRoleAnswer只限「root」或是「當初attach該role給該auth member」的auth member可調用
CreateRoleCreateRolePayloadCreateRoleAnswer只限「root」或是「擁有RoleOperation的auth member」可調用 作為children的policies和permissions不可皆為空 可賦予的policies和permissions限定在「自身擁有的roles有直接關聯的policy或permission」
UpdateRoleUpdateRolePayloadUpdateRoleAnswer只限「root」或是「擁有RoleOperation、且為該role的創建者的auth member」可調用 作為children的policies和permissions不可皆為空 可賦予的policies和permissions限定在「自身擁有的roles有直接關聯的policy或permission」
DeleteRoleDeleteRolePayloadDeleteRoleAnswer只限「root」或是「擁有RoleOperation、且為該role的創建者的auth member」可調用

pan/dotdot/v1/role/query.proto

GetAllRoleAnswer

error -> Internal | InvalidArgument | PermissionDenied

FieldTypeLabelDescription
rolespan.dotdot.v1.base.GenericNoderepeated
totalint64總數

GetAllRolePayload

FieldTypeLabelDescription
admin_tokenstring
attachablebool若設定為true,則只查詢自己可以賦予給其他帳號的role
namestring模糊比對role name
display_namestring模糊比對role display_name
pageint32頁數
sizeint32

GetPersonalRolesAnswer

error -> Internal | InvalidArgument | PermissionDenied

FieldTypeLabelDescription
rolespan.dotdot.v1.base.Rolerepeated

GetPersonalRolesPayload

FieldTypeLabelDescription
admin_tokenstring
dot_idstring若dot_id為空,則會查詢admin_token之dot_id

GetRoleBreadCrumbAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_MemberNotFound

FieldTypeLabelDescription
node_matrixpan.dotdot.v1.base.NodeListrepeated

GetRoleBreadCrumbPayload

FieldTypeLabelDescription
admin_tokenstring
role_idint64要查詢的role的id

GetRoleDetailAnswer

error -> Internal | InvalidArgument | PermissionDenied

FieldTypeLabelDescription
idint64
namestring名稱
display_namestring顯示名稱
purposestring補充描述
permissionsint64repeated向下直接關聯的permission的id
policiesint64repeated向下直接關聯的policy的id
creator_idstringrole的創建者的id

GetRoleDetailPayload

FieldTypeLabelDescription
admin_tokenstring
role_idint64要查詢的role的id

GetRoleTreeAnswer

error -> Internal | InvalidArgument | PermissionDenied | Error_MemberNotFound

FieldTypeLabelDescription
rolepan.dotdot.v1.base.Role

GetRoleTreePayload

FieldTypeLabelDescription
admin_tokenstring
role_idint64要查詢的role的id

Query

Method NameRequest TypeResponse TypeDescription
GetAllRoleGetAllRolePayloadGetAllRoleAnswer查詢全部role 若attachable設為true,則只顯示自己「可attach給別人」的role (目前條件為自己擁有的roles)
GetRoleDetailGetRoleDetailPayloadGetRoleDetailAnswer查詢單一role的資料,children僅顯示直接關聯者、以id表示
GetRoleTreeGetRoleTreePayloadGetRoleTreeAnswer查詢單一role到leaf為止的Tree (path = Role -> Policy -> Permission)
GetRoleBreadCrumbGetRoleBreadCrumbPayloadGetRoleBreadCrumbAnswer查詢單一role到leaf為止的BreadCrumb (path = Role -> Policy -> Permission)
GetPersonalRolesGetPersonalRolesPayloadGetPersonalRolesAnswer查詢某auth member所包含的所有role,不包含role的children

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)