package dev.inmo.postssystem.features.roles.manager.server

import dev.inmo.postssystem.features.roles.common.*
import dev.inmo.postssystem.features.roles.manager.common.GeneralRolesManagerRole
import dev.inmo.postssystem.features.roles.server.RolesChecker
import dev.inmo.postssystem.features.users.common.User
import io.ktor.application.ApplicationCall

object RolesManagerRolesChecker : RolesChecker<Role> {
    override val key: String
        get() = "RolesManagerRolesChecker"

    override suspend fun ApplicationCall.invoke(
        usersRolesStorage: ReadRolesStorage<Role>,
        user: User
    ): Boolean = usersRolesStorage.contains(user.id, GeneralRolesManagerRole)
}
