<?xml version="1.0" encoding="UTF-8"?>
<Roles>
	<Role name="agent">
		<Privilege name="li.strolch.privilege.handler.SystemAction" policy="DefaultPrivilege">
			<Allow>li.strolch.runtime.privilege.StrolchSystemAction</Allow>
			<Allow>li.strolch.runtime.privilege.StrolchSystemActionWithResult</Allow>
			<Allow>li.strolch.persistence.postgresql.PostgreSqlSchemaInitializer</Allow>
		</Privilege>
		<Privilege name="li.strolch.service.api.Service" policy="DefaultPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="li.strolch.model.query.StrolchQuery" policy="DefaultPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="li.strolch.search.StrolchSearch" policy="DefaultPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>

		<Privilege name="GetResource" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="GetOrder" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="GetActivity" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="AddResource" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="AddOrder" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="AddActivity" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="UpdateResource" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="UpdateOrder" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="UpdateActivity" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="RemoveResource" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="RemoveOrder" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="RemoveActivity" policy="ModelPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
	</Role>

	<Role name="AppUser">
		<Privilege name="li.strolch.service.api.Service" policy="DefaultPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="li.strolch.model.query.StrolchQuery" policy="DefaultPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="li.strolch.search.StrolchSearch" policy="DefaultPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>

		<Privilege name="GetResource" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="GetOrder" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="GetActivity" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="AddResource" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="AddOrder" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="AddActivity" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="UpdateResource" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="UpdateOrder" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="UpdateActivity" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="RemoveResource" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="RemoveOrder" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
		<Privilege name="RemoveActivity" policy="ModelPrivilege">
			<Allow>Bike</Allow>
		</Privilege>
	</Role>

	<Role name="PrivilegeAdmin">
		<Privilege name="li.strolch.service.api.Service" policy="DefaultPrivilege">
			<Allow>li.strolch.service.privilege.users.PrivilegeUpdateUserService</Allow>
			<Allow>li.strolch.service.privilege.users.PrivilegeUpdateUserRolesService</Allow>
			<Allow>li.strolch.service.privilege.users.PrivilegeSetUserPasswordService</Allow>
			<Allow>li.strolch.service.privilege.users.PrivilegeSetUserLocaleService</Allow>
			<Allow>li.strolch.service.privilege.users.PrivilegeRemoveUserService</Allow>
			<Allow>li.strolch.service.privilege.users.PrivilegeRemoveRoleFromUserService</Allow>
			<Allow>li.strolch.service.privilege.users.PrivilegeAddUserService</Allow>
			<Allow>li.strolch.service.privilege.users.PrivilegeAddRoleToUserService</Allow>
			<Allow>li.strolch.service.privilege.roles.PrivilegeUpdateRoleService</Allow>
			<Allow>li.strolch.service.privilege.roles.PrivilegeRemoveRoleService</Allow>
			<Allow>li.strolch.service.privilege.roles.PrivilegeRemovePrivilegeFromRoleService</Allow>
			<Allow>li.strolch.service.privilege.roles.PrivilegeAddRoleService</Allow>
			<Allow>li.strolch.service.privilege.roles.PrivilegeAddOrReplacePrivilegeOnRoleService</Allow>
		</Privilege>
		<Privilege name="PrivilegeAddUser" policy="UserAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeRemoveUser" policy="UserAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="InvalidateSession" policy="UserSessionAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeSetUserPassword" policy="UserAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="RequirePasswordChange" policy="UserAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeSetUserLocale" policy="UserAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeAction" policy="DefaultPrivilege">
			<Allow>Reload</Allow>
			<Allow>GetPolicies</Allow>
			<Allow>Persist</Allow>
			<Allow>GetCertificates</Allow>
			<Allow>PersistSessions</Allow>
		</Privilege>
		<Privilege name="PrivilegeGetUser" policy="UserAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeSetUserState" policy="UserAccessPrivilege">
			<Deny>SYSTEM</Deny>
			<Allow>DISABLED</Allow>
			<Allow>ENABLED</Allow>
		</Privilege>
		<Privilege name="PrivilegeAddRoleToUser" policy="UserAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeGetRole" policy="RoleAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="GetSession" policy="UserSessionAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeModifyUser" policy="UserAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeRemoveRole" policy="RoleAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeRemoveRoleFromUser" policy="UserAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeModifyRole" policy="RoleAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
		<Privilege name="PrivilegeAddRole" policy="RoleAccessPrivilege">
			<AllAllowed>true</AllAllowed>
		</Privilege>
	</Role>
</Roles>
