the big refactor 2: ObjID

This commit is contained in:
2021-09-28 16:07:00 +02:00
parent dc4133a705
commit 3e8fbb01bb
22 changed files with 1096 additions and 952 deletions

View File

@@ -4,11 +4,44 @@ import "./index.scss"
import App from "./App"
import { ApolloClient, ApolloProvider, InMemoryCache } from "@apollo/client"
import "react-contexify/dist/ReactContexify.css"
import ObjID from "./types/ObjID"
const client = new ApolloClient({
uri: "/api/graphql",
cache: new InMemoryCache({
typePolicies:{
File:{
fields:{
id:{
merge(_,incomming){
// HACK: i use the merge function to change the id from a string to ObjID object.
// afaik apollo does not yet support custom scalar types.
if (!incomming){
return incomming
}else if (incomming instanceof ObjID){
return incomming
}else{
return ObjID.fromString(incomming as string)
}
}
}
}
},
Directory:{
fields:{
id:{
merge(_,incomming){
if (!incomming){
return incomming
}else if (incomming instanceof ObjID){
return incomming
}else{
return ObjID.fromString(incomming as string)
}
}
}
}
},
Query: {
fields: {
files: {