ecad017274
refactor(backend): 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
a2823337b6
docs(project): 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
4c10553549
chore(project): 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
1d341eef24
feat(backend): 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
dbdc80b3a0
chore(project): initial project structure
2026-04-01 16:17:37 +03:00