database.hpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "entities.hpp"
  3. #include <sqlite3.h>
  4. #include <string>
  5. #include <iostream>
  6. #include <array>
  7. namespace db {
  8. // Путь к базе данных
  9. static std::string db_path;
  10. // Записывает путь к базе данных в db_path
  11. void databaseInit(std::string filename);
  12. // Открывает подключение к БД
  13. int databaseOpen();
  14. // Закрывает подключение к БД
  15. void databaseClose();
  16. // Создаёт необходимые таблицы
  17. void createTables();
  18. // Получает видео по его youtube id. Возвращает true, если видео было
  19. // найдено
  20. bool getVideoByYTID(std::string yt_id, video* output);
  21. // Получает автора видео по его youtube id. Возвращает true, если автор был
  22. // найден
  23. bool getAuthorByYTID(std::string yt_id, author* output);
  24. // Добавляет видео в базу данных. Заполняет свойство id при добавлении
  25. void addVideo(video* v);
  26. // Добавляет видео в базу данных
  27. void addAuthor(author* a);
  28. }