Update task task-4
This commit is contained in:
@@ -30,3 +30,40 @@ Create a scraper for Bluesky social media platform to collect posts and user dat
|
||||
5. Follow existing patterns from FA/E621 models for consistency
|
||||
6. Run srb tc to ensure typechecking passes
|
||||
7. Create database migrations for aux tables
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
### Approach taken
|
||||
- Added Bluesky to Domain::DomainType enum
|
||||
- Created Domain::User::BlueskyUser model following FA/E621 patterns
|
||||
- Created Domain::Post::BlueskyPost model following existing conventions
|
||||
- Used aux_table :bluesky for both models to store domain-specific data
|
||||
- Added domain helpers for Bluesky support
|
||||
- Temporarily commented out aux table field references until migrations are created
|
||||
|
||||
### Features implemented
|
||||
- Basic Bluesky user model with state management, timestamps, and relationships
|
||||
- Basic Bluesky post model with file and creator associations
|
||||
- Proper domain type integration
|
||||
- View helper methods for external URLs, names, and status display
|
||||
- Typecheck-passing implementation
|
||||
|
||||
### Technical decisions and trade-offs
|
||||
- Followed existing domain model patterns for consistency
|
||||
- Used base Domain::PostFile instead of creating BlueskyPostFile subclass (can add later if needed)
|
||||
- Temporarily stubbed aux table fields with TODO comments until database migrations are ready
|
||||
- Used proper Sorbet typing and method signatures throughout
|
||||
|
||||
### Modified or added files
|
||||
- app/helpers/domain/domain_type.rb - Added Bluesky enum
|
||||
- app/helpers/domain/domain_model_helper.rb - Added Bluesky support
|
||||
- app/models/domain/user/bluesky_user.rb - New user model
|
||||
- app/models/domain/post/bluesky_post.rb - New post model
|
||||
|
||||
### Next steps
|
||||
- Create database migrations for bluesky_users and bluesky_posts aux tables
|
||||
- Implement actual scraper logic for Bluesky AT Protocol
|
||||
- Add proper field validations once aux tables exist
|
||||
- Implement AT URI parsing and post identification logic
|
||||
|
||||
Reference in New Issue
Block a user