]> WPIA git - cassiopeia.git/blob - src/database.h
e719df63628ba2923b6a7b3b0088eff0b56390e3
[cassiopeia.git] / src / database.h
1 #pragma once
2
3 #include <string>
4 #include <memory>
5
6 struct Job {
7     std::string id;
8     std::string target;
9     std::string task;
10     std::string from;
11     std::string to;
12 };
13 struct TBSCertificate {
14     std::string CN;
15     std::string subj;
16     std::string md;
17     std::string profile;
18     std::string csr;
19     std::string csr_type;
20 };
21
22 class JobProvider {
23 public:
24     virtual std::shared_ptr<Job> fetchJob() = 0;
25     virtual bool finishJob( std::shared_ptr<Job> job ) = 0;
26     virtual std::shared_ptr<TBSCertificate> fetchTBSCert( std::shared_ptr<Job> job ) = 0;
27 };