mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-05-06 22:33:34 -04:00
* basic layout * lock * add codec to image * very messy wip * rm that * lock and toml * working perfect exif extraction * formatting * migration and formatting * mostly working * fix * set date created properly * fix tsc * working media data creation * fix bad main merge? sorry brendan * schema, migrations, bindings * working exif data extraction * why won't it work * update migrations * fix bad merge * final cleanup * cleanup migrations * remove test (that was purely used for testing my code) * working media data pulling, correct thumbnail orientation * slightly optimise thumbnail rotation * rename location to prevent specta clashes * further improvements (location parsing is still broken) * fix coordinate parsing i think * rspc add some todos regarding final cleanup * further thoughts * major upgrades * Some improved handling of errors and async calls * accordion component * heavily wip flash refactor * fix builds all because of a (terrible) merge/move * annoying missing newline * i really hate exif * remove dead code * further flash progress :D * docs(media-data): clarification * minor cleanup * cleanup and some async removal * fix location parsing * remove async (will do proper impl for async eventually) and major cleanup * big W * clippy and `FlashMode::Unknown` instead of `Invalid` * add `NIKON` gps ref support * comments about gps refs * commit the submodule -_- * major cleanup & composite image support * remove old test image * major cleanup and easier to use API * remove old consts * move `ExifReader` to dedicated module * Media Data Extractor job and shallow job * Extracting media data on watcher * report no exif data on file gracefully * cleanup errors and doctests * Merging thumbnailer and media data extractor * Job name and some strings in UI * remove reliance on `sd-prisma` within the media data crate * rename query to be more specific * custom serializer for `MediaTime` * tweak to format utc -> naive correctly * generate migrations * comment out duration in mobile * delete test-assets folder * all optional fields * fix migrations again * make requested name changes * make further requested changes * remove erroneous files from another wip branch * updates procedures * use strings where appropriate * regen pnpm-lock * add base layouts for video and audio media data * use appropriate data types in schema and add audio media data framework * make requested changes * general cleanup and renaming of enum * cleanup media data api * rename media metadata type * finishing touches --------- Co-authored-by: Ericson Soares <ericson.ds999@gmail.com> Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com> Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com> Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me> Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com> Co-authored-by: Brendan Allan <brendonovich@outlook.com>
45 lines
1.2 KiB
Rust
45 lines
1.2 KiB
Rust
use crate::prisma::{file_path, object};
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
use specta::Type;
|
|
|
|
pub mod cas;
|
|
pub mod file_identifier;
|
|
pub mod fs;
|
|
pub mod media;
|
|
pub mod orphan_remover;
|
|
pub mod tag;
|
|
pub mod thumbnail_remover;
|
|
pub mod validation;
|
|
|
|
// Objects are primarily created by the identifier from Paths
|
|
// Some Objects are purely virtual, unless they have one or more associated Paths, which refer to a file found in a Location
|
|
// Objects are what can be added to Spaces
|
|
|
|
// Object selectables!
|
|
object::select!(object_for_file_identifier {
|
|
pub_id
|
|
file_paths: select { pub_id cas_id extension is_dir materialized_path name }
|
|
});
|
|
|
|
// The response to provide the Explorer when looking at Objects
|
|
#[derive(Debug, Serialize, Deserialize, Type)]
|
|
pub struct ObjectsForExplorer {
|
|
pub objects: Vec<ObjectData>,
|
|
// pub context: ExplorerContext,
|
|
}
|
|
|
|
// #[derive(Debug, Serialize, Deserialize, Type)]
|
|
// pub enum ExplorerContext {
|
|
// Location(Box<file_path::Data>),
|
|
// Space(Box<space::Data>),
|
|
// Tag(Box<tag::Data>),
|
|
// // Search(Box<file_path::Data>),
|
|
// }
|
|
|
|
#[derive(Debug, Serialize, Deserialize, Type)]
|
|
pub enum ObjectData {
|
|
Object(Box<object::Data>),
|
|
Path(Box<file_path::Data>),
|
|
}
|