Commit graph

431 commits

Author SHA1 Message Date
78b5b063fc
Deploy July Quality Update (#114)
* Remove print statements from data migration

* (Hotfix) Fix data migration failing due to nil

* Fix stale migration errors

* Ensure new characters have Awakenings

Every character starts with Balanced Lv1 awakening

* Ensure weapons without awakenings do not expose key

* Updates database seeds (#109)

* Destroy favorites when a party is deleted

* Allow users to delete parties with remixes (#111)

There was a bug that prevented users from deleting parties with remixes, because the source party reference was not being nulled.

We fixed that with `dependent: :nullify` but also added a boolean key to the parties database to track if a party is a remix or not. This way, if a party is flagged as a remix but the source party is null, we know that the original party was deleted and can message this on the frontend.

* Fix deleting grid summons (#112)

A bad decision to try to reduce code in `set` made this fail with a 422 because `summon_params` was being tested against but... didn't exist? was nil?

I fixed it by not using `set` before calling `destroy`, and just finding the summon in the `destroy` method itself

* Usernames in URLs should not be case-sensitive (#113)

Amateur hour mistake

* Change default filters in users controller
2023-07-04 00:40:06 -07:00
293e94437b
Update seeds and fix deletion bug (#110)
* Remove print statements from data migration

* (Hotfix) Fix data migration failing due to nil

* Fix stale migration errors

* Ensure new characters have Awakenings

Every character starts with Balanced Lv1 awakening

* Ensure weapons without awakenings do not expose key

* Updates database seeds (#109)

* Destroy favorites when a party is deleted
2023-06-23 20:34:08 -07:00
e588b81d4a
(Hotfix) Fix awakening-related API errors (#108)
* Remove print statements from data migration

* (Hotfix) Fix data migration failing due to nil

* Fix stale migration errors

* Ensure new characters have Awakenings

Every character starts with Balanced Lv1 awakening

* Ensure weapons without awakenings do not expose key
2023-06-21 01:10:05 -07:00
7faa4883f0
June 2023 Update (#102)
* Implements advanced filters (#90)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix a bug where unauthenticated users couldn't view profiles (#92)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix being unable to see profiles when unauth

* Add tables used for Siero's revival (#94)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Deploy unauthenticated profile fix (#93)

* Implements advanced filters (#90)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix a bug where unauthenticated users couldn't view profiles (#92)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix being unable to see profiles when unauth

* Add guidebooks migration

* Implement business logic for reading Guidebooks

* Change to individual guidebook columns

* Properly output guidebook description

* Move to 1-index guidebooks

* Update party-related files for 1-index guidebooks

* Add tables for Siero

* Update download and export scripts

* Support for Siero, raids rework and edit party rework (#96)

* Add guidebooks migration

* Implement business logic for reading Guidebooks

* Change to individual guidebook columns

* Properly output guidebook description

* Move to 1-index guidebooks

* Update party-related files for 1-index guidebooks

* Add tables for Siero

* Add raid groups table

* Update raid model

To belong to the RaidGroup class

* Update job class

To have many job skills

* Add endpoint for raid groups

* Update Raid blueprint with views

* Added down for creating table

* Add guidebooks flag and auto summon flag

* Guidebooks → RaidGroup
* Auto summon → Party

* Add views to Raid blueprint

* Add views and guidebook flag to RaidGroup blueprint

* Add auto summon and Raid view to Party blueprint

* Add quick summons (#97)

* Adds quick summon migration
* Add route to update quick summon
* Add logic to update quick summon

* Remove ap call

* Add logic to updating summon uncap

You couldn't actually update summon transcendence on staging, maybe due to a bug?

Now you can. And it won't let you update outside of the bounds of what is defined on the canonical object.

* Fix summon logic

Updated logic for updating summon uncap and transcendence levels and quick summon status.

* Fix searching in Japanese (#99)

This was broken because we were using the browser-provided locale as a prefix to our method, but that is 'ja' and our methods were prefixed with 'jp'.

* Fix display of base skills (#100)

Base skills were not displaying due to a missing case in our search code. This is now fixed.

* Update awakenings (#101)

* Deploy unauthenticated profile fix (#93)

* Implements advanced filters (#90)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix a bug where unauthenticated users couldn't view profiles (#92)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix being unable to see profiles when unauth

* Add tables used for Siero's revival (#94)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Deploy unauthenticated profile fix (#93)

* Implements advanced filters (#90)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix a bug where unauthenticated users couldn't view profiles (#92)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix being unable to see profiles when unauth

* Add guidebooks migration

* Implement business logic for reading Guidebooks

* Change to individual guidebook columns

* Properly output guidebook description

* Move to 1-index guidebooks

* Update party-related files for 1-index guidebooks

* Add tables for Siero

* Adds guidebooks and gacha tables (#95)

* Implements advanced filters (#90)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix a bug where unauthenticated users couldn't view profiles (#92)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix being unable to see profiles when unauth

* Add tables used for Siero's revival (#94)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Deploy unauthenticated profile fix (#93)

* Implements advanced filters (#90)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix a bug where unauthenticated users couldn't view profiles (#92)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix being unable to see profiles when unauth

* Add guidebooks migration

* Implement business logic for reading Guidebooks

* Change to individual guidebook columns

* Properly output guidebook description

* Move to 1-index guidebooks

* Update party-related files for 1-index guidebooks

* Add tables for Siero

* Update download and export scripts

* Support for Siero, raids rework and edit party rework (#96)

* Add guidebooks migration

* Implement business logic for reading Guidebooks

* Change to individual guidebook columns

* Properly output guidebook description

* Move to 1-index guidebooks

* Update party-related files for 1-index guidebooks

* Add tables for Siero

* Add raid groups table

* Update raid model

To belong to the RaidGroup class

* Update job class

To have many job skills

* Add endpoint for raid groups

* Update Raid blueprint with views

* Added down for creating table

* Add guidebooks flag and auto summon flag

* Guidebooks → RaidGroup
* Auto summon → Party

* Add views to Raid blueprint

* Add views and guidebook flag to RaidGroup blueprint

* Add auto summon and Raid view to Party blueprint

* Remove ap call

* Add quick summons (#97)

* Adds quick summon migration
* Add route to update quick summon
* Add logic to update quick summon

* Add logic to updating summon uncap

You couldn't actually update summon transcendence on staging, maybe due to a bug?

Now you can. And it won't let you update outside of the bounds of what is defined on the canonical object.

* Fix summon logic

Updated logic for updating summon uncap and transcendence levels and quick summon status.

* Fix searching in Japanese (#99)

This was broken because we were using the browser-provided locale as a prefix to our method, but that is 'ja' and our methods were prefixed with 'jp'.

* Fix display of base skills (#100)

Base skills were not displaying due to a missing case in our search code. This is now fixed.

* Squash migrations into one file

* Add migrations

This adds migrations and data migrations for the awakening update.

* A new `Awakenings` table now exists that stores all possible awakenings, with a column for object type.
* GridCharacter and GridWeapon now have `awakening_id` and `awakening_level` fields. Their `awakening` and `awakening_type` fields were removed.
* Weapons have a mapping table, `WeaponAwakenings`, as not all weapons can be awakened.
* Data migrations are included to migrate existing user data. They should be run automatically when the migration is run with `rails db:migrate:with_data`

* Add and update models

This updates models for the awakening update.

* Awakening and WeaponAwakening models were added
* Weapon, GridWeapon and GridCharacter models get relationships to the new models defined
* GridCharacter had a validation on `awakening_level` that needed to be fixed

* Update controllers

This updates the GridCharacters and GridWeapons controllers to accept the new fields `awakening_id` and `awakening_level` from clients

* Update blueprints

This updates the blueprints to match the new schema. The new AwakeningBlueprint was accidentally added already, oops.

* Remove re-added migrations

* Implement removing job skills (#103)

This lets users remove job skills, for if they accidentally set them.

* Fix migration
2023-06-19 03:53:48 -07:00
af8b1aa9c1
Adds guidebooks and gacha tables (#95)
* Implements advanced filters (#90)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix a bug where unauthenticated users couldn't view profiles (#92)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix being unable to see profiles when unauth

* Add tables used for Siero's revival (#94)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Deploy unauthenticated profile fix (#93)

* Implements advanced filters (#90)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix a bug where unauthenticated users couldn't view profiles (#92)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix being unable to see profiles when unauth

* Add guidebooks migration

* Implement business logic for reading Guidebooks

* Change to individual guidebook columns

* Properly output guidebook description

* Move to 1-index guidebooks

* Update party-related files for 1-index guidebooks

* Add tables for Siero
2023-06-04 22:23:34 -07:00
037f74d86d
Deploy unauthenticated profile fix (#93)
* Implements advanced filters (#90)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix a bug where unauthenticated users couldn't view profiles (#92)

* Implements advanced filters (#90) (#91)

* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache

* Fix being unable to see profiles when unauth
2023-04-09 21:52:16 -07:00
6e81ffc7dd
Implements advanced filters (#90) (#91)
* Add advanced filters

Adds new filters to search:

* Full auto
* Charge attack
* Auto guard
* Number of weapons (user-selectable now)
* Number of summons
* Number of characters
* Maximum number of turns
* Maximum number of buttons
* Maximum clear time
* User quality (No anonymous users)
* Name quality (No untitled teams)
* Remixes (Only show original teams)

* Update advanced filter params

* Add default to party counter cache
2023-04-09 19:40:41 -07:00
6fd5aa8c27
Clear counter cache on remix (#87) (#88) 2023-03-17 09:07:51 -07:00
27441146ed
Re-implement latest PRs on a clean Git history (#86)
* Add granblue_id to WeaponKeys (#77)

Reimplementing #77

* Adds Ultimate Mastery and renames Master Level (#78)

* Render :created view on remix (#84)

This view is required as it shows the `edit_key` for unauth users
2023-03-17 05:03:50 -07:00
472fb6816b Allow adding EMP skills from prior rows to team
We let you search but didn't fix the server-side validation check for skills
2023-02-05 16:41:54 -08:00
158786b5a8 Show EMP skills for Row 5 classes
Row 4 EMP skills were not showing up, so you couldn't set Rage IV on Viking, for example
2023-02-05 16:32:57 -08:00
e2c1639d8f Remove log call 2023-02-05 15:49:09 -08:00
06f8d28874
February 2023 Update (#48) 2023-02-04 23:46:12 -08:00
78df1df683 Allow empty strong params 2023-01-08 01:30:12 -08:00
382b2e2a92 Enable extra if the GridWeapon is in position 9, 10, 11 2023-01-08 01:16:43 -08:00
beeeef3104 TEMP: Comment out problematic code
We don't ever send parameters when posting a party, so for now we don't need to worry about this.

We can't leave this like this though: You should be able to send a complete party in the future (for API creation via strings)
2023-01-08 01:16:25 -08:00
3226acdf4a Allow input of expanded details and output them 2023-01-03 08:05:47 -08:00
fb037b3249 Fix testing conflict_characters 2023-01-03 02:41:38 -08:00
5e4cb4fe2b Fix reference to weapon series 2023-01-03 02:41:30 -08:00
a5237d2fa0 Add AX type to blueprint 2023-01-02 21:32:11 -08:00
83c6b2397a Refactor weapon conflicts into model validations 2023-01-02 21:24:53 -08:00
c39abfe8d6 Fix AX reference
Was using int, now uses bool
2023-01-02 21:24:43 -08:00
1789dcee4b Move conflict detection code to GridWeapon 2023-01-02 16:25:35 -08:00
eaa6234714 Refactor skills_are_unique 2023-01-02 16:25:35 -08:00
9387bd321f Refactor GridCharactersController
This is a similar refactor to GridWeaponsController
2023-01-02 16:25:35 -08:00
ebbbdc174b Fix bug in GridCharactersController refactor
This would show a conflict modal for any weapon as long as one of the weapons was an opus or draconic
2023-01-02 16:25:35 -08:00
839be176ad Revert gridweaponscontroller refactor 2022-12-30 15:39:47 -08:00
7049e8e723 Fix bug introduced in last PR 2022-12-30 06:09:58 -08:00
3e77365635 Refactor #create
This method is humongous and very confusing, and often gives double render errors. This refactor breaks things up into smaller methods to help make it a bit more readable.
2022-12-30 05:08:40 -08:00
6f588386d0 Filter out grids that don't have more than two distinct weapons 2022-12-29 02:36:52 -08:00
1752081f3f Output theme 2022-12-25 20:17:20 -08:00
383d59703f Add theme to user table and blueprint 2022-12-25 16:01:40 -08:00
e2332f9652 Allow searching only for extra or subaura objects 2022-12-25 00:29:55 -08:00
adbb5b6c7d Disallow adding arbitrary weapons to Extra slots 2022-12-25 00:23:27 -08:00
ec25230bc5 Implement detecting and resolving weapon conflicts 2022-12-24 23:30:10 -08:00
7a8cf30ffb Fix series for Class Champion emblems 2022-12-24 04:55:11 -08:00
ae1da20f27 Fix fetching weapon keys so you dont need filters 2022-12-24 04:54:50 -08:00
4f4d9e27a7 Add slug to weapon key table 2022-12-23 23:31:34 -08:00
ddae480f48 Merge branch 'main' into awakening 2022-12-23 19:28:03 -08:00
f17be0ea03 Merge branch 'main' of github.com:jedmund/hensei-api 2022-12-23 19:24:12 -08:00
e0df40f035 Remove log 2022-12-23 19:22:45 -08:00
574d8e0b3e Normalize constants in ApiController 2022-12-23 19:08:36 -08:00
6ccc8fd338 Add awakenings to blueprints 2022-12-23 16:40:42 -08:00
13dae81737 Fix bug preventing selecting Row IV, V and EXII 2022-12-23 15:49:30 -08:00
8b69a44d83 Allow unsetting of jobs
Unsetting a job also removes all of its skills
2022-12-23 15:42:46 -08:00
464fe2f1aa Update output for GridObjects when uncapping 2022-12-22 23:41:04 -08:00
a837210029 Removed current job's subskills from search 2022-12-22 23:27:46 -08:00
874c20245d Refined selecting skills based on job
* Bugfix: You can now select a third subskill on Rows 1, 2 and 3
* Edgecase: When switching from a Row 1, 2 or 3 class to Row 4, 5 or EX2, the third EMP skill set is removed
2022-12-22 23:27:24 -08:00
8c1d51fb4f Updated getting skills assignable to a job
This endpoint isn't used though
2022-12-22 23:26:23 -08:00
b7a537f540 Fix token generation on signup 2022-12-22 21:27:38 -08:00
041f8ee189 Fix errors with error handling 2022-12-22 18:12:47 -08:00
e91e1664a6 Update blueprint for availability endpoints 2022-12-22 18:12:34 -08:00
153d36be5a We need to include the User in the Party 2022-12-22 01:40:02 -08:00
a397fc722d Pass root when rendering in SearchController 2022-12-22 01:01:03 -08:00
c5391a6683 Fix bug where now wasn't replaced 2022-12-22 00:44:39 -08:00
7ddc916216 Remove rabl views
Our work here is done
2022-12-21 23:29:20 -08:00
c0be03dcb6 Finish migrating ApiController error methods 2022-12-21 23:28:54 -08:00
415ef39158 Add per_page to methods that return collections 2022-12-21 23:15:17 -08:00
5c97488a20 Update UsersController to use blueprinter 2022-12-21 23:13:19 -08:00
41c031092e Update weapon_keys_controller.rb 2022-12-21 22:10:35 -08:00
89e666219a Update SearchController for blueprinter 2022-12-21 22:10:31 -08:00
9a27ac853d Update JobsController and JobSkillsController for blueprinter 2022-12-21 21:46:35 -08:00
349c42f839 Update blueprints to remove id field or identifier
This is built into ApiBlueprint
2022-12-21 21:07:26 -08:00
3b6edfae5d Update WeaponKey output for blueprinter 2022-12-21 21:04:42 -08:00
116ec9dbbc Refactor GridObjectControllers to use blueprinter 2022-12-21 20:53:48 -08:00
2a74b8aa4d Add minimal view to Party and use in GridObject 2022-12-21 20:53:34 -08:00
a15ba3c376 Correct ConflictBlueprint
ConflictBlueprint uses `options` to display arbitrary values, but I think those are only available behind conditional statements. This adds those statements and checks if the key that will be used exists on the hash.

ConflictBlueprint was also inheriting from ApiBlueprint which requires a real object (with an ID), so instead we inherit from Blueprinter::Base
2022-12-21 20:40:27 -08:00
747ffbc4ff Update GridObject blueprints with view 2022-12-21 20:39:17 -08:00
33775539cd Add ConflictBlueprint
This should be used for character conflicts (implemented) and weapon conflicts (to-do in a future PR)
2022-12-21 19:27:55 -08:00
bf04ddcbba Fix GridObject blueprints 2022-12-21 19:27:33 -08:00
979d28be75 Update party_blueprint.rb 2022-12-21 16:20:04 -08:00
af51869927 Fix build_conditions method
The method of assigning values was assigning nil if the value wasn't present in `params`, which is bad
2022-12-21 16:20:00 -08:00
5b37e480f8 Refactor FavoritesController for blueprinter 2022-12-21 16:10:53 -08:00
f86aa30791 GranblueError should not require input param 2022-12-21 15:50:06 -08:00
44e92733d3 Refactor RaidsController for blueprinter 2022-12-21 15:35:05 -08:00
290099e2f4 Refactor PartiesController for blueprinter
* Refactored and tried to simplify methods in PartiesController
* Implemented new error render methods in ApiController
* Removed parties/[weapons, summons, characters] routes
2022-12-21 15:34:54 -08:00
e541182e36 Add all blueprints and associate with models 2022-12-21 03:31:55 -08:00
a1ff18092d Create error_blueprint.rb 2022-12-21 01:20:55 -08:00
31e62e073c Create api_blueprint.rb 2022-12-21 01:20:13 -08:00
712c866296 Remove rabl 2022-12-21 01:16:34 -08:00
c1716c1e4f Run RuboCop on everything
yolo
2022-12-21 00:22:47 -08:00
9e2f9c0af1 Fix job creation 2022-12-03 20:13:48 -08:00
a8301019f5 Fix search for base skills
Before they didn't really show up at all, then they showed up on everything, then they showed up on EX1 and EX2, now they only show up on EX2.
2022-12-03 18:34:38 -08:00
fc7cde4c5a Fix race condition for base skill mismatch check 2022-12-03 18:21:15 -08:00
a08421722f Add GranblueError and move app errors to extend it 2022-12-03 18:21:01 -08:00
6ba5335668 Fix last bugs around adding skills with 0~3 existing 2022-12-03 16:39:38 -08:00
813c2ba202 Fix bug regarding finding old_position 2022-12-03 14:51:01 -08:00
243ba2de3e Fix bug when desired position is empty 2022-12-03 14:10:18 -08:00
27d31d61c0 Fix race condition 2022-12-03 13:55:41 -08:00
ec3b42101b Move logic to JobsController
It was getting too heavy to keep in PartiesController
2022-12-03 11:45:00 -08:00
bd33ee44fc Update Job model to reference base_job 2022-12-03 11:44:09 -08:00
4ee90f6c09 Add new errors and fix handling in ApiController 2022-12-03 11:43:56 -08:00
5c9a2b8d7a Refactor job skill assignment a bit 2022-12-02 20:46:51 -08:00
f6613d6e91 Add TooManySkillsOfTypeError 2022-12-02 20:45:46 -08:00
644ffd74e5 Added logic for swapping and replacing job skills 2022-12-02 11:20:43 -08:00
d1eba7aed8 Add == and update search 2022-12-02 11:20:22 -08:00
aa5d2451a8 Add skill uniqueness validation to Party 2022-12-02 11:20:11 -08:00
741d20aa70 Send job and skills when party is updated 2022-12-01 04:47:31 -08:00
296fa0187c Save base job skills on job change 2022-12-01 04:46:53 -08:00
1ba16a2c61 Export job skills in template 2022-12-01 04:46:44 -08:00
ae36ff59b4 Properly gate group conditions
The default group ("All Skills") is technically -1, not null
2022-11-30 05:17:40 -08:00
a69fda5ead Small refactor of handling groups
Using the `filters` key so we can hook into existing search infrastructure on the frontend
2022-11-30 02:51:58 -08:00
c0bdb47d43 Add scoped search for job skills 2022-11-30 02:03:28 -08:00
353db31ef7 Move to JobSkillsController
It makes more sense to pre-fetch all job skills and filter on the client, so we're consolidating into a JobSkillsController
2022-11-27 19:27:45 -08:00
5755aab240 Disable object root 2022-11-27 18:54:32 -08:00
5fe712c31a Add route to get skills for given job 2022-11-27 14:12:52 -08:00
b9bea3ecf4 Add model 2022-11-27 14:12:33 -08:00
559507977b Added logic for conflict resolution
* Conflict is detected when attempting to save a new GridCharacter
* New `resolve` method executes the replacement
* Template to render a decision on the frontend
2022-11-19 06:03:39 -08:00
c45a54e222 Added character_id to character template 2022-11-19 06:02:33 -08:00
9967d36f89 Fix race condition 2022-11-17 02:25:22 -08:00
ba632af5e7 Add gender to user database 2022-04-10 13:25:57 -07:00
cf132e20f5 Receive and output job data in templates 2022-04-04 23:41:00 -07:00
c3566944cd Add endpoint for fetching all jobs 2022-03-22 03:41:00 -07:00
698968dbfe Create job.rb 2022-03-22 02:56:34 -07:00
483e9fe226 Update templates 2022-03-21 03:54:13 -07:00
5d45b8898e Add favorites to parties 2022-03-21 03:53:59 -07:00
a99f0c31c5 Add pagination to favorites and teams 2022-03-21 03:53:52 -07:00
6756c24896 Remove duplicate current_user method 2022-03-21 03:53:34 -07:00
1f3ba2307f Add pagination for collections 2022-03-14 19:42:29 -07:00
e6a09ab29b Make has_many readable 2022-03-14 18:21:54 -07:00
c7196f7c79 Add a permanent weapon count condition to Teams
This way, Discover Teams will only show high quality parties
2022-03-14 18:21:40 -07:00
72c144ef65 Add counter_cache flag to GridWeapon 2022-03-14 18:20:29 -07:00
0561c11ebc Update path 2022-03-11 01:12:54 -08:00
6a2f5e1a5c Updated search templates 2022-03-11 01:12:45 -08:00
0584ac84e5 Added filters to summons and characters 2022-03-11 01:12:35 -08:00
14260e4ce0 Add filtering to weapon search 2022-03-09 11:02:51 -08:00
88f316d6a7 Implement JP search and trigram for EN 2022-03-08 17:43:40 -08:00
3fc09d9f12 Add slug to output 2022-03-07 18:25:38 -08:00
62543858bd Fix a small variable bug in GridWeapons Controller 2022-03-06 03:47:28 -08:00
b62465539e All canonical objects return "ja" instead of "jp" now 2022-03-04 17:59:05 -08:00
1c08d64b55 Fix grid_weapon not being able to be created 2022-03-04 14:54:36 -08:00
49e4a02150 Add update and info method on User 2022-03-04 05:14:36 -08:00
b5ba7725d2 Add picture node to user template 2022-03-04 03:57:35 -08:00
5e2a28c340 Add new fields to json template 2022-03-04 01:33:48 -08:00
b7500617e3 Trying to fix DoubleRenderError 2022-03-03 17:10:03 -08:00
1b28de1bda Add order to WeaponKey
There is a specific order for keys in game, so we want to mirror that.
2022-03-03 01:31:04 -08:00
92ef43abcd Add a rudimentary update method
We still need to do server-side validation since a lot of things can go wrong here if users get cheeky
2022-03-03 00:22:11 -08:00
5ef04f9d13 Make GridWeapon/WeaponKey association optional
Otherwise, we can't save a record without weapon keys, which is not ideal
2022-03-03 00:17:47 -08:00
0ee5fc765c Update weapon key method to have conditions
We never want all keys, only ever a subset for the weapon we're currently working on
2022-03-02 14:39:44 -08:00
cb4ff0e1f2 Add rendering for all the new stuff 2022-03-01 23:33:53 -08:00
45c4cc5af6 Create weapon_keys_controller.rb 2022-03-01 23:33:28 -08:00
82a6b0d598 Add WeaponKey associations to GridWeapon 2022-03-01 23:33:21 -08:00
c7d53d4ffd Remove print log 2022-03-01 12:51:11 -08:00
d5ed98f0cf Implement filters on profiles 2022-03-01 02:19:44 -08:00
96adcc9540 Don't run set_from_slug before destroying parties
This caused a 500 that caused parties to be unable to deleted
2022-02-28 16:55:42 -08:00
186fde79be Enable filtering list of favorite parties 2022-02-27 22:52:25 -08:00
86640d5986 Remove log 2022-02-27 22:28:42 -08:00
07dc8dd457 Refactor how we output favorite bool on parties 2022-02-27 22:28:17 -08:00
8d9b434d1e Add attr_accessor for favorited 2022-02-27 22:27:10 -08:00
e295df0fdd Remove log and unused parameter 2022-02-27 22:12:57 -08:00
6afe242abe Return a boolean indicating favorite in party object 2022-02-27 21:14:37 -08:00
57b6f2a7b4 Add back render call 2022-02-27 20:55:55 -08:00
09ef36cfe6 Update base.json.rabl 2022-02-27 20:00:33 -08:00
7feb5157c8 Add method for displaying a user's favorites 2022-02-27 20:00:29 -08:00
a45193d1b8 Association update and favorites method on User 2022-02-27 20:00:18 -08:00
b9140430e2 Add favorites controller and templates
Allows saving and deleting favorites
2022-02-27 19:05:25 -08:00
b2adbd0400 Add favorites model 2022-02-27 19:04:51 -08:00
438fc7294d Add custom errors 2022-02-27 19:03:04 -08:00
4907f7c584 Properly implement filtering 2022-02-27 00:33:00 -08:00
0c405d7f5a Add user object to JSON templates
instead of just user id
2022-02-27 00:32:50 -08:00
af8b9d3570 Implement filterable endpoint for all parties 2022-02-26 20:57:24 -08:00
2a40abf08f Save the party's element when the mainhand is changed 2022-02-26 20:47:09 -08:00
f5a4afc01d Begrudgingly adding an element field to parties
Also added it in the JSON template
2022-02-26 20:44:16 -08:00
3f979f6d62 Add endpoint for getting all parties
No filters yet
2022-02-26 19:29:19 -08:00
47d5de057c Remove ap call 2022-02-26 18:40:32 -08:00
a04a1cb5c8 Fix bug with wrong key when creating party 2022-02-26 18:25:54 -08:00
5338e83be3 Add timestamps to party json output 2022-02-26 17:45:17 -08:00
5dd25e1953 Add element to raid json template 2022-02-26 15:59:41 -08:00
374e294a33 Change permitted param for extra toggle 2022-02-23 19:22:42 -08:00
09a009ccfb Add team details to all existing templates 2022-02-23 19:04:54 -08:00
edf489ce31 Add route to get all raids 2022-02-23 19:04:34 -08:00
ace4fb8568 Permit detail attributes and update all attributes instead of just extra 2022-02-23 18:11:19 -08:00
bb736ce084 Add Raid model and add Parties as belonging to Raids 2022-02-23 18:11:03 -08:00
29c3415df2 Don't allow destroy if owner is not current user 2022-02-23 16:34:36 -08:00
53e6e8bd39 Add destroy dependencies to models 2022-02-23 16:31:01 -08:00
18049385ce Add destroy implementation and json template 2022-02-23 16:30:52 -08:00
8362fcf770 Refactor how GridCharacters are saved 2022-02-23 13:49:40 -08:00
bc5d127ce7 Change unique canonical keys to generic object key 2022-02-23 13:49:27 -08:00
9d4706b741 Add route for updating parties 2022-02-04 14:47:47 -08:00
c07c2cc2b5 Remove stray log 2022-02-04 01:10:54 -08:00
5ea9f367c1 Add routes to pull data for individual objects in a party 2022-02-04 01:00:30 -08:00
ea0ca460f5 Expose ULB for characters 2022-02-01 17:20:47 -08:00
5bbeed54ea Add special field for non-standard story SR characters 2022-02-01 17:08:46 -08:00
3f2f1cd836 Allow id param and fix typos 2022-02-01 16:48:02 -08:00
4633f0e531 Expose uncap_level in GridObject templates 2022-02-01 03:29:37 -08:00
66f281714b Add routes for updating the uncap level of an object 2022-02-01 03:28:57 -08:00
659abae07a Refactor Portal 2022-01-29 18:02:09 -08:00
75702ac4d2 Add exclusion for characters 2022-01-25 17:02:08 -08:00
e95baf7ee6 Add extra slots to Parties 2022-01-25 17:00:26 -08:00
00476ec86c Add display_resource to models 2022-01-25 16:56:09 -08:00
56f166d816 Remove case_sensitive validator from User
This was removed in Rails 6.1
2021-10-27 09:43:15 -07:00
201a5f4157 Add characters to Party model and template 2020-10-19 05:10:32 -07:00
ba22aad8d3 Fix a typo 2020-10-19 04:05:19 -07:00
55537d995e Add search template for Characters 2020-10-19 03:58:36 -07:00
be6a05124a Add search for Characters 2020-10-19 03:57:07 -07:00
4bf7249d41 Add models, controllers and templates for Character objects 2020-10-19 03:55:53 -07:00
b44b8e9b70 Update Party model to have summons 2020-10-18 22:25:17 -07:00
0117f0e629 Add weapons template 2020-10-18 22:24:59 -07:00
cf36fa9ffa Add search 2020-10-18 22:24:50 -07:00
132f676e2a Add Summon and GridSummons model and controllers 2020-10-18 22:24:28 -07:00
4e3c628c8d Update api_controller.rb 2020-09-26 10:51:17 -07:00
b08d851341 Store user id from access token 2020-09-26 10:51:14 -07:00
5d5a09f552 Fix saving weapons to parties 2020-09-26 10:51:03 -07:00
e97afb72bc Update users_controller.rb 2020-09-25 17:57:32 -07:00
71a0a090ba Add route for viewing a profile 2020-09-25 14:59:50 -07:00
10cca8e4b0 Update api_controller.rb 2020-09-25 10:56:08 -07:00
0861968e16 Update templates 2020-09-25 10:56:04 -07:00
975dd39ec8 Update parties_controller.rb
Finding parties based on shortcode, and saving parties with user ID where available
2020-09-25 10:55:13 -07:00
cb499a68ac Add validations and hooks to User model 2020-09-25 10:54:08 -07:00
12a98d4abd Update UsersController
Adds registration, check_email, and check_username methods
2020-09-25 10:53:56 -07:00
c78af47582 Add validation error serializers 2020-09-25 10:51:08 -07:00
2def96352f Add custom TokensController for login 2020-09-25 10:42:34 -07:00
00d9e7f5f6 Add 404 template 2020-09-19 12:46:29 -07:00
071f6b4664 Controllers should inherit from ApiController 2020-09-19 12:46:24 -07:00
64073bdae8 Limit weapon search to 10 at once 2020-09-18 07:16:04 -07:00
39490461bd Use the correct partial for weapons 2020-09-18 07:15:55 -07:00
35551be964 Update show.json.rabl 2020-09-18 06:49:13 -07:00
e2e83b246c Move templates 2020-09-18 06:47:52 -07:00
2164c10ab1 Move route from party to parties 2020-09-18 06:43:49 -07:00
fb34e8e292 Updating templates 2020-09-16 23:49:25 -07:00
529e78e098 Fix the set to only pull one party 2020-09-16 23:49:16 -07:00
80ca5b8fd0 Find the weapon associated with a GridWeapon
because associations are hard and dumb
2020-09-16 23:48:57 -07:00
8655343382 Fix association 2020-09-16 23:48:10 -07:00
bdb597d95e Delete base.json.rabl 2020-09-16 03:43:43 -07:00
68a29f4941 Add templates 2020-09-16 03:43:39 -07:00
25ba612742 Add associations to Party 2020-09-16 03:43:30 -07:00
a53d350c8f Add association to GridWeapon 2020-09-16 03:43:21 -07:00
993fc30f91 Add GridWeaponsController 2020-09-16 03:43:08 -07:00
aa7820dd22 Add PartiesController 2020-09-16 03:42:12 -07:00
f3b2416919 Rename parties.rb to party.rb 2020-09-16 03:26:54 -07:00
f616fe23db Restart on Rails 2020-09-14 18:30:54 -07:00