Compare commits
2 commits
main
...
hotfix-202
| Author | SHA1 | Date | |
|---|---|---|---|
| 1064432864 | |||
| a69017ff19 |
2 changed files with 28 additions and 18 deletions
|
|
@ -14,6 +14,7 @@ module Api
|
||||||
# Create the GridSummon with the desired parameters
|
# Create the GridSummon with the desired parameters
|
||||||
summon = GridSummon.new
|
summon = GridSummon.new
|
||||||
summon.attributes = summon_params.merge(party_id: party.id, summon_id: incoming_summon.id)
|
summon.attributes = summon_params.merge(party_id: party.id, summon_id: incoming_summon.id)
|
||||||
|
summon.uncap_level = max_uncap_level(summon) if summon.uncap_level.nil?
|
||||||
|
|
||||||
if summon.validate
|
if summon.validate
|
||||||
save_summon(summon)
|
save_summon(summon)
|
||||||
|
|
@ -32,15 +33,7 @@ module Api
|
||||||
|
|
||||||
def update_uncap_level
|
def update_uncap_level
|
||||||
summon = @summon.summon
|
summon = @summon.summon
|
||||||
max_uncap_level = if summon.flb && !summon.ulb && !summon.xlb
|
max_uncap_level = max_uncap_level(summon)
|
||||||
4
|
|
||||||
elsif summon.ulb && !summon.xlb
|
|
||||||
5
|
|
||||||
elsif summon.xlb
|
|
||||||
6
|
|
||||||
else
|
|
||||||
3
|
|
||||||
end
|
|
||||||
|
|
||||||
greater_than_max_uncap = summon_params[:uncap_level].to_i > max_uncap_level
|
greater_than_max_uncap = summon_params[:uncap_level].to_i > max_uncap_level
|
||||||
can_be_transcended = summon.xlb && summon_params[:transcendence_step] && summon_params[:transcendence_step]&.to_i&.positive?
|
can_be_transcended = summon.xlb && summon_params[:transcendence_step] && summon_params[:transcendence_step]&.to_i&.positive?
|
||||||
|
|
@ -120,6 +113,19 @@ module Api
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def max_uncap_level(summon)
|
||||||
|
object = summon.summon
|
||||||
|
if object.flb && !object.ulb && !object.xlb
|
||||||
|
4
|
||||||
|
elsif object.ulb && !object.xlb
|
||||||
|
5
|
||||||
|
elsif object.xlb
|
||||||
|
6
|
||||||
|
else
|
||||||
|
3
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def find_incoming_summon
|
def find_incoming_summon
|
||||||
@incoming_summon = Summon.find_by(id: summon_params[:summon_id])
|
@incoming_summon = Summon.find_by(id: summon_params[:summon_id])
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ module Api
|
||||||
conditions = build_filters
|
conditions = build_filters
|
||||||
conditions[:favorites] = { user_id: current_user.id }
|
conditions[:favorites] = { user_id: current_user.id }
|
||||||
|
|
||||||
query = build_query(conditions)
|
query = build_query(conditions, true)
|
||||||
query = apply_includes(query, params[:includes]) if params[:includes].present?
|
query = apply_includes(query, params[:includes]) if params[:includes].present?
|
||||||
query = apply_excludes(query, params[:excludes]) if params[:excludes].present?
|
query = apply_excludes(query, params[:excludes]) if params[:excludes].present?
|
||||||
|
|
||||||
|
|
@ -152,14 +152,18 @@ module Api
|
||||||
value.to_i unless value.blank? || value.to_i == -1
|
value.to_i unless value.blank? || value.to_i == -1
|
||||||
end
|
end
|
||||||
|
|
||||||
def build_query(conditions)
|
def build_query(conditions, favorites = false)
|
||||||
Party.distinct
|
query = Party.distinct
|
||||||
.joins(weapons: [:object], summons: [:object], characters: [:object])
|
.joins(weapons: [:object], summons: [:object], characters: [:object])
|
||||||
.group('parties.id')
|
.group('parties.id')
|
||||||
.where(conditions)
|
.where(conditions)
|
||||||
.where(name_quality)
|
.where(name_quality)
|
||||||
.where(user_quality)
|
.where(user_quality)
|
||||||
.where(original)
|
.where(original)
|
||||||
|
|
||||||
|
query = query.joins(:favorites) if favorites
|
||||||
|
|
||||||
|
query
|
||||||
end
|
end
|
||||||
|
|
||||||
def includes(id)
|
def includes(id)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue