#ifndef ROLES_REPOSITORY_H #define ROLES_REPOSITORY_H #include "base_sql_table_repository.h" #include "roles_repository_interface.h" #include class RolesRepository : public RolesRepositoryInterface, public BaseSqlTableRepository { public: explicit RolesRepository(QSqlDatabase &database, QObject *parent); // CRUD operations // clang-format off RepositoryResult createRole(const CreateRoleRequest &request) override; RepositoryResult getRoleById(qint32 roleId, RoleDTO &role) const override; RepositoryResult getAllRoles(QVector &roles) const override; RepositoryResult updateRole(const UpdateRoleRequest &request) override; RepositoryResult deleteRoleById(qint32 roleId) override; // clang-format on private: RoleDTO mapQueryToDTO(const QSqlQuery &query) const; }; #endif // ROLES_REPOSITORY_H