Текущие таски - noilpa/technopark GitHub Wiki
На этой странице собрано описание текущих тасков
Анечка
Написать хендлер для авторизации с выдачей токена, деавторизации и регистрации, а также функцию для получения username
по токену.
Запрос POST /auth/
:
params["login"] = "sheldon"
params["pass"] = "iloveamy"
Успех
{
"token" : "токен"
}
Ошибка
{
"error_description" : "описание ошибки"
}
Запрос POST /signup/
:
params["login"] = "sheldon"
params["email"] = "[email protected]"
params["pass"] = "iloveamy"
Успех
{
"token" : "токен"
}
Ошибка
{
"error_description" : "описание ошибки"
}
Функция getUsernameByToken
func getUsernameByToken (token string) string {
}
Илья
Написать общий хендлер, который парсит запрос и в разобранном виде направляет его функции query
.
Функция query
объявлена так:
func query (responseType int, requestType int, params map[string]string, conditions []condition) {
}
Пройдемся по каждому из аргументов:
responseType
определяет тип ответа и принимает одну из следующих констант:
const (
StringArray = 0
DictArray = 1
Dict = 2
)
StringArray - массив строк, например:
["firstDatabase", "secondDatabase", "thirdDatabase"]
DictArray - массив словарей (JSON), например:
[
{
"name" : "Sheldon",
"age" : 42
},
...
]
Dict - один словарь (JSON), например:
{
"name" : "Sheldon",
"age" : 42
}
requestType
определяет тип запроса и принимает одну из следующих констант:
const (
DatabasesList = 0
TablesList = 1
WholeTable = 2
TableQuery = 3
InsertElement = 4
TableElement = 5
RemoveElement = 6
CreateTable = 7
CreateDatabase = 8
RemoveTable = 9
RemoveDatabase = 10
)
Все запросы описаны в Markdown файле из чата. Виды запросов:
1) Вид ответа: Список строк
1.1) Возвращает список баз данных = DatabasesList
1.2) Возвращает список таблиц в базе данных = TablesList
2) Вид ответа: Список словарей (JSON)
2.1) Возвращает всю таблицу = WholeTable
2.2) Запрос элементов таблицы с условием = TableQuery
3) Вид ответа: Словарь
3.1) Добавление элемента в таблицу = InsertElement
3.2) Возвращает элемент таблицы по идентификатору = TableElement
3.3) Удаление элемента из таблицы = RemoveElement
3.4) Создание таблицы = CreateTable
3.5) Создание базы данных = CreateDatabase
3.6) Удаление таблицы = RemoveTable
3.7) Удаление базы данных = RemoveDatabase
- В словаре
params
передаются параметры, необходимые для выполнения запроса. Ключи - строки, следующие константы:
const (
DatabaseName = "DatabaseName"
TableName = "TableName"
ElementIdentifier = "ElementIdentifier"
)
В случае отсутствия параметров передается пустой словарь или nil
.
- Слайс условий. Условия записываются в виде массива таких структур:
type condition struct {
fieldName string
operator int
value int
}
Поле operator
принимает следующие константы:
const (
Less = 0
LessOrEqual = 1
More = 2
MoreOrEqual = 3
Equal = 4
)