add BLOB TYPE

feat/vaults
Tomáš Mládek 2021-06-04 15:14:58 +02:00
parent 80a920ef04
commit e0eb20aba7
1 changed files with 24 additions and 0 deletions

View File

@ -36,6 +36,7 @@ lazy_static! {
static ref DIR_TYPE_ADDR: Address = DIR_TYPE_INVARIANT.entity().unwrap();
}
const BLOB_TYPE: &str = "BLOB";
const FILE_TYPE: &str = "FS_FILE";
const FILE_IDENTITY_KEY: &str = "FILE_IS";
const FILENAME_KEY: &str = "FILE_NAME";
@ -43,6 +44,11 @@ const FILE_MIME_KEY: &str = "FILE_MIME";
const FILE_MTIME_KEY: &str = "FILE_MTIME";
const FILE_SIZE_KEY: &str = "FILE_SIZE";
lazy_static! {
static ref BLOB_TYPE_INVARIANT: InvariantEntry = InvariantEntry {
attribute: String::from(TYPE_IS_ATTR),
value: EntryValue::Value(Value::from(BLOB_TYPE)),
};
static ref BLOB_TYPE_ADDR: Address = BLOB_TYPE_INVARIANT.entity().unwrap();
static ref FILE_TYPE_INVARIANT: InvariantEntry = InvariantEntry {
attribute: String::from(TYPE_IS_ATTR),
value: EntryValue::Value(Value::from(FILE_TYPE)),
@ -51,6 +57,17 @@ lazy_static! {
}
fn initialize_types(pool: &DbPool) -> Result<()> {
// BLOB_TYPE
insert_entry(&pool.get()?, Entry::try_from(&*BLOB_TYPE_INVARIANT)?)?;
insert_entry(
&pool.get()?,
Entry {
entity: BLOB_TYPE_ADDR.clone(),
attribute: String::from(IS_OF_TYPE_ATTR),
value: EntryValue::Address(TYPE_ADDR.clone()),
},
)?;
// FILE_TYPE
insert_entry(&pool.get()?, Entry::try_from(&*FILE_TYPE_INVARIANT)?)?;
insert_entry(
@ -574,6 +591,13 @@ fn _process_directory_entry<P: AsRef<Path>>(
insert_file(&db_pool.write().unwrap().get()?, new_file)?;
// Insert metadata
let type_entry = Entry {
entity: Address::Hash(digest.clone()),
attribute: String::from(IS_OF_TYPE_ATTR),
value: EntryValue::Address(BLOB_TYPE_ADDR.clone()),
};
insert_entry(&db_pool.write().unwrap().get()?, type_entry)?;
let size_entry = Entry {
entity: Address::Hash(digest.clone()),
attribute: FILE_SIZE_KEY.to_string(),