Skip to content

alkosuv/todo-rest-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Todo

Todo REST API server on golang

URL

URL Method Description
/api/v1/sessions post Создать сессию
delete Удалить сессию
/api/v1/users post Регистрация пользователя
/api/v1/private/todos get Получить все задачи пользователя
post Добавить задачу
/api/v1/private/todos/(todoID) patch Обновить данные задачи
delete Удалить задачу
/api/v1/private/todos/find?completed=false post Получить завершённые (false) или активные (true) задачи
/api/v1/private/todos/count get Получить количество записей в таблице
/api/v1/private/todos/find/count?completed=true get Получить количество завершённых (false) или активных (true) задач
/api/v1/private/users get Получить данные пользователя (авторизованного)
patch Обновить данные пользователя

Описание

  • /api/v1/sessions - post
{
    "login": "user0",
    "password": "12345"
}
  • /api/v1/users - post
{
    "login": "user0",
    "password": "12345"
}
  • api/v1/private/todos - post
{
    "title": "Title"
}
  • api/v1/private/todos - patch
{
    "column": "completed",
    "value": "true"
}
{
    "column": "title",
    "value": "new title"
}
  • api/v1/private/users - patch
{
    "column": "name",
    "value": "name"
}
{
    "column": "password",
    "value": "password"
}

Makefile

Команды работают на linux и mac os

Для корректной работы make необходимо заполнить поля в Makefile для доступа к БД

user = ""
password = ""
host = ""
port = ""
sslmode = ""
db_dev = ""
db_test = ""
  • Собрать и запустить проект
    $ make
  • Собрать и запустить проект (default)
    $ make start
  • Собрать проект
    $ make build
  • Запустить тесты
    $ make test
  • Создать миграцию
    $ make migrate-create
  • Создать таблицы для баз test и dev
    $ make migrate-up
  • Создать таблицы для dev
    $ make migrate-dev-up
  • Создать таблицы для test
    $ make migrate-test-up
  • Удалить таблицы в dev и test
    $ make migrate-down
  • Удалить таблицу dev
    $ make migrate-dev-down
  • Удалить таблицу test
    $ make migrate-test-down

Setting project

Создать в корне файл .env и добавить поля.

    BIND_ADDR = ""
    LOG_LEVEL = ""
    SESSION_KEY = ""

    DB_HOST = ""
    DB_PORT = ""
    DB_USER = ""
    DB_PASSWORD = ""
    DB_DATABASE = ""
    DB_SSLMODE = ""

Tests

Test

Для запуска тестов необходимо создать файл .env и добавить поля

DB_TEST_HOST = "192.168.0.20"
DB_TEST_PORT = "5432"
DB_TEST_USER = "postgres"
DB_TEST_PASSWORD = "0000"
DB_TEST_DATABASE = "todo_test"
DB_TEST_SSLMODE = "disable"

About

todo REST API server on golang

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published