feat: implement automation key management with middleware and routes for organization API keys, invite improvements

This commit is contained in:
Rotimi Best
2026-03-13 18:40:07 +01:00
parent 77a1188573
commit 492f8dc5ed
71 changed files with 3655 additions and 456 deletions
+5 -5
View File
@@ -5,8 +5,8 @@
"scripts": {
"dev": "vite dev --port 5174",
"build": "vite build",
"preview": "vite preview",
"start": "node build",
"preview": "wrangler dev --port 4173",
"start": "wrangler dev --port 3000",
"check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch",
"format": "prettier --write .",
@@ -14,8 +14,7 @@
},
"devDependencies": {
"@cio/tsconfig": "workspace:*",
"@sveltejs/adapter-node": "^2.0.0",
"@sveltejs/adapter-vercel": "^4.0.0",
"@sveltejs/adapter-cloudflare": "^7.0.0",
"@sveltejs/kit": "^2.5.27",
"@sveltejs/vite-plugin-svelte": "^4.0.0",
"@tailwindcss/typography": "^0.5.9",
@@ -25,7 +24,8 @@
"svelte": "^5.0.0",
"tailwindcss": "^4.1.14",
"typescript": "^5.5.0",
"vite": "^5.4.4"
"vite": "^5.4.4",
"wrangler": "^4.21.2"
},
"type": "module",
"engines": {
+4 -4
View File
@@ -29,8 +29,8 @@ preload="auto"
autoPictureInPicture
class="rounded-md"
src="https://assets.cdn.clsrio.com/blog/organisation-student-analytics.mp4"
>
</video>
> </video>
## Course Student Analytics
@@ -52,8 +52,8 @@ autoPictureInPicture
class="rounded-md"
src="https://assets.cdn.clsrio.com/blog/course-students-analytics.mp4"
controls
>
</video>
> </video>
## What's Next?
+2 -5
View File
@@ -1,7 +1,6 @@
import { escapeSvelte, mdsvex } from 'mdsvex';
import adapterNode from '@sveltejs/adapter-node';
import adapterVercel from '@sveltejs/adapter-vercel';
import adapter from '@sveltejs/adapter-cloudflare';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import path from 'path';
@@ -11,8 +10,6 @@ import remarkUnwrapImages from 'remark-unwrap-images';
import shiki from 'shiki';
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
const useNodeAdapter = process.env.VERCEL !== '1' && process.env.VERCEL !== 'true';
/** @type {import('@sveltejs/kit').Config}*/
/** @type {import('mdsvex').MdsvexOptions} */
@@ -34,7 +31,7 @@ const mdsvexOptions = {
const config = {
kit: {
adapter: useNodeAdapter ? adapterNode() : adapterVercel(),
adapter: adapter(),
alias: {
$lib: path.resolve('./src/lib'),
'$src/tools': path.resolve('./node_modules/@cio/ui/src/tools/index.ts'),
+11
View File
@@ -0,0 +1,11 @@
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "classroomio-website",
"main": ".svelte-kit/cloudflare/_worker.js",
"compatibility_date": "2026-03-13",
"compatibility_flags": ["nodejs_compat"],
"assets": {
"binding": "ASSETS",
"directory": ".svelte-kit/cloudflare"
}
}