mirror of
https://github.com/xtr-dev/rondevu-server.git
synced 2025-12-10 02:43:24 +00:00
- Added hash-id.ts utility for SHA-256 content hashing
- Offer IDs now generated from hash of {sdp, topics} (sorted)
- Removed peerId from hash (inferred from authentication)
- Server generates deterministic IDs for idempotent offer creation
- Updated SQLite and D1 storage implementations
- Removed optional id field from CreateOfferRequest
- Same offer content always produces same ID
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
22 lines
702 B
SQL
22 lines
702 B
SQL
-- Drop old sessions table with 'info' column
|
|
DROP TABLE IF EXISTS sessions;
|
|
|
|
-- Create sessions table with peer_id column
|
|
CREATE TABLE sessions (
|
|
code TEXT PRIMARY KEY,
|
|
origin TEXT NOT NULL,
|
|
topic TEXT NOT NULL,
|
|
peer_id TEXT NOT NULL CHECK(length(peer_id) <= 1024),
|
|
offer TEXT NOT NULL,
|
|
answer TEXT,
|
|
offer_candidates TEXT NOT NULL DEFAULT '[]',
|
|
answer_candidates TEXT NOT NULL DEFAULT '[]',
|
|
created_at INTEGER NOT NULL,
|
|
expires_at INTEGER NOT NULL
|
|
);
|
|
|
|
-- Create indexes for efficient queries
|
|
CREATE INDEX idx_expires_at ON sessions(expires_at);
|
|
CREATE INDEX idx_origin_topic ON sessions(origin, topic);
|
|
CREATE INDEX idx_origin_topic_expires ON sessions(origin, topic, expires_at);
|