File

teal-src/util/roles.d.tl @ 12701:8e402a2ae1b8

util.jwt: Overhaul of tests to use declarative approach Now we can consistently apply the same tests to every algorithm, instead of duplicating code.
author Matthew Wild <mwild1@gmail.com>
date Sat, 02 Jul 2022 14:22:20 +0100
parent 12661:1c391c17a907
line wrap: on
line source

local record util_roles

	type context = any

	record Role
		id : string
		name : string
		description : string
		default : boolean
		priority : number -- or integer?
		permissions : { string : boolean }

		may : function (Role, string, context)
		clone : function (Role, role_config)
		set_permission : function (Role, string, boolean, boolean)
	end

	is_role : function (any) : boolean

	record role_config
		name : string
		description : string
		default : boolean
		priority : number -- or integer?
		inherits : { Role }
		permissions : { string : boolean }
	end

	new : function (role_config, Role) : Role
end

return util_roles