You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#pragma once
|
|
|
|
|
#include <experimental/filesystem>
|
|
|
|
|
#include <json.hpp>
|
|
|
|
|
|
|
|
|
|
namespace fs = std::experimental::filesystem;
|
|
|
|
|
|
|
|
|
|
class with_data_directory {
|
|
|
|
|
void create_data_directory();
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
with_data_directory();
|
|
|
|
|
static const fs::path &get_data_path();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class data_validator {
|
|
|
|
|
json err = json::object({
|
|
|
|
|
{"name", json::array()},
|
|
|
|
|
{"address", json::array()},
|
|
|
|
|
{"phone", json::array()},
|
|
|
|
|
{"email", json::array()},
|
|
|
|
|
});
|
|
|
|
|
int count = 0;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
bool validate(const json &);
|
|
|
|
|
const json &errors();
|
|
|
|
|
};
|