mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-29 08:21:47 +00:00
Update for schema 37: reorder
This commit is contained in:
parent
20668267a3
commit
c6ac41d1f6
@ -22,16 +22,16 @@ use tokio::task;
|
|||||||
pub struct DbPerson {
|
pub struct DbPerson {
|
||||||
pub pubkey: PublicKeyHex,
|
pub pubkey: PublicKeyHex,
|
||||||
pub petname: Option<String>,
|
pub petname: Option<String>,
|
||||||
|
pub followed: u8,
|
||||||
|
pub followed_last_updated: i64,
|
||||||
|
pub muted: u8,
|
||||||
pub metadata: Option<Metadata>,
|
pub metadata: Option<Metadata>,
|
||||||
pub metadata_created_at: Option<i64>,
|
pub metadata_created_at: Option<i64>,
|
||||||
pub metadata_last_received: i64,
|
pub metadata_last_received: i64,
|
||||||
pub nip05_valid: u8,
|
pub nip05_valid: u8,
|
||||||
pub nip05_last_checked: Option<u64>,
|
pub nip05_last_checked: Option<u64>,
|
||||||
pub followed: u8,
|
|
||||||
pub followed_last_updated: i64,
|
|
||||||
pub muted: u8,
|
|
||||||
pub relay_list_last_received: i64,
|
|
||||||
pub relay_list_created_at: Option<i64>,
|
pub relay_list_created_at: Option<i64>,
|
||||||
|
pub relay_list_last_received: i64,
|
||||||
pub loaded: bool, // if this record came from the database
|
pub loaded: bool, // if this record came from the database
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,16 +40,16 @@ impl DbPerson {
|
|||||||
DbPerson {
|
DbPerson {
|
||||||
pubkey,
|
pubkey,
|
||||||
petname: None,
|
petname: None,
|
||||||
|
followed: 0,
|
||||||
|
followed_last_updated: 0,
|
||||||
|
muted: 0,
|
||||||
metadata: None,
|
metadata: None,
|
||||||
metadata_created_at: None,
|
metadata_created_at: None,
|
||||||
metadata_last_received: 0,
|
metadata_last_received: 0,
|
||||||
nip05_valid: 0,
|
nip05_valid: 0,
|
||||||
nip05_last_checked: None,
|
nip05_last_checked: None,
|
||||||
followed: 0,
|
|
||||||
followed_last_updated: 0,
|
|
||||||
muted: 0,
|
|
||||||
relay_list_last_received: 0,
|
|
||||||
relay_list_created_at: None,
|
relay_list_created_at: None,
|
||||||
|
relay_list_last_received: 0,
|
||||||
loaded: false,
|
loaded: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -488,10 +488,11 @@ impl People {
|
|||||||
// NOTE: We also load all muted people, so that we can render the list of people
|
// NOTE: We also load all muted people, so that we can render the list of people
|
||||||
// who are muted, so they can be found and unmuted as necessary.
|
// who are muted, so they can be found and unmuted as necessary.
|
||||||
|
|
||||||
let sql = "SELECT pubkey, petname, metadata, metadata_created_at, metadata_last_received, \
|
let sql = "SELECT pubkey, petname, \
|
||||||
|
followed, followed_last_updated, muted, \
|
||||||
|
metadata, metadata_created_at, metadata_last_received, \
|
||||||
nip05_valid, nip05_last_checked, \
|
nip05_valid, nip05_last_checked, \
|
||||||
followed, followed_last_updated, muted, relay_list_last_received, \
|
relay_list_created_at, relay_list_last_received \
|
||||||
relay_list_created_at \
|
|
||||||
FROM person WHERE followed=1 OR muted=1"
|
FROM person WHERE followed=1 OR muted=1"
|
||||||
.to_owned();
|
.to_owned();
|
||||||
|
|
||||||
@ -501,7 +502,7 @@ impl People {
|
|||||||
let mut rows = stmt.query([])?;
|
let mut rows = stmt.query([])?;
|
||||||
let mut output: Vec<DbPerson> = Vec::new();
|
let mut output: Vec<DbPerson> = Vec::new();
|
||||||
while let Some(row) = rows.next()? {
|
while let Some(row) = rows.next()? {
|
||||||
let metadata_json: Option<String> = row.get(2)?;
|
let metadata_json: Option<String> = row.get(5)?;
|
||||||
let metadata = match metadata_json {
|
let metadata = match metadata_json {
|
||||||
Some(s) => serde_json::from_str(&s)?,
|
Some(s) => serde_json::from_str(&s)?,
|
||||||
None => None,
|
None => None,
|
||||||
@ -510,16 +511,16 @@ impl People {
|
|||||||
output.push(DbPerson {
|
output.push(DbPerson {
|
||||||
pubkey: PublicKeyHex::try_from_string(pk)?,
|
pubkey: PublicKeyHex::try_from_string(pk)?,
|
||||||
petname: row.get(1)?,
|
petname: row.get(1)?,
|
||||||
|
followed: row.get(2)?,
|
||||||
|
followed_last_updated: row.get(3)?,
|
||||||
|
muted: row.get(4)?,
|
||||||
metadata,
|
metadata,
|
||||||
metadata_created_at: row.get(3)?,
|
metadata_created_at: row.get(6)?,
|
||||||
metadata_last_received: row.get(4)?,
|
metadata_last_received: row.get(7)?,
|
||||||
nip05_valid: row.get(5)?,
|
nip05_valid: row.get(8)?,
|
||||||
nip05_last_checked: row.get(6)?,
|
nip05_last_checked: row.get(9)?,
|
||||||
followed: row.get(7)?,
|
relay_list_created_at: row.get(10)?,
|
||||||
followed_last_updated: row.get(8)?,
|
relay_list_last_received: row.get(11)?,
|
||||||
muted: row.get(9)?,
|
|
||||||
relay_list_last_received: row.get(10)?,
|
|
||||||
relay_list_created_at: row.get(11)?,
|
|
||||||
loaded: true,
|
loaded: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1190,10 +1191,11 @@ impl People {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub async fn fetch(criteria: Option<&str>) -> Result<Vec<DbPerson>, Error> {
|
pub async fn fetch(criteria: Option<&str>) -> Result<Vec<DbPerson>, Error> {
|
||||||
let sql = "SELECT pubkey, petname, metadata, metadata_created_at, metadata_last_received, \
|
let sql = "SELECT pubkey, petname, \
|
||||||
nip05_valid, nip05_last_checked, \
|
|
||||||
followed, followed_last_updated, muted, \
|
followed, followed_last_updated, muted, \
|
||||||
relay_list_last_received, relay_list_created_at \
|
metadata, metadata_created_at, metadata_last_received, \
|
||||||
|
nip05_valid, nip05_last_checked, \
|
||||||
|
relay_list_created_at, relay_list_last_received \
|
||||||
FROM person"
|
FROM person"
|
||||||
.to_owned();
|
.to_owned();
|
||||||
let sql = match criteria {
|
let sql = match criteria {
|
||||||
@ -1207,7 +1209,7 @@ impl People {
|
|||||||
let mut rows = stmt.query([])?;
|
let mut rows = stmt.query([])?;
|
||||||
let mut output: Vec<DbPerson> = Vec::new();
|
let mut output: Vec<DbPerson> = Vec::new();
|
||||||
while let Some(row) = rows.next()? {
|
while let Some(row) = rows.next()? {
|
||||||
let metadata_json: Option<String> = row.get(2)?;
|
let metadata_json: Option<String> = row.get(5)?;
|
||||||
let metadata = match metadata_json {
|
let metadata = match metadata_json {
|
||||||
Some(s) => serde_json::from_str(&s)?,
|
Some(s) => serde_json::from_str(&s)?,
|
||||||
None => None,
|
None => None,
|
||||||
@ -1216,16 +1218,16 @@ impl People {
|
|||||||
output.push(DbPerson {
|
output.push(DbPerson {
|
||||||
pubkey: PublicKeyHex::try_from_string(pk)?,
|
pubkey: PublicKeyHex::try_from_string(pk)?,
|
||||||
petname: row.get(1)?,
|
petname: row.get(1)?,
|
||||||
|
followed: row.get(2)?,
|
||||||
|
followed_last_updated: row.get(3)?,
|
||||||
|
muted: row.get(4)?,
|
||||||
metadata,
|
metadata,
|
||||||
metadata_created_at: row.get(3)?,
|
metadata_created_at: row.get(6)?,
|
||||||
metadata_last_received: row.get(4)?,
|
metadata_last_received: row.get(7)?,
|
||||||
nip05_valid: row.get(5)?,
|
nip05_valid: row.get(8)?,
|
||||||
nip05_last_checked: row.get(6)?,
|
nip05_last_checked: row.get(9)?,
|
||||||
followed: row.get(7)?,
|
relay_list_created_at: row.get(10)?,
|
||||||
followed_last_updated: row.get(8)?,
|
relay_list_last_received: row.get(11)?,
|
||||||
muted: row.get(9)?,
|
|
||||||
relay_list_last_received: row.get(10)?,
|
|
||||||
relay_list_created_at: row.get(11)?,
|
|
||||||
loaded: true,
|
loaded: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1248,10 +1250,12 @@ impl People {
|
|||||||
|
|
||||||
async fn fetch_many(pubkeys: &[&PublicKeyHex]) -> Result<Vec<DbPerson>, Error> {
|
async fn fetch_many(pubkeys: &[&PublicKeyHex]) -> Result<Vec<DbPerson>, Error> {
|
||||||
let sql = format!(
|
let sql = format!(
|
||||||
"SELECT pubkey, petname, metadata, metadata_created_at, metadata_last_received, \
|
"SELECT pubkey, petname, \
|
||||||
|
followed, followed_last_updated, muted, \
|
||||||
|
metadata, metadata_created_at, metadata_last_received, \
|
||||||
nip05_valid, nip05_last_checked, \
|
nip05_valid, nip05_last_checked, \
|
||||||
followed, followed_last_updated, muted, relay_list_last_received, \
|
relay_list_created_at, relay_list_last_received \
|
||||||
relay_list_created_at FROM person WHERE pubkey IN ({})",
|
FROM person WHERE pubkey IN ({})",
|
||||||
repeat_vars(pubkeys.len())
|
repeat_vars(pubkeys.len())
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -1269,7 +1273,7 @@ impl People {
|
|||||||
let mut rows = stmt.raw_query();
|
let mut rows = stmt.raw_query();
|
||||||
let mut people: Vec<DbPerson> = Vec::new();
|
let mut people: Vec<DbPerson> = Vec::new();
|
||||||
while let Some(row) = rows.next()? {
|
while let Some(row) = rows.next()? {
|
||||||
let metadata_json: Option<String> = row.get(2)?;
|
let metadata_json: Option<String> = row.get(5)?;
|
||||||
let metadata = match metadata_json {
|
let metadata = match metadata_json {
|
||||||
Some(s) => serde_json::from_str(&s)?,
|
Some(s) => serde_json::from_str(&s)?,
|
||||||
None => None,
|
None => None,
|
||||||
@ -1278,16 +1282,16 @@ impl People {
|
|||||||
people.push(DbPerson {
|
people.push(DbPerson {
|
||||||
pubkey: PublicKeyHex::try_from_string(pk)?,
|
pubkey: PublicKeyHex::try_from_string(pk)?,
|
||||||
petname: row.get(1)?,
|
petname: row.get(1)?,
|
||||||
|
followed: row.get(2)?,
|
||||||
|
followed_last_updated: row.get(3)?,
|
||||||
|
muted: row.get(4)?,
|
||||||
metadata,
|
metadata,
|
||||||
metadata_created_at: row.get(3)?,
|
metadata_created_at: row.get(6)?,
|
||||||
metadata_last_received: row.get(4)?,
|
metadata_last_received: row.get(7)?,
|
||||||
nip05_valid: row.get(5)?,
|
nip05_valid: row.get(8)?,
|
||||||
nip05_last_checked: row.get(6)?,
|
nip05_last_checked: row.get(9)?,
|
||||||
followed: row.get(7)?,
|
relay_list_created_at: row.get(10)?,
|
||||||
followed_last_updated: row.get(8)?,
|
relay_list_last_received: row.get(11)?,
|
||||||
muted: row.get(9)?,
|
|
||||||
relay_list_last_received: row.get(10)?,
|
|
||||||
relay_list_created_at: row.get(11)?,
|
|
||||||
loaded: true,
|
loaded: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user