Commit graph

95 commits

Author SHA1 Message Date
2dacfae17e add quest_id and lobby/background image sizes for raids
- add quest_id column to raids table
- add lobby and background image downloads using quest_id
- lobby uses quest_id with "1" appended
- background uses quest_id for treasureraid directory
2026-01-06 03:52:30 -08:00
31045324f7 rename game_id to enemy_id, add summon_id 2026-01-06 02:43:24 -08:00
cd14c923ac add game_id to raids 2026-01-06 02:21:34 -08:00
5597cab95c
Party sharing into crews (#207)
* add party_shares table and model with associations

* add party share errors and blueprint

* add party shares controller and routes

* include shared parties in listings and show

* add party share factory and model specs

* add party shares controller specs

* include shares in party response for owners

* add crew shared_parties endpoint
2026-01-05 02:39:32 -08:00
c3d9efa349
Job accessories backend support (#206)
* add jobs search endpoint with pg_search

- add en_search and ja_search scopes to Job model
- add jobs action to SearchController with filtering
- supports row, proficiency, master_level, ultimate_mastery, accessory filters

* add jobs create endpoint

* add job accessories CRUD

- add accessory_type to blueprint
- add index, show, create, update, destroy actions
- editors only for mutations

* add routes for jobs search, create, and accessories CRUD
2026-01-04 14:47:27 -08:00
34e3bbd03b
add max_exorcism_level to weapons (#205)
* add max_exorcism_level to weapons

- migration to add column (nullable integer)
- expose in blueprint
- permit in controller
- add spec for create/update

* default exorcism_level=1 for befoulment weapons

- set default on create for GridWeapon and CollectionWeapon
- data migration to populate existing befoulment weapons
- add specs for default behavior
2026-01-04 14:47:16 -08:00
54cdfb81e4
return extra field in weapon responses (#203)
was being saved but not returned, so frontend always saw it as undefined
2026-01-04 14:44:40 -08:00
1f80e4189f
Add weapon stat modifiers for AX skills and befoulments (#202)
* add weapon_stat_modifiers table for ax skills and befoulments

* add fk columns for ax modifiers and befoulments, replace has_ax_skills with augment_type

* update models for weapon_stat_modifier fks and befoulments

* update blueprints for weapon_stat_modifier serialization

* update import service for weapon_stat_modifier fks and befoulments

* add weapon_stat_modifiers controller and update params for fks

* update tests and factories for weapon_stat_modifier fks

* fix remaining has_ax_skills and ax_modifier references

* add ax_modifier and befoulment_modifier to eager loading

* fix ax modifier column naming and migration approach

* add game_skill_ids for befoulment modifiers
2025-12-31 22:20:00 -08:00
a6b7e26210
collection sync with orphan handling (#200)
- 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-23 22:44:35 -08:00
65ad500550 expose extra_prerequisite and forge chain in weapon api 2025-12-21 22:14:41 -08:00
c39cc5d240 expose video_url and summon_count in party api 2025-12-21 02:56:27 -08:00
7a084920f1 raids controller and model updates 2025-12-20 04:13:48 -08:00
e87650a2b0 add season and series to unified search for characters 2025-12-20 04:13:16 -08:00
3afee9463f add unlimited flag to raid groups 2025-12-20 01:58:23 -08:00
b3dadf24ef add excused field to gw individual scores
- excused boolean and excuse_reason fields
- excuse_reason only visible to crew officers
- include excused in blueprints
2025-12-18 23:15:27 -08:00
b7aeb2bdfe add show/update endpoints for artifact skills
- show and update actions with editor role protection
- include game_name field in blueprint
- clear cache after updates
2025-12-18 23:14:41 -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
af061f3ab2 add aux_weapon flag to jobs 2025-12-18 21:34:30 -08:00
42f3d3a9cf include crew_total_score in gw events index 2025-12-17 23:03:22 -08:00
de72d21e24 add decline/pending endpoints for phantom claims
- decline_claim action lets assigned user reject assignment
- pending_phantom_claims endpoint for user's pending claims
- with_crew blueprint view for phantom claims context
2025-12-17 18:28:23 -08:00
c17dbfbcc7 add download_image endpoint for job skills 2025-12-15 16:09:02 -08:00
b91ef0a4dd standardize links format in blueprints
return wiki: {en, ja} + gamewith, kamigame at top level
2025-12-15 12:47:11 -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
07f23e2b74 add /users/me settings endpoint 2025-12-14 01:23:37 -08:00
4224dcb257 move recruited_by to separate view to avoid N+1 2025-12-13 21:40:42 -08:00
56280eb0ff preload crews and favorites to fix remaining N+1s 2025-12-13 21:38:54 -08:00
860177c0a4 add show_gamertag to user 2025-12-13 20:09:52 -08:00
534414939b add current_membership to crew response 2025-12-13 20:09:44 -08:00
4db5f4224e return artifact enum values as integers 2025-12-13 20:09:34 -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
c3e992a0dd add gamertag to user blueprint 2025-12-03 23:01:13 -08:00
274881e894 add collection refs and out_of_sync to grid blueprints 2025-12-03 22:48:32 -08:00
e98e59491d add crew controllers, blueprints, routes, and errors
- CrewsController: create, show, update, members, leave, transfer_captain
- CrewMembershipsController: update, destroy, promote, demote
- CrewAuthorizationConcern for member/officer/captain checks
- blueprints for serialization
- custom error classes for crew operations
2025-12-03 22:41:25 -08:00
c3dbab896c include grade in artifact blueprints by default 2025-12-03 13:32:53 -08:00
8787aa34a3 include reroll_slot and grades in artifact responses 2025-12-03 13:27:35 -08:00
97cb59894a include weapon_series flags in series response 2025-12-03 12:59:04 -08:00
069118cbe9 add artifact blueprints 2025-12-03 12:58:40 -08:00
f64fd63b6c add series= setter for weapon, include flags in series list 2025-12-03 12:38:41 -08:00
bd5f1b0240 add weapon_series API endpoints and update blueprints 2025-12-03 10:45:57 -08:00
689aa96645 always include awakening field in collection character response 2025-12-02 17:19:11 -08:00
cb016580bd add recruited_by field to character blueprint 2025-12-02 05:25:01 -08:00
0dba56c55d weapon/summon blueprints: serialize promotions 2025-12-02 04:39:49 -08:00