from api_graphql.abc.input_abc import InputABC


class GroupCreateInput(InputABC):

    def __init__(self, src: dict):
        InputABC.__init__(self, src)

        self._user_space_id = self.option("userSpaceId", int, required=True)
        self._name = self.option("name", str, required=True)
        self._roles = self.option("roles", list[int])

    @property
    def user_space_id(self) -> int:
        return self._user_space_id

    @property
    def name(self) -> str:
        return self._name

    @property
    def roles(self) -> list[int]:
        return self._roles
