- Introduce Party model with lifecycle states (draft, published, canceled, sold_out) - Add RESTful API endpoints under /api/v1/parties for CRUD operations - Create ApiController base with API key authentication - Implement comprehensive code comments across models and controllers - Add database migration for parties table with proper indexes - Configure API routes with namespaced versioning
19 lines
635 B
Ruby
19 lines
635 B
Ruby
class CreateParties < ActiveRecord::Migration[8.0]
|
|
def change
|
|
create_table :parties do |t|
|
|
t.string :name, null: false
|
|
t.text :description, null: false
|
|
t.integer :state, default: 0, null: false
|
|
t.string :venue_name, null: false
|
|
t.string :venue_address, null: false
|
|
t.decimal :latitude, precision: 10, scale: 6, null: false
|
|
t.decimal :longitude, precision: 10, scale: 6, null: false
|
|
t.boolean :featured, default: false, null: false
|
|
t.timestamps
|
|
end
|
|
|
|
add_index :parties, :state
|
|
add_index :parties, :featured
|
|
add_index :parties, [:latitude, :longitude]
|
|
end
|
|
end |