feat: check for password existence

This commit is contained in:
insects 2025-03-11 01:12:30 +01:00
parent b03df8f0e4
commit 498ecdf68b
7 changed files with 73 additions and 15 deletions

View file

@ -6,7 +6,9 @@ class InstanceController < ApplicationController
password = Nanoid.generate(size: 3, alphabet: "0123456789")
instance = Instance.new(zone: zone, public_id: public_id, name: name, password: password)
if instance.save
redirect_to(show_instance_path(public_id: public_id))
@id = instance.public_id
@password = instance.password
render "set_password"
end
end
@ -15,21 +17,25 @@ class InstanceController < ApplicationController
end
def pop
instance_id, nm = pop_instance_params
instance_id, nm, pwd = pop_instance_params
parent_instance = Instance.find_by(public_id: instance_id)
pop = Pop.new(instance_id: parent_instance.id, name: nm)
if pop.save
@instance = Instance.includes(:pops).find_by(public_id: instance_id)
render partial: "list", locals: { instance: @instance }
if parent_instance.password == pwd
pop = Pop.new(instance_id: parent_instance.id, name: nm)
if pop.save
@instance = Instance.includes(:pops).find_by(public_id: instance_id)
render partial: "list", locals: { instance: @instance }
end
end
end
def reset
instance_id, nm = pop_instance_params
instance_id, nm, pwd = pop_instance_params
parent_instance = Instance.find_by(public_id: instance_id)
Pop.delete_by(instance_id: parent_instance.id, name: nm)
@instance = Instance.includes(:pops).find_by(public_id: instance_id)
render partial: "list", locals: { instance: @instance }
if parent_instance.password == pwd
Pop.delete_by(instance_id: parent_instance.id, name: nm)
@instance = Instance.includes(:pops).find_by(public_id: instance_id)
render partial: "list", locals: { instance: @instance }
end
end
private
@ -43,6 +49,6 @@ class InstanceController < ApplicationController
end
def pop_instance_params
params.expect(:instance, :nm)
params.expect(:instance, :nm, :pwd)
end
end