Skip to content

Releases: Xoriax/api_msn_tp

API MSN Events v1.5.0 Release Notes

Choose a tag to compare

@Xoriax Xoriax released this 31 Oct 13:12

Permissions and Access Improvements

New Features

Extended Permissions System

  • Album access: Creators, event organizers, and group administrators can now access and manage albums
  • Photo management: Extended access to photo authors, album creators, organizers, and group administrators
  • Poll voting: Poll creators, organizers, and group administrators can now vote on their own polls
  • Ticket purchasing: Event organizers and group administrators can purchase tickets for their events

Enhanced Group Management

  • New endpoint: POST /groups/:id/promote/:userId to promote members to administrators
  • Flexible group leaving: Administrators can leave groups after promoting other administrators
  • Smart validation: Protection against removing the last administrator

Technical Improvements

Authentication Middleware Updates

  • Multi-parameter support: Middlewares now handle id, groupId, and eventId parameters
  • Hierarchical permissions: Organizers and administrators automatically inherit participant/member rights
  • Debug logging: Added detailed logs for permission troubleshooting

Controller Updates

  • Albums: Added GroupModel support for extended access permissions
  • Photos: Updated checkPhotoAccess middleware with 4 parameters (added GroupModel)
  • Polls: Inclusive voting logic for creators and administrators
  • Tickets: Purchase authorization for organizers and group administrators

Architecture Enhancements

  • GroupSchema imports added to all necessary controllers
  • Updated constructors with this.GroupModel
  • Populated groupId relations in event queries
  • Full ESLint compliance (100 character limit, consistent indentation)

Documentation

Updated README

  • Simplified API documentation with Postman collection link
  • Removed detailed endpoint listings in favor of Postman collection
  • Focus on architecture and concepts

Improved Error Messages

  • More descriptive permission error messages
  • Clear indication of authorized roles for each action
  • Consistent HTTP status codes

Migration and Compatibility

This version is fully backward compatible. Existing endpoints continue to work normally with extended permissions for improved user experience.

Technical Details

Files Modified:

  • src/controllers/albums.controller.mjs
  • src/controllers/photos.controller.mjs
  • src/controllers/polls.controller.mjs
  • src/controllers/tickets.controller.mjs
  • src/controllers/groups.controller.mjs
  • src/controllers/discussions.controller.mjs
  • src/middleware/auth.mjs
  • README.md

Key Changes:

  • Enhanced middleware functions for better parameter handling
  • Extended permission checks to include creators and administrators
  • Improved group management with promotion capabilities
  • Streamlined documentation approach

This release significantly improves user experience by allowing creators, organizers, and administrators to naturally interact with their own content while maintaining API security.

v1.4.0 - Système d'Autorisation Complet

Choose a tag to compare

@Xoriax Xoriax released this 31 Oct 01:09

Release v1.4.0 - Système d'Autorisation Complet

Nouvelle Fonctionnalité Majeure : Architecture de Sécurité Complète

Cette version introduit un système d'autorisation granulaire complet couvrant tous les modules de l'API avec plus de 15 middleware d'autorisation spécialisés.

Améliorations Principales

Middleware d'Autorisation Avancé (middleware/auth.mjs)

  • checkEventParticipant : Vérification de participation aux événements
  • checkEventOrganizer : Contrôle des permissions organisateur
  • checkEventCreator : Validation des droits de création d'événement
  • checkGroupMember : Vérification d'appartenance aux groupes
  • checkGroupAdmin : Contrôle des permissions administrateur
  • checkGroupCreator : Validation des droits de création de groupe
  • checkDiscussionAccess : Accès sécurisé aux discussions
  • checkPollCreator : Contrôle de création des sondages
  • checkPollResultsAccess : Accès conditionnel aux résultats
  • checkPollDeleteAccess : Suppression sécurisée des sondages
  • checkAlbumAccess : Accès aux albums avec permissions
  • checkAlbumManageAccess : Gestion avancée des albums
  • checkPhotoAccess : Contrôle d'accès aux photos
  • checkPhotoUploader : Validation des téléchargements
  • checkTicketOwner : Vérification de propriété des billets
  • checkTicketTypeManageAccess : Gestion des types de billets

Sécurisation Complète des Contrôleurs

  • tickets.controller.mjs : Autorisation complète pour la billetterie
  • polls.controller.mjs : Sécurisation des sondages et votes
  • photos.controller.mjs : Protection des uploads et modifications
  • albums.controller.mjs : Contrôle d'accès aux collections
  • discussions.controller.mjs : Sécurisation des messages
  • events.controller.mjs : Protection des événements

Code

  • Respect strict des règles ESLint (limite 100 caractères, formatage uniforme)
  • Patterns d'import/export standardisés
  • Gestion d'erreurs robuste avec try/catch systématique
  • Documentation inline améliorée

Sécurité Renforcée

  • Authentification JWT obligatoire pour actions sensibles
  • Autorisation basée sur les rôles et propriétés
  • Validation des permissions métier (organisateur, membre, créateur)
  • Protection contre les accès non autorisés

Date de release : 31 octobre 2025
Compatibilité : Node.js 16+, MongoDB 4.4+

v1.3.0

Choose a tag to compare

@Xoriax Xoriax released this 30 Oct 15:20

Release Notes v1.3.0

API Events Management System v1.3.0

New Features

Photo Management Enhancements

  • Complete photo likes system with like/unlike functionality
  • User tracking for photo likes with duplicate prevention
  • Enhanced photo responses with like counts and user status

Advanced Ticket Management

  • Ticket cancellation system with status tracking (active/cancelled/used)
  • Smart ticket type deletion based on quantity_sold counter
  • Automatic stock management with cancellation refunds
  • Detailed cancellation logging with timestamps and reasons

System Improvements

  • Enhanced data validation and error handling
  • Improved API documentation with comprehensive endpoint coverage
  • Better response consistency across all endpoints

API Endpoints Added

Photo Likes

  • POST /photos/:id/like - Like a photo
  • DELETE /photos/:id/like - Unlike a photo

Ticket Management

  • DELETE /tickets/:ticketNumber - Cancel a ticket with reason tracking
  • DELETE /ticket-types/:id - Smart deletion based on active tickets

Technical Improvements

  • Enhanced Ticket model with cancellation fields
  • Photo model updated with likes tracking array
  • Improved quantity_sold management for ticket types
  • Better error messages with detailed context

Documentation

  • Complete README rewrite with comprehensive API documentation
  • Detailed endpoint tables with HTTP methods and descriptions
  • Enhanced examples for all major features
  • Security and architecture documentation improvements

Installation

git clone https://github.com/Xoriax/api_msn_tp.git
cd api_msn_tp
npm install

Quick Start

  1. Configure your .env file with MongoDB URI and JWT secret
  2. Run npm run dev for development or npm start for production
  3. API will be available at http://localhost:3000

Full Feature Set

  • JWT Authentication with bcrypt security
  • Complete event management with participant tracking
  • Group system (public/private/secret)
  • Discussion threads with messaging
  • Poll system with voting capabilities
  • Photo albums with likes and comments
  • Integrated ticketing system with purchase tracking
  • Advanced cancellation and refund management

v1.2.0 - Authentification JWT sécurisée

Choose a tag to compare

@Xoriax Xoriax released this 30 Oct 13:24

Système d'authentification JWT complet avec sécurité renforcée. Nouvelles fonctionnalités: authentification JWT avec bcrypt, login/logout sécurisé, protection des routes utilisateur, autorisation basée sur l'ID. Breaking changes: POST /users nécessite un mot de passe, PUT/DELETE /users/:id nécessitent une authentification JWT.

Facebook Events API v1.1 - Contrôle d'Accès Intelligent aux Groupes

Choose a tag to compare

@Xoriax Xoriax released this 30 Oct 12:05

Facebook Events API v1.1 - Contrôle d'Accès Intelligent

Nouvelle Fonctionnalité Majeure : Gestion de la Confidentialité des Groupes

Cette version introduit un système de contrôle d'accès intelligent pour les groupes, permettant une gestion granulaire de la confidentialité.

Nouveautés

Endpoint GET /groups Amélioré

Remplace l'ancien /groups/public avec un système intelligent :

  • Groupes publics : Informations complètes pour tous
  • Groupes privés : Visibles avec détails limités aux non-membres
  • Groupes secrets : Complètement invisibles dans la liste

Authentification Optionnelle

Les endpoints fonctionnent avec ou sans authentification :

  • Sans token : Informations publiques uniquement
  • Avec token : Informations personnalisées selon l'appartenance

Contrôle d'Accès Détaillé

Groupes Publics : Visibles par tous avec détails complets

Groupes Privés : Visibles dans la liste mais détails limités pour non-membres

Groupes Secrets : Invisibles dans GET /groups, accessibles par ID direct si membre

Compatibilité

L'ancien endpoint /groups/public reste disponible pour la rétrocompatibilité.

Améliorations Techniques

  • Factorisation de la logique d'authentification
  • Validation JWT optionnelle réutilisable
  • Performance améliorée avec requêtes conditionnelles
  • Documentation enrichie avec guide complet

Impact sur l'API

Nouveaux Endpoints

  • GET /groups - Liste intelligente avec contrôle d'accès
  • GET /groups/:id - Détails avec accès conditionnel

Migration

Aucune action requise - compatibilité descendante garantie.
Migration vers GET /groups recommandée pour bénéficier du nouveau système.

Corrections

  • Amélioration gestion des tokens expirés
  • Meilleure validation des ObjectId MongoDB
  • Gestion d'erreurs plus robuste

Documentation

  • README mis à jour avec système de confidentialité

Date de release : 30 octobre 2025
Compatibilité : Node.js 16+, MongoDB 4.4+

Facebook Events API v1.0 - Release Initiale

Choose a tag to compare

@Xoriax Xoriax released this 30 Oct 11:14

Facebook Events API v1.0

Release Initiale

Cette première version stable de l'API Facebook Events offre un système complet de gestion d'événements avec toutes les fonctionnalités essentielles.

Fonctionnalités Principales

Gestion des Utilisateurs

  • Création et gestion des comptes utilisateurs
  • Authentification sécurisée avec JWT
  • Recherche par email et ID
  • Profils utilisateurs complets

Système d'Événements

  • Création d'événements publics et privés
  • Gestion des organisateurs multiples
  • Système de participation (rejoindre/quitter)
  • Événements liés aux groupes
  • Support de la billetterie intégrée

Gestion des Groupes

  • Groupes publics, privés et secrets
  • Système d'administration et de membres
  • Permissions configurables pour posts et événements
  • Discussions de groupe intégrées

Albums et Photos

  • Albums liés aux événements
  • Système de commentaires et likes
  • Métadonnées complètes des photos
  • Gestion des téléchargements

Discussions

  • Fils de discussion pour événements et groupes
  • Messages avec système de réponses imbriquées
  • Gestion des permissions d'écriture

Sondages

  • Création de sondages multi-questions
  • Système de votes par utilisateur
  • Calcul automatique des résultats en pourcentage
  • Date de fin configurable

Billetterie

  • Types de billets multiples avec prix
  • Achat sécurisé avec informations complètes
  • Numéros de billets uniques
  • Gestion des statuts (acheté, validé, annulé)

Sécurité

Authentification JWT

  • Tokens sécurisés avec expiration (24h)
  • Middleware d'authentification complet
  • Protection des endpoints sensibles

Autorisations

  • Contrôle d'accès basé sur les rôles
  • Vérification des permissions administrateur
  • Protection contre les modifications non autorisées

Architecture Technique

Technologies

  • Backend: Node.js avec Express.js
  • Base de données: MongoDB avec Mongoose ODM
  • Authentification: JWT (JSON Web Tokens)
  • Validation: ESLint avec règles strictes

Structure Modulaire

  • Contrôleurs séparés par fonctionnalité
  • Modèles de données normalisés
  • Middleware réutilisable
  • Configuration centralisée

Documentation

API Endpoints

  • Plus de 50 endpoints documentés
  • Support de la pagination sur toutes les listes
  • Format de réponse standardisé
  • Gestion d'erreurs cohérente

Guide de Développement

  • Instructions d'installation complètes
  • Configuration pour développement et production
  • Standards de code documentés
  • Guide de contribution

Installation Rapide

# Cloner le projet
git clone https://github.com/Xoriax/api_msn_tp.git
cd api_msn_tp

# Installer les dépendances
npm install

# Configurer les variables d'environnement
cp .env.example .env

# Démarrer en développement
npm run dev

Statistiques

  • Contrôleurs: 8 modules principaux
  • Modèles de données: 9 schemas MongoDB
  • Endpoints: 50+ routes API
  • Middleware: Authentification et autorisation
  • Lignes de code: ~2000 lignes

Configuration Requise

  • Node.js 16+
  • MongoDB (local ou Atlas)
  • npm ou yarn

Variables d'Environnement

PORT=3000
MONGODB_URI=mongodb://localhost:27017/facebook_events
JWT_SECRET=your-secret-key
NODE_ENV=development

Prochaines Étapes (v1.1)

  • Upload de fichiers pour photos
  • Notifications en temps réel
  • Cache Redis
  • Tests automatisés
  • Documentation Swagger/OpenAPI

Problèmes Connus

Aucun problème critique identifié dans cette version.


Date de release: 30 octobre 2025
Compatibilité: Node.js 16+, MongoDB 4.4+