. */ namespace SP\Domain\Account\In; use SP\Core\Exceptions\ConstraintException; use SP\Core\Exceptions\QueryException; use SP\Domain\Common\In\RepositoryInterface; use SP\Infrastructure\Database\QueryResult; /** * Class AccountToUserRepository * * @package SP\Infrastructure\Account\Repositories */ interface AccountToUserRepositoryInterface extends RepositoryInterface { /** * Eliminar la asociación de grupos con cuentas. * * @param int $id con el Id de la cuenta * @param bool $isEdit * * @return void * @throws ConstraintException * @throws QueryException */ public function deleteTypeByAccountId(int $id, bool $isEdit): void; /** * Crear asociación de usuarios con cuentas. * * @param int $accountId * @param array $items * @param bool $isEdit * * @return void * @throws \SP\Core\Exceptions\ConstraintException * @throws \SP\Core\Exceptions\QueryException */ public function addByType(int $accountId, array $items, bool $isEdit): void; /** * Eliminar la asociación de grupos con cuentas. * * @param int $id con el Id de la cuenta * * @return bool * @throws ConstraintException * @throws QueryException */ public function deleteByAccountId(int $id): bool; /** * Obtiene el listado de usuarios de una cuenta. * * @param int $id con el id de la cuenta * * @return QueryResult * @throws ConstraintException * @throws QueryException */ public function getUsersByAccountId(int $id): QueryResult; }