b692fabed5
refactor: split monolithic migration into 7 goose files
...
001_init_schemas — extensions, schemas, uuid_v7 functions
002_core_tables — core.users, mime_types, object_types
003_data_tables — data.categories, tags, tag_rules, files, file_tag, pools, file_pool
004_acl_tables — acl.permissions
005_activity_tables — activity.action_types, sessions, file_views, pool_views, tag_uses, audit_log
006_indexes — all indexes across all schemas
007_seed_data — object_types and action_types reference rows
Each file has -- +goose Up / Down annotations; downs drop in reverse
dependency order.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 18:40:36 +03:00
830e411d92
docs: add reference Python/Flask implementation
...
Previous version of Tanabata used as visual and functional reference
for the new Go + SvelteKit rewrite.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 18:36:05 +03:00
b7995b7e4a
chore: add .gitignore and .gitattributes
...
.gitignore covers env/secrets, OS files, IDE, Go build artifacts,
frontend build output, data dirs, and vendored reference libs.
.gitattributes enforces LF line endings, marks binaries, configures
diff drivers per language, and sets Linguist hints for repo stats.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 18:35:22 +03:00
f043d38eb2
feat: initialize Go module and implement domain layer
...
- Add go.mod (module tanabata/backend, Go 1.21) with uuid dependency
- Implement internal/domain: File, Tag, TagRule, Category, Pool, PoolFile,
User, Session, Permission, ObjectType, AuditEntry + all pagination types
- Add domain error sentinels (ErrNotFound, ErrForbidden, etc.)
- Add context helpers WithUser/UserFromContext for JWT propagation
- Fix migration: remove redundant DEFAULT on exif jsonb column
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 18:28:33 +03:00
780f85de59
chore: initial project structure
2026-04-01 16:17:37 +03:00