first commit to move to svelte
This commit is contained in:
@@ -2,9 +2,11 @@
|
||||
#include <format>
|
||||
#include <functional>
|
||||
#include <map>
|
||||
#include <optional>
|
||||
#include "database.hpp"
|
||||
#include "databasepool.h"
|
||||
#include "crow.h"
|
||||
#include "utils.hpp"
|
||||
#include "sqlite_orm.h"
|
||||
|
||||
using namespace std;
|
||||
@@ -12,7 +14,10 @@ using namespace sqlite_orm;
|
||||
|
||||
namespace shadowrun {
|
||||
|
||||
int64_t getKeyOfCharacter(const string& name){
|
||||
int64_t createCharacter(const string& name){
|
||||
if (name.empty())
|
||||
return -1;
|
||||
|
||||
auto db = dbpool.acquire();
|
||||
|
||||
auto character = db->get_all<ShadowrunCharacter>(
|
||||
@@ -23,13 +28,15 @@ int64_t getKeyOfCharacter(const string& name){
|
||||
if (!character.empty()) {
|
||||
return character[0].id;
|
||||
} else {
|
||||
return db->insert(ShadowrunCharacter{-1, name, Database::currentTime()});
|
||||
auto c = createShadowrunCharacter(name);
|
||||
return db->insert(c);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
bool storeCharacterData(int64_t characterKey, vector<pair<const string, const string>>& idValues){
|
||||
auto characterData = getCharacterData(characterKey);
|
||||
std::map<string, ShadowrunData*> dataMap;
|
||||
std::map<string, ShadowrunCharacterData*> dataMap;
|
||||
for(auto& data : characterData) {
|
||||
dataMap[data.name] = &data;
|
||||
}
|
||||
@@ -45,7 +52,7 @@ bool storeCharacterData(int64_t characterKey, vector<pair<const string, const st
|
||||
db->update_all(
|
||||
sqlite_orm::set(
|
||||
assign(&ShadowrunData::value, idValue.second),
|
||||
assign(&ShadowrunData::updated_at, Database::currentTime())
|
||||
assign(&ShadowrunData::updated_at, utils::currentTime())
|
||||
),
|
||||
where(
|
||||
c(&ShadowrunData::name) == name and
|
||||
@@ -58,7 +65,7 @@ bool storeCharacterData(int64_t characterKey, vector<pair<const string, const st
|
||||
.character_id = static_cast<int>(characterKey),
|
||||
.name = name,
|
||||
.value = value,
|
||||
.created_at = Database::currentTime(),
|
||||
.created_at = utils::currentTime(),
|
||||
.updated_at = "",
|
||||
};
|
||||
db->insert(entry);
|
||||
@@ -66,26 +73,59 @@ bool storeCharacterData(int64_t characterKey, vector<pair<const string, const st
|
||||
}
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
|
||||
std::vector<ShadowrunCharacter> getCharacters(){
|
||||
auto db = dbpool.acquire();
|
||||
return db->get_all<ShadowrunCharacter>();
|
||||
}
|
||||
|
||||
std::map<string, string> getCharacterDataMap(int64_t characterKey){
|
||||
auto characterData = getCharacterData(characterKey);
|
||||
std::map<string, string> dataMap;
|
||||
for(auto& data : characterData) {
|
||||
dataMap[data.name] = data.value;
|
||||
optional<ShadowrunCharacter> getChracter(int id)
|
||||
{
|
||||
auto db = dbpool.acquire();
|
||||
auto character = db->get_all<ShadowrunCharacter>(
|
||||
where(c(&ShadowrunCharacter::id) == id),
|
||||
limit(1)
|
||||
);
|
||||
if (character.empty())
|
||||
{
|
||||
return {};
|
||||
}
|
||||
else {
|
||||
return character[0];
|
||||
}
|
||||
return dataMap;
|
||||
}
|
||||
|
||||
vector<ShadowrunCharacterData> getChracterData(int character_id)
|
||||
{
|
||||
auto db = dbpool.acquire();
|
||||
auto characterData = db->get_all<ShadowrunCharacterData>(
|
||||
where(c(&ShadowrunCharacterData::character_id) == character_id)
|
||||
);
|
||||
return characterData;
|
||||
}
|
||||
|
||||
int storeCharacterData(const ShadowrunCharacterData& data)
|
||||
{
|
||||
auto db = dbpool.acquire();
|
||||
auto characterData = db->get_optional<ShadowrunCharacterData>(data.id);
|
||||
|
||||
if(!characterData.has_value()){
|
||||
return db->insert(data);
|
||||
}
|
||||
else {
|
||||
db->update(data);
|
||||
return data.id;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
vector<ShadowrunData> getCharacterData(int64_t characterKey) {
|
||||
auto db = dbpool.acquire();
|
||||
return db->get_all<ShadowrunData>(
|
||||
where(c(&ShadowrunData::character_id) == characterKey)
|
||||
);
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user