Add updatedAt on main index store

This commit is contained in:
Quentin de Quelen 2019-11-19 16:18:01 +01:00
parent a90facaa41
commit 39e2b73718
2 changed files with 11 additions and 0 deletions

View File

@ -13,6 +13,7 @@ const RANKED_MAP_KEY: &str = "ranked-map";
const SCHEMA_KEY: &str = "schema"; const SCHEMA_KEY: &str = "schema";
const STOP_WORDS_KEY: &str = "stop-words"; const STOP_WORDS_KEY: &str = "stop-words";
const SYNONYMS_KEY: &str = "synonyms"; const SYNONYMS_KEY: &str = "synonyms";
const UPDATED_AT: &str = "updated-at";
const WORDS_KEY: &str = "words"; const WORDS_KEY: &str = "words";
type SerdeDatetime = SerdeBincode<DateTime<Utc>>; type SerdeDatetime = SerdeBincode<DateTime<Utc>>;
@ -43,6 +44,14 @@ impl Main {
self.main.put::<Str, SerdeDatetime>(writer, CREATED_AT, &Utc::now()) self.main.put::<Str, SerdeDatetime>(writer, CREATED_AT, &Utc::now())
} }
pub fn updated_at(self, reader: &heed::RoTxn) -> ZResult<Option<DateTime<Utc>>> {
self.main.get::<Str, SerdeDatetime>(reader, UPDATED_AT)
}
pub fn put_updated_at(self, writer: &mut heed::RwTxn) -> ZResult<()> {
self.main.put::<Str, SerdeDatetime>(writer, UPDATED_AT, &Utc::now())
}
pub fn put_words_fst(self, writer: &mut heed::RwTxn, fst: &fst::Set) -> ZResult<()> { pub fn put_words_fst(self, writer: &mut heed::RwTxn, fst: &fst::Set) -> ZResult<()> {
let bytes = fst.as_fst().as_bytes(); let bytes = fst.as_fst().as_bytes();
self.main.put::<Str, ByteSlice>(writer, WORDS_KEY, bytes) self.main.put::<Str, ByteSlice>(writer, WORDS_KEY, bytes)

View File

@ -102,6 +102,8 @@ pub async fn create_index(mut ctx: Context<Data>) -> SResult<Response> {
.put_created_at(&mut writer) .put_created_at(&mut writer)
.map_err(ResponseError::internal)?; .map_err(ResponseError::internal)?;
created_index.main created_index.main
.put_updated_at(&mut writer)
.map_err(ResponseError::internal)?;
let schema: Option<Schema> = body.schema.clone().map(|s| s.into()); let schema: Option<Schema> = body.schema.clone().map(|s| s.into());
let mut response_update_id = None; let mut response_update_id = None;