В этой статье я опишу то как я реализовала все необходимое для отображения, добавления и удаления категорий.
Это продолжение истории о создании проекта планировщик, предыдущие части: часть 1, часть 2, часть 3
Для проекта я выбрала БД Postgre, чтобы подключаться и получать данные из таблиц я использовала библиотеку pg. А также библиотеку node-pg-migrate для миграций - чтобы одной командой поддерживать актуальное состояние БД.
Все запросы к базе данных происходят через единую точку входа - db/index.ts.
Все запросы выполняются через метод query. Метод select будет возвращать массив строк. Также есть утил
Порядок создания новой сущности следующий: создать миграцию; описать модель category; сделать сервис, реализующий работу с БД; сделать класс resolver, который будет обрабатывать query/mutation запросы и вызывать соответсвующие методы в сервисе.
Для хранения категорий пока достаточно следующих полей: id, title, created. В поле created будет хранится дата создания, пока не уверена что оно нужно, но решила все таки сделать, возможно нужна будет информаци о том когда была создана категория.
Сервис для категорий реализует 3 метода - получение всех категорий, создание категории, удаление категории. В дальнейшем нужно будет сделать редактирование, но это буду делать позже.
В итоге мы получаем один запрос и 2 мутации. И теперь с помощью graphiql можно проверить что получилось.
Продолжение следует...