refactor(events): replace parties concept with events throughout the application

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

This commit refactors the entire application to replace the 'parties' concept with 'events'. All controllers, models, views, and related files have been updated to reflect this change. The parties table has been replaced with an events table, and all related functionality has been updated accordingly.
This commit is contained in:
Kevin BATAILLE
2025-08-28 13:20:51 +02:00
parent 2f80fe8321
commit 30f3ecc6ad
218 changed files with 864 additions and 787 deletions

View File

@@ -0,0 +1,83 @@
# Contrôleur API pour la gestion des ressources d'événements
# Fournit des points de terminaison RESTful pour les opérations CRUD sur le modèle Event
module Api
module V1
class EventsController < ApiController
# Charge l'évén avant certaines actions pour réduire les duplications
before_action :set_event, only: [ :show, :update, :destroy ]
# GET /api/v1/events
# Récupère tous les événements triés par date de création (du plus récent au plus ancien)
def index
@events = Event.all.order(created_at: :desc)
render json: @events, status: :ok
end
# GET /api/v1/events/:id
# Récupère un seul événement par son ID
# Retourne 404 si l'événement n'est pas trouvé
def show
render json: @event, status: :ok
end
# POST /api/v1/events
# Crée un nouvel événement avec les attributs fournis
# Retourne 201 Created en cas de succès avec les données de l'événement
# Retourne 422 Unprocessable Entity avec les messages d'erreur en cas d'échec
def create
@event = Event.new(event_params)
if @event.save
render json: @event, status: :created
else
render json: { errors: @event.errors.full_messages }, status: :unprocessable_entity
end
end
# PATCH/PUT /api/v1/events/:id
# Met à jour un événement existant avec les attributs fournis
# Retourne 200 OK avec les données mises à jour en cas de succès
# Retourne 422 Unprocessable Entity avec les messages d'erreur en cas d'échec
def update
if @event.update(event_params)
render json: @event, status: :ok
else
render json: { errors: @event.errors.full_messages }, status: :unprocessable_entity
end
end
# DELETE /api/v1/events/:id
# Supprime définitivement un événement
# Retourne 204 No Content en cas de succès
def destroy
@event.destroy
head :no_content
end
private
# Trouve un événement par son ID ou retourne 404 Introuvable
# Utilisé comme before_action pour les actions show, update et destroy
def set_event
@event = Event.find(params[:id])
rescue ActiveRecord::RecordNotFound
render json: { error: "Événement non trouvé" }, status: :not_found
end
# Paramètres forts pour la création et la mise à jour des événements
# Liste blanche des attributs autorisés pour éviter les vulnérabilités de mass assignment
def event_params
params.require(:event).permit(
:name,
:description,
:state,
:venue_name,
:venue_address,
:latitude,
:longitude,
:featured
)
end
end
end
end

View File

@@ -1,82 +0,0 @@
# API controller for managing party resources
# Provides RESTful endpoints for CRUD operations on Party model
module Api
module V1
class PartiesController < ApiController
# Load party before specific actions to reduce duplication
before_action :set_party, only: [ :show, :update, :destroy ]
# GET /api/v1/parties
# Returns all parties sorted by creation date (newest first)
def index
@parties = Party.all.order(created_at: :desc)
render json: @parties, status: :ok
end
# GET /api/v1/parties/:id
# Returns a single party by ID
# Returns 404 if party is not found
def show
render json: @party, status: :ok
end
# POST /api/v1/parties
# Creates a new party with provided attributes
# Returns 201 Created on success with party data
# Returns 422 Unprocessable Entity with validation errors on failure
def create
@party = Party.new(party_params)
if @party.save
render json: @party, status: :created
else
render json: { errors: @party.errors.full_messages }, status: :unprocessable_entity
end
end
# PATCH/PUT /api/v1/parties/:id
# Updates an existing party with provided attributes
# Returns 200 OK with updated party data on success
# Returns 422 Unprocessable Entity with validation errors on failure
def update
if @party.update(party_params)
render json: @party, status: :ok
else
render json: { errors: @party.errors.full_messages }, status: :unprocessable_entity
end
end
# DELETE /api/v1/parties/:id
# Permanently deletes a party
# Returns 204 No Content on success
def destroy
@party.destroy
head :no_content
end
private
# Finds a party by ID or returns 404 Not Found
# Used as before_action for show, update, and destroy actions
def set_party
@party = Party.find(params[:id])
rescue ActiveRecord::RecordNotFound
render json: { error: "Party not found" }, status: :not_found
end
# Strong parameters for party creation and updates
# Whitelists permitted attributes to prevent mass assignment vulnerabilities
def party_params
params.require(:party).permit(
:name,
:description,
:state,
:venue_name,
:venue_address,
:latitude,
:longitude,
:featured
)
end
end
end
end