MCPcopy Create free account
hub / github.com/Adaptix-Framework/AdaptixC2 / checkDatabase

Method checkDatabase

AdaptixClient/Source/Client/Storage.cpp:43–94  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41}
42
43void Storage::checkDatabase()
44{
45 auto queryProjects = QSqlQuery(QSqlDatabase::database(DB_CONNECTION_NAME));
46 queryProjects.prepare("CREATE TABLE IF NOT EXISTS Projects ( "
47 "project TEXT UNIQUE PRIMARY KEY, "
48 "data TEXT );"
49 );
50 if ( !queryProjects.exec() )
51 LogError("Table PROJECTS not created: %s\n", queryProjects.lastError().text().toStdString().c_str());
52
53
54
55 auto queryExtensions = QSqlQuery(QSqlDatabase::database(DB_CONNECTION_NAME));
56 queryExtensions.prepare("CREATE TABLE IF NOT EXISTS Extensions ( "
57 "filepath TEXT UNIQUE PRIMARY KEY, "
58 "enabled BOOLEAN );"
59 );
60 if ( !queryExtensions.exec() )
61 LogError("Table EXTENSIONS not created: %s\n", queryExtensions.lastError().text().toStdString().c_str());
62
63
64
65 auto querySettings = QSqlQuery(QSqlDatabase::database(DB_CONNECTION_NAME));
66 querySettings.prepare("CREATE TABLE IF NOT EXISTS Settings ( "
67 "key TEXT UNIQUE PRIMARY KEY, "
68 "data TEXT );"
69 );
70 if ( !querySettings.exec() )
71 LogError("Table Settings not created: %s\n", querySettings.lastError().text().toStdString().c_str());
72
73
74
75 auto queryListenerProfiles = QSqlQuery(QSqlDatabase::database(DB_CONNECTION_NAME));
76 queryListenerProfiles.prepare("CREATE TABLE IF NOT EXISTS ListenerProfiles ( "
77 "project TEXT, "
78 "name TEXT, "
79 "data TEXT, "
80 "PRIMARY KEY (project, name) );"
81 );
82 if ( !queryListenerProfiles.exec() )
83 LogError("Table ListenerProfiles not created: %s\n", queryListenerProfiles.lastError().text().toStdString().c_str());
84
85 auto queryAgentProfiles = QSqlQuery(QSqlDatabase::database(DB_CONNECTION_NAME));
86 queryAgentProfiles.prepare("CREATE TABLE IF NOT EXISTS AgentProfiles ( "
87 "project TEXT, "
88 "name TEXT, "
89 "data TEXT, "
90 "PRIMARY KEY (project, name) );"
91 );
92 if ( !queryAgentProfiles.exec() )
93 LogError("Table AgentProfiles not created: %s\n", queryAgentProfiles.lastError().text().toStdString().c_str());
94}
95
96/// PROJECTS
97

Callers 1

StorageMethod · 0.95

Calls 4

LogErrorFunction · 0.85
execMethod · 0.80
toStdStringMethod · 0.80
textMethod · 0.45

Tested by

no test coverage detected