AutoCatGnome/services/Api.h

33 lines
633 B
C++

//
// Created by selim on 03.01.2022.
//
#ifndef AUTOCAT_GNOME_API_H
#define AUTOCAT_GNOME_API_H
#include <string>
#include <libsoup/soup.h>
#include <nlohmann/json.hpp>
#include <concurrencpp/concurrencpp.h>
#include "../models/User.h"
#include "../coro/Coro.h"
namespace cc = concurrencpp;
class Api {
private:
static const std::string _baseUrl;
static SoupSession* _session;
private:
template<typename T>
static cc::result<T> post(const std::string& method, const nlohmann::json& params);
public:
static cc::result<User> login(std::string email, std::string password);
};
#endif //AUTOCAT_GNOME_API_H