from scripts.constants import app_constants
from flask_restplus import fields, Namespace

#

klbot_namespace = Namespace("KL Bot Module", path=app_constants.APIEndPoints.base_url)
insert_to_mongo = klbot_namespace.model("insert_to_mongo", {
    'name': fields.String(required=False),
    'email': fields.String(required=False),
    'phoneNumber': fields.String(required=False),
    'company': fields.String(required=False),
    'query':  fields.String(required=False),
    'request': fields.String(required=False),
    'product': fields.String(required=False),
})

# invoice_namespace = Namespace("Invoice Module", path=app_constants.APIEndPoints.base_url)
# get_invoice_result = invoice_namespace.model("get_invoice_result", {
#     'documentId': fields.String(required=True)
# })
#
# # retry_invoice = invoice_namespace.model("get_invoice_result", {
# #     'documentId': fields.String(required=True)
# # })
#
# register_details = invoice_namespace.model("register_details", {
#     'registerId': fields.String(required=True)
# })
#
# download_report = invoice_namespace.model("download_report", {
#     'fromDate': fields.Date(required=True),
#     'toDate': fields.Date(required=True),
#     'toEmail': fields.String(required=True),
#     'registerIdList': fields.List(fields.String(required=True))
# })
#
# get_job_status = invoice_namespace.model("get_job_status", {
#     'jobId': fields.List(fields.String(required=True))
# })
# invoices_for_register = invoice_namespace.model("invoices_for_register", {
#     'registerId': fields.String(required=True)
# })
# create_register = invoice_namespace.model("create_register", {
#     "registerName": fields.String(required=True),
#     "inboundModelId": fields.String(required=True),
#     "outboundModelId": fields.String(required=True),
# })
#
# create_model = invoice_namespace.model("create_model", {
#
#     "modelId": fields.String(required=True),
#     "trainedDocuments": fields.Integer(required=True),
#     "trainedLabels": fields.List(fields.String(required=True))
#
# })

# site_namespace = Namespace("Site Module", path=app_constants.APIEndPoints.base_url)
# service_namespace = Namespace("Service Module", path=app_constants.APIEndPoints.base_url)
# event_namespace = Namespace("Event Module", path=app_constants.APIEndPoints.base_url)
# user_namespace = Namespace("User Module", path=app_constants.APIEndPoints.base_url)
# alarm_namespace = Namespace("Alarm Module", path=app_constants.APIEndPoints.base_url)
#
# # alarm--------
#
# create_alarm_configuration = alarm_namespace.model("create_alarm_configuration", {
#     'id': fields.String(required=True),
#
# })
# #done
# get_alarm_configuration = alarm_namespace.model("get_alarm_configuration", {
#
#     'id': fields.String(required=True)
# })
# # done
# get_alarm_list = alarm_namespace.model("get_alarm_list", {
#
# })
#
# delete_alarm_configuration = alarm_namespace.model("delete_alarm_configuration", {
#     'id': fields.String(required=True)
# })
# # end
# # user-----------
# add_users = user_namespace.model("add_users", {
#     'emp_id': fields.String(required=True),
#     'emp_name': fields.String(required=True),
#     'emp_desg': fields.String(required=True),
#     'emp_loc': fields.String(required=True),
#     'emp_site': fields.String(required=True)
# })
#
# find_user = user_namespace.model("find_user", {
#     'emp_id': fields.String(required=True),
# })
#
# update_users = user_namespace.model("update_users", {
#     'emp_id': fields.String(required=True),
#     'emp_name': fields.String(required=True),
#     'emp_desg': fields.String(required=True),
#     'emp_loc': fields.String(required=True),
#     'emp_site': fields.String(required=True)
# })
#
# delete_users = user_namespace.model("delete_users", {
#     'emp_id': fields.String(required=True),
# })
# # test it
# record_stream = user_namespace.model("record_stream", {
#     'emp_id': fields.String(required=True),
#     'mqtt_topic': fields.String(required=True),
#     'action': fields.String(required=True)
#
# })
# # test it
# get_users_image = user_namespace.model("get_users_image", {
#     'emp_id': fields.String(required=True),
#
# })
# # test it
# get_images = user_namespace.model("get_images", {
#     'emp_id': fields.String(required=True),
#     'n': fields.String(required=True)
# })
# # test it
# train_user = user_namespace.model("train_user", {
#     'emp_id': fields.String(required=True),
# })
#
# # end user--------------
# # event------
# query_events = event_namespace.model("query_events", {
#
#     'from_date': fields.String(required=True),
#     'to_date': fields.String(required=True),
#     'page': fields.Integer(required=True),
#     'eventNumber': fields.Integer(required=True)
#
# })
# download_report = event_namespace.model("download_report", {
#
#     'from_date': fields.String(required=True),
#     'to_date': fields.String(required=True)
#
# })
# last_n_events = event_namespace.model("last_n_events", {
#
#     'page': fields.Integer(required=True),
#     'eventNumber': fields.Integer(required=True)
#
# })
# find_filter = event_namespace.model("find_filter", {
#     'eventtype': fields.String(required=True),
#     'page': fields.Integer(required=True),
#     'eventNumber': fields.Integer(required=True)
#
# })
#
# # end event-----
#
# # site--------------
#
# # end site----------------
#
# # service-----
#
# # end services--
#
# # Camera-------------------------------------------------------------------------
#
# add_camera = camera_namespace.model("add_camera", {
#
#     'disable': fields.String(required=True),
#     'cameraName': fields.String(required=True),
#     'cameraMake': fields.String(required=True),
#     'cameraModelNumber': fields.String(required=True),
#     'siteName': fields.String(required=True),
#     'subSiteName': fields.String(required=True),
#     'cameraRTSPUrl': fields.String(required=True),
#     'frameRate': fields.String(required=True),
#     'description': fields.String(required=True),
#     'width': fields.Integer(required=True),
#     'height': fields.Integer(required=True),
#     'ilens_device_id': fields.String(required=True),
#     'physical_device_group_id': fields.String(required=True),
#     'model_id': fields.String(required=True)
#
# })
#
# delete_camera = camera_namespace.model("delete_camera", {
#
#     'cameraId': fields.String(required=True)
#
# })
#
# update_camera = camera_namespace.model("update_camera", {
#     'cameraId': fields.String(required=True),
#     'disable': fields.String(required=True),
#     'cameraName': fields.String(required=True),
#     'cameraMake': fields.String(required=True),
#     'cameraModelNumber': fields.String(required=True),
#     'siteName': fields.String(required=True),
#     'subSiteName': fields.String(required=True),
#     'cameraRTSPUrl': fields.String(required=True),
#     'frameRate': fields.String(required=True),
#     'description': fields.String(required=True),
#     'width': fields.Integer(required=True),
#     'height': fields.Integer(required=True),
#     'ilens_device_id': fields.String(required=True),
#     'physical_device_group_id': fields.String(required=True),
#     'model_id': fields.String(required=True)
#
# })
#
# find_camera = camera_namespace.model("find_camera", {
#
#     'deviceList': fields.List(fields.String(required=True))
#
# })
#
# # End Camera-------------------------------------------------------------------------
