#ifndef SQLSCHEMA_INSERT_HPP
#define SQLSCHEMA_INSERT_HPP

#include <string>
#include <vector>

#include "SqlSchema.hpp"

#include "fitsfiles.hpp" // Hdu needed
#include "ObsCoreKeys.hpp"


std::string createPubdid(const std::string path, const std::string filename, unsigned int hdunum);

class SqlSchema_INSERT : public SqlSchema
{
   public:

      void appendRow(
            // mandatory
            const int calib_level,
            const std::string& obs_collection,
            const std::string& obs_id,
            const std::string& obs_publisher_did,
            // optional
            const std::string& obs_title,
            const std::string& bib_reference,
            const std::string& dataproduct_type,
            const std::string& o_ucd,

            const std::string& access_url,
            const std::string& access_format,
            const uintmax_t access_estsize,

            const fitsfiles::Hdu& hdu,

            // vlkb extra
            const double rest_frequency,
            const std::string& auth_policy,
            const std::string& auth_groups);


      std::vector<std::string> getINSERT(void);

};


#endif
