#pragma once
#include <filesystem>
#include <cstdint>
#include <memory>
#include <string>
#include <mw/error.hpp>
#include "data.h"
/// Open, migrate, and reconcile the data source before server startup.
mw::E<std::unique_ptr<DataSourceInterface>> prepareDataSource(
const std::filesystem::path& database_path,
const std::string& administrator_email = "admin@example.com",
const std::string& administrator_email_key = "admin@example.com",
std::int64_t now = 0,
std::int64_t utc_day = 0);