{
    "openapi": "3.0.0",
    "info": {
        "title": "API BOOKING",
        "description": "Documentation de l'API pour l'application booking",
        "version": "1.0.0"
    },
    "paths": {
        "/api/user/all-user": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "Récupérer tout les utilisateus",
                "operationId": "14f71f48e2766f0720efa344a933f3d2",
                "responses": {
                    "200": {
                        "description": "Utilisateur récupéré avec succès",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "example": 1
                                        },
                                        "nom": {
                                            "type": "string",
                                            "example": "Doe"
                                        },
                                        "prenom": {
                                            "type": "string",
                                            "example": "John"
                                        },
                                        "email": {
                                            "type": "string",
                                            "example": "john@example.com"
                                        },
                                        "password": {
                                            "type": "string",
                                            "example": "Password123!"
                                        },
                                        "phone_number": {
                                            "type": "integer",
                                            "example": 775890000
                                        },
                                        "adresse": {
                                            "type": "string",
                                            "example": "Dakar"
                                        },
                                        "date_naissance": {
                                            "type": "string",
                                            "example": "1992-08-10"
                                        },
                                        "role": {
                                            "type": "string",
                                            "example": "admin"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Aucun utilisateur  trouvé"
                    }
                }
            }
        },
        "/api/users/add-user": {
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Créer un utilisateur",
                "operationId": "ed68847ce91ea6fc5e770898a8fbd0a4",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "nom",
                                    "prenom",
                                    "email",
                                    "password",
                                    "phone_number",
                                    "adresse",
                                    "date_naissance",
                                    "role"
                                ],
                                "properties": {
                                    "nom": {
                                        "type": "string",
                                        "example": "Doe"
                                    },
                                    "prenom": {
                                        "type": "string",
                                        "example": "John"
                                    },
                                    "email": {
                                        "type": "string",
                                        "example": "john@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "Password123!"
                                    },
                                    "phone_number": {
                                        "type": "integer",
                                        "example": 775890000
                                    },
                                    "adresse": {
                                        "type": "string",
                                        "example": "Dakar"
                                    },
                                    "date_naissance": {
                                        "type": "string",
                                        "example": "1992-08-10"
                                    },
                                    "role": {
                                        "type": "string",
                                        "example": "admin"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Utilisateur créé avec succès"
                    },
                    "409": {
                        "description": "Email existe déjà"
                    },
                    "422": {
                        "description": "Données invalides"
                    }
                }
            }
        },
        "/api/users/{id}": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "Récupérer un utilisateur par ID",
                "operationId": "0b64766f7dc2285ea37c88f2b8a816f9",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID de l'utilisateur",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Utilisateur récupéré avec succès",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "example": 1
                                        },
                                        "nom": {
                                            "type": "string",
                                            "example": "Doe"
                                        },
                                        "prenom": {
                                            "type": "string",
                                            "example": "John"
                                        },
                                        "email": {
                                            "type": "string",
                                            "example": "john@example.com"
                                        },
                                        "password": {
                                            "type": "string",
                                            "example": "Password123!"
                                        },
                                        "phone_number": {
                                            "type": "integer",
                                            "example": 775890000
                                        },
                                        "adresse": {
                                            "type": "string",
                                            "example": "Dakar"
                                        },
                                        "date_naissance": {
                                            "type": "string",
                                            "example": "1992-08-10"
                                        },
                                        "role": {
                                            "type": "string",
                                            "example": "admin"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Utilisateur non trouvé"
                    }
                }
            }
        },
        "/api/user/login": {
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Connexion  utilisateur",
                "operationId": "fcf1eca20c6946fa93455fb095b7ba76",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email",
                                    "password"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "example": "john@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "example": "Password123!"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Connexion établie avec succès"
                    },
                    "409": {
                        "description": "Données invalides"
                    },
                    "422": {
                        "description": "Données invalides"
                    }
                }
            }
        }
    },
    "tags": [
        {
            "name": "Users",
            "description": "Users"
        }
    ]
}