Exosphere is a set of small, modular, self-hostable community tools built on the AT Protocol. app.exosphere.site
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: vp check

Hugo baa14895 ee637c66

+9 -7
+1 -1
packages/core/src/sphere/api/spheres.ts
··· 6 6 import { requireAuth, optionalAuth, type AuthEnv } from "../../auth/index.ts"; 7 7 import { putPdsRecord, generateRkey } from "../../pds.ts"; 8 8 import { createSphereSchema, updateSphereSchema } from "../schemas.ts"; 9 - import { getActiveMemberRole, getMemberStatus } from "../operations.ts"; 9 + import { getMemberStatus } from "../operations.ts"; 10 10 import { computeUserPermissions } from "../../permissions/check.ts"; 11 11 import { findSphere, getEnabledModules, formatModules } from "./helpers.ts"; 12 12
+6 -1
packages/core/src/sphere/operations.ts
··· 85 85 pdsUri: string; 86 86 } 87 87 88 - export function upsertSphereFromRecord({ did, rkey, record, pdsUri }: UpsertSphereParams): void { 88 + export function upsertSphereFromRecord({ 89 + did, 90 + rkey: _rkey, 91 + record, 92 + pdsUri, 93 + }: UpsertSphereParams): void { 89 94 const db = getDb(); 90 95 const existing = db 91 96 .select({ id: spheres.id })
+1 -1
packages/feature-requests/src/__tests__/db-operations.test.ts
··· 1 1 import { describe, it, expect, vi, beforeEach } from "vitest"; 2 2 import type { BetterSQLite3Database } from "drizzle-orm/better-sqlite3"; 3 - import { eq, and } from "drizzle-orm"; 3 + import { eq } from "drizzle-orm"; 4 4 5 5 // Use the shared test-db helper from core (resolves via workspace) 6 6 import { createTestDb, seedSphere } from "../../../core/src/__tests__/helpers/test-db.ts";
-1
packages/feature-requests/src/api/comments.ts
··· 260 260 // Delete own comment or admin-moderate a comment 261 261 app.delete("/comments/:id", requireAuth, async (c) => { 262 262 const id = c.req.param("id"); 263 - const db = getDb(); 264 263 const did = c.var.did; 265 264 const sphereId = c.var.sphereId; 266 265 const sphereOwnerDid = c.var.sphereOwnerDid;
-1
packages/kanban/src/__tests__/db-operations.test.ts
··· 36 36 const SPHERE_ID = "test-sphere-001"; 37 37 // Valid TID string (insertComment derives updatedAt via tidToDate) 38 38 const COMMENT_TID_1 = "3mhy7w6tbg22b"; 39 - const COMMENT_TID_2 = "3mhy7w6tbg22c"; 40 39 41 40 function seedTask(overrides: Partial<typeof kanbanTasks.$inferInsert> & { id: string }) { 42 41 const values = {
-1
packages/kanban/src/api/comments.ts
··· 175 175 // Delete own comment or admin-moderate 176 176 app.delete("/comments/:id", requireAuth, async (c) => { 177 177 const id = c.req.param("id"); 178 - const db = getDb(); 179 178 const did = c.var.did; 180 179 const sphereId = c.var.sphereId; 181 180 const sphereOwnerDid = c.var.sphereOwnerDid;
+1 -1
packages/kanban/src/ui/hooks/use-board-dnd.ts
··· 93 93 }; 94 94 } 95 95 96 - function onDrop(status: string) { 96 + function onDrop(_status: string) { 97 97 return (e: DragEvent) => { 98 98 e.preventDefault(); 99 99 const ds = dragState.value;