From a019e2c290e8055e95dcad6d36e78cd65badf009 Mon Sep 17 00:00:00 2001 From: Jamie Pine <32987599+jamiepine@users.noreply.github.com> Date: Sun, 6 Mar 2022 21:13:40 -0800 Subject: [PATCH] fix prisma client codegen - again --- apps/desktop/src-tauri/Cargo.lock | Bin 214162 -> 214162 bytes packages/core/Cargo.lock | Bin 165063 -> 165301 bytes packages/core/src/db/mod.rs | 9 ++++++--- packages/core/src/prisma.rs | 12 ++++++------ packages/core/types/schema.prisma | 4 ---- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/apps/desktop/src-tauri/Cargo.lock b/apps/desktop/src-tauri/Cargo.lock index ab4104a1c583aa36def83f6e05db6d5717bce9b3..d43bf6fb03bd886315bdd9e3e28a0579e809257f 100644 GIT binary patch delta 70 zcmbQ#$vdf&x1oh`3lj^snrULHiJ7s5sew^anz318Vwz!UvXQBwQJPtbxv7ysQle#Q aihUFRX9)n`FBGK! delta 66 zcmbQ#$vdf&x1oh`3lj^sTB4yrno+8yQHrs#X{v!qnpu*Wg{g6(S&D&ynPEz@kqJ=D U$Y64!nOM66H`8_pZss6M0CMUP#sB~S diff --git a/packages/core/Cargo.lock b/packages/core/Cargo.lock index 6fd7cef3b8af2c5757852257032083f63d6368ea..338b5ea5735d97d328184f151e027b4b2fe02166 100644 GIT binary patch delta 2119 zcmXw4TZo<28D;;uFf&OoljxZ^rZr=esIfEdZ{IiAIq4-L^ud#fAQhtB*II>A=!4pa zUhzTf%lJ3>U&LOhFD=E(!TgdUOpGEnly-`W4+gDRYg&s9VoNWYt`l209L~c&Yp-v8 zYpwml12a!OIP>_YrkHMN=gzU6nrhm>M+Zs!7@Y}K2ElnDAGmQ<386|TD!CX%<~4Aw zk}Wz@3MuPUs@KIhm2!Ljnz`}YGy6BUpIcnHL6~TZQk5i`sEsYfYFTxQa1LBwJkZnj7tcOeJ))-(tJQkIrwqika?>N7(h_H*bin{pr1jmqUsX2)^JS zLK^R*H&RKflNHwM%)O3PKrrb6@3axA`lvZoa#TC^G8?q#mahfwo-eT7-P*%!uDx-1 zX&bH?4MnY01mlH`605S19*D*gX0c!|s}a^X8=w=udB#zpM3S;+^&iAGg_Tc5?zdi8I45N1S&~@z#$L7bMJofya?s?se zhFSWQz4V-uw?wK2g3D|uaA&YeKzbO%EBtcKI~R(@8LL$Bk{8>azi!ZNf1k~EYe$isJ>Aj-e}_ulb^zkf$O^ucI2$rcvF9j_)6Tu@xnMkQWT&4n@m zT}nz*DvHD3&MWJQsB&D&OS`@}==UCAkM09*xNN?E>t^=-LHo18k>LckaA`3QX<%E6 zZF*90VC7X>kP8A|S{JDTpHzUbN$Mb3zrT<9 ztM+RYjgd|x)>UG_N+k&mE1GPz;4%1u0A0*-`_VVI^eYdu^=+GB5V<6~_nu_){bzp8 zZr{mtcm73oMc+TeKEJ6ua)ynDPC|^rNec};^b)tqM#!(oVjNx_j8G>XqY^qT!#?mQ zB1=ebmEEZY{cu;eev<9(&pgLQTQ7D>mNo|DFjZ%a$RZ*=+GhDh~Og@dkr;>C*;r}`g# z#D212QX|V1vC1)K9}3#pkW40LbgK&Gqc= zW*BduKJkgRJG8GqyT3Ve00DS?o$c*^bGW%;it+B;mzp}HN!#LuMHeP(!LnBCRfZ{1 pEr@{^!OH~OfZMODL-qu`p;J;Nkhm`;T delta 2020 zcmXAqTa2Am8HTg|GIctoX@}C8+QBMNa6(gAhi{!??Vd(yj4`-7fQ^zgu4C%qhCq;3 zDki-!pe8LV&F_uWCdCVlr|iIg0Vyp(K?w;(|9RV zNvbBs5>hcvk=0%q?X=X|=nzZkR~6end3wjDTiPnkOiz$tSso#UF5)1_eJZIi2`Q&UV$PTjSC z_FCERe0}|5zj6X{SSo@WUzD$cG$~_Cl(|^1O6Eq^kSHmgq*oLz<{+}?Ir|V(#vx*D zSaXxpk3F=Z|NUV$9$_$*b8k>{mV#sIC1Jx_brFejKNItomW31Y@ zi}%i5cci56wv{t`+drR}nSAv4n=_2JQ+Mrdubtk}|7;Iio;-Z|!O!%6{1zMUBjK{L z$wiR~BT@;|A{UF6K1Iu`mpp@n>PjW!qowGLf=nbqZER!0J9}Yi*s`1b;I{T;zcBo2%udYp?LfD@1V`X-oqYupg`Ce89?g!D6)-B#fChd^ zTxlRq1j-%2aTeCgF6*_D`~C=9XlI^V9+r-<#aYIC@d!KAUpUJC{_*#1!>^CAUANp0 zA68ks%u4CP*IZ+q2JOHPs=(lQCV7AG7~FjI*vzo)7wpoe{>|xb$FTl4?C{oW#XokQ zeQBzH{v)UYG8B|G%1h%DoMbabijE=>cZtI|%1W={FHbxf7c-2UWD!boRiVmU+w$~m zfAl5x7NdTAlx=UThZg#ie`Zs|&;P`}dVPQMSJ?81q#!O;M1ZNxWuOos7?06A>5y4Q zQGnSMron?Op<2m#@E#*V$ELse8*F~~=^O0J*D>8+{0mzc-u(xA;)eFG$#?|I87mxA zDai-pYAo5R77yiSh`rlq*Hw{ad*;DKK zi(`nBrAi1aN|l$I5ugQ43v0QTjz=Z4NF`_ljF1)|(PTt-Oq#0Ij=MEq4JZD~+?ICs z#qmgq5Dd~2Ey*aMA0PvJ)fVTG+lU;bNzGWb+MtgjTtLuDCzO`Sw@Z6IE_0|?*|~Ms zoWG=ab;vlQbVV-VuY>{vu&||;8WG8;#D!u>N(8?5RcQ(l2C#_AfSkJNlZ_vr=~wP! z8(R188~VxT*{#Esb>06q4lA3x57@9W+nwLQ`0%@h?f~o0eY+d)lew1cuo=fq1bk#E zE}6hX05uNjPu?Jd;98>%ZW@l-G!+TlUD9p#d-MIty=?t(=2M;6(8A()l!6NyB1>g> zjad|I3}X}S79AXJAJ1_QMv6!qos$7T|B-Hcf8}tuarou^-L^aa53nI`F8}}l diff --git a/packages/core/src/db/mod.rs b/packages/core/src/db/mod.rs index 3e14dd9a6..bf3bfde97 100644 --- a/packages/core/src/db/mod.rs +++ b/packages/core/src/db/mod.rs @@ -1,6 +1,9 @@ use crate::file::checksum::sha256_digest; -use crate::prisma::{Migration, PrismaClient}; use crate::state; +use crate::{ + prisma, + prisma::{Migration, PrismaClient}, +}; use anyhow::Result; use data_encoding::HEXLOWER; use include_dir::{include_dir, Dir}; @@ -23,7 +26,7 @@ pub async fn get() -> Result<&'static PrismaClient, String> { let path = current_library.library_path.clone(); // TODO: Error handling when brendan adds it to prisma-client-rust - let client = PrismaClient::new_with_url(&format!("file:{}", &path)).await; + let client = prisma::new_client_with_url(&format!("file:{}", &path)).await; DB.set(client).unwrap_or_default(); Ok(DB.get().unwrap()) @@ -36,7 +39,7 @@ const INIT_MIGRATION: &str = include_str!("../../prisma/migrations/migration_tab static MIGRATIONS_DIR: Dir = include_dir!("$CARGO_MANIFEST_DIR/prisma/migrations"); pub async fn init(db_url: &str) -> Result<()> { - let client = PrismaClient::new_with_url(&format!("file:{}", &db_url)).await; + let client = prisma::new_client_with_url(&format!("file:{}", &db_url)).await; match client ._query_raw::( diff --git a/packages/core/src/prisma.rs b/packages/core/src/prisma.rs index 1cd669108..f9bdb9198 100644 --- a/packages/core/src/prisma.rs +++ b/packages/core/src/prisma.rs @@ -14,8 +14,8 @@ 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" ; +pub async fn new_client() -> PrismaClient { + 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 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 @@ -38,10 +38,10 @@ pub async fn new_client() -> Self { } else { url }; - new_with_url(url) + new_client_with_url(&url).await } -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" ; +pub async fn new_client_with_url(url: &str) -> PrismaClient { + 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 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 @@ -58,7 +58,7 @@ pub async fn new_client_with_url(url: &str) -> Self { source.referential_integrity(), )); executor.primary_connector().get_connection().await.unwrap(); - Self { + PrismaClient { executor, query_schema, } diff --git a/packages/core/types/schema.prisma b/packages/core/types/schema.prisma index 5a6758dc8..b72a5b6ca 100644 --- a/packages/core/types/schema.prisma +++ b/packages/core/types/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")