Commit graph

121 commits

Author SHA1 Message Date
d1911ba209 collection sync with orphan handling
- preview_sync endpoint shows what'll get deleted before you commit
- import services handle reconciliation (find missing items, delete them)
- grid items get flagged as orphaned when their collection source is gone
- party exposes has_orphaned_items
- blueprints include orphaned field
2025-12-31 19:11:05 -08:00
5c578ee527 auto-compute forge chain fields from forged_from
- add before_save callback to calculate forge_order and forge_chain_id
- add validation to prevent circular forge chains
2025-12-22 19:52:59 -08:00
85d9060dc9 add forge chain support to weapons 2025-12-21 22:14:32 -08:00
25aa1f3a62 add video_url and summon_count to parties 2025-12-21 02:56:22 -08:00
7a084920f1 raids controller and model updates 2025-12-20 04:13:48 -08:00
5c38629f1f add crew roster endpoint for checking member collections 2025-12-20 04:13:27 -08:00
5ea5388bed validate mainhand weapon proficiency matches job 2025-12-20 02:13:28 -08:00
3afee9463f add unlimited flag to raid groups 2025-12-20 01:58:23 -08:00
693962ce3b fix proficiency filter for quirk and standard artifacts 2025-12-19 01:07:41 -08:00
ab19403904 add skill filtering and batch_destroy for collection artifacts 2025-12-19 00:39:52 -08:00
efa8dec43a allow empty base_values for special skills 2025-12-18 23:37:50 -08:00
db2aa43d81 add game_name columns for artifact skill matching
separate game names (used for import matching) from display names
2025-12-18 22:48:08 -08:00
86e5b9fffb compute strength from quality at display time
blueprint looks up skill and calculates strength
validation checks quality range instead of strength value
2025-12-18 22:30:44 -08:00
6c12a202ff add name-based skill lookup for artifact import
- cached_by_name indexes by both EN and JP names
- find_by_name looks up skill by either language
- strength_for_quality computes strength from quality tier
2025-12-18 22:30:33 -08:00
4a6ae93d20 add gw scores history endpoints for members and phantoms 2025-12-18 11:02:59 -08:00
3e21cb697d fix confirm_claim not setting deleted_at 2025-12-18 00:35:41 -08:00
5afd31fdb6 soft delete phantoms after claim confirmation
keeps phantom records for logging, excludes from all queries
2025-12-17 20:08:28 -08:00
75862aec03 add sorting and filtering to collection weapons 2025-12-16 21:15:44 -08:00
244e3f51eb remove Standard series, shift IDs down 2025-12-15 17:47:23 -08:00
056aa3676f move gacha from characters to weapons
weapons have gacha boolean now, characters don't
2025-12-15 12:46:43 -08:00
f28e61b303 add Holiday to CHARACTER_SERIES enum 2025-12-15 09:50:53 -08:00
e1d212c764 update summon model and blueprint for series lookup 2025-12-14 11:58:34 -08:00
c4e42b0968 update character model and blueprint for series lookup 2025-12-14 11:58:30 -08:00
3b5b8412d3 add summon series lookup table 2025-12-14 11:58:22 -08:00
e7e9bd0f86 add character series lookup table 2025-12-14 11:58:10 -08:00
513f8c6a66 use 1-based values for collection_privacy enum 2025-12-14 01:23:42 -08:00
6f3f0d92ff fix N+1 queries in parties index 2025-12-13 21:32:37 -08:00
36dc4207c9 increase awakening_level max to 20 2025-12-13 20:11:53 -08:00
26718b5a3e gw event improvements: status field, members_during_event endpoint 2025-12-04 03:02:35 -08:00
b4f4f9c304 fix total_score to sum individual honors instead of crew scores 2025-12-04 03:02:18 -08:00
5968ed74d5 add joined_at to memberships and phantoms for historical data
- editable field separate from created_at
- active_during scope uses joined_at for filtering
- backfills from created_at in migration
2025-12-04 03:02:13 -08:00
4c8f4ffcf3 add phantom players for non-registered crew members
- phantom_players table for tracking scores of non-user members
- claim flow: officer assigns phantom to user, user confirms, scores transfer
- CRUD endpoints plus /assign and /confirm_claim actions
- model/request specs for all functionality (37 examples)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 23:55:15 -08:00
f2a058b6b2 add GW events and scoring system
- create gw_events, crew_gw_participations, gw_crew_scores, gw_individual_scores
- add models, blueprints, controllers for GW tracking
- add model specs and gw_events controller specs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 23:34:54 -08:00
b75a905e2e add crew invitations system
- create crew_invitations table with status enum
- add CrewInvitation model with accept/reject flow
- add CrewInvitationsController for send/accept/reject
- add invitation error classes
- add invitation routes nested under crews
- add pending invitations endpoint for current user
- 38 passing specs for model and controller
2025-12-03 23:06:07 -08:00
a76d0719c9 add collection refs and sync methods to grid models 2025-12-03 22:42:29 -08:00
9b01aa0ff3 add crew and crew_membership models with migrations
- crews table with name, gamertag, granblue_crew_id, description
- crew_memberships with role enum (member/vice_captain/captain)
- partial unique index ensures one active crew per user
- updated User model with crew associations and helper methods
2025-12-03 22:41:19 -08:00
e6539ad7e1 add reroll_slot to artifact models 2025-12-03 13:27:26 -08:00
c19259c84a add artifact models with skill validations 2025-12-03 12:58:32 -08:00
f64fd63b6c add series= setter for weapon, include flags in series list 2025-12-03 12:38:41 -08:00
c395acaefc update models to use weapon_series associations 2025-12-03 10:45:48 -08:00
9d6dd335ae add weapon_series and weapon_key_series tables and models 2025-12-03 10:45:25 -08:00
e944f93ca3 fix collection_weapon awakening_level default
set model-level default so validation passes before db default applies
2025-12-03 09:03:42 -08:00
e97b0ade55 add default awakening, sorting, filtering scopes to CollectionCharacter 2025-12-02 17:19:07 -08:00
5bc179afa8 unify collection api: single endpoint for all users
- restructure routes: read via /users/:id/collection/*, write via /collection/*
- add user lookup + privacy check to collection_characters_controller
- add race, proficiency, gender scopes to model
- delete old collection_controller
2025-12-02 15:31:39 -08:00
208d1f4836 add formal promotion to enums 2025-12-02 05:25:04 -08:00
e81c55905c weapons/summons: add promotion scopes and helpers 2025-12-02 04:39:30 -08:00
6f646101f2 add promotions integer array to weapons and summons 2025-12-02 04:39:15 -08:00
afa1c5154f add season/series validations, scopes, helpers to Character 2025-12-02 04:09:55 -08:00
24d8d20ff8 add CHARACTER_SEASONS and CHARACTER_SERIES enums 2025-12-02 04:07:38 -08:00
be5be0c3fe fix blueprints: use correct association names instead of 'object' 2025-11-29 17:41:29 -08:00