From ff7ebc618fe87745ff7bce62105c2fd5ae006c76 Mon Sep 17 00:00:00 2001 From: Jamie Pine <32987599+jamiepine@users.noreply.github.com> Date: Sun, 6 Mar 2022 02:10:44 -0800 Subject: [PATCH] fix generated prisma client code (thanks brendan :heart:) --- packages/core/prisma/schema.prisma | 4 - packages/core/src/prisma.rs | 1631 +++++++++++++++++++--------- 2 files changed, 1089 insertions(+), 546 deletions(-) diff --git a/packages/core/prisma/schema.prisma b/packages/core/prisma/schema.prisma index 5a6758dc8..b72a5b6ca 100644 --- a/packages/core/prisma/schema.prisma +++ b/packages/core/prisma/schema.prisma @@ -32,10 +32,6 @@ model Library { encryption Int @default(0) date_created DateTime @default(now()) timezone String? - // total_file_count Int @default(0) - // total_bytes_used String @default("0") - // total_byte_capacity String @default("0") - // total_unique_bytes String @default("0") spaces Space[] @@map("libraries") diff --git a/packages/core/src/prisma.rs b/packages/core/src/prisma.rs index 6395077b2..1cd669108 100644 --- a/packages/core/src/prisma.rs +++ b/packages/core/src/prisma.rs @@ -1,14 +1,12 @@ // Code generated by Prisma Client Rust. DO NOT EDIT. -use prisma_client_rust::chrono; use prisma_client_rust::datamodel::parse_configuration; use prisma_client_rust::prisma_models::InternalDataModelBuilder; use prisma_client_rust::query::*; use prisma_client_rust::query_core::{ executor, schema_builder, BuildMode, CoreError, QueryExecutor, QuerySchema, }; -use prisma_client_rust::serde_json; -use prisma_client_rust::DeleteResult; +use prisma_client_rust::{chrono, operator::Operator, serde_json, DeleteResult}; use serde::{Deserialize, Serialize}; use std::path::Path; use std::sync::Arc; @@ -16,70 +14,56 @@ pub struct PrismaClient { executor: Box, query_schema: Arc, } +pub async fn new_client() -> Self { + let datamodel_str = "datasource db {\n provider = \"sqlite\"\n url = \"file:dev.db\"\n}\n\ngenerator client {\n provider = \"prisma-client-rust\"\n output = \"../src/prisma.rs\"\n}\n\ngenerator js {\n provider = \"prisma-client-js\"\n output = \"../types\"\n}\n\nmodel Migration {\n id Int @id @default(autoincrement())\n name String\n checksum String @unique\n steps_applied Int @default(0)\n applied_at DateTime @default(now())\n\n @@map(\"_migrations\")\n}\n\nmodel Library {\n id Int @id @default(autoincrement())\n uuid String @unique\n name String\n remote_id String?\n is_primary Boolean @default(true)\n encryption Int @default(0)\n date_created DateTime @default(now())\n timezone String?\n // total_file_count Int @default(0)\n // total_bytes_used String @default(\"0\")\n // total_byte_capacity String @default(\"0\")\n // total_unique_bytes String @default(\"0\")\n spaces Space[]\n\n @@map(\"libraries\")\n}\n\nmodel LibraryStatistics {\n id Int @id @default(autoincrement())\n date_captured DateTime @default(now())\n library_id Int @unique\n total_file_count Int @default(0)\n total_bytes_used String @default(\"0\")\n total_byte_capacity String @default(\"0\")\n total_unique_bytes String @default(\"0\")\n\n @@map(\"library_statistics\")\n}\n\nmodel Client {\n id Int @id @default(autoincrement())\n uuid String @unique\n name String\n platform Int @default(0)\n version String?\n online Boolean? @default(true)\n last_seen DateTime @default(now())\n timezone String?\n date_created DateTime @default(now())\n jobs Job[]\n\n @@map(\"clients\")\n}\n\nmodel Location {\n id Int @id @default(autoincrement())\n name String?\n path String?\n total_capacity Int?\n available_capacity Int?\n is_removable Boolean @default(true)\n is_ejectable Boolean @default(true)\n is_root_filesystem Boolean @default(true)\n is_online Boolean @default(true)\n date_created DateTime @default(now())\n files File[]\n\n @@map(\"locations\")\n}\n\nmodel File {\n id Int @id @default(autoincrement())\n is_dir Boolean @default(false)\n location_id Int\n stem String\n name String\n extension String?\n quick_checksum String? // 100 * 100 byte samples\n full_checksum String? // full byte to byte hash\n size_in_bytes String\n encryption Int @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n date_indexed DateTime @default(now())\n ipfs_id String?\n\n location Location? @relation(fields: [location_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n parent File? @relation(\"directory_files\", fields: [parent_id], references: [id])\n parent_id Int?\n children File[] @relation(\"directory_files\")\n\n file_tags TagOnFile[]\n @@unique([location_id, stem, name, extension])\n @@map(\"files\")\n}\n\nmodel Tag {\n id Int @id @default(autoincrement())\n name String?\n encryption Int? @default(0)\n total_files Int? @default(0)\n redundancy_goal Int? @default(1)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n\n tag_files TagOnFile[]\n\n @@map(\"tags\")\n}\n\nmodel TagOnFile {\n date_created DateTime @default(now())\n\n tag_id Int\n tag Tag @relation(fields: [tag_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n file_id Int\n file File @relation(fields: [file_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@id([tag_id, file_id])\n @@map(\"tags_on_files\")\n}\n\nmodel Job {\n id Int @id @default(autoincrement())\n client_id Int\n action Int\n status Int @default(0)\n percentage_complete Int @default(0)\n task_count Int @default(1)\n completed_task_count Int @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n clients Client @relation(fields: [client_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@map(\"jobs\")\n}\n\nmodel Space {\n id Int @id @default(autoincrement())\n name String\n encryption Int? @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n\n Library Library? @relation(fields: [libraryId], references: [id])\n libraryId Int?\n @@map(\"spaces\")\n}\n" ; + let config = parse_configuration(datamodel_str).unwrap().subject; + let source = config + .datasources + .first() + .expect("Pleasy supply a datasource in your schema.prisma file"); + let url = if let Some(url) = source.load_shadow_database_url().unwrap() { + url + } else { + source.load_url(|key| std::env::var(key).ok()).unwrap() + }; + let url = if url.starts_with("file:") { + let path = url.split(":").nth(1).unwrap(); + if Path::new("./schema.prisma").exists() { + url + } else if Path::new("./prisma/schema.prisma").exists() { + format!("file:./prisma/{}", path) + } else { + url + } + } else { + url + }; + new_with_url(url) +} +pub async fn new_client_with_url(url: &str) -> Self { + let datamodel_str = "datasource db {\n provider = \"sqlite\"\n url = \"file:dev.db\"\n}\n\ngenerator client {\n provider = \"prisma-client-rust\"\n output = \"../src/prisma.rs\"\n}\n\ngenerator js {\n provider = \"prisma-client-js\"\n output = \"../types\"\n}\n\nmodel Migration {\n id Int @id @default(autoincrement())\n name String\n checksum String @unique\n steps_applied Int @default(0)\n applied_at DateTime @default(now())\n\n @@map(\"_migrations\")\n}\n\nmodel Library {\n id Int @id @default(autoincrement())\n uuid String @unique\n name String\n remote_id String?\n is_primary Boolean @default(true)\n encryption Int @default(0)\n date_created DateTime @default(now())\n timezone String?\n // total_file_count Int @default(0)\n // total_bytes_used String @default(\"0\")\n // total_byte_capacity String @default(\"0\")\n // total_unique_bytes String @default(\"0\")\n spaces Space[]\n\n @@map(\"libraries\")\n}\n\nmodel LibraryStatistics {\n id Int @id @default(autoincrement())\n date_captured DateTime @default(now())\n library_id Int @unique\n total_file_count Int @default(0)\n total_bytes_used String @default(\"0\")\n total_byte_capacity String @default(\"0\")\n total_unique_bytes String @default(\"0\")\n\n @@map(\"library_statistics\")\n}\n\nmodel Client {\n id Int @id @default(autoincrement())\n uuid String @unique\n name String\n platform Int @default(0)\n version String?\n online Boolean? @default(true)\n last_seen DateTime @default(now())\n timezone String?\n date_created DateTime @default(now())\n jobs Job[]\n\n @@map(\"clients\")\n}\n\nmodel Location {\n id Int @id @default(autoincrement())\n name String?\n path String?\n total_capacity Int?\n available_capacity Int?\n is_removable Boolean @default(true)\n is_ejectable Boolean @default(true)\n is_root_filesystem Boolean @default(true)\n is_online Boolean @default(true)\n date_created DateTime @default(now())\n files File[]\n\n @@map(\"locations\")\n}\n\nmodel File {\n id Int @id @default(autoincrement())\n is_dir Boolean @default(false)\n location_id Int\n stem String\n name String\n extension String?\n quick_checksum String? // 100 * 100 byte samples\n full_checksum String? // full byte to byte hash\n size_in_bytes String\n encryption Int @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n date_indexed DateTime @default(now())\n ipfs_id String?\n\n location Location? @relation(fields: [location_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n parent File? @relation(\"directory_files\", fields: [parent_id], references: [id])\n parent_id Int?\n children File[] @relation(\"directory_files\")\n\n file_tags TagOnFile[]\n @@unique([location_id, stem, name, extension])\n @@map(\"files\")\n}\n\nmodel Tag {\n id Int @id @default(autoincrement())\n name String?\n encryption Int? @default(0)\n total_files Int? @default(0)\n redundancy_goal Int? @default(1)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n\n tag_files TagOnFile[]\n\n @@map(\"tags\")\n}\n\nmodel TagOnFile {\n date_created DateTime @default(now())\n\n tag_id Int\n tag Tag @relation(fields: [tag_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n file_id Int\n file File @relation(fields: [file_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@id([tag_id, file_id])\n @@map(\"tags_on_files\")\n}\n\nmodel Job {\n id Int @id @default(autoincrement())\n client_id Int\n action Int\n status Int @default(0)\n percentage_complete Int @default(0)\n task_count Int @default(1)\n completed_task_count Int @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n clients Client @relation(fields: [client_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@map(\"jobs\")\n}\n\nmodel Space {\n id Int @id @default(autoincrement())\n name String\n encryption Int? @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n\n Library Library? @relation(fields: [libraryId], references: [id])\n libraryId Int?\n @@map(\"spaces\")\n}\n" ; + let config = parse_configuration(datamodel_str).unwrap().subject; + let source = config + .datasources + .first() + .expect("Pleasy supply a datasource in your schema.prisma file"); + let (db_name, executor) = executor::load(&source, &[], &url).await.unwrap(); + let internal_model = InternalDataModelBuilder::new(&datamodel_str).build(db_name); + let query_schema = Arc::new(schema_builder::build( + internal_model, + BuildMode::Modern, + true, + source.capabilities(), + vec![], + source.referential_integrity(), + )); + executor.primary_connector().get_connection().await.unwrap(); + Self { + executor, + query_schema, + } +} impl PrismaClient { - pub async fn new() -> Self { - let datamodel_str = "datasource db {\n provider = \"sqlite\"\n url = \"file:dev.db\"\n}\n\ngenerator client {\n provider = \"prisma-client-rust\"\n output = \"../src/prisma.rs\"\n}\n\ngenerator js {\n provider = \"prisma-client-js\"\n output = \"../types\"\n}\n\nmodel Migration {\n id Int @id @default(autoincrement())\n name String\n checksum String @unique\n steps_applied Int @default(0)\n applied_at DateTime @default(now())\n\n @@map(\"_migrations\")\n}\n\nmodel Library {\n id Int @id @default(autoincrement())\n uuid String @unique\n name String\n remote_id String?\n is_primary Boolean @default(true)\n encryption Int @default(0)\n total_file_count Int @default(0)\n total_bytes_used String @default(\"0\")\n total_byte_capacity String @default(\"0\")\n total_unique_bytes String @default(\"0\")\n date_created DateTime @default(now())\n timezone String?\n spaces Space[]\n\n @@map(\"libraries\")\n}\n\nmodel Client {\n id Int @id @default(autoincrement())\n uuid String @unique\n name String\n platform Int @default(0)\n version String?\n online Boolean? @default(true)\n last_seen DateTime @default(now())\n timezone String?\n date_created DateTime @default(now())\n jobs Job[]\n\n @@map(\"clients\")\n}\n\nmodel Location {\n id Int @id @default(autoincrement())\n name String?\n path String?\n total_capacity Int?\n available_capacity Int?\n is_removable Boolean @default(true)\n is_ejectable Boolean @default(true)\n is_root_filesystem Boolean @default(true)\n is_online Boolean @default(true)\n date_created DateTime @default(now())\n files File[]\n\n @@map(\"locations\")\n}\n\nmodel File {\n id Int @id @default(autoincrement())\n is_dir Boolean @default(false)\n location_id Int\n stem String\n name String\n extension String?\n path_checksum String @unique // combo of location_id, stem, name, extension\n quick_checksum String? // 100 * 100 byte samples\n full_checksum String? // full byte to byte hash\n size_in_bytes String\n encryption Int @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n date_indexed DateTime @default(now())\n ipfs_id String?\n\n location Location? @relation(fields: [location_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n parent File? @relation(\"directory_files\", fields: [parent_id], references: [id])\n parent_id Int?\n children File[] @relation(\"directory_files\")\n\n file_tags TagOnFile[]\n @@map(\"files\")\n}\n\nmodel Tag {\n id Int @id @default(autoincrement())\n name String?\n encryption Int? @default(0)\n total_files Int? @default(0)\n redundancy_goal Int? @default(1)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n\n tag_files TagOnFile[]\n\n @@map(\"tags\")\n}\n\nmodel TagOnFile {\n date_created DateTime @default(now())\n\n tag_id Int\n tag Tag @relation(fields: [tag_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n file_id Int\n file File @relation(fields: [file_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@id([tag_id, file_id])\n @@map(\"tags_on_files\")\n}\n\nmodel Job {\n id Int @id @default(autoincrement())\n client_id Int\n action Int\n status Int @default(0)\n percentage_complete Int @default(0)\n task_count Int @default(1)\n completed_task_count Int @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n clients Client @relation(fields: [client_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@map(\"jobs\")\n}\n\nmodel Space {\n id Int @id @default(autoincrement())\n name String\n encryption Int? @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n\n Library Library? @relation(fields: [libraryId], references: [id])\n libraryId Int?\n @@map(\"spaces\")\n}\n" ; - let config = parse_configuration(datamodel_str).unwrap().subject; - let source = config - .datasources - .first() - .expect("Pleasy supply a datasource in your schema.prisma file"); - let url = if let Some(url) = source.load_shadow_database_url().unwrap() { - url - } else { - source.load_url(|key| std::env::var(key).ok()).unwrap() - }; - let url = if url.starts_with("file:") { - let path = url.split(":").nth(1).unwrap(); - if Path::new("./schema.prisma").exists() { - url - } else if Path::new("./prisma/schema.prisma").exists() { - format!("file:./prisma/{}", path) - } else { - url - } - } else { - url - }; - let (db_name, executor) = executor::load(&source, &[], &url).await.unwrap(); - let internal_model = InternalDataModelBuilder::new(&datamodel_str).build(db_name); - let query_schema = Arc::new(schema_builder::build( - internal_model, - BuildMode::Modern, - true, - source.capabilities(), - vec![], - source.referential_integrity(), - )); - executor.primary_connector().get_connection().await.unwrap(); - Self { - executor, - query_schema, - } - } - pub async fn new_with_url(url: &str) -> Self { - let datamodel_str = "datasource db {\n provider = \"sqlite\"\n url = \"file:dev.db\"\n}\n\ngenerator client {\n provider = \"prisma-client-rust\"\n output = \"../src/prisma.rs\"\n}\n\ngenerator js {\n provider = \"prisma-client-js\"\n output = \"../types\"\n}\n\nmodel Migration {\n id Int @id @default(autoincrement())\n name String\n checksum String @unique\n steps_applied Int @default(0)\n applied_at DateTime @default(now())\n\n @@map(\"_migrations\")\n}\n\nmodel Library {\n id Int @id @default(autoincrement())\n uuid String @unique\n name String\n remote_id String?\n is_primary Boolean @default(true)\n encryption Int @default(0)\n total_file_count Int @default(0)\n total_bytes_used String @default(\"0\")\n total_byte_capacity String @default(\"0\")\n total_unique_bytes String @default(\"0\")\n date_created DateTime @default(now())\n timezone String?\n spaces Space[]\n\n @@map(\"libraries\")\n}\n\nmodel Client {\n id Int @id @default(autoincrement())\n uuid String @unique\n name String\n platform Int @default(0)\n version String?\n online Boolean? @default(true)\n last_seen DateTime @default(now())\n timezone String?\n date_created DateTime @default(now())\n jobs Job[]\n\n @@map(\"clients\")\n}\n\nmodel Location {\n id Int @id @default(autoincrement())\n name String?\n path String?\n total_capacity Int?\n available_capacity Int?\n is_removable Boolean @default(true)\n is_ejectable Boolean @default(true)\n is_root_filesystem Boolean @default(true)\n is_online Boolean @default(true)\n date_created DateTime @default(now())\n files File[]\n\n @@map(\"locations\")\n}\n\nmodel File {\n id Int @id @default(autoincrement())\n is_dir Boolean @default(false)\n location_id Int\n stem String\n name String\n extension String?\n path_checksum String @unique // combo of location_id, stem, name, extension\n quick_checksum String? // 100 * 100 byte samples\n full_checksum String? // full byte to byte hash\n size_in_bytes String\n encryption Int @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n date_indexed DateTime @default(now())\n ipfs_id String?\n\n location Location? @relation(fields: [location_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n parent File? @relation(\"directory_files\", fields: [parent_id], references: [id])\n parent_id Int?\n children File[] @relation(\"directory_files\")\n\n file_tags TagOnFile[]\n @@map(\"files\")\n}\n\nmodel Tag {\n id Int @id @default(autoincrement())\n name String?\n encryption Int? @default(0)\n total_files Int? @default(0)\n redundancy_goal Int? @default(1)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n\n tag_files TagOnFile[]\n\n @@map(\"tags\")\n}\n\nmodel TagOnFile {\n date_created DateTime @default(now())\n\n tag_id Int\n tag Tag @relation(fields: [tag_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n file_id Int\n file File @relation(fields: [file_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@id([tag_id, file_id])\n @@map(\"tags_on_files\")\n}\n\nmodel Job {\n id Int @id @default(autoincrement())\n client_id Int\n action Int\n status Int @default(0)\n percentage_complete Int @default(0)\n task_count Int @default(1)\n completed_task_count Int @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n clients Client @relation(fields: [client_id], references: [id], onDelete: NoAction, onUpdate: NoAction)\n\n @@map(\"jobs\")\n}\n\nmodel Space {\n id Int @id @default(autoincrement())\n name String\n encryption Int? @default(0)\n date_created DateTime @default(now())\n date_modified DateTime @default(now())\n\n Library Library? @relation(fields: [libraryId], references: [id])\n libraryId Int?\n @@map(\"spaces\")\n}\n" ; - let config = parse_configuration(datamodel_str).unwrap().subject; - let source = config - .datasources - .first() - .expect("Pleasy supply a datasource in your schema.prisma file"); - let (db_name, executor) = executor::load(&source, &[], &url).await.unwrap(); - let internal_model = InternalDataModelBuilder::new(&datamodel_str).build(db_name); - let query_schema = Arc::new(schema_builder::build( - internal_model, - BuildMode::Modern, - true, - source.capabilities(), - vec![], - source.referential_integrity(), - )); - executor.primary_connector().get_connection().await.unwrap(); - Self { - executor, - query_schema, - } - } pub async fn _query_raw( &self, query: &str, @@ -135,6 +119,9 @@ impl PrismaClient { pub fn library(&self) -> LibraryActions { LibraryActions { client: &self } } + pub fn library_statistics(&self) -> LibraryStatisticsActions { + LibraryStatisticsActions { client: &self } + } pub fn client(&self) -> ClientActions { ClientActions { client: &self } } @@ -197,15 +184,6 @@ impl Migration { pub fn applied_at() -> MigrationAppliedAtField { MigrationAppliedAtField {} } - pub fn not(params: Vec) -> MigrationWhereParam { - MigrationWhereParam::Not(params) - } - pub fn or(params: Vec) -> MigrationWhereParam { - MigrationWhereParam::Or(params) - } - pub fn and(params: Vec) -> MigrationWhereParam { - MigrationWhereParam::And(params) - } } pub struct MigrationIdField {} pub struct MigrationSetId(i64); @@ -598,6 +576,15 @@ impl MigrationWhereParam { } } } +impl From> for MigrationWhereParam { + fn from(op: Operator) -> Self { + match op { + Operator::Not(value) => Self::Not(value), + Operator::And(value) => Self::And(value), + Operator::Or(value) => Self::Or(value), + } + } +} pub struct MigrationWith { pub param: MigrationWithParam, } @@ -927,10 +914,6 @@ fn library_outputs() -> Vec { Output::new("remote_id"), Output::new("is_primary"), Output::new("encryption"), - Output::new("total_file_count"), - Output::new("total_bytes_used"), - Output::new("total_byte_capacity"), - Output::new("total_unique_bytes"), Output::new("date_created"), Output::new("timezone"), ] @@ -949,14 +932,6 @@ pub struct LibraryData { pub is_primary: bool, #[serde(rename = "encryption")] pub encryption: i64, - #[serde(rename = "total_file_count")] - pub total_file_count: i64, - #[serde(rename = "total_bytes_used")] - pub total_bytes_used: String, - #[serde(rename = "total_byte_capacity")] - pub total_byte_capacity: String, - #[serde(rename = "total_unique_bytes")] - pub total_unique_bytes: String, #[serde(rename = "date_created")] pub date_created: chrono::DateTime, #[serde(rename = "timezone")] @@ -995,18 +970,6 @@ impl Library { pub fn encryption() -> LibraryEncryptionField { LibraryEncryptionField {} } - pub fn total_file_count() -> LibraryTotalFileCountField { - LibraryTotalFileCountField {} - } - pub fn total_bytes_used() -> LibraryTotalBytesUsedField { - LibraryTotalBytesUsedField {} - } - pub fn total_byte_capacity() -> LibraryTotalByteCapacityField { - LibraryTotalByteCapacityField {} - } - pub fn total_unique_bytes() -> LibraryTotalUniqueBytesField { - LibraryTotalUniqueBytesField {} - } pub fn date_created() -> LibraryDateCreatedField { LibraryDateCreatedField {} } @@ -1016,15 +979,6 @@ impl Library { pub fn spaces() -> LibrarySpacesField { LibrarySpacesField {} } - pub fn not(params: Vec) -> LibraryWhereParam { - LibraryWhereParam::Not(params) - } - pub fn or(params: Vec) -> LibraryWhereParam { - LibraryWhereParam::Or(params) - } - pub fn and(params: Vec) -> LibraryWhereParam { - LibraryWhereParam::And(params) - } } pub struct LibraryIdField {} pub struct LibrarySetId(i64); @@ -1167,105 +1121,6 @@ impl LibraryEncryptionField { LibrarySetEncryption(value).into() } } -pub struct LibraryTotalFileCountField {} -pub struct LibrarySetTotalFileCount(i64); -impl From for LibrarySetParam { - fn from(value: LibrarySetTotalFileCount) -> Self { - Self::TotalFileCount(value.0) - } -} -impl LibraryTotalFileCountField { - pub fn lt(&self, value: i64) -> LibraryWhereParam { - LibraryWhereParam::TotalFileCountLT(value) - } - pub fn gt(&self, value: i64) -> LibraryWhereParam { - LibraryWhereParam::TotalFileCountGT(value) - } - pub fn lte(&self, value: i64) -> LibraryWhereParam { - LibraryWhereParam::TotalFileCountLTE(value) - } - pub fn gte(&self, value: i64) -> LibraryWhereParam { - LibraryWhereParam::TotalFileCountGTE(value) - } - pub fn equals(&self, value: i64) -> LibraryWhereParam { - LibraryWhereParam::TotalFileCountEquals(value) - } - pub fn set>(&self, value: i64) -> T { - LibrarySetTotalFileCount(value).into() - } -} -pub struct LibraryTotalBytesUsedField {} -pub struct LibrarySetTotalBytesUsed(String); -impl From for LibrarySetParam { - fn from(value: LibrarySetTotalBytesUsed) -> Self { - Self::TotalBytesUsed(value.0) - } -} -impl LibraryTotalBytesUsedField { - pub fn contains(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalBytesUsedContains(value) - } - pub fn has_prefix(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalBytesUsedHasPrefix(value) - } - pub fn has_suffix(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalBytesUsedHasSuffix(value) - } - pub fn equals(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalBytesUsedEquals(value) - } - pub fn set>(&self, value: String) -> T { - LibrarySetTotalBytesUsed(value).into() - } -} -pub struct LibraryTotalByteCapacityField {} -pub struct LibrarySetTotalByteCapacity(String); -impl From for LibrarySetParam { - fn from(value: LibrarySetTotalByteCapacity) -> Self { - Self::TotalByteCapacity(value.0) - } -} -impl LibraryTotalByteCapacityField { - pub fn contains(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalByteCapacityContains(value) - } - pub fn has_prefix(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalByteCapacityHasPrefix(value) - } - pub fn has_suffix(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalByteCapacityHasSuffix(value) - } - pub fn equals(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalByteCapacityEquals(value) - } - pub fn set>(&self, value: String) -> T { - LibrarySetTotalByteCapacity(value).into() - } -} -pub struct LibraryTotalUniqueBytesField {} -pub struct LibrarySetTotalUniqueBytes(String); -impl From for LibrarySetParam { - fn from(value: LibrarySetTotalUniqueBytes) -> Self { - Self::TotalUniqueBytes(value.0) - } -} -impl LibraryTotalUniqueBytesField { - pub fn contains(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalUniqueBytesContains(value) - } - pub fn has_prefix(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalUniqueBytesHasPrefix(value) - } - pub fn has_suffix(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalUniqueBytesHasSuffix(value) - } - pub fn equals(&self, value: String) -> LibraryWhereParam { - LibraryWhereParam::TotalUniqueBytesEquals(value) - } - pub fn set>(&self, value: String) -> T { - LibrarySetTotalUniqueBytes(value).into() - } -} pub struct LibraryDateCreatedField {} pub struct LibrarySetDateCreated(chrono::DateTime); impl From for LibrarySetParam { @@ -1365,23 +1220,6 @@ pub enum LibraryWhereParam { EncryptionLTE(i64), EncryptionGTE(i64), EncryptionEquals(i64), - TotalFileCountLT(i64), - TotalFileCountGT(i64), - TotalFileCountLTE(i64), - TotalFileCountGTE(i64), - TotalFileCountEquals(i64), - TotalBytesUsedContains(String), - TotalBytesUsedHasPrefix(String), - TotalBytesUsedHasSuffix(String), - TotalBytesUsedEquals(String), - TotalByteCapacityContains(String), - TotalByteCapacityHasPrefix(String), - TotalByteCapacityHasSuffix(String), - TotalByteCapacityEquals(String), - TotalUniqueBytesContains(String), - TotalUniqueBytesHasPrefix(String), - TotalUniqueBytesHasSuffix(String), - TotalUniqueBytesEquals(String), DateCreatedBefore(chrono::DateTime), DateCreatedAfter(chrono::DateTime), DateCreatedBeforeEquals(chrono::DateTime), @@ -1607,159 +1445,6 @@ impl LibraryWhereParam { }]), ..Default::default() }, - Self::TotalFileCountLT(value) => Field { - name: "total_file_count".into(), - fields: Some(vec![Field { - name: "lt".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalFileCountGT(value) => Field { - name: "total_file_count".into(), - fields: Some(vec![Field { - name: "gt".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalFileCountLTE(value) => Field { - name: "total_file_count".into(), - fields: Some(vec![Field { - name: "lte".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalFileCountGTE(value) => Field { - name: "total_file_count".into(), - fields: Some(vec![Field { - name: "gte".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalFileCountEquals(value) => Field { - name: "total_file_count".into(), - fields: Some(vec![Field { - name: "equals".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalBytesUsedContains(value) => Field { - name: "total_bytes_used".into(), - fields: Some(vec![Field { - name: "contains".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalBytesUsedHasPrefix(value) => Field { - name: "total_bytes_used".into(), - fields: Some(vec![Field { - name: "starts_with".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalBytesUsedHasSuffix(value) => Field { - name: "total_bytes_used".into(), - fields: Some(vec![Field { - name: "ends_with".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalBytesUsedEquals(value) => Field { - name: "total_bytes_used".into(), - fields: Some(vec![Field { - name: "equals".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalByteCapacityContains(value) => Field { - name: "total_byte_capacity".into(), - fields: Some(vec![Field { - name: "contains".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalByteCapacityHasPrefix(value) => Field { - name: "total_byte_capacity".into(), - fields: Some(vec![Field { - name: "starts_with".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalByteCapacityHasSuffix(value) => Field { - name: "total_byte_capacity".into(), - fields: Some(vec![Field { - name: "ends_with".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalByteCapacityEquals(value) => Field { - name: "total_byte_capacity".into(), - fields: Some(vec![Field { - name: "equals".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalUniqueBytesContains(value) => Field { - name: "total_unique_bytes".into(), - fields: Some(vec![Field { - name: "contains".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalUniqueBytesHasPrefix(value) => Field { - name: "total_unique_bytes".into(), - fields: Some(vec![Field { - name: "starts_with".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalUniqueBytesHasSuffix(value) => Field { - name: "total_unique_bytes".into(), - fields: Some(vec![Field { - name: "ends_with".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::TotalUniqueBytesEquals(value) => Field { - name: "total_unique_bytes".into(), - fields: Some(vec![Field { - name: "equals".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, Self::DateCreatedBefore(value) => Field { name: "date_created".into(), fields: Some(vec![Field { @@ -1883,6 +1568,15 @@ impl LibraryWhereParam { } } } +impl From> for LibraryWhereParam { + fn from(op: Operator) -> Self { + match op { + Operator::Not(value) => Self::Not(value), + Operator::And(value) => Self::And(value), + Operator::Or(value) => Self::Or(value), + } + } +} pub struct LibraryWith { pub param: LibraryWithParam, } @@ -1921,10 +1615,6 @@ pub enum LibrarySetParam { RemoteId(String), IsPrimary(bool), Encryption(i64), - TotalFileCount(i64), - TotalBytesUsed(String), - TotalByteCapacity(String), - TotalUniqueBytes(String), DateCreated(chrono::DateTime), Timezone(String), LinkSpaces(Vec), @@ -1963,26 +1653,6 @@ impl LibrarySetParam { value: Some(serde_json::to_value(value).unwrap()), ..Default::default() }, - Self::TotalFileCount(value) => Field { - name: "total_file_count".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }, - Self::TotalBytesUsed(value) => Field { - name: "total_bytes_used".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }, - Self::TotalByteCapacity(value) => Field { - name: "total_byte_capacity".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }, - Self::TotalUniqueBytes(value) => Field { - name: "total_unique_bytes".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }, Self::DateCreated(value) => Field { name: "date_created".into(), value: Some(serde_json::to_value(value).unwrap()), @@ -2291,6 +1961,961 @@ impl<'a> LibraryActions<'a> { LibraryCreateOne { query } } } +fn library_statistics_outputs() -> Vec { + vec![ + Output::new("id"), + Output::new("date_captured"), + Output::new("library_id"), + Output::new("total_file_count"), + Output::new("total_bytes_used"), + Output::new("total_byte_capacity"), + Output::new("total_unique_bytes"), + ] +} +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct LibraryStatisticsData { + #[serde(rename = "id")] + pub id: i64, + #[serde(rename = "date_captured")] + pub date_captured: chrono::DateTime, + #[serde(rename = "library_id")] + pub library_id: i64, + #[serde(rename = "total_file_count")] + pub total_file_count: i64, + #[serde(rename = "total_bytes_used")] + pub total_bytes_used: String, + #[serde(rename = "total_byte_capacity")] + pub total_byte_capacity: String, + #[serde(rename = "total_unique_bytes")] + pub total_unique_bytes: String, +} +impl LibraryStatisticsData {} +pub struct LibraryStatistics; +impl LibraryStatistics { + pub fn id() -> LibraryStatisticsIdField { + LibraryStatisticsIdField {} + } + pub fn date_captured() -> LibraryStatisticsDateCapturedField { + LibraryStatisticsDateCapturedField {} + } + pub fn library_id() -> LibraryStatisticsLibraryIdField { + LibraryStatisticsLibraryIdField {} + } + pub fn total_file_count() -> LibraryStatisticsTotalFileCountField { + LibraryStatisticsTotalFileCountField {} + } + pub fn total_bytes_used() -> LibraryStatisticsTotalBytesUsedField { + LibraryStatisticsTotalBytesUsedField {} + } + pub fn total_byte_capacity() -> LibraryStatisticsTotalByteCapacityField { + LibraryStatisticsTotalByteCapacityField {} + } + pub fn total_unique_bytes() -> LibraryStatisticsTotalUniqueBytesField { + LibraryStatisticsTotalUniqueBytesField {} + } +} +pub struct LibraryStatisticsIdField {} +pub struct LibraryStatisticsSetId(i64); +impl From for LibraryStatisticsSetParam { + fn from(value: LibraryStatisticsSetId) -> Self { + Self::Id(value.0) + } +} +impl LibraryStatisticsIdField { + pub fn lt(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::IdLT(value) + } + pub fn gt(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::IdGT(value) + } + pub fn lte(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::IdLTE(value) + } + pub fn gte(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::IdGTE(value) + } + pub fn equals(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::IdEquals(value) + } + pub fn set>(&self, value: i64) -> T { + LibraryStatisticsSetId(value).into() + } +} +pub struct LibraryStatisticsDateCapturedField {} +pub struct LibraryStatisticsSetDateCaptured(chrono::DateTime); +impl From for LibraryStatisticsSetParam { + fn from(value: LibraryStatisticsSetDateCaptured) -> Self { + Self::DateCaptured(value.0) + } +} +impl LibraryStatisticsDateCapturedField { + pub fn before(&self, value: chrono::DateTime) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::DateCapturedBefore(value) + } + pub fn after(&self, value: chrono::DateTime) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::DateCapturedAfter(value) + } + pub fn before_equals( + &self, + value: chrono::DateTime, + ) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::DateCapturedBeforeEquals(value) + } + pub fn after_equals( + &self, + value: chrono::DateTime, + ) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::DateCapturedAfterEquals(value) + } + pub fn equals(&self, value: chrono::DateTime) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::DateCapturedEquals(value) + } + pub fn set>( + &self, + value: chrono::DateTime, + ) -> T { + LibraryStatisticsSetDateCaptured(value).into() + } +} +pub struct LibraryStatisticsLibraryIdField {} +pub struct LibraryStatisticsSetLibraryId(i64); +impl From for LibraryStatisticsSetParam { + fn from(value: LibraryStatisticsSetLibraryId) -> Self { + Self::LibraryId(value.0) + } +} +impl LibraryStatisticsLibraryIdField { + pub fn lt(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::LibraryIdLT(value) + } + pub fn gt(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::LibraryIdGT(value) + } + pub fn lte(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::LibraryIdLTE(value) + } + pub fn gte(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::LibraryIdGTE(value) + } + pub fn equals(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::LibraryIdEquals(value) + } + pub fn set>(&self, value: i64) -> T { + LibraryStatisticsSetLibraryId(value).into() + } +} +pub struct LibraryStatisticsTotalFileCountField {} +pub struct LibraryStatisticsSetTotalFileCount(i64); +impl From for LibraryStatisticsSetParam { + fn from(value: LibraryStatisticsSetTotalFileCount) -> Self { + Self::TotalFileCount(value.0) + } +} +impl LibraryStatisticsTotalFileCountField { + pub fn lt(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalFileCountLT(value) + } + pub fn gt(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalFileCountGT(value) + } + pub fn lte(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalFileCountLTE(value) + } + pub fn gte(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalFileCountGTE(value) + } + pub fn equals(&self, value: i64) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalFileCountEquals(value) + } + pub fn set>(&self, value: i64) -> T { + LibraryStatisticsSetTotalFileCount(value).into() + } +} +pub struct LibraryStatisticsTotalBytesUsedField {} +pub struct LibraryStatisticsSetTotalBytesUsed(String); +impl From for LibraryStatisticsSetParam { + fn from(value: LibraryStatisticsSetTotalBytesUsed) -> Self { + Self::TotalBytesUsed(value.0) + } +} +impl LibraryStatisticsTotalBytesUsedField { + pub fn contains(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalBytesUsedContains(value) + } + pub fn has_prefix(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalBytesUsedHasPrefix(value) + } + pub fn has_suffix(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalBytesUsedHasSuffix(value) + } + pub fn equals(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalBytesUsedEquals(value) + } + pub fn set>(&self, value: String) -> T { + LibraryStatisticsSetTotalBytesUsed(value).into() + } +} +pub struct LibraryStatisticsTotalByteCapacityField {} +pub struct LibraryStatisticsSetTotalByteCapacity(String); +impl From for LibraryStatisticsSetParam { + fn from(value: LibraryStatisticsSetTotalByteCapacity) -> Self { + Self::TotalByteCapacity(value.0) + } +} +impl LibraryStatisticsTotalByteCapacityField { + pub fn contains(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalByteCapacityContains(value) + } + pub fn has_prefix(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalByteCapacityHasPrefix(value) + } + pub fn has_suffix(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalByteCapacityHasSuffix(value) + } + pub fn equals(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalByteCapacityEquals(value) + } + pub fn set>(&self, value: String) -> T { + LibraryStatisticsSetTotalByteCapacity(value).into() + } +} +pub struct LibraryStatisticsTotalUniqueBytesField {} +pub struct LibraryStatisticsSetTotalUniqueBytes(String); +impl From for LibraryStatisticsSetParam { + fn from(value: LibraryStatisticsSetTotalUniqueBytes) -> Self { + Self::TotalUniqueBytes(value.0) + } +} +impl LibraryStatisticsTotalUniqueBytesField { + pub fn contains(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalUniqueBytesContains(value) + } + pub fn has_prefix(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalUniqueBytesHasPrefix(value) + } + pub fn has_suffix(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalUniqueBytesHasSuffix(value) + } + pub fn equals(&self, value: String) -> LibraryStatisticsWhereParam { + LibraryStatisticsWhereParam::TotalUniqueBytesEquals(value) + } + pub fn set>(&self, value: String) -> T { + LibraryStatisticsSetTotalUniqueBytes(value).into() + } +} +pub enum LibraryStatisticsWhereParam { + IdLT(i64), + IdGT(i64), + IdLTE(i64), + IdGTE(i64), + IdEquals(i64), + DateCapturedBefore(chrono::DateTime), + DateCapturedAfter(chrono::DateTime), + DateCapturedBeforeEquals(chrono::DateTime), + DateCapturedAfterEquals(chrono::DateTime), + DateCapturedEquals(chrono::DateTime), + LibraryIdLT(i64), + LibraryIdGT(i64), + LibraryIdLTE(i64), + LibraryIdGTE(i64), + LibraryIdEquals(i64), + TotalFileCountLT(i64), + TotalFileCountGT(i64), + TotalFileCountLTE(i64), + TotalFileCountGTE(i64), + TotalFileCountEquals(i64), + TotalBytesUsedContains(String), + TotalBytesUsedHasPrefix(String), + TotalBytesUsedHasSuffix(String), + TotalBytesUsedEquals(String), + TotalByteCapacityContains(String), + TotalByteCapacityHasPrefix(String), + TotalByteCapacityHasSuffix(String), + TotalByteCapacityEquals(String), + TotalUniqueBytesContains(String), + TotalUniqueBytesHasPrefix(String), + TotalUniqueBytesHasSuffix(String), + TotalUniqueBytesEquals(String), + Not(Vec), + Or(Vec), + And(Vec), +} +impl LibraryStatisticsWhereParam { + pub fn field(self) -> Field { + match self { + Self::IdLT(value) => Field { + name: "id".into(), + fields: Some(vec![Field { + name: "lt".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::IdGT(value) => Field { + name: "id".into(), + fields: Some(vec![Field { + name: "gt".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::IdLTE(value) => Field { + name: "id".into(), + fields: Some(vec![Field { + name: "lte".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::IdGTE(value) => Field { + name: "id".into(), + fields: Some(vec![Field { + name: "gte".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::IdEquals(value) => Field { + name: "id".into(), + fields: Some(vec![Field { + name: "equals".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::DateCapturedBefore(value) => Field { + name: "date_captured".into(), + fields: Some(vec![Field { + name: "lt".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::DateCapturedAfter(value) => Field { + name: "date_captured".into(), + fields: Some(vec![Field { + name: "gt".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::DateCapturedBeforeEquals(value) => Field { + name: "date_captured".into(), + fields: Some(vec![Field { + name: "lte".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::DateCapturedAfterEquals(value) => Field { + name: "date_captured".into(), + fields: Some(vec![Field { + name: "gte".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::DateCapturedEquals(value) => Field { + name: "date_captured".into(), + fields: Some(vec![Field { + name: "equals".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::LibraryIdLT(value) => Field { + name: "library_id".into(), + fields: Some(vec![Field { + name: "lt".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::LibraryIdGT(value) => Field { + name: "library_id".into(), + fields: Some(vec![Field { + name: "gt".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::LibraryIdLTE(value) => Field { + name: "library_id".into(), + fields: Some(vec![Field { + name: "lte".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::LibraryIdGTE(value) => Field { + name: "library_id".into(), + fields: Some(vec![Field { + name: "gte".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::LibraryIdEquals(value) => Field { + name: "library_id".into(), + fields: Some(vec![Field { + name: "equals".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalFileCountLT(value) => Field { + name: "total_file_count".into(), + fields: Some(vec![Field { + name: "lt".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalFileCountGT(value) => Field { + name: "total_file_count".into(), + fields: Some(vec![Field { + name: "gt".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalFileCountLTE(value) => Field { + name: "total_file_count".into(), + fields: Some(vec![Field { + name: "lte".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalFileCountGTE(value) => Field { + name: "total_file_count".into(), + fields: Some(vec![Field { + name: "gte".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalFileCountEquals(value) => Field { + name: "total_file_count".into(), + fields: Some(vec![Field { + name: "equals".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalBytesUsedContains(value) => Field { + name: "total_bytes_used".into(), + fields: Some(vec![Field { + name: "contains".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalBytesUsedHasPrefix(value) => Field { + name: "total_bytes_used".into(), + fields: Some(vec![Field { + name: "starts_with".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalBytesUsedHasSuffix(value) => Field { + name: "total_bytes_used".into(), + fields: Some(vec![Field { + name: "ends_with".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalBytesUsedEquals(value) => Field { + name: "total_bytes_used".into(), + fields: Some(vec![Field { + name: "equals".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalByteCapacityContains(value) => Field { + name: "total_byte_capacity".into(), + fields: Some(vec![Field { + name: "contains".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalByteCapacityHasPrefix(value) => Field { + name: "total_byte_capacity".into(), + fields: Some(vec![Field { + name: "starts_with".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalByteCapacityHasSuffix(value) => Field { + name: "total_byte_capacity".into(), + fields: Some(vec![Field { + name: "ends_with".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalByteCapacityEquals(value) => Field { + name: "total_byte_capacity".into(), + fields: Some(vec![Field { + name: "equals".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalUniqueBytesContains(value) => Field { + name: "total_unique_bytes".into(), + fields: Some(vec![Field { + name: "contains".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalUniqueBytesHasPrefix(value) => Field { + name: "total_unique_bytes".into(), + fields: Some(vec![Field { + name: "starts_with".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalUniqueBytesHasSuffix(value) => Field { + name: "total_unique_bytes".into(), + fields: Some(vec![Field { + name: "ends_with".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::TotalUniqueBytesEquals(value) => Field { + name: "total_unique_bytes".into(), + fields: Some(vec![Field { + name: "equals".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }]), + ..Default::default() + }, + Self::Not(value) => Field { + name: "NOT".into(), + list: true, + wrap_list: true, + fields: Some(value.into_iter().map(|f| f.field()).collect()), + ..Default::default() + }, + Self::Or(value) => Field { + name: "OR".into(), + list: true, + wrap_list: true, + fields: Some(value.into_iter().map(|f| f.field()).collect()), + ..Default::default() + }, + Self::And(value) => Field { + name: "AND".into(), + list: true, + wrap_list: true, + fields: Some(value.into_iter().map(|f| f.field()).collect()), + ..Default::default() + }, + } + } +} +impl From> for LibraryStatisticsWhereParam { + fn from(op: Operator) -> Self { + match op { + Operator::Not(value) => Self::Not(value), + Operator::And(value) => Self::And(value), + Operator::Or(value) => Self::Or(value), + } + } +} +pub struct LibraryStatisticsWith { + pub param: LibraryStatisticsWithParam, +} +pub enum LibraryStatisticsWithParam {} +impl From for LibraryStatisticsWith { + fn from(param: LibraryStatisticsWithParam) -> Self { + Self { param } + } +} +impl LibraryStatisticsWithParam { + pub fn output(self) -> Output { + match self {} + } +} +pub enum LibraryStatisticsSetParam { + Id(i64), + DateCaptured(chrono::DateTime), + LibraryId(i64), + TotalFileCount(i64), + TotalBytesUsed(String), + TotalByteCapacity(String), + TotalUniqueBytes(String), +} +impl LibraryStatisticsSetParam { + pub fn field(self) -> Field { + match self { + Self::Id(value) => Field { + name: "id".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }, + Self::DateCaptured(value) => Field { + name: "date_captured".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }, + Self::LibraryId(value) => Field { + name: "library_id".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }, + Self::TotalFileCount(value) => Field { + name: "total_file_count".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }, + Self::TotalBytesUsed(value) => Field { + name: "total_bytes_used".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }, + Self::TotalByteCapacity(value) => Field { + name: "total_byte_capacity".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }, + Self::TotalUniqueBytes(value) => Field { + name: "total_unique_bytes".into(), + value: Some(serde_json::to_value(value).unwrap()), + ..Default::default() + }, + } + } +} +pub struct LibraryStatisticsFindMany<'a> { + query: Query<'a>, +} +impl<'a> LibraryStatisticsFindMany<'a> { + pub async fn exec(self) -> Vec { + self.query + .perform::>() + .await + .unwrap() + } + pub fn delete(self) -> LibraryStatisticsDelete<'a> { + LibraryStatisticsDelete { + query: Query { + operation: "mutation".into(), + method: "deleteMany".into(), + model: "LibraryStatistics".into(), + outputs: vec![Output::new("count")], + ..self.query + }, + } + } + pub fn update( + mut self, + params: Vec, + ) -> LibraryStatisticsUpdateMany<'a> { + self.query.inputs.push(Input { + name: "data".into(), + fields: params + .into_iter() + .map(|param| { + let mut field = param.field(); + if let Some(value) = field.value { + field.fields = Some(vec![Field { + name: "set".into(), + value: Some(value), + ..Default::default() + }]); + field.value = None; + } + field + }) + .collect(), + ..Default::default() + }); + LibraryStatisticsUpdateMany { + query: Query { + operation: "mutation".into(), + method: "updateMany".into(), + ..self.query + }, + } + } + pub fn with(mut self, fetches: Vec) -> Self { + let outputs = fetches + .into_iter() + .map(|f| f.param.output()) + .collect::>(); + self.query.outputs.extend(outputs); + self + } +} +pub struct LibraryStatisticsFindFirst<'a> { + query: Query<'a>, +} +impl<'a> LibraryStatisticsFindFirst<'a> { + pub async fn exec(self) -> Option { + self.query + .perform::>() + .await + .unwrap() + } + pub fn with(mut self, fetches: Vec) -> Self { + let outputs = fetches + .into_iter() + .map(|f| f.param.output()) + .collect::>(); + self.query.outputs.extend(outputs); + self + } +} +pub struct LibraryStatisticsFindUnique<'a> { + query: Query<'a>, +} +impl<'a> LibraryStatisticsFindUnique<'a> { + pub async fn exec(self) -> Option { + self.query + .perform::>() + .await + .unwrap() + } + pub fn delete(self) -> LibraryStatisticsDelete<'a> { + LibraryStatisticsDelete { + query: Query { + operation: "mutation".into(), + method: "deleteOne".into(), + model: "LibraryStatistics".into(), + ..self.query + }, + } + } + pub fn update( + mut self, + params: Vec, + ) -> LibraryStatisticsUpdateUnique<'a> { + self.query.inputs.push(Input { + name: "data".into(), + fields: params + .into_iter() + .map(|param| { + let mut field = param.field(); + if let Some(value) = field.value { + field.fields = Some(vec![Field { + name: "set".into(), + value: Some(value), + ..Default::default() + }]); + field.value = None; + } + field + }) + .collect(), + ..Default::default() + }); + LibraryStatisticsUpdateUnique { + query: Query { + operation: "mutation".into(), + method: "updateOne".into(), + ..self.query + }, + } + } + pub fn with(mut self, fetches: Vec) -> Self { + let outputs = fetches + .into_iter() + .map(|f| f.param.output()) + .collect::>(); + self.query.outputs.extend(outputs); + self + } +} +pub struct LibraryStatisticsCreateOne<'a> { + query: Query<'a>, +} +impl<'a> LibraryStatisticsCreateOne<'a> { + pub async fn exec(self) -> LibraryStatisticsData { + self.query.perform::().await.unwrap() + } +} +pub struct LibraryStatisticsUpdateUnique<'a> { + query: Query<'a>, +} +impl<'a> LibraryStatisticsUpdateUnique<'a> { + pub async fn exec(self) -> LibraryStatisticsData { + self.query.perform::().await.unwrap() + } + pub fn with(mut self, fetches: Vec) -> Self { + let outputs = fetches + .into_iter() + .map(|f| f.param.output()) + .collect::>(); + self.query.outputs.extend(outputs); + self + } +} +pub struct LibraryStatisticsUpdateMany<'a> { + query: Query<'a>, +} +impl<'a> LibraryStatisticsUpdateMany<'a> { + pub async fn exec(self) -> Vec { + self.query + .perform::>() + .await + .unwrap() + } + pub fn with(mut self, fetches: Vec) -> Self { + let outputs = fetches + .into_iter() + .map(|f| f.param.output()) + .collect::>(); + self.query.outputs.extend(outputs); + self + } +} +pub struct LibraryStatisticsDelete<'a> { + query: Query<'a>, +} +impl<'a> LibraryStatisticsDelete<'a> { + pub async fn exec(self) -> isize { + self.query.perform::().await.unwrap().count + } +} +pub struct LibraryStatisticsActions<'a> { + client: &'a PrismaClient, +} +impl<'a> LibraryStatisticsActions<'a> { + pub fn find_unique(&self, param: LibraryStatisticsWhereParam) -> LibraryStatisticsFindUnique { + let fields = transform_equals(vec![param.field()]); + let query = Query { + ctx: QueryContext::new(&self.client.executor, self.client.query_schema.clone()), + name: String::new(), + operation: "query".into(), + method: "findUnique".into(), + model: "LibraryStatistics".into(), + outputs: library_statistics_outputs(), + inputs: vec![Input { + name: "where".into(), + fields, + ..Default::default() + }], + }; + LibraryStatisticsFindUnique { query } + } + pub fn find_first( + &self, + params: Vec, + ) -> LibraryStatisticsFindFirst { + let where_fields: Vec = params.into_iter().map(|param| param.field()).collect(); + let inputs = if where_fields.len() > 0 { + vec![Input { + name: "where".into(), + fields: vec![Field { + name: "AND".into(), + list: true, + wrap_list: true, + fields: Some(where_fields), + ..Default::default() + }], + ..Default::default() + }] + } else { + Vec::new() + }; + let query = Query { + ctx: QueryContext::new(&self.client.executor, self.client.query_schema.clone()), + name: String::new(), + operation: "query".into(), + method: "findFirst".into(), + model: "LibraryStatistics".into(), + outputs: library_statistics_outputs(), + inputs, + }; + LibraryStatisticsFindFirst { query } + } + pub fn find_many(&self, params: Vec) -> LibraryStatisticsFindMany { + let where_fields: Vec = params.into_iter().map(|param| param.field()).collect(); + let inputs = if where_fields.len() > 0 { + vec![Input { + name: "where".into(), + fields: where_fields, + ..Default::default() + }] + } else { + Vec::new() + }; + let query = Query { + ctx: QueryContext::new(&self.client.executor, self.client.query_schema.clone()), + name: String::new(), + operation: "query".into(), + method: "findMany".into(), + model: "LibraryStatistics".into(), + outputs: library_statistics_outputs(), + inputs, + }; + LibraryStatisticsFindMany { query } + } + pub fn create_one( + &self, + library_id: LibraryStatisticsSetLibraryId, + params: Vec, + ) -> LibraryStatisticsCreateOne { + let mut input_fields = params.into_iter().map(|p| p.field()).collect::>(); + input_fields.push(LibraryStatisticsSetParam::from(library_id).field()); + let query = Query { + ctx: QueryContext::new(&self.client.executor, self.client.query_schema.clone()), + name: String::new(), + operation: "mutation".into(), + method: "createOne".into(), + model: "LibraryStatistics".into(), + outputs: library_statistics_outputs(), + inputs: vec![Input { + name: "data".into(), + fields: input_fields, + ..Default::default() + }], + }; + LibraryStatisticsCreateOne { query } + } +} fn client_outputs() -> Vec { vec![ Output::new("id"), @@ -2370,15 +2995,6 @@ impl Client { pub fn jobs() -> ClientJobsField { ClientJobsField {} } - pub fn not(params: Vec) -> ClientWhereParam { - ClientWhereParam::Not(params) - } - pub fn or(params: Vec) -> ClientWhereParam { - ClientWhereParam::Or(params) - } - pub fn and(params: Vec) -> ClientWhereParam { - ClientWhereParam::And(params) - } } pub struct ClientIdField {} pub struct ClientSetId(i64); @@ -3045,6 +3661,15 @@ impl ClientWhereParam { } } } +impl From> for ClientWhereParam { + fn from(op: Operator) -> Self { + match op { + Operator::Not(value) => Self::Not(value), + Operator::And(value) => Self::And(value), + Operator::Or(value) => Self::Or(value), + } + } +} pub struct ClientWith { pub param: ClientWithParam, } @@ -3520,15 +4145,6 @@ impl Location { pub fn files() -> LocationFilesField { LocationFilesField {} } - pub fn not(params: Vec) -> LocationWhereParam { - LocationWhereParam::Not(params) - } - pub fn or(params: Vec) -> LocationWhereParam { - LocationWhereParam::Or(params) - } - pub fn and(params: Vec) -> LocationWhereParam { - LocationWhereParam::And(params) - } } pub struct LocationIdField {} pub struct LocationSetId(i64); @@ -4142,6 +4758,15 @@ impl LocationWhereParam { } } } +impl From> for LocationWhereParam { + fn from(op: Operator) -> Self { + match op { + Operator::Not(value) => Self::Not(value), + Operator::And(value) => Self::And(value), + Operator::Or(value) => Self::Or(value), + } + } +} pub struct LocationWith { pub param: LocationWithParam, } @@ -4539,7 +5164,6 @@ fn file_outputs() -> Vec { Output::new("stem"), Output::new("name"), Output::new("extension"), - Output::new("path_checksum"), Output::new("quick_checksum"), Output::new("full_checksum"), Output::new("size_in_bytes"), @@ -4565,8 +5189,6 @@ pub struct FileData { pub name: String, #[serde(rename = "extension")] pub extension: Option, - #[serde(rename = "path_checksum")] - pub path_checksum: String, #[serde(rename = "quick_checksum")] pub quick_checksum: Option, #[serde(rename = "full_checksum")] @@ -4640,9 +5262,6 @@ impl File { pub fn extension() -> FileExtensionField { FileExtensionField {} } - pub fn path_checksum() -> FilePathChecksumField { - FilePathChecksumField {} - } pub fn quick_checksum() -> FileQuickChecksumField { FileQuickChecksumField {} } @@ -4682,15 +5301,6 @@ impl File { pub fn file_tags() -> FileFileTagsField { FileFileTagsField {} } - pub fn not(params: Vec) -> FileWhereParam { - FileWhereParam::Not(params) - } - pub fn or(params: Vec) -> FileWhereParam { - FileWhereParam::Or(params) - } - pub fn and(params: Vec) -> FileWhereParam { - FileWhereParam::And(params) - } } pub struct FileIdField {} pub struct FileSetId(i64); @@ -4833,30 +5443,6 @@ impl FileExtensionField { FileSetExtension(value).into() } } -pub struct FilePathChecksumField {} -pub struct FileSetPathChecksum(String); -impl From for FileSetParam { - fn from(value: FileSetPathChecksum) -> Self { - Self::PathChecksum(value.0) - } -} -impl FilePathChecksumField { - pub fn contains(&self, value: String) -> FileWhereParam { - FileWhereParam::PathChecksumContains(value) - } - pub fn has_prefix(&self, value: String) -> FileWhereParam { - FileWhereParam::PathChecksumHasPrefix(value) - } - pub fn has_suffix(&self, value: String) -> FileWhereParam { - FileWhereParam::PathChecksumHasSuffix(value) - } - pub fn equals(&self, value: String) -> FileWhereParam { - FileWhereParam::PathChecksumEquals(value) - } - pub fn set>(&self, value: String) -> T { - FileSetPathChecksum(value).into() - } -} pub struct FileQuickChecksumField {} pub struct FileSetQuickChecksum(String); impl From for FileSetParam { @@ -5202,10 +5788,6 @@ pub enum FileWhereParam { ExtensionHasPrefix(String), ExtensionHasSuffix(String), ExtensionEquals(String), - PathChecksumContains(String), - PathChecksumHasPrefix(String), - PathChecksumHasSuffix(String), - PathChecksumEquals(String), QuickChecksumContains(String), QuickChecksumHasPrefix(String), QuickChecksumHasSuffix(String), @@ -5467,42 +6049,6 @@ impl FileWhereParam { }]), ..Default::default() }, - Self::PathChecksumContains(value) => Field { - name: "path_checksum".into(), - fields: Some(vec![Field { - name: "contains".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::PathChecksumHasPrefix(value) => Field { - name: "path_checksum".into(), - fields: Some(vec![Field { - name: "starts_with".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::PathChecksumHasSuffix(value) => Field { - name: "path_checksum".into(), - fields: Some(vec![Field { - name: "ends_with".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, - Self::PathChecksumEquals(value) => Field { - name: "path_checksum".into(), - fields: Some(vec![Field { - name: "equals".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }]), - ..Default::default() - }, Self::QuickChecksumContains(value) => Field { name: "quick_checksum".into(), fields: Some(vec![Field { @@ -5950,6 +6496,15 @@ impl FileWhereParam { } } } +impl From> for FileWhereParam { + fn from(op: Operator) -> Self { + match op { + Operator::Not(value) => Self::Not(value), + Operator::And(value) => Self::And(value), + Operator::Or(value) => Self::Or(value), + } + } +} pub struct FileWith { pub param: FileWithParam, } @@ -6015,7 +6570,6 @@ pub enum FileSetParam { Stem(String), Name(String), Extension(String), - PathChecksum(String), QuickChecksum(String), FullChecksum(String), SizeInBytes(String), @@ -6067,11 +6621,6 @@ impl FileSetParam { value: Some(serde_json::to_value(value).unwrap()), ..Default::default() }, - Self::PathChecksum(value) => Field { - name: "path_checksum".into(), - value: Some(serde_json::to_value(value).unwrap()), - ..Default::default() - }, Self::QuickChecksum(value) => Field { name: "quick_checksum".into(), value: Some(serde_json::to_value(value).unwrap()), @@ -6456,14 +7005,12 @@ impl<'a> FileActions<'a> { &self, stem: FileSetStem, name: FileSetName, - path_checksum: FileSetPathChecksum, size_in_bytes: FileSetSizeInBytes, params: Vec, ) -> FileCreateOne { let mut input_fields = params.into_iter().map(|p| p.field()).collect::>(); input_fields.push(FileSetParam::from(stem).field()); input_fields.push(FileSetParam::from(name).field()); - input_fields.push(FileSetParam::from(path_checksum).field()); input_fields.push(FileSetParam::from(size_in_bytes).field()); let query = Query { ctx: QueryContext::new(&self.client.executor, self.client.query_schema.clone()), @@ -6548,15 +7095,6 @@ impl Tag { pub fn tag_files() -> TagTagFilesField { TagTagFilesField {} } - pub fn not(params: Vec) -> TagWhereParam { - TagWhereParam::Not(params) - } - pub fn or(params: Vec) -> TagWhereParam { - TagWhereParam::Or(params) - } - pub fn and(params: Vec) -> TagWhereParam { - TagWhereParam::And(params) - } } pub struct TagIdField {} pub struct TagSetId(i64); @@ -7160,6 +7698,15 @@ impl TagWhereParam { } } } +impl From> for TagWhereParam { + fn from(op: Operator) -> Self { + match op { + Operator::Not(value) => Self::Not(value), + Operator::And(value) => Self::And(value), + Operator::Or(value) => Self::Or(value), + } + } +} pub struct TagWith { pub param: TagWithParam, } @@ -7587,15 +8134,6 @@ impl TagOnFile { pub fn file() -> TagOnFileFileField { TagOnFileFileField {} } - pub fn not(params: Vec) -> TagOnFileWhereParam { - TagOnFileWhereParam::Not(params) - } - pub fn or(params: Vec) -> TagOnFileWhereParam { - TagOnFileWhereParam::Or(params) - } - pub fn and(params: Vec) -> TagOnFileWhereParam { - TagOnFileWhereParam::And(params) - } } pub struct TagOnFileDateCreatedField {} pub struct TagOnFileSetDateCreated(chrono::DateTime); @@ -7916,6 +8454,15 @@ impl TagOnFileWhereParam { } } } +impl From> for TagOnFileWhereParam { + fn from(op: Operator) -> Self { + match op { + Operator::Not(value) => Self::Not(value), + Operator::And(value) => Self::And(value), + Operator::Or(value) => Self::Or(value), + } + } +} pub struct TagOnFileWith { pub param: TagOnFileWithParam, } @@ -8338,15 +8885,6 @@ impl Job { pub fn clients() -> JobClientsField { JobClientsField {} } - pub fn not(params: Vec) -> JobWhereParam { - JobWhereParam::Not(params) - } - pub fn or(params: Vec) -> JobWhereParam { - JobWhereParam::Or(params) - } - pub fn and(params: Vec) -> JobWhereParam { - JobWhereParam::And(params) - } } pub struct JobIdField {} pub struct JobSetId(i64); @@ -9101,6 +9639,15 @@ impl JobWhereParam { } } } +impl From> for JobWhereParam { + fn from(op: Operator) -> Self { + match op { + Operator::Not(value) => Self::Not(value), + Operator::And(value) => Self::And(value), + Operator::Or(value) => Self::Or(value), + } + } +} pub struct JobWith { pub param: JobWithParam, } @@ -9519,15 +10066,6 @@ impl Space { pub fn library_id() -> SpaceLibraryIdField { SpaceLibraryIdField {} } - pub fn not(params: Vec) -> SpaceWhereParam { - SpaceWhereParam::Not(params) - } - pub fn or(params: Vec) -> SpaceWhereParam { - SpaceWhereParam::Or(params) - } - pub fn and(params: Vec) -> SpaceWhereParam { - SpaceWhereParam::And(params) - } } pub struct SpaceIdField {} pub struct SpaceSetId(i64); @@ -10041,6 +10579,15 @@ impl SpaceWhereParam { } } } +impl From> for SpaceWhereParam { + fn from(op: Operator) -> Self { + match op { + Operator::Not(value) => Self::Not(value), + Operator::And(value) => Self::And(value), + Operator::Or(value) => Self::Or(value), + } + } +} pub struct SpaceWith { pub param: SpaceWithParam, }