fix build
Build and Deploy / build-and-deploy (push) Successful in 12m48s

This commit is contained in:
2026-05-04 20:11:43 +02:00
parent 982178bff7
commit 4787f2d98b
12 changed files with 471 additions and 563 deletions
+2 -2
View File
@@ -5,8 +5,8 @@ COPY package*.json ./
RUN npm ci --legacy-peer-deps RUN npm ci --legacy-peer-deps
COPY . . COPY . .
ENV TINA_PUBLIC_IS_LOCAL=true ENV TINA_PUBLIC_IS_LOCAL=true
ENV NODE_OPTIONS="--max-old-space-size=6144" ENV NODE_OPTIONS="--max-old-space-size=2048"
RUN npm run build:tina RUN npm run build:docker
# Frontend: Nginx serving the static site + TinaCMS admin SPA # Frontend: Nginx serving the static site + TinaCMS admin SPA
FROM nginx:alpine AS frontend FROM nginx:alpine AS frontend
+36 -538
View File
@@ -15,9 +15,12 @@
"@tinacms/datalayer": "^2.0.18", "@tinacms/datalayer": "^2.0.18",
"astro": "^6.2.1", "astro": "^6.2.1",
"express": "^5.2.1", "express": "^5.2.1",
"fs-extra": "^11.3.4",
"mongodb-level": "^0.0.4", "mongodb-level": "^0.0.4",
"next": "^15.5.15", "slate": "^0.124.1",
"next-auth": "^4.24.14", "slate-dom": "^0.124.1",
"slate-hyperscript": "^0.100.0",
"slate-react": "^0.124.0",
"tailwindcss": "^4.2.4", "tailwindcss": "^4.2.4",
"tinacms": "^3.7.5", "tinacms": "^3.7.5",
"tinacms-authjs": "^21.0.5", "tinacms-authjs": "^21.0.5",
@@ -1501,44 +1504,6 @@
"node": ">= 20.12.0" "node": ">= 20.12.0"
} }
}, },
"node_modules/@codemirror/language": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.0.0.tgz",
"integrity": "sha512-rtjk5ifyMzOna1c7PBu7J1VCt0PvA5wy3o8eMVnxMKb7z8KA7JFecvD04dSn14vj/bBaAbqRsGed5OjtofEnLA==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.0.0",
"@lezer/common": "^1.0.0",
"@lezer/highlight": "^1.0.0",
"@lezer/lr": "^1.0.0",
"style-mod": "^4.0.0"
}
},
"node_modules/@codemirror/state": {
"version": "6.6.0",
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.6.0.tgz",
"integrity": "sha512-4nbvra5R5EtiCzr9BTHiTLc+MLXK2QGiAVYMyi8PkQd3SR+6ixar/Q/01Fa21TBIDOZXgeWV4WppsQolSreAPQ==",
"license": "MIT",
"peer": true,
"dependencies": {
"@marijn/find-cluster-break": "^1.0.0"
}
},
"node_modules/@codemirror/view": {
"version": "6.41.1",
"resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.41.1.tgz",
"integrity": "sha512-ToDnWKbBnke+ZLrP6vgTTDScGi5H37YYuZGniQaBzxMVdtCxMrslsmtnOvbPZk4RX9bvkQqnWR/WS/35tJA0qg==",
"license": "MIT",
"peer": true,
"dependencies": {
"@codemirror/state": "^6.6.0",
"crelt": "^1.0.6",
"style-mod": "^4.1.0",
"w3c-keyname": "^2.2.4"
}
},
"node_modules/@date-fns/tz": { "node_modules/@date-fns/tz": {
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.4.1.tgz", "resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.4.1.tgz",
@@ -3414,40 +3379,6 @@
"integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==",
"license": "Apache-2.0" "license": "Apache-2.0"
}, },
"node_modules/@lezer/common": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.5.2.tgz",
"integrity": "sha512-sxQE460fPZyU3sdc8lafxiPwJHBzZRy/udNFynGQky1SePYBdhkBl1kOagA9uT3pxR8K09bOrmTUqA9wb/PjSQ==",
"license": "MIT",
"peer": true
},
"node_modules/@lezer/highlight": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.3.tgz",
"integrity": "sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==",
"license": "MIT",
"peer": true,
"dependencies": {
"@lezer/common": "^1.3.0"
}
},
"node_modules/@lezer/lr": {
"version": "1.4.10",
"resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.10.tgz",
"integrity": "sha512-rnCpTIBafOx4mRp43xOxDJbFipJm/c0cia/V5TiGlhmMa+wsSdoGmUN3w5Bqrks/09Q/D4tNAmWaT8p6NRi77A==",
"license": "MIT",
"peer": true,
"dependencies": {
"@lezer/common": "^1.0.0"
}
},
"node_modules/@marijn/find-cluster-break": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz",
"integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==",
"license": "MIT",
"peer": true
},
"node_modules/@mdx-js/mdx": { "node_modules/@mdx-js/mdx": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz",
@@ -3891,140 +3822,6 @@
"node": ">=12" "node": ">=12"
} }
}, },
"node_modules/@next/env": {
"version": "15.5.15",
"resolved": "https://registry.npmjs.org/@next/env/-/env-15.5.15.tgz",
"integrity": "sha512-vcmyu5/MyFzN7CdqRHO3uHO44p/QPCZkuTUXroeUmhNP8bL5PHFEhik22JUazt+CDDoD6EpBYRCaS2pISL+/hg==",
"license": "MIT"
},
"node_modules/@next/swc-darwin-arm64": {
"version": "15.5.15",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.5.15.tgz",
"integrity": "sha512-6PvFO2Tzt10GFK2Ro9tAVEtacMqRmTarYMFKAnV2vYMdwWc73xzmDQyAV7SwEdMhzmiRoo7+m88DuiXlJlGeaw==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-darwin-x64": {
"version": "15.5.15",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.5.15.tgz",
"integrity": "sha512-G+YNV+z6FDZTp/+IdGyIMFqalBTaQSnvAA+X/hrt+eaTRFSznRMz9K7rTmzvM6tDmKegNtyzgufZW0HwVzEqaQ==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-linux-arm64-gnu": {
"version": "15.5.15",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.5.15.tgz",
"integrity": "sha512-eVkrMcVIBqGfXB+QUC7jjZ94Z6uX/dNStbQFabewAnk13Uy18Igd1YZ/GtPRzdhtm7QwC0e6o7zOQecul4iC1w==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-linux-arm64-musl": {
"version": "15.5.15",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.5.15.tgz",
"integrity": "sha512-RwSHKMQ7InLy5GfkY2/n5PcFycKA08qI1VST78n09nN36nUPqCvGSMiLXlfUmzmpQpF6XeBYP2KRWHi0UW3uNg==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-linux-x64-gnu": {
"version": "15.5.15",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.5.15.tgz",
"integrity": "sha512-nplqvY86LakS+eeiuWsNWvfmK8pFcOEW7ZtVRt4QH70lL+0x6LG/m1OpJ/tvrbwjmR8HH9/fH2jzW1GlL03TIg==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-linux-x64-musl": {
"version": "15.5.15",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.5.15.tgz",
"integrity": "sha512-eAgl9NKQ84/sww0v81DQINl/vL2IBxD7sMybd0cWRw6wqgouVI53brVRBrggqBRP/NWeIAE1dm5cbKYoiMlqDQ==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-win32-arm64-msvc": {
"version": "15.5.15",
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.5.15.tgz",
"integrity": "sha512-GJVZC86lzSquh0MtvZT+L7G8+jMnJcldloOjA8Kf3wXvBrvb6OGe2MzPuALxFshSm/IpwUtD2mIoof39ymf52A==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@next/swc-win32-x64-msvc": {
"version": "15.5.15",
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.5.15.tgz",
"integrity": "sha512-nFucjVdwlFqxh/JG3hWSJ4p8+YJV7Ii8aPDuBQULB6DzUF4UNZETXLfEUk+oI2zEznWWULPt7MeuTE6xtK1HSA==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 10"
}
},
"node_modules/@nodable/entities": { "node_modules/@nodable/entities": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz", "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz",
@@ -4480,15 +4277,6 @@
"integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@panva/hkdf": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.2.1.tgz",
"integrity": "sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/panva"
}
},
"node_modules/@posthog/core": { "node_modules/@posthog/core": {
"version": "1.28.0", "version": "1.28.0",
"resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.28.0.tgz", "resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.28.0.tgz",
@@ -7964,20 +7752,6 @@
"@esbuild/win32-x64": "0.24.2" "@esbuild/win32-x64": "0.24.2"
} }
}, },
"node_modules/@tinacms/cli/node_modules/fs-extra": {
"version": "11.3.4",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz",
"integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==",
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
},
"engines": {
"node": ">=14.14"
}
},
"node_modules/@tinacms/cli/node_modules/glob-parent": { "node_modules/@tinacms/cli/node_modules/glob-parent": {
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
@@ -8616,20 +8390,6 @@
"sprintf-js": "~1.0.2" "sprintf-js": "~1.0.2"
} }
}, },
"node_modules/@tinacms/graphql/node_modules/fs-extra": {
"version": "11.3.4",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz",
"integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==",
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
},
"engines": {
"node": ">=14.14"
}
},
"node_modules/@tinacms/graphql/node_modules/js-yaml": { "node_modules/@tinacms/graphql/node_modules/js-yaml": {
"version": "3.14.2", "version": "3.14.2",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
@@ -9992,6 +9752,27 @@
"node": "^18 || >=20" "node": "^18 || >=20"
} }
}, },
"node_modules/@udecode/plate-core/node_modules/slate-react": {
"version": "0.114.2",
"resolved": "https://registry.npmjs.org/slate-react/-/slate-react-0.114.2.tgz",
"integrity": "sha512-yqJnX1/7A30szl9BxW3qX99MZy6mM6VtUi1rXTy0JpRMTKv3rduo0WOxqcX90tpt0ke2pzHGbrLLr1buIN4vrw==",
"license": "MIT",
"dependencies": {
"@juggle/resize-observer": "^3.4.0",
"direction": "^1.0.4",
"is-hotkey": "^0.2.0",
"is-plain-object": "^5.0.0",
"lodash": "^4.17.21",
"scroll-into-view-if-needed": "^3.1.0",
"tiny-invariant": "1.3.1"
},
"peerDependencies": {
"react": ">=18.2.0",
"react-dom": ">=18.2.0",
"slate": ">=0.114.0",
"slate-dom": ">=0.110.2"
}
},
"node_modules/@udecode/plate-dnd": { "node_modules/@udecode/plate-dnd": {
"version": "48.0.0", "version": "48.0.0",
"resolved": "https://registry.npmjs.org/@udecode/plate-dnd/-/plate-dnd-48.0.0.tgz", "resolved": "https://registry.npmjs.org/@udecode/plate-dnd/-/plate-dnd-48.0.0.tgz",
@@ -11116,16 +10897,6 @@
"integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
"license": "ISC",
"peer": true,
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/attr-accept": { "node_modules/attr-accept": {
"version": "2.2.5", "version": "2.2.5",
"resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz", "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz",
@@ -12237,13 +12008,6 @@
"node": ">=0.8" "node": ">=0.8"
} }
}, },
"node_modules/crelt": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
"integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==",
"license": "MIT",
"peer": true
},
"node_modules/cross-fetch": { "node_modules/cross-fetch": {
"version": "3.2.0", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz",
@@ -14324,19 +14088,17 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/fs-extra": { "node_modules/fs-extra": {
"version": "9.1.0", "version": "11.3.4",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0", "graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1", "jsonfile": "^6.0.1",
"universalify": "^2.0.0" "universalify": "^2.0.0"
}, },
"engines": { "engines": {
"node": ">=10" "node": ">=14.14"
} }
}, },
"node_modules/fsevents": { "node_modules/fsevents": {
@@ -15701,15 +15463,6 @@
"jiti": "lib/jiti-cli.mjs" "jiti": "lib/jiti-cli.mjs"
} }
}, },
"node_modules/jose": {
"version": "4.15.9",
"resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz",
"integrity": "sha512-1vUQX+IdDMVPj4k8kOxgUqlcK518yluMuGZwqlr44FS1ppZB/5GWh4rZG89erpOBOJjU/OBsnCVFfapsRz6nEA==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/panva"
}
},
"node_modules/jotai": { "node_modules/jotai": {
"version": "2.8.4", "version": "2.8.4",
"resolved": "https://registry.npmjs.org/jotai/-/jotai-2.8.4.tgz", "resolved": "https://registry.npmjs.org/jotai/-/jotai-2.8.4.tgz",
@@ -24475,146 +24228,6 @@
"node": ">= 10" "node": ">= 10"
} }
}, },
"node_modules/next": {
"version": "15.5.15",
"resolved": "https://registry.npmjs.org/next/-/next-15.5.15.tgz",
"integrity": "sha512-VSqCrJwtLVGwAVE0Sb/yikrQfkwkZW9p+lL/J4+xe+G3ZA+QnWPqgcfH1tDUEuk9y+pthzzVFp4L/U8JerMfMQ==",
"license": "MIT",
"dependencies": {
"@next/env": "15.5.15",
"@swc/helpers": "0.5.15",
"caniuse-lite": "^1.0.30001579",
"postcss": "8.4.31",
"styled-jsx": "5.1.6"
},
"bin": {
"next": "dist/bin/next"
},
"engines": {
"node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
},
"optionalDependencies": {
"@next/swc-darwin-arm64": "15.5.15",
"@next/swc-darwin-x64": "15.5.15",
"@next/swc-linux-arm64-gnu": "15.5.15",
"@next/swc-linux-arm64-musl": "15.5.15",
"@next/swc-linux-x64-gnu": "15.5.15",
"@next/swc-linux-x64-musl": "15.5.15",
"@next/swc-win32-arm64-msvc": "15.5.15",
"@next/swc-win32-x64-msvc": "15.5.15",
"sharp": "^0.34.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.1.0",
"@playwright/test": "^1.51.1",
"babel-plugin-react-compiler": "*",
"react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
"react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
"sass": "^1.3.0"
},
"peerDependenciesMeta": {
"@opentelemetry/api": {
"optional": true
},
"@playwright/test": {
"optional": true
},
"babel-plugin-react-compiler": {
"optional": true
},
"sass": {
"optional": true
}
}
},
"node_modules/next-auth": {
"version": "4.24.14",
"resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.24.14.tgz",
"integrity": "sha512-YRz6xFDXKUwiXSMMChbrBEWyFktZ1qZXEgeSHQQ3nsy08B4c/xLk6REeutRsIFwkjY/1+ShHnu07DN3JeJguig==",
"license": "ISC",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@panva/hkdf": "^1.0.2",
"cookie": "^0.7.0",
"jose": "^4.15.5",
"oauth": "^0.9.15",
"openid-client": "^5.4.0",
"preact": "^10.6.3",
"preact-render-to-string": "^5.1.19",
"uuid": "^8.3.2"
},
"peerDependencies": {
"@auth/core": "0.34.3",
"next": "^12.2.5 || ^13 || ^14 || ^15 || ^16",
"nodemailer": "^7.0.7",
"react": "^17.0.2 || ^18 || ^19",
"react-dom": "^17.0.2 || ^18 || ^19"
},
"peerDependenciesMeta": {
"@auth/core": {
"optional": true
},
"nodemailer": {
"optional": true
}
}
},
"node_modules/next-auth/node_modules/cookie": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
"integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/next-auth/node_modules/uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).",
"license": "MIT",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/next/node_modules/@swc/helpers": {
"version": "0.5.15",
"resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
"integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==",
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.8.0"
}
},
"node_modules/next/node_modules/postcss": {
"version": "8.4.31",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/ngraminator": { "node_modules/ngraminator": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/ngraminator/-/ngraminator-3.0.2.tgz", "resolved": "https://registry.npmjs.org/ngraminator/-/ngraminator-3.0.2.tgz",
@@ -24727,12 +24340,6 @@
"integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/oauth": {
"version": "0.9.15",
"resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
"integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==",
"license": "MIT"
},
"node_modules/object-assign": { "node_modules/object-assign": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -24787,15 +24394,6 @@
"integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/oidc-token-hash": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.2.0.tgz",
"integrity": "sha512-6gj2m8cJZ+iSW8bm0FXdGF0YhIQbKrfP4yWTNzxc31U6MOjfEmB1rHvlYvxI1B7t7BCi1F2vYTT6YhtQRG4hxw==",
"license": "MIT",
"engines": {
"node": "^10.13.0 || >=12.0.0"
}
},
"node_modules/on-finished": { "node_modules/on-finished": {
"version": "2.4.1", "version": "2.4.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
@@ -24834,48 +24432,6 @@
"regex-recursion": "^6.0.2" "regex-recursion": "^6.0.2"
} }
}, },
"node_modules/openid-client": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.7.1.tgz",
"integrity": "sha512-jDBPgSVfTnkIh71Hg9pRvtJc6wTwqjRkN88+gCFtYWrlP4Yx2Dsrow8uPi3qLr/aeymPF3o2+dS+wOpglK04ew==",
"license": "MIT",
"dependencies": {
"jose": "^4.15.9",
"lru-cache": "^6.0.0",
"object-hash": "^2.2.0",
"oidc-token-hash": "^5.0.3"
},
"funding": {
"url": "https://github.com/sponsors/panva"
}
},
"node_modules/openid-client/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"license": "ISC",
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/openid-client/node_modules/object-hash": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
"integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
"license": "MIT",
"engines": {
"node": ">= 6"
}
},
"node_modules/openid-client/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"license": "ISC"
},
"node_modules/optics-ts": { "node_modules/optics-ts": {
"version": "2.4.1", "version": "2.4.1",
"resolved": "https://registry.npmjs.org/optics-ts/-/optics-ts-2.4.1.tgz", "resolved": "https://registry.npmjs.org/optics-ts/-/optics-ts-2.4.1.tgz",
@@ -25476,18 +25032,6 @@
"url": "https://opencollective.com/preact" "url": "https://opencollective.com/preact"
} }
}, },
"node_modules/preact-render-to-string": {
"version": "5.2.6",
"resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz",
"integrity": "sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==",
"license": "MIT",
"dependencies": {
"pretty-format": "^3.8.0"
},
"peerDependencies": {
"preact": ">=10"
}
},
"node_modules/prebuild-install": { "node_modules/prebuild-install": {
"version": "7.1.3", "version": "7.1.3",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
@@ -25529,12 +25073,6 @@
"url": "https://github.com/prettier/prettier?sponsor=1" "url": "https://github.com/prettier/prettier?sponsor=1"
} }
}, },
"node_modules/pretty-format": {
"version": "3.8.0",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz",
"integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==",
"license": "MIT"
},
"node_modules/prism-react-renderer": { "node_modules/prism-react-renderer": {
"version": "2.4.1", "version": "2.4.1",
"resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz", "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz",
@@ -28257,15 +27795,13 @@
"version": "0.124.1", "version": "0.124.1",
"resolved": "https://registry.npmjs.org/slate/-/slate-0.124.1.tgz", "resolved": "https://registry.npmjs.org/slate/-/slate-0.124.1.tgz",
"integrity": "sha512-ii7DwezgvbLAyKtHBIunjTR1kzbNfYLCUKLMzJELlbTZkvHzX4DzN7HKIwcakf6dPxO6AoeT/P7kHOcyTym/hA==", "integrity": "sha512-ii7DwezgvbLAyKtHBIunjTR1kzbNfYLCUKLMzJELlbTZkvHzX4DzN7HKIwcakf6dPxO6AoeT/P7kHOcyTym/hA==",
"license": "MIT", "license": "MIT"
"peer": true
}, },
"node_modules/slate-dom": { "node_modules/slate-dom": {
"version": "0.124.1", "version": "0.124.1",
"resolved": "https://registry.npmjs.org/slate-dom/-/slate-dom-0.124.1.tgz", "resolved": "https://registry.npmjs.org/slate-dom/-/slate-dom-0.124.1.tgz",
"integrity": "sha512-D3yVibjLZM4Oj4MmXxOEXbjrlf4wJez3OvGABBNYrAP7gXb0d96tKNtWZ0hGm/5y84idw/LHjZ7W1uTYqFR9rQ==", "integrity": "sha512-D3yVibjLZM4Oj4MmXxOEXbjrlf4wJez3OvGABBNYrAP7gXb0d96tKNtWZ0hGm/5y84idw/LHjZ7W1uTYqFR9rQ==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@juggle/resize-observer": "^3.4.0", "@juggle/resize-observer": "^3.4.0",
"direction": "^1.0.4", "direction": "^1.0.4",
@@ -28292,15 +27828,14 @@
} }
}, },
"node_modules/slate-react": { "node_modules/slate-react": {
"version": "0.114.2", "version": "0.124.0",
"resolved": "https://registry.npmjs.org/slate-react/-/slate-react-0.114.2.tgz", "resolved": "https://registry.npmjs.org/slate-react/-/slate-react-0.124.0.tgz",
"integrity": "sha512-yqJnX1/7A30szl9BxW3qX99MZy6mM6VtUi1rXTy0JpRMTKv3rduo0WOxqcX90tpt0ke2pzHGbrLLr1buIN4vrw==", "integrity": "sha512-NLN6ME64ChOgJtiVTKwISS1sI/Y8/qN1cwmDTZM9AQJCl+jR3XNCvDsKNrW0kJU+1G3NgIGaYoVWhgIVEIL+Aw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@juggle/resize-observer": "^3.4.0", "@juggle/resize-observer": "^3.4.0",
"direction": "^1.0.4", "direction": "^1.0.4",
"is-hotkey": "^0.2.0", "is-hotkey": "^0.2.0",
"is-plain-object": "^5.0.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"scroll-into-view-if-needed": "^3.1.0", "scroll-into-view-if-needed": "^3.1.0",
"tiny-invariant": "1.3.1" "tiny-invariant": "1.3.1"
@@ -28308,8 +27843,8 @@
"peerDependencies": { "peerDependencies": {
"react": ">=18.2.0", "react": ">=18.2.0",
"react-dom": ">=18.2.0", "react-dom": ">=18.2.0",
"slate": ">=0.114.0", "slate": ">=0.121.0",
"slate-dom": ">=0.110.2" "slate-dom": ">=0.119.1"
} }
}, },
"node_modules/smart-buffer": { "node_modules/smart-buffer": {
@@ -28544,13 +28079,6 @@
"license": "MIT", "license": "MIT",
"optional": true "optional": true
}, },
"node_modules/style-mod": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.3.tgz",
"integrity": "sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==",
"license": "MIT",
"peer": true
},
"node_modules/style-to-js": { "node_modules/style-to-js": {
"version": "1.1.21", "version": "1.1.21",
"resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz",
@@ -28579,29 +28107,6 @@
"tslib": "^2.1.0" "tslib": "^2.1.0"
} }
}, },
"node_modules/styled-jsx": {
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz",
"integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==",
"license": "MIT",
"dependencies": {
"client-only": "0.0.1"
},
"engines": {
"node": ">= 12.0.0"
},
"peerDependencies": {
"react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0"
},
"peerDependenciesMeta": {
"@babel/core": {
"optional": true
},
"babel-plugin-macros": {
"optional": true
}
}
},
"node_modules/stylis": { "node_modules/stylis": {
"version": "4.3.6", "version": "4.3.6",
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz",
@@ -30419,13 +29924,6 @@
"integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/w3c-keyname": {
"version": "2.2.8",
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
"integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
"license": "MIT",
"peer": true
},
"node_modules/web-namespaces": { "node_modules/web-namespaces": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz",
+6 -2
View File
@@ -6,6 +6,7 @@
"dev": "tinacms dev -c \"astro dev\"", "dev": "tinacms dev -c \"astro dev\"",
"build": "astro check && astro build", "build": "astro check && astro build",
"build:tina": "tinacms build && astro check && astro build", "build:tina": "tinacms build && astro check && astro build",
"build:docker": "tinacms build && astro build",
"preview": "astro preview", "preview": "astro preview",
"astro": "astro" "astro": "astro"
}, },
@@ -17,9 +18,12 @@
"@tinacms/datalayer": "^2.0.18", "@tinacms/datalayer": "^2.0.18",
"astro": "^6.2.1", "astro": "^6.2.1",
"express": "^5.2.1", "express": "^5.2.1",
"fs-extra": "^11.3.4",
"mongodb-level": "^0.0.4", "mongodb-level": "^0.0.4",
"next": "^15.5.15", "slate": "^0.124.1",
"next-auth": "^4.24.14", "slate-dom": "^0.124.1",
"slate-hyperscript": "^0.100.0",
"slate-react": "^0.124.0",
"tailwindcss": "^4.2.4", "tailwindcss": "^4.2.4",
"tinacms": "^3.7.5", "tinacms": "^3.7.5",
"tinacms-authjs": "^21.0.5", "tinacms-authjs": "^21.0.5",
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
{"DocumentConnection":{"type":"DocumentConnection","resolveType":"multiCollectionDocumentList","collections":["post","page","theaterHomepage"]},"Node":{"type":"Node","resolveType":"nodeDocument"},"DocumentNode":{"type":"DocumentNode","resolveType":"multiCollectionDocument","createDocument":"create","updateDocument":"update"},"Post":{"type":"Post","resolveType":"collectionDocument","collection":"post","createPost":"create","updatePost":"update"},"PostConnection":{"type":"PostConnection","resolveType":"collectionDocumentList","collection":"post"},"Page":{"type":"Page","resolveType":"collectionDocument","collection":"page","createPage":"create","updatePage":"update"},"PageConnection":{"type":"PageConnection","resolveType":"collectionDocumentList","collection":"page"},"TheaterHomepage":{"type":"TheaterHomepage","resolveType":"collectionDocument","collection":"theaterHomepage","createTheaterHomepage":"create","updateTheaterHomepage":"update"},"TheaterHomepageConnection":{"type":"TheaterHomepageConnection","resolveType":"collectionDocumentList","collection":"theaterHomepage"}} {"DocumentConnection":{"type":"DocumentConnection","resolveType":"multiCollectionDocumentList","collections":["user","post","page","theaterHomepage"]},"Node":{"type":"Node","resolveType":"nodeDocument"},"DocumentNode":{"type":"DocumentNode","resolveType":"multiCollectionDocument","createDocument":"create","updateDocument":"update"},"User":{"type":"User","resolveType":"collectionDocument","collection":"user","createUser":"create","updateUser":"update"},"UserConnection":{"type":"UserConnection","resolveType":"collectionDocumentList","collection":"user"},"Post":{"type":"Post","resolveType":"collectionDocument","collection":"post","createPost":"create","updatePost":"update"},"PostConnection":{"type":"PostConnection","resolveType":"collectionDocumentList","collection":"post"},"Page":{"type":"Page","resolveType":"collectionDocument","collection":"page","createPage":"create","updatePage":"update"},"PageConnection":{"type":"PageConnection","resolveType":"collectionDocumentList","collection":"page"},"TheaterHomepage":{"type":"TheaterHomepage","resolveType":"collectionDocument","collection":"theaterHomepage","createTheaterHomepage":"create","updateTheaterHomepage":"update"},"TheaterHomepageConnection":{"type":"TheaterHomepageConnection","resolveType":"collectionDocumentList","collection":"theaterHomepage"}}
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
import { createClient } from "tinacms/dist/client"; import { createClient } from "tinacms/dist/client";
import { queries } from "./types"; import { queries } from "./types";
export const client = createClient({ url: 'http://localhost:4001/graphql', token: '', queries, }); export const client = createClient({ cacheDir: '/home/johannes/work/ideal/theater-ziefen-website/tina/__generated__/.cache/1777917319596', url: '/api/tina/gql', token: 'undefined', queries, });
export default client; export default client;
+63
View File
@@ -0,0 +1,63 @@
// @ts-nocheck
import { resolve } from "@tinacms/datalayer";
import type { TinaClient } from "tinacms/dist/client";
import { queries } from "./types";
import database from "../database";
export async function databaseRequest({ query, variables, user }) {
const result = await resolve({
config: {
useRelativeMedia: true,
},
database,
query,
variables,
verbose: true,
ctxUser: user,
});
return result;
}
export async function authenticate({ username, password }) {
return databaseRequest({
query: `query auth($username:String!, $password:String!) {
authenticate(sub:$username, password:$password) {
id:username name email _password: password { passwordChangeRequired }
}
}`,
variables: { username, password },
})
}
export async function authorize(user: { sub: string }) {
return databaseRequest({
query: `query authz { authorize { id:username name email _password: password { passwordChangeRequired }} }`,
variables: {},
user
})
}
function createDatabaseClient<GenQueries = Record<string, unknown>>({
queries,
}: {
queries: (client: {
request: TinaClient<GenQueries>["request"];
}) => GenQueries;
}) {
const request = async ({ query, variables, user }) => {
const data = await databaseRequest({ query, variables, user });
return { data: data.data as any, query, variables, errors: data.errors || null };
};
const q = queries({
request,
});
return { queries: q, request, authenticate, authorize };
}
export const databaseClient = createDatabaseClient({ queries });
export const client = databaseClient;
export default databaseClient;
+14
View File
@@ -1,3 +1,17 @@
fragment UserParts on User {
__typename
users {
__typename
username
name
email
password {
value
passwordChangeRequired
}
}
}
fragment PostParts on Post { fragment PostParts on Post {
__typename __typename
title title
+55
View File
@@ -1,3 +1,58 @@
query user($relativePath: String!) {
user(relativePath: $relativePath) {
... on Document {
_sys {
filename
basename
hasReferences
breadcrumbs
path
relativePath
extension
}
id
}
...UserParts
}
}
query userConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: UserFilter) {
userConnection(
before: $before
after: $after
first: $first
last: $last
sort: $sort
filter: $filter
) {
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
totalCount
edges {
cursor
node {
... on Document {
_sys {
filename
basename
hasReferences
breadcrumbs
path
relativePath
extension
}
id
}
...UserParts
}
}
}
}
query post($relativePath: String!) { query post($relativePath: String!) {
post(relativePath: $relativePath) { post(relativePath: $relativePath) {
... on Document { ... on Document {
+73 -7
View File
@@ -54,6 +54,10 @@ type Query {
collections: [Collection!]! collections: [Collection!]!
node(id: String): Node! node(id: String): Node!
document(collection: String, relativePath: String): DocumentNode! document(collection: String, relativePath: String): DocumentNode!
user(relativePath: String): User!
authenticate(sub: String!, password: String!): UserUsers
authorize: UserUsers
userConnection(before: String, after: String, first: Float, last: Float, sort: String, filter: UserFilter): UserConnection!
post(relativePath: String): Post! post(relativePath: String): Post!
postConnection(before: String, after: String, first: Float, last: Float, sort: String, filter: PostFilter): PostConnection! postConnection(before: String, after: String, first: Float, last: Float, sort: String, filter: PostFilter): PostConnection!
page(relativePath: String): Page! page(relativePath: String): Page!
@@ -63,6 +67,7 @@ type Query {
} }
input DocumentFilter { input DocumentFilter {
user: UserFilter
post: PostFilter post: PostFilter
page: PageFilter page: PageFilter
theaterHomepage: TheaterHomepageFilter theaterHomepage: TheaterHomepageFilter
@@ -91,14 +96,22 @@ type Collection {
documents(before: String, after: String, first: Float, last: Float, sort: String, filter: DocumentFilter, folder: String): DocumentConnection! documents(before: String, after: String, first: Float, last: Float, sort: String, filter: DocumentFilter, folder: String): DocumentConnection!
} }
union DocumentNode = Post | Page | TheaterHomepage | Folder union DocumentNode = User | Post | Page | TheaterHomepage | Folder
type Post implements Node & Document { type UserUsersPassword {
title: String! value: String!
date: String! passwordChangeRequired: Boolean
excerpt: String! }
coverImage: String
body: JSON! type UserUsers {
username: String!
name: String
email: String
password: UserUsersPassword!
}
type User implements Node & Document {
users: [UserUsers]
id: ID! id: ID!
_sys: SystemInfo! _sys: SystemInfo!
_values: JSON! _values: JSON!
@@ -111,6 +124,38 @@ input StringFilter {
in: [String] in: [String]
} }
input UserUsersFilter {
username: StringFilter
name: StringFilter
email: StringFilter
}
input UserFilter {
users: UserUsersFilter
}
type UserConnectionEdges {
cursor: String!
node: User
}
type UserConnection implements Connection {
pageInfo: PageInfo!
totalCount: Float!
edges: [UserConnectionEdges]
}
type Post implements Node & Document {
title: String!
date: String!
excerpt: String!
coverImage: String
body: JSON!
id: ID!
_sys: SystemInfo!
_values: JSON!
}
input DatetimeFilter { input DatetimeFilter {
after: String after: String
before: String before: String
@@ -387,6 +432,9 @@ type Mutation {
deleteDocument(collection: String, relativePath: String!): DocumentNode! deleteDocument(collection: String, relativePath: String!): DocumentNode!
createDocument(collection: String, relativePath: String!, params: DocumentMutation!): DocumentNode! createDocument(collection: String, relativePath: String!, params: DocumentMutation!): DocumentNode!
createFolder(collection: String, relativePath: String!): DocumentNode! createFolder(collection: String, relativePath: String!): DocumentNode!
updatePassword(password: String!): Boolean!
updateUser(relativePath: String!, params: UserMutation!): User!
createUser(relativePath: String!, params: UserMutation!): User!
updatePost(relativePath: String!, params: PostMutation!): Post! updatePost(relativePath: String!, params: PostMutation!): Post!
createPost(relativePath: String!, params: PostMutation!): Post! createPost(relativePath: String!, params: PostMutation!): Post!
updatePage(relativePath: String!, params: PageMutation!): Page! updatePage(relativePath: String!, params: PageMutation!): Page!
@@ -396,6 +444,7 @@ type Mutation {
} }
input DocumentUpdateMutation { input DocumentUpdateMutation {
user: UserMutation
post: PostMutation post: PostMutation
page: PageMutation page: PageMutation
theaterHomepage: TheaterHomepageMutation theaterHomepage: TheaterHomepageMutation
@@ -403,11 +452,28 @@ input DocumentUpdateMutation {
} }
input DocumentMutation { input DocumentMutation {
user: UserMutation
post: PostMutation post: PostMutation
page: PageMutation page: PageMutation
theaterHomepage: TheaterHomepageMutation theaterHomepage: TheaterHomepageMutation
} }
input UserUsersPasswordMutation {
value: String
passwordChangeRequired: Boolean!
}
input UserUsersMutation {
username: String
name: String
email: String
password: UserUsersPasswordMutation
}
input UserMutation {
users: [UserUsersMutation]
}
input PostMutation { input PostMutation {
title: String title: String
date: String date: String
+217 -9
View File
@@ -82,6 +82,10 @@ export type Query = {
collections: Array<Collection>; collections: Array<Collection>;
node: Node; node: Node;
document: DocumentNode; document: DocumentNode;
user: User;
authenticate?: Maybe<UserUsers>;
authorize?: Maybe<UserUsers>;
userConnection: UserConnection;
post: Post; post: Post;
postConnection: PostConnection; postConnection: PostConnection;
page: Page; page: Page;
@@ -112,6 +116,27 @@ export type QueryDocumentArgs = {
}; };
export type QueryUserArgs = {
relativePath?: InputMaybe<Scalars['String']['input']>;
};
export type QueryAuthenticateArgs = {
sub: Scalars['String']['input'];
password: Scalars['String']['input'];
};
export type QueryUserConnectionArgs = {
before?: InputMaybe<Scalars['String']['input']>;
after?: InputMaybe<Scalars['String']['input']>;
first?: InputMaybe<Scalars['Float']['input']>;
last?: InputMaybe<Scalars['Float']['input']>;
sort?: InputMaybe<Scalars['String']['input']>;
filter?: InputMaybe<UserFilter>;
};
export type QueryPostArgs = { export type QueryPostArgs = {
relativePath?: InputMaybe<Scalars['String']['input']>; relativePath?: InputMaybe<Scalars['String']['input']>;
}; };
@@ -157,6 +182,7 @@ export type QueryTheaterHomepageConnectionArgs = {
}; };
export type DocumentFilter = { export type DocumentFilter = {
user?: InputMaybe<UserFilter>;
post?: InputMaybe<PostFilter>; post?: InputMaybe<PostFilter>;
page?: InputMaybe<PageFilter>; page?: InputMaybe<PageFilter>;
theaterHomepage?: InputMaybe<TheaterHomepageFilter>; theaterHomepage?: InputMaybe<TheaterHomepageFilter>;
@@ -199,7 +225,59 @@ export type CollectionDocumentsArgs = {
folder?: InputMaybe<Scalars['String']['input']>; folder?: InputMaybe<Scalars['String']['input']>;
}; };
export type DocumentNode = Post | Page | TheaterHomepage | Folder; export type DocumentNode = User | Post | Page | TheaterHomepage | Folder;
export type UserUsersPassword = {
__typename?: 'UserUsersPassword';
value: Scalars['String']['output'];
passwordChangeRequired?: Maybe<Scalars['Boolean']['output']>;
};
export type UserUsers = {
__typename?: 'UserUsers';
username: Scalars['String']['output'];
name?: Maybe<Scalars['String']['output']>;
email?: Maybe<Scalars['String']['output']>;
password: UserUsersPassword;
};
export type User = Node & Document & {
__typename?: 'User';
users?: Maybe<Array<Maybe<UserUsers>>>;
id: Scalars['ID']['output'];
_sys: SystemInfo;
_values: Scalars['JSON']['output'];
};
export type StringFilter = {
startsWith?: InputMaybe<Scalars['String']['input']>;
eq?: InputMaybe<Scalars['String']['input']>;
exists?: InputMaybe<Scalars['Boolean']['input']>;
in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
};
export type UserUsersFilter = {
username?: InputMaybe<StringFilter>;
name?: InputMaybe<StringFilter>;
email?: InputMaybe<StringFilter>;
};
export type UserFilter = {
users?: InputMaybe<UserUsersFilter>;
};
export type UserConnectionEdges = {
__typename?: 'UserConnectionEdges';
cursor: Scalars['String']['output'];
node?: Maybe<User>;
};
export type UserConnection = Connection & {
__typename?: 'UserConnection';
pageInfo: PageInfo;
totalCount: Scalars['Float']['output'];
edges?: Maybe<Array<Maybe<UserConnectionEdges>>>;
};
export type Post = Node & Document & { export type Post = Node & Document & {
__typename?: 'Post'; __typename?: 'Post';
@@ -213,13 +291,6 @@ export type Post = Node & Document & {
_values: Scalars['JSON']['output']; _values: Scalars['JSON']['output'];
}; };
export type StringFilter = {
startsWith?: InputMaybe<Scalars['String']['input']>;
eq?: InputMaybe<Scalars['String']['input']>;
exists?: InputMaybe<Scalars['Boolean']['input']>;
in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
};
export type DatetimeFilter = { export type DatetimeFilter = {
after?: InputMaybe<Scalars['String']['input']>; after?: InputMaybe<Scalars['String']['input']>;
before?: InputMaybe<Scalars['String']['input']>; before?: InputMaybe<Scalars['String']['input']>;
@@ -516,6 +587,9 @@ export type Mutation = {
deleteDocument: DocumentNode; deleteDocument: DocumentNode;
createDocument: DocumentNode; createDocument: DocumentNode;
createFolder: DocumentNode; createFolder: DocumentNode;
updatePassword: Scalars['Boolean']['output'];
updateUser: User;
createUser: User;
updatePost: Post; updatePost: Post;
createPost: Post; createPost: Post;
updatePage: Page; updatePage: Page;
@@ -558,6 +632,23 @@ export type MutationCreateFolderArgs = {
}; };
export type MutationUpdatePasswordArgs = {
password: Scalars['String']['input'];
};
export type MutationUpdateUserArgs = {
relativePath: Scalars['String']['input'];
params: UserMutation;
};
export type MutationCreateUserArgs = {
relativePath: Scalars['String']['input'];
params: UserMutation;
};
export type MutationUpdatePostArgs = { export type MutationUpdatePostArgs = {
relativePath: Scalars['String']['input']; relativePath: Scalars['String']['input'];
params: PostMutation; params: PostMutation;
@@ -594,6 +685,7 @@ export type MutationCreateTheaterHomepageArgs = {
}; };
export type DocumentUpdateMutation = { export type DocumentUpdateMutation = {
user?: InputMaybe<UserMutation>;
post?: InputMaybe<PostMutation>; post?: InputMaybe<PostMutation>;
page?: InputMaybe<PageMutation>; page?: InputMaybe<PageMutation>;
theaterHomepage?: InputMaybe<TheaterHomepageMutation>; theaterHomepage?: InputMaybe<TheaterHomepageMutation>;
@@ -601,11 +693,28 @@ export type DocumentUpdateMutation = {
}; };
export type DocumentMutation = { export type DocumentMutation = {
user?: InputMaybe<UserMutation>;
post?: InputMaybe<PostMutation>; post?: InputMaybe<PostMutation>;
page?: InputMaybe<PageMutation>; page?: InputMaybe<PageMutation>;
theaterHomepage?: InputMaybe<TheaterHomepageMutation>; theaterHomepage?: InputMaybe<TheaterHomepageMutation>;
}; };
export type UserUsersPasswordMutation = {
value?: InputMaybe<Scalars['String']['input']>;
passwordChangeRequired: Scalars['Boolean']['input'];
};
export type UserUsersMutation = {
username?: InputMaybe<Scalars['String']['input']>;
name?: InputMaybe<Scalars['String']['input']>;
email?: InputMaybe<Scalars['String']['input']>;
password?: InputMaybe<UserUsersPasswordMutation>;
};
export type UserMutation = {
users?: InputMaybe<Array<InputMaybe<UserUsersMutation>>>;
};
export type PostMutation = { export type PostMutation = {
title?: InputMaybe<Scalars['String']['input']>; title?: InputMaybe<Scalars['String']['input']>;
date?: InputMaybe<Scalars['String']['input']>; date?: InputMaybe<Scalars['String']['input']>;
@@ -715,12 +824,33 @@ export type TheaterHomepageMutation = {
tickets?: InputMaybe<TheaterHomepageTicketsMutation>; tickets?: InputMaybe<TheaterHomepageTicketsMutation>;
}; };
export type UserPartsFragment = { __typename: 'User', users?: Array<{ __typename: 'UserUsers', username: string, name?: string | null, email?: string | null, password: { __typename?: 'UserUsersPassword', value: string, passwordChangeRequired?: boolean | null } } | null> | null };
export type PostPartsFragment = { __typename: 'Post', title: string, date: string, excerpt: string, coverImage?: string | null, body: any }; export type PostPartsFragment = { __typename: 'Post', title: string, date: string, excerpt: string, coverImage?: string | null, body: any };
export type PagePartsFragment = { __typename: 'Page', title: string, description?: string | null, body: any }; export type PagePartsFragment = { __typename: 'Page', title: string, description?: string | null, body: any };
export type TheaterHomepagePartsFragment = { __typename: 'TheaterHomepage', title: string, hero?: { __typename: 'TheaterHomepageHero', title_de: string, title_en: string, subtitle_de: string, subtitle_en: string } | null, projekt?: { __typename: 'TheaterHomepageProjekt', title_de: string, title_en: string, content_de: any, content_en: any } | null, team?: { __typename: 'TheaterHomepageTeam', title_de: string, title_en: string, content_de: any, content_en: any, organizations?: Array<{ __typename: 'TheaterHomepageTeamOrganizations', name?: string | null, role_de?: string | null, role_en?: string | null, logo?: string | null, url?: string | null } | null> | null } | null, stueck?: { __typename: 'TheaterHomepageStueck', title_de: string, title_en: string, content_de: any, content_en: any } | null, mitwirkung?: { __typename: 'TheaterHomepageMitwirkung', title_de: string, title_en: string, content_de: any, content_en: any, director_name?: string | null, director_email?: string | null, director_phone?: string | null } | null, termine?: { __typename: 'TheaterHomepageTermine', title_de: string, title_en: string, events?: Array<{ __typename: 'TheaterHomepageTermineEvents', title_de?: string | null, title_en?: string | null, date?: string | null, description_de?: string | null, description_en?: string | null } | null> | null } | null, presse?: { __typename: 'TheaterHomepagePresse', title_de: string, title_en: string, content_de: any, content_en: any } | null, gallery?: { __typename: 'TheaterHomepageGallery', title_de: string, title_en: string, images?: Array<string | null> | null } | null, tickets?: { __typename: 'TheaterHomepageTickets', title_de: string, title_en: string, content_de: any, content_en: any, ticket_url?: string | null } | null }; export type TheaterHomepagePartsFragment = { __typename: 'TheaterHomepage', title: string, hero?: { __typename: 'TheaterHomepageHero', title_de: string, title_en: string, subtitle_de: string, subtitle_en: string } | null, projekt?: { __typename: 'TheaterHomepageProjekt', title_de: string, title_en: string, content_de: any, content_en: any } | null, team?: { __typename: 'TheaterHomepageTeam', title_de: string, title_en: string, content_de: any, content_en: any, organizations?: Array<{ __typename: 'TheaterHomepageTeamOrganizations', name?: string | null, role_de?: string | null, role_en?: string | null, logo?: string | null, url?: string | null } | null> | null } | null, stueck?: { __typename: 'TheaterHomepageStueck', title_de: string, title_en: string, content_de: any, content_en: any } | null, mitwirkung?: { __typename: 'TheaterHomepageMitwirkung', title_de: string, title_en: string, content_de: any, content_en: any, director_name?: string | null, director_email?: string | null, director_phone?: string | null } | null, termine?: { __typename: 'TheaterHomepageTermine', title_de: string, title_en: string, events?: Array<{ __typename: 'TheaterHomepageTermineEvents', title_de?: string | null, title_en?: string | null, date?: string | null, description_de?: string | null, description_en?: string | null } | null> | null } | null, presse?: { __typename: 'TheaterHomepagePresse', title_de: string, title_en: string, content_de: any, content_en: any } | null, gallery?: { __typename: 'TheaterHomepageGallery', title_de: string, title_en: string, images?: Array<string | null> | null } | null, tickets?: { __typename: 'TheaterHomepageTickets', title_de: string, title_en: string, content_de: any, content_en: any, ticket_url?: string | null } | null };
export type UserQueryVariables = Exact<{
relativePath: Scalars['String']['input'];
}>;
export type UserQuery = { __typename?: 'Query', user: { __typename: 'User', id: string, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, hasReferences?: boolean | null, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string }, users?: Array<{ __typename: 'UserUsers', username: string, name?: string | null, email?: string | null, password: { __typename?: 'UserUsersPassword', value: string, passwordChangeRequired?: boolean | null } } | null> | null } };
export type UserConnectionQueryVariables = Exact<{
before?: InputMaybe<Scalars['String']['input']>;
after?: InputMaybe<Scalars['String']['input']>;
first?: InputMaybe<Scalars['Float']['input']>;
last?: InputMaybe<Scalars['Float']['input']>;
sort?: InputMaybe<Scalars['String']['input']>;
filter?: InputMaybe<UserFilter>;
}>;
export type UserConnectionQuery = { __typename?: 'Query', userConnection: { __typename?: 'UserConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'UserConnectionEdges', cursor: string, node?: { __typename: 'User', id: string, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, hasReferences?: boolean | null, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string }, users?: Array<{ __typename: 'UserUsers', username: string, name?: string | null, email?: string | null, password: { __typename?: 'UserUsersPassword', value: string, passwordChangeRequired?: boolean | null } } | null> | null } | null } | null> | null } };
export type PostQueryVariables = Exact<{ export type PostQueryVariables = Exact<{
relativePath: Scalars['String']['input']; relativePath: Scalars['String']['input'];
}>; }>;
@@ -778,6 +908,21 @@ export type TheaterHomepageConnectionQueryVariables = Exact<{
export type TheaterHomepageConnectionQuery = { __typename?: 'Query', theaterHomepageConnection: { __typename?: 'TheaterHomepageConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'TheaterHomepageConnectionEdges', cursor: string, node?: { __typename: 'TheaterHomepage', id: string, title: string, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, hasReferences?: boolean | null, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string }, hero?: { __typename: 'TheaterHomepageHero', title_de: string, title_en: string, subtitle_de: string, subtitle_en: string } | null, projekt?: { __typename: 'TheaterHomepageProjekt', title_de: string, title_en: string, content_de: any, content_en: any } | null, team?: { __typename: 'TheaterHomepageTeam', title_de: string, title_en: string, content_de: any, content_en: any, organizations?: Array<{ __typename: 'TheaterHomepageTeamOrganizations', name?: string | null, role_de?: string | null, role_en?: string | null, logo?: string | null, url?: string | null } | null> | null } | null, stueck?: { __typename: 'TheaterHomepageStueck', title_de: string, title_en: string, content_de: any, content_en: any } | null, mitwirkung?: { __typename: 'TheaterHomepageMitwirkung', title_de: string, title_en: string, content_de: any, content_en: any, director_name?: string | null, director_email?: string | null, director_phone?: string | null } | null, termine?: { __typename: 'TheaterHomepageTermine', title_de: string, title_en: string, events?: Array<{ __typename: 'TheaterHomepageTermineEvents', title_de?: string | null, title_en?: string | null, date?: string | null, description_de?: string | null, description_en?: string | null } | null> | null } | null, presse?: { __typename: 'TheaterHomepagePresse', title_de: string, title_en: string, content_de: any, content_en: any } | null, gallery?: { __typename: 'TheaterHomepageGallery', title_de: string, title_en: string, images?: Array<string | null> | null } | null, tickets?: { __typename: 'TheaterHomepageTickets', title_de: string, title_en: string, content_de: any, content_en: any, ticket_url?: string | null } | null } | null } | null> | null } }; export type TheaterHomepageConnectionQuery = { __typename?: 'Query', theaterHomepageConnection: { __typename?: 'TheaterHomepageConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'TheaterHomepageConnectionEdges', cursor: string, node?: { __typename: 'TheaterHomepage', id: string, title: string, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, hasReferences?: boolean | null, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string }, hero?: { __typename: 'TheaterHomepageHero', title_de: string, title_en: string, subtitle_de: string, subtitle_en: string } | null, projekt?: { __typename: 'TheaterHomepageProjekt', title_de: string, title_en: string, content_de: any, content_en: any } | null, team?: { __typename: 'TheaterHomepageTeam', title_de: string, title_en: string, content_de: any, content_en: any, organizations?: Array<{ __typename: 'TheaterHomepageTeamOrganizations', name?: string | null, role_de?: string | null, role_en?: string | null, logo?: string | null, url?: string | null } | null> | null } | null, stueck?: { __typename: 'TheaterHomepageStueck', title_de: string, title_en: string, content_de: any, content_en: any } | null, mitwirkung?: { __typename: 'TheaterHomepageMitwirkung', title_de: string, title_en: string, content_de: any, content_en: any, director_name?: string | null, director_email?: string | null, director_phone?: string | null } | null, termine?: { __typename: 'TheaterHomepageTermine', title_de: string, title_en: string, events?: Array<{ __typename: 'TheaterHomepageTermineEvents', title_de?: string | null, title_en?: string | null, date?: string | null, description_de?: string | null, description_en?: string | null } | null> | null } | null, presse?: { __typename: 'TheaterHomepagePresse', title_de: string, title_en: string, content_de: any, content_en: any } | null, gallery?: { __typename: 'TheaterHomepageGallery', title_de: string, title_en: string, images?: Array<string | null> | null } | null, tickets?: { __typename: 'TheaterHomepageTickets', title_de: string, title_en: string, content_de: any, content_en: any, ticket_url?: string | null } | null } | null } | null> | null } };
export const UserPartsFragmentDoc = gql`
fragment UserParts on User {
__typename
users {
__typename
username
name
email
password {
value
passwordChangeRequired
}
}
}
`;
export const PostPartsFragmentDoc = gql` export const PostPartsFragmentDoc = gql`
fragment PostParts on Post { fragment PostParts on Post {
__typename __typename
@@ -882,6 +1027,63 @@ export const TheaterHomepagePartsFragmentDoc = gql`
} }
} }
`; `;
export const UserDocument = gql`
query user($relativePath: String!) {
user(relativePath: $relativePath) {
... on Document {
_sys {
filename
basename
hasReferences
breadcrumbs
path
relativePath
extension
}
id
}
...UserParts
}
}
${UserPartsFragmentDoc}`;
export const UserConnectionDocument = gql`
query userConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: UserFilter) {
userConnection(
before: $before
after: $after
first: $first
last: $last
sort: $sort
filter: $filter
) {
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
totalCount
edges {
cursor
node {
... on Document {
_sys {
filename
basename
hasReferences
breadcrumbs
path
relativePath
extension
}
id
}
...UserParts
}
}
}
}
${UserPartsFragmentDoc}`;
export const PostDocument = gql` export const PostDocument = gql`
query post($relativePath: String!) { query post($relativePath: String!) {
post(relativePath: $relativePath) { post(relativePath: $relativePath) {
@@ -1056,6 +1258,12 @@ export const TheaterHomepageConnectionDocument = gql`
export type Requester<C= {}> = <R, V>(doc: DocumentNode, vars?: V, options?: C) => Promise<R> export type Requester<C= {}> = <R, V>(doc: DocumentNode, vars?: V, options?: C) => Promise<R>
export function getSdk<C>(requester: Requester<C>) { export function getSdk<C>(requester: Requester<C>) {
return { return {
user(variables: UserQueryVariables, options?: C): Promise<{data: UserQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: UserQueryVariables, query: string}> {
return requester<{data: UserQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: UserQueryVariables, query: string}, UserQueryVariables>(UserDocument, variables, options);
},
userConnection(variables?: UserConnectionQueryVariables, options?: C): Promise<{data: UserConnectionQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: UserConnectionQueryVariables, query: string}> {
return requester<{data: UserConnectionQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: UserConnectionQueryVariables, query: string}, UserConnectionQueryVariables>(UserConnectionDocument, variables, options);
},
post(variables: PostQueryVariables, options?: C): Promise<{data: PostQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: PostQueryVariables, query: string}> { post(variables: PostQueryVariables, options?: C): Promise<{data: PostQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: PostQueryVariables, query: string}> {
return requester<{data: PostQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: PostQueryVariables, query: string}, PostQueryVariables>(PostDocument, variables, options); return requester<{data: PostQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: PostQueryVariables, query: string}, PostQueryVariables>(PostDocument, variables, options);
}, },
@@ -1121,7 +1329,7 @@ export const ExperimentalGetTinaClient = () =>
getSdk( getSdk(
generateRequester( generateRequester(
createClient({ createClient({
url: "http://localhost:4001/graphql", url: "/api/tina/gql",
queries, queries,
}) })
) )