Commit graph

200 commits

Author SHA1 Message Date
af960d7a93
Fix favorites page by fixing how query is built (#125) 2023-08-21 20:42:54 -07:00
d2c5455120
Add support for inclusions/exclusions (#124)
* Remove ap call

* Fix remix render method

* Downcase username on db end

There was a bug where users with capital letters in their name could not access their profiles after we tried to make things case insensitive.

* Remove ap call and unused code

* Add granblue.team to cors

This works now!

* Implement all-entity search to support tagging objects (#117)

* Add table for multisearch

* Add new route for searching all entities

* Make models multisearchable

We're going to start with Character, Summon, Weapon and Jobs

* Add method to Search controller

This will search with trigram first, and then if there aren't enough results, search with prefixed text search

* Add support for Japanese all-entity search

* Update grid_summons_controller.rb

Set the proper uncap level for transcended summons

* Search is broken in Japanese!

* Grid model object updates

* Adds has_one association to canonical objects
* GridWeapon is_mainhand refactored
* GridCharacter add_awakening refactored

* (WIP) Add support for inclusion/exclusion + refactor

This commit adds basic support for including/excluding objects from collection filters. There is also a refactor of the filter logic as a whole. It is only implemented in `teams` for now and is a work in progress.

* Update multisearch for exclusions

* Add nicknames to the index for multisearchable
2023-08-21 20:01:15 -07:00
4ee7a3a644
Order search results by release or update date (#123)
The list of all items that shows up when you open the search modal will now list all items sorted latest first, whether the item is brand new or an item that recently got an uncap.
2023-08-20 01:56:15 -07:00
c7b0c48428
Search was broken in Japanese! (#120)
* Remove ap call

* Fix remix render method

* Downcase username on db end

There was a bug where users with capital letters in their name could not access their profiles after we tried to make things case insensitive.

* Remove ap call and unused code

* Add granblue.team to cors

This works now!

* Implement all-entity search to support tagging objects (#117)

* Add table for multisearch

* Add new route for searching all entities

* Make models multisearchable

We're going to start with Character, Summon, Weapon and Jobs

* Add method to Search controller

This will search with trigram first, and then if there aren't enough results, search with prefixed text search

* Add support for Japanese all-entity search

* Update grid_summons_controller.rb

Set the proper uncap level for transcended summons

* Search is broken in Japanese!
2023-07-06 18:08:08 -07:00
6d51033d0e
Fix summon update_uncap_level (#119)
* Remove ap call

* Fix remix render method

* Downcase username on db end

There was a bug where users with capital letters in their name could not access their profiles after we tried to make things case insensitive.

* Remove ap call and unused code

* Add granblue.team to cors

This works now!

* Implement all-entity search to support tagging objects (#117)

* Add table for multisearch

* Add new route for searching all entities

* Make models multisearchable

We're going to start with Character, Summon, Weapon and Jobs

* Add method to Search controller

This will search with trigram first, and then if there aren't enough results, search with prefixed text search

* Add support for Japanese all-entity search

* Update grid_summons_controller.rb

Set the proper uncap level for transcended summons
2023-07-06 17:10:18 -07:00
39a0d33bee
July 2023 Feature Release: Tagging objects (#118)
* Remove ap call

* Fix remix render method

* Downcase username on db end

There was a bug where users with capital letters in their name could not access their profiles after we tried to make things case insensitive.

* Remove ap call and unused code

* Add granblue.team to cors

This works now!

* Implement all-entity search to support tagging objects (#117)

* Add table for multisearch

* Add new route for searching all entities

* Make models multisearchable

We're going to start with Character, Summon, Weapon and Jobs

* Add method to Search controller

This will search with trigram first, and then if there aren't enough results, search with prefixed text search

* Add support for Japanese all-entity search
2023-07-05 21:51:36 -07:00
13a9644bb0
(Hotfix) Fixes a variety of small bugs (#115)
* Remove ap call

* Fix remix render method

* Downcase username on db end

There was a bug where users with capital letters in their name could not access their profiles after we tried to make things case insensitive.

* Remove ap call and unused code
2023-07-04 03:21:02 -07:00
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
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
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
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
83c6b2397a Refactor weapon conflicts into model validations 2023-01-02 21:24:53 -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
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
ae1da20f27 Fix fetching weapon keys so you dont need filters 2022-12-24 04:54:50 -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
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
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
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
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
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
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
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
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
296fa0187c Save base job skills on job change 2022-12-01 04:46:53 -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
5fe712c31a Add route to get skills for given job 2022-11-27 14:12:52 -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
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
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
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
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
62543858bd Fix a small variable bug in GridWeapons Controller 2022-03-06 03:47:28 -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
b7500617e3 Trying to fix DoubleRenderError 2022-03-03 17:10:03 -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
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
45c4cc5af6 Create weapon_keys_controller.rb 2022-03-01 23:33:28 -08:00
c7d53d4ffd Remove print log 2022-03-01 12:51:11 -08:00