Files
claudemesh/.context/turbostarter-framework-context/wireframes/themed/low/auth-join-org.excalidraw
Alejandro Gutiérrez d3163a5bff feat(db): mesh data model — meshes, members, invites, audit log
- pgSchema "mesh" with 4 tables isolating the peer mesh domain
- Enums: visibility, transport, tier, role
- audit_log is metadata-only (E2E encryption enforced at broker/client)
- Cascade on mesh delete, soft-delete via archivedAt/revokedAt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 21:19:32 +01:00

384 lines
7.9 KiB
Plaintext

{
"type": "excalidraw",
"version": 2,
"source": "turbostarter-wireframes",
"elements": [
{
"id": "outer-frame",
"type": "rectangle",
"x": 0,
"y": 0,
"width": 1440,
"height": 900,
"strokeColor": "#e5e5e5",
"backgroundColor": "#ffffff",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [],
"roundness": {
"type": 3,
"value": 0
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "left-column",
"type": "rectangle",
"x": 0,
"y": 0,
"width": 720,
"height": 900,
"strokeColor": "#e5e5e5",
"backgroundColor": "#ffffff",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"left-column-group"
],
"roundness": {
"type": 3,
"value": 0
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "right-column",
"type": "rectangle",
"x": 720,
"y": 0,
"width": 720,
"height": 900,
"strokeColor": "#e5e5e5",
"backgroundColor": "#f5f5f5",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"right-column-group"
],
"roundness": {
"type": 3,
"value": 0
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "logo-placeholder",
"type": "rectangle",
"x": 300,
"y": 120,
"width": 120,
"height": 40,
"strokeColor": "#e5e5e5",
"backgroundColor": "#f97316",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"left-column-group"
],
"roundness": {
"type": 3,
"value": 8
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "join-org-title",
"type": "rectangle",
"x": 200,
"y": 200,
"width": 320,
"height": 32,
"strokeColor": "#e5e5e5",
"backgroundColor": "#e5e5e5",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"form-group"
],
"roundness": {
"type": 3,
"value": 4
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "invitation-card",
"type": "rectangle",
"x": 180,
"y": 280,
"width": 360,
"height": 200,
"strokeColor": "#e5e5e5",
"backgroundColor": "#ffffff",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"invitation-card-group"
],
"roundness": {
"type": 3,
"value": 8
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "org-logo",
"type": "rectangle",
"x": 320,
"y": 300,
"width": 80,
"height": 80,
"strokeColor": "#e5e5e5",
"backgroundColor": "#f97316",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"invitation-card-group"
],
"roundness": {
"type": 3,
"value": 8
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "org-name",
"type": "rectangle",
"x": 260,
"y": 400,
"width": 200,
"height": 24,
"strokeColor": "#e5e5e5",
"backgroundColor": "#e5e5e5",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"invitation-card-group"
],
"roundness": {
"type": 3,
"value": 4
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "inviter-name",
"type": "rectangle",
"x": 280,
"y": 434,
"width": 160,
"height": 16,
"strokeColor": "#e5e5e5",
"backgroundColor": "#e5e5e5",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"invitation-card-group"
],
"roundness": {
"type": 3,
"value": 4
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "role-badge",
"type": "rectangle",
"x": 320,
"y": 458,
"width": 80,
"height": 20,
"strokeColor": "#e5e5e5",
"backgroundColor": "#f5f5f5",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"invitation-card-group"
],
"roundness": {
"type": 3,
"value": 4
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "accept-button",
"type": "rectangle",
"x": 200,
"y": 520,
"width": 320,
"height": 44,
"strokeColor": "#e5e5e5",
"backgroundColor": "#f97316",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"form-group"
],
"roundness": {
"type": 3,
"value": 8
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "decline-link",
"type": "rectangle",
"x": 320,
"y": 590,
"width": 80,
"height": 20,
"strokeColor": "#e5e5e5",
"backgroundColor": "#e5e5e5",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"form-group"
],
"roundness": {
"type": 3,
"value": 4
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "wrong-account-link",
"type": "rectangle",
"x": 260,
"y": 640,
"width": 200,
"height": 20,
"strokeColor": "#e5e5e5",
"backgroundColor": "#e5e5e5",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"form-group"
],
"roundness": {
"type": 3,
"value": 4
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "right-branding-logo",
"type": "rectangle",
"x": 1000,
"y": 400,
"width": 160,
"height": 60,
"strokeColor": "#e5e5e5",
"backgroundColor": "#f97316",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"right-column-group"
],
"roundness": {
"type": 3,
"value": 8
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
},
{
"id": "right-branding-tagline",
"type": "rectangle",
"x": 920,
"y": 480,
"width": 320,
"height": 24,
"strokeColor": "#e5e5e5",
"backgroundColor": "#e5e5e5",
"fillStyle": "solid",
"strokeWidth": 1,
"roughness": 0,
"opacity": 100,
"groupIds": [
"right-column-group"
],
"roundness": {
"type": 3,
"value": 4
},
"isDeleted": false,
"boundElements": null,
"link": null,
"locked": false
}
],
"appState": {
"gridSize": 20,
"viewBackgroundColor": "$background"
}
}