File

teal-src/util/roles.d.tl @ 12673:2d330edf8bf2

CHANGES: Add role auth
author Matthew Wild <mwild1@gmail.com>
date Mon, 22 Aug 2022 13:03:10 +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