feat: initialize Next.js project with Prisma, authentication, and rankings page
This commit is contained in:
@@ -1,59 +0,0 @@
|
||||
#!/usr/bin/env ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative '../config/app'
|
||||
require 'hanami/prepare'
|
||||
require 'bcrypt'
|
||||
|
||||
# Get arguments
|
||||
email = ARGV[0] || 'david@dhg.lol'
|
||||
password = ARGV[1] || 'admin'
|
||||
|
||||
if password.nil?
|
||||
puts "Error: Password required"
|
||||
puts "Usage: ruby scripts/create_admin.rb [email] [password]"
|
||||
exit 1
|
||||
end
|
||||
|
||||
puts "Creating admin user..."
|
||||
puts "Email: #{email}"
|
||||
|
||||
# Initialize repositories
|
||||
players_repo = EuchreCamp::App['repositories.players']
|
||||
users_repo = EuchreCamp::App['repositories.users']
|
||||
|
||||
# Check if user already exists
|
||||
existing_user = users_repo.by_email(email)
|
||||
if existing_user
|
||||
puts "User #{email} already exists with ID #{existing_user.id}"
|
||||
puts "Updating role to club_admin..."
|
||||
users_repo.users.where(id: existing_user.id).update(role: 'club_admin', confirmed: true)
|
||||
puts "Done!"
|
||||
exit 0
|
||||
end
|
||||
|
||||
# Create player
|
||||
player = players_repo.create(name: email.split('@').first.capitalize, rating: 1000)
|
||||
puts "Created player with ID: #{player[:id]}"
|
||||
|
||||
# Hash password
|
||||
password_digest = BCrypt::Password.create(password)
|
||||
puts "Password hashed"
|
||||
|
||||
# Create user
|
||||
user = users_repo.create(
|
||||
email: email,
|
||||
password_digest: password_digest,
|
||||
player_id: player[:id],
|
||||
role: 'club_admin',
|
||||
confirmed: true
|
||||
)
|
||||
|
||||
puts ""
|
||||
puts "✅ Admin user created successfully!"
|
||||
puts " Email: #{email}"
|
||||
puts " Player ID: #{player[:id]}"
|
||||
puts " Role: club_admin"
|
||||
puts " Confirmed: true"
|
||||
puts ""
|
||||
puts "Login at: http://localhost:2300/login"
|
||||
Reference in New Issue
Block a user