Add puzzle author field and Solves table

This commit is contained in:
Matthias Portzel 2024-03-11 22:40:15 -04:00
parent 1afab2c266
commit e3159b1858
4 changed files with 48 additions and 3 deletions

21
db.rb
View File

@ -34,6 +34,9 @@ class Puzzle < Sequel::Model
# # draft / ready / current / used
# String :state, default: "draft", null: false
# Author ID, the Discord ID of the author/submitter of the puzzle
# String :author_id, null: false
# # Timestamps
# DateTime :created_at, null: false
# DateTime :updated_at, null: false
@ -74,3 +77,21 @@ class Puzzle < Sequel::Model
@message ||= $puzzle_channel.load_message message_id
end
end
class Solve < Sequel::Model
# Fields:
# primary_key :id
# # The user's Discord id
# String :discord_id, null: false
# # The ID of the puzzle solved
# foreign_key :puzzle_id, :puzzles, null: false
# # Timestamps
# DateTime :created_at, null: false
# DateTime :updated_at, null: false
end

View File

@ -89,8 +89,9 @@ define_command("Solve", [
event.user.add_role $puzzle_solver_role
event.respond content: "Correct! You've gained full access for this week.", ephemeral: true
event.channel.send "<@#{event.user.id}> has given the solution and entered the club."
# TODO: Create "solve" instance
# Update "solves" count role
# Create "solve" instance
Solve.create discord_id: event.user.id, puzzle: current_puzzle.id
# TODO: Update "solves" count role
else
event.respond content: "Hmm, that's not the answer we're looking for.", ephemeral: true
end
@ -165,7 +166,8 @@ $bot.message do |event|
event.channel.send "Invalid Puzzle. IDK why"
next
end
# TODO: save the user's id who submitted it
# Save the user's id who submitted it
p.author_id = event.user.id
p.save
event.channel.send "Successfully added puzzle!"

View File

@ -0,0 +1,17 @@
Sequel.migration do
change do
create_table :solves do
primary_key :id
# The user's Discord id
String :discord_id, null: false
# The ID of the puzzle solved
foreign_key :puzzle_id, :puzzles, null: false
# Timestamps
DateTime :created_at, null: false
DateTime :updated_at, null: false
end
end
end

View File

@ -0,0 +1,5 @@
Sequel.migration do
change do
add_column :puzzles, :author_id, String, null: false, default: "226887818364846082"
end
end