AutoCatGnome/services/Api.h

34 lines
670 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 <folly/futures/Future.h>
#include <folly/experimental/coro/Task.h>
#include "../models/User.h"
#include "../coro/Coro.h"
namespace fc = folly::coro;
class Api {
private:
static const std::string _baseUrl;
static SoupSession* _session;
private:
template<typename T>
static folly::Future<T> post(const std::string& method, const nlohmann::json& params);
public:
static fc::Task<User> login(std::string email, std::string password);
};
#endif //AUTOCAT_GNOME_API_H