pub struct UploadSession {Show 15 fields
pub id: Uuid,
pub bucket_id: Uuid,
pub user_id: Uuid,
pub path: String,
pub filename: String,
pub mime_type: Option<String>,
pub file_size: i64,
pub chunk_size: i32,
pub total_chunks: i32,
pub uploaded_chunks: i32,
pub storage_backend: StorageBackend,
pub completed_parts: Vec<i32>,
pub part_etags: Option<Value>,
pub expires_at: DateTime<Utc>,
pub metadata: AuditMetadata,
/* private fields */
}Fields§
§id: Uuid§bucket_id: Uuid§user_id: Uuid§path: String§filename: String§mime_type: Option<String>§file_size: i64§chunk_size: i32§total_chunks: i32§uploaded_chunks: i32§storage_backend: StorageBackend§completed_parts: Vec<i32>§expires_at: DateTime<Utc>§metadata: AuditMetadataImplementations§
Source§impl UploadSession
impl UploadSession
Sourcepub fn is_expired(&self) -> bool
pub fn is_expired(&self) -> bool
Check if session has expired
Sourcepub fn add_part(
&mut self,
part_number: i32,
etag: String,
) -> Result<(), UploadError>
pub fn add_part( &mut self, part_number: i32, etag: String, ) -> Result<(), UploadError>
Add completed part
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Check if all parts uploaded
Sourcepub fn calculate_progress(&self) -> i32
pub fn calculate_progress(&self) -> i32
Get upload progress percentage
Sourcepub fn remaining_chunks(&self) -> i32
pub fn remaining_chunks(&self) -> i32
Get number of remaining chunks
Sourcepub fn can_resume(&self) -> bool
pub fn can_resume(&self) -> bool
Check if upload can be resumed
Sourcepub fn mark_complete(&mut self) -> Result<(), UploadError>
pub fn mark_complete(&mut self) -> Result<(), UploadError>
Mark session as completing
Sourcepub fn mark_failed(&mut self, error: String) -> Result<(), UploadError>
pub fn mark_failed(&mut self, error: String) -> Result<(), UploadError>
Mark session as failed
Source§impl UploadSession
impl UploadSession
Sourcepub fn builder() -> UploadSessionBuilder
pub fn builder() -> UploadSessionBuilder
Create a builder for UploadSession
Sourcepub fn new(
bucket_id: Uuid,
user_id: Uuid,
path: String,
filename: String,
file_size: i64,
chunk_size: i32,
total_chunks: i32,
uploaded_chunks: i32,
status: UploadStatus,
storage_backend: StorageBackend,
completed_parts: Vec<i32>,
expires_at: DateTime<Utc>,
) -> Self
pub fn new( bucket_id: Uuid, user_id: Uuid, path: String, filename: String, file_size: i64, chunk_size: i32, total_chunks: i32, uploaded_chunks: i32, status: UploadStatus, storage_backend: StorageBackend, completed_parts: Vec<i32>, expires_at: DateTime<Utc>, ) -> Self
Create a new UploadSession with required fields
Sourcepub fn typed_id(&self) -> UploadSessionId
pub fn typed_id(&self) -> UploadSessionId
Get a strongly-typed ID for this entity
Sourcepub fn created_at(&self) -> Option<&DateTime<Utc>>
pub fn created_at(&self) -> Option<&DateTime<Utc>>
Get when this entity was created
Sourcepub fn updated_at(&self) -> Option<&DateTime<Utc>>
pub fn updated_at(&self) -> Option<&DateTime<Utc>>
Get when this entity was last updated
Sourcepub fn is_deleted(&self) -> bool
pub fn is_deleted(&self) -> bool
Check if this entity is soft deleted
Sourcepub fn deleted_at(&self) -> Option<&DateTime<Utc>>
pub fn deleted_at(&self) -> Option<&DateTime<Utc>>
Get when this entity was deleted
Sourcepub fn created_by(&self) -> Option<&Uuid>
pub fn created_by(&self) -> Option<&Uuid>
Get who created this entity
Sourcepub fn updated_by(&self) -> Option<&Uuid>
pub fn updated_by(&self) -> Option<&Uuid>
Get who last updated this entity
Sourcepub fn deleted_by(&self) -> Option<&Uuid>
pub fn deleted_by(&self) -> Option<&Uuid>
Get who deleted this entity
Sourcepub fn status(&self) -> &UploadStatus
pub fn status(&self) -> &UploadStatus
Get the current status
Sourcepub fn with_mime_type(self, value: String) -> Self
pub fn with_mime_type(self, value: String) -> Self
Set the mime_type field (chainable)
Set the part_etags field (chainable)
Sourcepub fn transition_to(
&mut self,
new_state: UploadSessionState,
) -> Result<(), StateMachineError>
pub fn transition_to( &mut self, new_state: UploadSessionState, ) -> Result<(), StateMachineError>
Transition to a new state via the status state machine.
Returns Err if the transition is not permitted from the current state.
Use this method instead of assigning self.status directly.
Sourcepub fn apply_patch(&mut self, fields: HashMap<String, Value>)
pub fn apply_patch(&mut self, fields: HashMap<String, Value>)
Apply partial updates from a map of field name to JSON value
Trait Implementations§
Source§impl ApplyUpdateDto<UpdateUploadSessionDto> for UploadSession
impl ApplyUpdateDto<UpdateUploadSessionDto> for UploadSession
fn apply_update(self, dto: UpdateUploadSessionDto) -> ServiceResult<Self>
Source§impl Clone for UploadSession
impl Clone for UploadSession
Source§impl CrudRepository<UploadSession> for UploadSessionRepository
impl CrudRepository<UploadSession> for UploadSessionRepository
?include= relations: fetch rows from table by id list, as JSON
(raw row_to_json). table comes from EntityRepoMeta::relations()
(generator-emitted), never client input. Default: no expansion. The
Postgres-backed generated repos override this via impl_crud_repository!.Source§fn create<'life0, 'async_trait>(
&'life0 self,
entity: UploadSession,
) -> Pin<Box<dyn Future<Output = Result<UploadSession, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create<'life0, 'async_trait>(
&'life0 self,
entity: UploadSession,
) -> Pin<Box<dyn Future<Output = Result<UploadSession, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn find_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn find_by_id<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn find_by_id_including_deleted<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn find_by_id_including_deleted<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn update<'life0, 'async_trait>(
&'life0 self,
entity: UploadSession,
) -> Pin<Box<dyn Future<Output = Result<UploadSession, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update<'life0, 'async_trait>(
&'life0 self,
entity: UploadSession,
) -> Pin<Box<dyn Future<Output = Result<UploadSession, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn soft_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn soft_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn restore<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn restore<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn hard_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn hard_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<bool, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn list<'life0, 'async_trait>(
&'life0 self,
page: u32,
limit: u32,
) -> Pin<Box<dyn Future<Output = Result<(Vec<UploadSession>, u64), RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list<'life0, 'async_trait>(
&'life0 self,
page: u32,
limit: u32,
) -> Pin<Box<dyn Future<Output = Result<(Vec<UploadSession>, u64), RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn list_filtered<'life0, 'async_trait>(
&'life0 self,
page: u32,
limit: u32,
filters: HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<UploadSession>, u64), RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_filtered<'life0, 'async_trait>(
&'life0 self,
page: u32,
limit: u32,
filters: HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<UploadSession>, u64), RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn list_filtered_with_info<'life0, 'async_trait>(
&'life0 self,
page: u32,
limit: u32,
filters: HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<UploadSession>, PaginationInfo), RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_filtered_with_info<'life0, 'async_trait>(
&'life0 self,
page: u32,
limit: u32,
filters: HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<UploadSession>, PaginationInfo), RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
list_filtered, carrying the pagination info (cursor positions
included) so the HTTP layer can surface keyset paging. Default: the
tuple form with the cursor fields absent; the generated Postgres
repositories override this with the real keyset walk.Source§fn table_name(&self) -> Option<&str>
fn table_name(&self) -> Option<&str>
list_filtered. Read morefn aggregate_filtered<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 AggregateSpec,
filters: HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = Result<AggregateResult, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn list_deleted<'life0, 'async_trait>(
&'life0 self,
page: u32,
limit: u32,
) -> Pin<Box<dyn Future<Output = Result<(Vec<UploadSession>, u64), RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_deleted<'life0, 'async_trait>(
&'life0 self,
page: u32,
limit: u32,
) -> Pin<Box<dyn Future<Output = Result<(Vec<UploadSession>, u64), RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn count_deleted<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count_deleted<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn bulk_create<'life0, 'async_trait>(
&'life0 self,
entities: Vec<UploadSession>,
) -> Pin<Box<dyn Future<Output = Result<Vec<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn bulk_create<'life0, 'async_trait>(
&'life0 self,
entities: Vec<UploadSession>,
) -> Pin<Box<dyn Future<Output = Result<Vec<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn empty_trash<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn empty_trash<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn bulk_soft_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<u64, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn bulk_soft_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<u64, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn bulk_restore<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn bulk_restore<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<Vec<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn bulk_hard_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<u64, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn bulk_hard_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<u64, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn restore_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn restore_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn bulk_update<'life0, 'async_trait>(
&'life0 self,
entities: Vec<UploadSession>,
) -> Pin<Box<dyn Future<Output = Result<Vec<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn bulk_update<'life0, 'async_trait>(
&'life0 self,
entities: Vec<UploadSession>,
) -> Pin<Box<dyn Future<Output = Result<Vec<UploadSession>, RepositoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl Debug for UploadSession
impl Debug for UploadSession
Source§impl<'de> Deserialize<'de> for UploadSession
impl<'de> Deserialize<'de> for UploadSession
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl DomainPolicy<UploadSession> for UploadSessionDomainPolicy
impl DomainPolicy<UploadSession> for UploadSessionDomainPolicy
Source§fn can_create<'life0, 'life1, 'async_trait>(
&'life0 self,
_entity: &'life1 E,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn can_create<'life0, 'life1, 'async_trait>(
&'life0 self,
_entity: &'life1 E,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Source§fn can_update<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_current: &'life1 E,
_updated: &'life2 E,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn can_update<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_current: &'life1 E,
_updated: &'life2 E,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
current to updated state?Source§fn can_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
_entity: &'life1 E,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn can_delete<'life0, 'life1, 'async_trait>(
&'life0 self,
_entity: &'life1 E,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Source§fn can_restore<'life0, 'life1, 'async_trait>(
&'life0 self,
_entity: &'life1 E,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn can_restore<'life0, 'life1, 'async_trait>(
&'life0 self,
_entity: &'life1 E,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Source§impl Entity for UploadSession
impl Entity for UploadSession
Source§impl EntityRepoMeta for UploadSession
impl EntityRepoMeta for UploadSession
Source§fn column_types() -> HashMap<String, String>
fn column_types() -> HashMap<String, String>
{"id": "uuid"}).Source§fn search_fields() -> &'static [&'static str]
fn search_fields() -> &'static [&'static str]
Source§fn private_fields() -> &'static [&'static str]
fn private_fields() -> &'static [&'static str]
@private). Stripped for everyone else.Source§fn secret_fields() -> &'static [&'static str]
fn secret_fields() -> &'static [&'static str]
@sensitive): no
caller is served them, a platform caller or the row’s owner included.Source§fn relation_secret_fields(_relation: &str) -> &'static [&'static str]
fn relation_secret_fields(_relation: &str) -> &'static [&'static str]
@sensitive fields (camelCase response keys) of the model a to-one
relation points at, stripped from the related row an ?include= expands.
Keyed by the relation name of relations. Default: none.Source§fn owner_field() -> Option<&'static str>
fn owner_field() -> Option<&'static str>
@owner),
compared against the caller’s access scope to decide private-field
visibility. None = the entity has no owner concept.Source§impl From<&UploadSession> for UploadSessionResponseDto
impl From<&UploadSession> for UploadSessionResponseDto
Source§fn from(entity: &UploadSession) -> Self
fn from(entity: &UploadSession) -> Self
Source§impl From<CreateUploadSessionDto> for UploadSession
impl From<CreateUploadSessionDto> for UploadSession
Source§fn from(dto: CreateUploadSessionDto) -> Self
fn from(dto: CreateUploadSessionDto) -> Self
Source§impl From<UploadSession> for UploadSessionResponseDto
impl From<UploadSession> for UploadSessionResponseDto
Source§fn from(entity: UploadSession) -> Self
fn from(entity: UploadSession) -> Self
Source§impl From<UploadSession> for UploadSessionSummaryDto
impl From<UploadSession> for UploadSessionSummaryDto
Source§fn from(entity: UploadSession) -> Self
fn from(entity: UploadSession) -> Self
Source§impl FromCreateDto<CreateUploadSessionDto> for UploadSession
impl FromCreateDto<CreateUploadSessionDto> for UploadSession
fn from_create_dto(dto: CreateUploadSessionDto) -> ServiceResult<Self>
Source§impl<'a, R: Row> FromRow<'a, R> for UploadSessionwhere
&'a str: ColumnIndex<R>,
Uuid: Decode<'a, R::Database> + Type<R::Database>,
String: Decode<'a, R::Database> + Type<R::Database>,
Option<String>: Decode<'a, R::Database> + Type<R::Database>,
i64: Decode<'a, R::Database> + Type<R::Database>,
i32: Decode<'a, R::Database> + Type<R::Database>,
UploadStatus: Decode<'a, R::Database> + Type<R::Database>,
StorageBackend: Decode<'a, R::Database> + Type<R::Database>,
Vec<i32>: Decode<'a, R::Database> + Type<R::Database>,
Option<Value>: Decode<'a, R::Database> + Type<R::Database>,
DateTime<Utc>: Decode<'a, R::Database> + Type<R::Database>,
Json<AuditMetadata>: Decode<'a, R::Database> + Type<R::Database>,
impl<'a, R: Row> FromRow<'a, R> for UploadSessionwhere
&'a str: ColumnIndex<R>,
Uuid: Decode<'a, R::Database> + Type<R::Database>,
String: Decode<'a, R::Database> + Type<R::Database>,
Option<String>: Decode<'a, R::Database> + Type<R::Database>,
i64: Decode<'a, R::Database> + Type<R::Database>,
i32: Decode<'a, R::Database> + Type<R::Database>,
UploadStatus: Decode<'a, R::Database> + Type<R::Database>,
StorageBackend: Decode<'a, R::Database> + Type<R::Database>,
Vec<i32>: Decode<'a, R::Database> + Type<R::Database>,
Option<Value>: Decode<'a, R::Database> + Type<R::Database>,
DateTime<Utc>: Decode<'a, R::Database> + Type<R::Database>,
Json<AuditMetadata>: Decode<'a, R::Database> + Type<R::Database>,
Source§impl HasComputedFields for UploadSession
Computed fields for UploadSession entity
impl HasComputedFields for UploadSession
Computed fields for UploadSession entity
Source§fn computed_fields(&self) -> ComputedFieldValues
fn computed_fields(&self) -> ComputedFieldValues
Source§impl PersistentEntity for UploadSession
impl PersistentEntity for UploadSession
Source§fn set_entity_id(&mut self, id: String)
fn set_entity_id(&mut self, id: String)
Source§fn set_created_at(&mut self, ts: DateTime<Utc>)
fn set_created_at(&mut self, ts: DateTime<Utc>)
Source§fn set_updated_at(&mut self, ts: DateTime<Utc>)
fn set_updated_at(&mut self, ts: DateTime<Utc>)
Source§fn is_deleted(&self) -> bool
fn is_deleted(&self) -> bool
Source§fn mark_deleted(&mut self)
fn mark_deleted(&mut self)
Source§fn generate_id() -> String
fn generate_id() -> String
Source§fn write_protected_fields() -> &'static [&'static str]
fn write_protected_fields() -> &'static [&'static str]
Source§impl Serialize for UploadSession
impl Serialize for UploadSession
Source§impl WriteGuard<UploadSession> for UploadSessionRowRules
impl WriteGuard<UploadSession> for UploadSessionRowRules
fn check<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 WriteCtx<'life2, UploadSession>,
) -> Pin<Box<dyn Future<Output = GuardOutcome> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Auto Trait Implementations§
impl Freeze for UploadSession
impl RefUnwindSafe for UploadSession
impl Send for UploadSession
impl Sync for UploadSession
impl Unpin for UploadSession
impl UnsafeUnpin for UploadSession
impl UnwindSafe for UploadSession
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more