@startuml

header Bing Resy Sequence Diagram
footer Page %page% of %lastpage%
title "Create Restaurants (POST)"

participant "client" as client
participant "<<JavaScript>>\nserver" as server
participant "<<Router>>\nrestaurants" as restaurantsRouter
participant "<<Controller>>\nrestaurants" as restaurantsController
participant "<<Model>>\nrestaurants" as restaurantsModel
database "<<MongoDB>>\nrestaurants" as restaurantsDatabase

client -> server ++: req.post("/api/v1/restaurant/:id")
server -> restaurantsRouter ++: app.use("/api/v1/restaurants",restaurantRouter)
restaurantsRouter -> restaurantsController ++: createRestaurant()
alt isn't admin
    restaurantsController -> client ++: response status 400
else is admin
    restaurantsController -> restaurantsModel ++: Restaurant.create(req.body)
    restaurantsModel -> restaurantsDatabase ++:RestaurantSchema
    restaurantsDatabase -> restaurantsModel --:restaurants
    restaurantsModel -> restaurantsController --:restaurants
    restaurantsController -> client ++:response
end

@enduml