Conscience Core
CscWebServices.h
Go to the documentation of this file.
1 #ifndef CscWebServices_H
2 #define CscWebServices_H
3 
4 #include "Util/conscience_util.h"
5 
6 using namespace conscience_utils;
7 
9 
10 ENUM(CscEnvironment,
11  Local, Latest, Preproduction, Production);
12 
13 struct WebService {
14  string protocol;
15  string host;
16  int port;
17  string path = "";
18 
19  string toUrl() const;
20 };
21 
23 public:
24  static CscWebServices *getInstance();
25 
26  const WebService &getIntelligencesDb() const;
27  const WebService &getUsersDb() const;
28  const WebService &getConnectBackend() const;
29  const WebService &getAiApiService() const;
30 
31  static void setEnvironment(CscEnvironment env);
32 
33  static CscEnvironment getEnvironment();
34 
35 private:
36  const WebService intelligencesDb;
37  const WebService usersDb;
38  const WebService connectBackend;
39  const WebService aiApiService;
40  // IMPORTANT : do not modify this line -> deployment process uses it to change environment
41  inline static CscEnvironment environment = CscEnvironment::Latest;
42  inline static bool environmentLoaded = false;
43  inline static CscWebServices *instance = nullptr;
44 
45  static void saveEnvironment(CscEnvironment env);
46  static void loadEnvironment();
47 
48  inline static const string AI_API_HOST = "agent.conscience.live";
49  inline static const string AI_API_PATH_BASE = "/webhook/care-image-analyzer";
50 
51  CscWebServices(const WebService &intelligencesDb, const WebService &usersDb, const WebService &connectBackend, const WebService &aiApiService);
52 };
53 }
54 
55 #endif
conscience_util.h
conscience_core::bridging::webservices::ENUM
ENUM(CscEnvironment, Local, Latest, Preproduction, Production)
conscience_core::bridging::webservices::WebService::protocol
string protocol
Definition: CscWebServices.h:14
conscience_core::bridging::webservices::WebService::host
string host
Definition: CscWebServices.h:15
conscience_core::bridging::webservices
Definition: CoreAuthenticator.cpp:22
conscience_server::entities::instance
ServerEntities * instance
Definition: ServerEntities.cpp:39
conscience_utils
Definition: CscEntityReflexion.h:50
conscience_core::bridging::webservices::WebService
Definition: CscWebServices.h:13
conscience_core::bridging::webservices::WebService::port
int port
Definition: CscWebServices.h:16
conscience_core::bridging::webservices::CscWebServices
Definition: CscWebServices.h:22