MCPcopy Create free account

hub / github.com/LimitlessDonald/permitta / functions

Functions30 in github.com/LimitlessDonald/permitta

↓ 5 callersMethodsetDefaultLimits
setDefaultLimits is useful for setting the default batch limit to 1 if its 0, because batch limit can't be unlimited
permissions.go:62
↓ 3 callersFunctionIsEntityOperationPermitted
(operation string, entityPermissions Permission)
permissions.go:442
↓ 3 callersFunctionisEntityValid
(entityName string)
permissions.go:661
↓ 3 callersFunctionstringToPositiveIntegerOrZero
(s string)
permissions.go:1229
↓ 2 callersFunctionNotationToPermission
TODO add a way to write this permissions in shorthand , both for obscurity and quick writing of permissions Then write a function to intepreter that s
permissions.go:750
↓ 2 callersMethodgetBatchLimit
getBatchLimit is useful for setting the default batch limit to 1 if its 0, because batch limit can't be unlimited
permissions.go:54
↓ 2 callersFunctiongetEntityPermission
(entityName string, permissionRequestData PermissionRequestData)
permissions.go:609
↓ 2 callersFunctiongetEntityPermissionOrder
(permissionOrder string)
permissions.go:571
↓ 2 callersFunctionisOperationValid
(operation string)
permissions.go:553
↓ 2 callersMethodsanitizeDurationUsage
sanitizeDurationUsage is a setter to "sanitize" value of the usage durations We need limit duration setters because their value can't always be trust
permissions.go:91
↓ 1 callersFunctionGetOperationLimits
(operation string, permission Permission)
permissions.go:485
↓ 1 callersFunctionIsOperationPermitted
(permissionRequestData PermissionRequestData)
permissions.go:163
↓ 1 callersFunctionIsOperationPermittedWithUsage
todo [LATER] optimise this function , its looping through the permissions twice IsOperationPermittedWithUsage is a function to check if operation is p
permissions.go:216
↓ 1 callersFunctionfirstLetterToUppercase
(s string)
permissions.go:566
↓ 1 callersFunctiongetEntityPermissionUsage
(entityName string, usageRequestData PermissionWithUsageRequestData)
permissions.go:635
↓ 1 callersFunctiongetNotationOperationCustomLimitValue
getNotationOperationCustomLimitValue receives limit data like "custom:[per_5_minutes_10&per_2_month_90]"
permissions.go:1039
↓ 1 callersFunctiongetNotationOperationLimitAndValue
getNotationOperationLimitAndValue receives limit data like "week:5" or "batch:3"
permissions.go:990
↓ 1 callersFunctiongetNotationOperationLimits
(operationLimitsString string)
permissions.go:1092
↓ 1 callersFunctionremoveAllWhiteSpaces
(s string)
permissions.go:1246
↓ 1 callersFunctionreplaceLastOccurrence
(s, old, new string)
permissions.go:674
↓ 1 callersFunctionsanitizeNotation
sanitizeNotation is a function that "cleans up " notations and remove unnecessary sections , it doesn't validate, it only cleans up
permissions.go:683
FunctionGetOperationLimitsHumanFriendly
GetOperationLimitsHumanFriendly outputs the limits in a map of human friendly format. For example, since 0 denotes "unlimited", we want to literally h
permissions.go:533
FunctionGetOperationUsages
(operation string, permissionUsage PermissionUsage)
permissions.go:506
FunctionRequestMethodToOperation
RequestMethodToOperation receives a valid HTTP request method and converts it to an operation, using the standard REST conventions of : POST => creat
permissions.go:1210
FunctionTestIsEntityOperationPermitted
func TestNotationToPermission(t *testing.T) { notationString := "cr-d-|c=all:20|r=all:10,batch:4,minute:3,hour:5,day:70,week:400,fortnight:600,month:
permissions_test.go:171
FunctionTestIsOperationPermitted
(t *testing.T)
permissions_test.go:106
FunctionTestIsOperationPermittedWithUsage
(t *testing.T)
permissions_test.go:123
FunctionTestPlayground
(t *testing.T)
permissions_test.go:182
FunctionUpdateUsage
(updateUsageData UpdateUsageData, usage PermissionUsage)
permissions.go:1261
FunctiongetCustomLimitsNotationValues
(customLimitValue string)
permissions.go:1080