mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-29 16:31:18 +00:00
parent
49dbf2d489
commit
45d28de826
@ -22,7 +22,8 @@ impl DbEvent {
|
||||
Some(crit) => format!("{} WHERE {}", sql, crit),
|
||||
};
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
let mut rows = stmt.query([])?;
|
||||
@ -49,7 +50,8 @@ impl DbEvent {
|
||||
) -> Result<Option<Event>, Error> {
|
||||
let sql = "SELECT raw FROM event WHERE event.kind=3 AND event.pubkey=? ORDER BY created_at DESC LIMIT 1";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.raw_bind_parameter(1, pubkeyhex.as_str())?;
|
||||
@ -69,7 +71,8 @@ impl DbEvent {
|
||||
// FIXME, only get the last per pubkey
|
||||
let sql = "SELECT raw FROM event WHERE event.kind=10002";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
let mut rows = stmt.raw_query();
|
||||
@ -117,7 +120,8 @@ impl DbEvent {
|
||||
kinds
|
||||
);
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
stmt.raw_bind_parameter(1, public_key.as_str())?;
|
||||
@ -145,7 +149,8 @@ impl DbEvent {
|
||||
let sql = "INSERT OR IGNORE INTO event (id, raw, pubkey, created_at, kind, content, ots) \
|
||||
VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7)";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((
|
||||
event.id.as_str(),
|
||||
|
@ -12,7 +12,8 @@ pub struct DbEventFlags {
|
||||
impl DbEventFlags {
|
||||
pub async fn load_all_viewed() -> Result<Vec<Id>, Error> {
|
||||
let sql = "SELECT event FROM event_flags WHERE viewed=1".to_owned();
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
let mut output: Vec<Id> = Vec::new();
|
||||
let mut rows = stmt.raw_query();
|
||||
@ -28,7 +29,8 @@ impl DbEventFlags {
|
||||
pub async fn mark_all_as_viewed(ids: Vec<Id>) -> Result<(), Error> {
|
||||
let sql = "INSERT INTO event_flags (event, viewed) VALUES (?, 1) \
|
||||
ON CONFLICT(event) DO UPDATE SET viewed=1";
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
for id in ids {
|
||||
stmt.raw_bind_parameter(1, id.as_hex_string())?;
|
||||
|
@ -14,7 +14,8 @@ impl DbEventHashtag {
|
||||
let hashtag = self.hashtag.clone();
|
||||
let sql = "INSERT OR IGNORE INTO event_hashtag (event, hashtag) VALUES (?, ?)";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((&event, &hashtag))?;
|
||||
Ok(())
|
||||
|
@ -18,7 +18,8 @@ impl DbEventRelationship {
|
||||
let content = self.content.clone();
|
||||
let sql = "INSERT OR IGNORE INTO event_relationship (original, refers_to, relationship, content) VALUES (?, ?, ?, ?)";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((&original, &refers_to, &relationship, &content))?;
|
||||
Ok(())
|
||||
|
@ -14,7 +14,8 @@ impl DbEventRelay {
|
||||
pub async fn get_relays_for_event(id: Id) -> Result<Vec<RelayUrl>, Error> {
|
||||
let sql = "SELECT relay FROM event_relay WHERE event=?";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.raw_bind_parameter(1, id.as_hex_string())?;
|
||||
let mut rows = stmt.raw_query();
|
||||
@ -33,7 +34,8 @@ impl DbEventRelay {
|
||||
let sql = "REPLACE INTO event_relay (event, relay, when_seen) \
|
||||
VALUES (?1, ?2, ?3)";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((
|
||||
|
@ -19,7 +19,8 @@ impl DbEventTag {
|
||||
"INSERT OR IGNORE INTO event_tag (event, seq, label, field0, field1, field2, field3) \
|
||||
VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7)";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((
|
||||
|
@ -62,7 +62,8 @@ pub fn init_database() -> Result<Pool<SqliteConnectionManager>, Error> {
|
||||
|
||||
/// Check and upgrade our data schema
|
||||
pub fn check_and_upgrade() -> Result<(), Error> {
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
match db.query_row(
|
||||
"SELECT schema_version FROM local_settings LIMIT 1",
|
||||
@ -139,7 +140,8 @@ fn upgrade(db: PooledConnection<SqliteConnectionManager>, mut version: usize) ->
|
||||
}
|
||||
|
||||
pub async fn prune() -> Result<(), Error> {
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
db.execute_batch(include_str!("sql/prune.sql"))?;
|
||||
|
||||
*GLOBALS.status_message.write().await = "Database prune has completed.".to_owned();
|
||||
@ -152,7 +154,8 @@ pub fn normalize_urls() -> Result<(), Error> {
|
||||
|
||||
tracing::info!("Normalizing Database URLs (this will take some time)");
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let urls_are_normalized: bool = db.query_row(
|
||||
"SELECT urls_are_normalized FROM local_settings LIMIT 1",
|
||||
|
@ -25,7 +25,8 @@ impl DbPersonRelay {
|
||||
manually_paired_read, manually_paired_write) \
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((
|
||||
@ -53,7 +54,8 @@ impl DbPersonRelay {
|
||||
VALUES (?, ?, ?) \
|
||||
ON CONFLICT(person, relay) DO UPDATE SET last_fetched=?";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((&person, &relay.0, &last_fetched, &last_fetched))?;
|
||||
@ -70,7 +72,8 @@ impl DbPersonRelay {
|
||||
VALUES (?, ?, ?) \
|
||||
ON CONFLICT(person, relay) DO UPDATE SET last_suggested_kind3=?";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((
|
||||
@ -92,7 +95,8 @@ impl DbPersonRelay {
|
||||
VALUES (?, ?, ?) \
|
||||
ON CONFLICT(person, relay) DO UPDATE SET last_suggested_bytag=?";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((
|
||||
@ -114,7 +118,8 @@ impl DbPersonRelay {
|
||||
VALUES (?, ?, ?) \
|
||||
ON CONFLICT(person, relay) DO UPDATE SET last_suggested_nip05=?";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((
|
||||
@ -161,7 +166,8 @@ impl DbPersonRelay {
|
||||
}
|
||||
}
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let inner = || -> Result<(), Error> {
|
||||
let mut stmt = db.prepare("BEGIN TRANSACTION")?;
|
||||
@ -230,7 +236,8 @@ impl DbPersonRelay {
|
||||
}
|
||||
}
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let inner = || -> Result<(), Error> {
|
||||
let mut stmt = db.prepare("BEGIN TRANSACTION")?;
|
||||
@ -274,7 +281,8 @@ impl DbPersonRelay {
|
||||
manually_paired_read, manually_paired_write \
|
||||
FROM person_relay WHERE person=?";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.raw_bind_parameter(1, pubkey.as_str())?;
|
||||
let mut rows = stmt.raw_query();
|
||||
|
@ -51,7 +51,8 @@ impl DbRelay {
|
||||
Some(crit) => format!("{} WHERE {}", sql, crit),
|
||||
};
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
let mut rows = stmt.query([])?;
|
||||
@ -92,7 +93,8 @@ impl DbRelay {
|
||||
last_connected_at, last_general_eose_at, read, write, advertise) \
|
||||
VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9)";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((
|
||||
@ -114,7 +116,8 @@ impl DbRelay {
|
||||
let sql = "UPDATE relay SET success_count=?, failure_count=?, rank=?, \
|
||||
last_connected_at=?, last_general_eose_at=?, read=?, write=?, advertise=? WHERE url=?";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((
|
||||
@ -140,7 +143,8 @@ impl DbRelay {
|
||||
let sql =
|
||||
"UPDATE relay SET last_general_eose_at = max(?, ifnull(last_general_eose_at,0)) WHERE url = ?";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((&last_general_eose_at, &url.0))?;
|
||||
@ -151,7 +155,8 @@ impl DbRelay {
|
||||
pub async fn clear_read_and_write() -> Result<(), Error> {
|
||||
let sql = "UPDATE relay SET read = false, write = false";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute(())?;
|
||||
|
||||
@ -165,7 +170,8 @@ impl DbRelay {
|
||||
) -> Result<(), Error> {
|
||||
let sql = "UPDATE relay SET read = ?, write = ? WHERE url = ?";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((&read, &write, &url.0))?;
|
||||
|
||||
@ -175,7 +181,8 @@ impl DbRelay {
|
||||
pub async fn update_advertise(url: RelayUrl, advertise: bool) -> Result<(), Error> {
|
||||
let sql = "UPDATE relay SET advertise = ? WHERE url = ?";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((&advertise, &url.0))?;
|
||||
|
||||
@ -187,7 +194,8 @@ impl DbRelay {
|
||||
let sql =
|
||||
"INSERT OR IGNORE INTO relay (url, rank) SELECT DISTINCT relay, 3 FROM person_relay";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
db.execute(sql, [])?;
|
||||
|
||||
// Select relays from 'e' and 'p' event tags
|
||||
@ -207,7 +215,7 @@ impl DbRelay {
|
||||
// FIXME this is a lot of separate sql calls
|
||||
let sql = "INSERT OR IGNORE INTO RELAY (url, rank) VALUES (?, 3)";
|
||||
for url in urls {
|
||||
let db = GLOBALS.db.get()?;
|
||||
let db = pool.get()?;
|
||||
db.execute(sql, [&url.0])?;
|
||||
}
|
||||
|
||||
@ -219,7 +227,8 @@ impl DbRelay {
|
||||
// has a rank>1
|
||||
let sql = "SELECT url FROM relay INNER JOIN event_relay ON relay.url=event_relay.relay \
|
||||
WHERE event_relay.event=? AND relay.write=1 AND relay.rank>1";
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
let mut query_result = stmt.query([reply_to.as_hex_string()])?;
|
||||
let output: Option<RelayUrl> = if let Some(row) = query_result.next()? {
|
||||
@ -236,7 +245,8 @@ impl DbRelay {
|
||||
|
||||
// Fallback to finding any relay where the event was seen
|
||||
let sql = "SELECT relay FROM event_relay WHERE event=?";
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
let mut query_result = stmt.query([reply_to.as_hex_string()])?;
|
||||
if let Some(row) = query_result.next()? {
|
||||
@ -249,7 +259,8 @@ impl DbRelay {
|
||||
}
|
||||
|
||||
pub async fn set_rank(url: RelayUrl, rank: u8) -> Result<(), Error> {
|
||||
let db = GLOBALS.db.get().expect("Failed to get DB pool");
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get().expect("Failed to get DB pool");
|
||||
|
||||
let _ = db.execute("UPDATE relay SET rank=? WHERE url=?", (&rank, &url.0));
|
||||
|
||||
|
@ -36,7 +36,8 @@ impl Events {
|
||||
return Ok(Some(e));
|
||||
}
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let opt_event: Option<Event> = {
|
||||
let mut stmt = db.prepare("SELECT raw FROM event WHERE id=?")?;
|
||||
stmt.raw_bind_parameter(1, id.as_hex_string())?;
|
||||
@ -121,7 +122,8 @@ impl Events {
|
||||
|
||||
tracing::trace!("get_local_events_by_filter SQL={}", &sql);
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
let mut rows = stmt.raw_query();
|
||||
let mut events: Vec<Event> = Vec::new();
|
||||
|
@ -220,7 +220,8 @@ impl People {
|
||||
{
|
||||
let pubkey_strings: Vec<String> = pubkeys.iter().map(|p| p.to_string()).collect();
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
let mut pos = 1;
|
||||
for pk in pubkey_strings.iter() {
|
||||
@ -377,7 +378,8 @@ impl People {
|
||||
let pubkeyhex2 = pubkeyhex.to_owned();
|
||||
let person_inner = person.clone();
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let metadata_json: Option<String> = if let Some(md) = &person_inner.metadata {
|
||||
Some(serde_json::to_string(md)?)
|
||||
@ -458,7 +460,8 @@ impl People {
|
||||
FROM person WHERE followed=1 OR muted=1"
|
||||
.to_owned();
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
let mut rows = stmt.query([])?;
|
||||
@ -748,7 +751,8 @@ impl People {
|
||||
pub async fn populate_new_people() -> Result<(), Error> {
|
||||
let sql = "INSERT or IGNORE INTO person (pubkey) SELECT DISTINCT pubkey FROM EVENT";
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
db.execute(sql, [])?;
|
||||
|
||||
Ok(())
|
||||
@ -822,7 +826,8 @@ impl People {
|
||||
ON CONFLICT(pubkey) DO UPDATE SET followed=?";
|
||||
let pubkeyhex2 = pubkeyhex.to_owned();
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((pubkeyhex2.as_str(), &follow, &follow))?;
|
||||
}
|
||||
@ -887,7 +892,8 @@ impl People {
|
||||
|
||||
let pubkey_strings: Vec<String> = pubkeys.iter().map(|p| p.to_string()).collect();
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
stmt.raw_bind_parameter(1, asof.0)?;
|
||||
let mut pos = 2;
|
||||
@ -908,7 +914,8 @@ impl People {
|
||||
|
||||
let pubkey_strings: Vec<String> = pubkeys.iter().map(|p| p.to_string()).collect();
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
stmt.raw_bind_parameter(1, asof.0)?;
|
||||
let mut pos = 2;
|
||||
@ -960,7 +967,8 @@ impl People {
|
||||
ON CONFLICT(pubkey) DO UPDATE SET muted=?";
|
||||
let pubkeyhex2 = pubkeyhex.to_owned();
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(sql)?;
|
||||
stmt.execute((pubkeyhex2.as_str(), &mute, &mute))?;
|
||||
}
|
||||
@ -1001,7 +1009,8 @@ impl People {
|
||||
return Ok(false);
|
||||
}
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare(
|
||||
"UPDATE person SET relay_list_last_received=?, \
|
||||
relay_list_created_at=? WHERE pubkey=?",
|
||||
@ -1018,7 +1027,8 @@ impl People {
|
||||
person.nip05_last_checked = Some(now as u64);
|
||||
}
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
let mut stmt = db.prepare("UPDATE person SET nip05_last_checked=? WHERE pubkey=?")?;
|
||||
stmt.execute((&now, pubkeyhex.as_str()))?;
|
||||
Ok(())
|
||||
@ -1051,7 +1061,8 @@ impl People {
|
||||
UPDATE SET metadata=json_patch(metadata, ?), nip05_valid=?, nip05_last_checked=?";
|
||||
|
||||
let pubkeyhex2 = pubkeyhex.to_owned();
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut metadata = Metadata::new();
|
||||
metadata.nip05 = nip05.clone();
|
||||
@ -1084,7 +1095,8 @@ impl People {
|
||||
None => sql,
|
||||
Some(crit) => format!("{} WHERE {}", sql, crit),
|
||||
};
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
let mut rows = stmt.query([])?;
|
||||
@ -1133,7 +1145,8 @@ impl People {
|
||||
|
||||
let pubkey_strings: Vec<String> = pubkeys.iter().map(|p| p.to_string()).collect();
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare(&sql)?;
|
||||
|
||||
|
@ -91,7 +91,8 @@ impl Settings {
|
||||
pub fn blocking_load() -> Result<Settings, Error> {
|
||||
let mut settings = Settings::default();
|
||||
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let mut stmt = db.prepare("SELECT key, value FROM settings")?;
|
||||
|
||||
@ -176,7 +177,8 @@ impl Settings {
|
||||
}
|
||||
|
||||
pub async fn save(&self) -> Result<(), Error> {
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
|
||||
let bool_to_numstr = |b: bool| -> &str {
|
||||
if b {
|
||||
|
@ -18,7 +18,8 @@ impl Signer {
|
||||
*self.public.write() = GLOBALS.settings.read().public_key;
|
||||
*self.private.write() = None;
|
||||
|
||||
let db = GLOBALS.db.get().expect("Failed to get DB pool handle");
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get().expect("Failed to get DB pool handle");
|
||||
if let Ok(epk) = db.query_row(
|
||||
"SELECT encrypted_private_key FROM local_settings LIMIT 1",
|
||||
[],
|
||||
@ -34,7 +35,8 @@ impl Signer {
|
||||
settings.save().await?;
|
||||
|
||||
let epk = self.encrypted.read().clone();
|
||||
let db = GLOBALS.db.get()?;
|
||||
let pool = GLOBALS.db.clone();
|
||||
let db = pool.get()?;
|
||||
db.execute(
|
||||
"UPDATE local_settings SET encrypted_private_key=?",
|
||||
(epk.map(|e| e.0),),
|
||||
|
Loading…
Reference in New Issue
Block a user