mirror of
https://github.com/avinal/nikki.git
synced 2026-07-03 21:40:09 +05:30
b65673093a
API client (Ktor): - Auth via Bearer token HttpSend interceptor - CRUD endpoints: listMemos, getMemo, createMemo, updateMemo, deleteMemo - PATCH uses updateMask as query parameter (gRPC-Gateway format) - Reaction upsert/delete endpoints - ApiResult sealed class for error handling Domain models: - Memo with string IDs (Memos uses short UUIDs, not integers) - Attachment, Reaction, User, Task, MemoVisibility - MemoRepository: offline-first with Room cache, 5-min TTL - AuthRepository: PAT login, token validation DTOs match actual Memos API JSON (camelCase, no @SerialName needed). Co-Authored-By: Claude Opus 4.6 (1M context) Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>