Highly ambitious ATProtocol AppView service and sdks

Fix crashes in Postgres session adapter

authored by danabra.mov and committed by Tangled 9cca9073 ac8aa7be

Changed files
+11 -11
packages
session
src
adapters
+11 -11
packages/session/src/adapters/postgres.ts
··· 6 6 user_id: string; 7 7 handle: string | null; 8 8 is_authenticated: boolean; 9 - data: string | null; 10 - created_at: Date; 11 - expires_at: Date; 12 - last_accessed_at: Date; 9 + data: Record<string, unknown> | null; 10 + created_at: number; 11 + expires_at: number; 12 + last_accessed_at: number; 13 13 } 14 14 15 15 export class PostgresAdapter implements SessionAdapter { ··· 100 100 data.userId, 101 101 data.handle || null, 102 102 data.isAuthenticated, 103 - data.data ? JSON.stringify(data.data) : null, 103 + data.data || null, 104 104 data.createdAt, 105 105 data.expiresAt, 106 106 data.lastAccessedAt, ··· 116 116 updates: Partial<SessionData> 117 117 ): Promise<boolean> { 118 118 const setParts: string[] = []; 119 - const values: (string | number | boolean | null)[] = []; 119 + const values: (string | number | boolean | null | Record<string, unknown>)[] = []; 120 120 let paramIndex = 1; 121 121 122 122 if (updates.userId !== undefined) { ··· 136 136 137 137 if (updates.data !== undefined) { 138 138 setParts.push(`data = $${paramIndex++}`); 139 - values.push(updates.data ? JSON.stringify(updates.data) : null); 139 + values.push(updates.data || null); 140 140 } 141 141 142 142 if (updates.expiresAt !== undefined) { ··· 226 226 userId: row.user_id, 227 227 handle: row.handle || undefined, 228 228 isAuthenticated: row.is_authenticated, 229 - data: row.data ? JSON.parse(row.data) : undefined, 230 - createdAt: row.created_at.getTime(), 231 - expiresAt: row.expires_at.getTime(), 232 - lastAccessedAt: row.last_accessed_at.getTime(), 229 + data: row.data || undefined, 230 + createdAt: row.created_at, 231 + expiresAt: row.expires_at, 232 + lastAccessedAt: row.last_accessed_at, 233 233 }; 234 234 } 235 235