98 lines
3.9 KiB
Python
98 lines
3.9 KiB
Python
import openapi_client
|
|
from openapi_client.rest import ApiException
|
|
from openapi_client.models.create_customer_request import CreateCustomerRequest
|
|
from openapi_client.models.update_customer_request import UpdateCustomerRequest
|
|
import os
|
|
import sys
|
|
|
|
def cmdline_options():
|
|
print("Options:")
|
|
print(" --post-customer=[id]")
|
|
print(" --get-customer=[id]")
|
|
print(" --delete-customer=[id]")
|
|
print(" --patch-customer=[id]")
|
|
print(" --get-restaurant-menu=[id]")
|
|
print(" --get-restaurants")
|
|
|
|
def api():
|
|
configuration = openapi_client.Configuration(
|
|
host = "http://localhost:4004"
|
|
)
|
|
|
|
# The client must configure the authentication and authorization parameters
|
|
# in accordance with the API server security policy.
|
|
# Examples for each auth method are provided below, use the example that
|
|
# satisfies your auth use case.
|
|
|
|
# Configure HTTP basic authorization: BasicAuth
|
|
configuration = openapi_client.Configuration(
|
|
username = os.environ["USERNAME"],
|
|
password = os.environ["PASSWORD"]
|
|
)
|
|
|
|
if len(sys.argv) <= 1:
|
|
cmdline_options()
|
|
return
|
|
|
|
|
|
with openapi_client.ApiClient(configuration) as api_client:
|
|
api_instance = openapi_client.CustomersApi(api_client)
|
|
api_res_instance = openapi_client.RestaurantsApi(api_client)
|
|
|
|
if "=" in sys.argv[1]:
|
|
arg, id = sys.argv[1].split("=")
|
|
match arg:
|
|
case "--post-customer":
|
|
try:
|
|
print("Customer name:")
|
|
name = input()
|
|
print("Customer email:")
|
|
email = input()
|
|
result = api_instance.customers_post(CreateCustomerRequest(name=name, email=email), id)
|
|
print(result)
|
|
except ApiException as e:
|
|
print("Exception when calling CustomersApi->customers_post: %s\n" % e)
|
|
case "--get-customer":
|
|
try:
|
|
result = api_instance.customers_id_get(id)
|
|
print(result)
|
|
except ApiException as e:
|
|
print("Exception when calling CustomersApi->customers_id_get: %s\n" % e)
|
|
case "--delete-customer":
|
|
try:
|
|
result = api_instance.customers_id_delete(id)
|
|
print(result)
|
|
except ApiException as e:
|
|
print("Exception when calling CustomersApi->customers_id_delete: %s\n" % e)
|
|
case "--patch-customer":
|
|
try:
|
|
print("Customer name:")
|
|
name = input()
|
|
print("Customer email:")
|
|
email = input()
|
|
result = api_instance.customers_id_patch(id, UpdateCustomerRequest(name=name, email=email))
|
|
print(result)
|
|
except ApiException as e:
|
|
print("Exception when calling CustomersApi->customers_id_patch: %s\n" % e)
|
|
case "--get-restaurant-menu":
|
|
try:
|
|
result = api_res_instance.restaurants_id_menu_get(id)
|
|
print(result)
|
|
except ApiException as e:
|
|
print("Exception when calling RestaurantsApi->restaurants_id_menu_get: %s\n" % e)
|
|
case _:
|
|
cmdline_options()
|
|
else:
|
|
arg = sys.argv[1]
|
|
match arg:
|
|
case "--get-restaurants":
|
|
try:
|
|
result = api_res_instance.restaurants_get()
|
|
print(result)
|
|
except ApiException as e:
|
|
print("Exception when calling RestaurantsApi->restaurants_get: %s\n" % e)
|
|
case _:
|
|
cmdline_options()
|
|
|
|
if __name__ == "__main__":
|
|
api() |