# (c) cavaliba.com - data - urls_api.py

from django.urls import path

from app_data import api

# url namespace
app_name = "api"


# first match is used
urlpatterns = [
    # ping / no auth
    path("", api.ping.index, name="api"),
    path("ping/", api.ping.ping, name="api_ping"),
    # test
    path("test/", api.testapi.testapi, name="api_test"),
    path("version/", api.version.version, name="api_version"),
    path("info/", api.info.info, name="api_info"),
    # schemas
    path("schemas/", api.schema.schema, name="api_schema"),
    path("schemas/<int:id>/", api.schema.schema, name="api_schema"),
    path("schemas/<str:skey>/", api.schema.schema, name="api_schema"),
    # assets
    path("assets/", api.asset.asset, name="api_asset"),
    path("assets/<int:id>/", api.asset.asset, name="api_asset"),
    path("assets/<str:skey>/", api.asset.asset, name="api_asset"),
    path("assets/<str:skey>/<str:key>/", api.asset.asset, name="api_asset"),
    # rawfile
    path("rawfile/", api.rawfile.rawfile, name="api_rawfile"),
    # load
    path("load/", api.load.load, name="api_load"),
    # app_status
    path("appstatus/worklist/", api.app_status.worklist, name="api_appstatus_worklist"),
    # path('appstatus/workresult/', api.app_status.workresult, name='api_appstatus_workresult'),
    # permissions
    path("permissions/", api.permission.permission, name="api_permission"),
    path("permissions/<int:id>/", api.permission.permission, name="api_permission"),
    path("permissions/<str:key>/", api.permission.permission, name="api_permission"),
    # keyname
    path("keyname/", api.keyname.keyname, name="api_keyname"),
    # pipeline
    path("pipelines/", api.pipeline.pipeline_list, name="api_pipeline_list"),
    path("pipelines/<int:id>/", api.pipeline.pipeline, name="api_pipeline"),
    path("pipelines/<str:key>/", api.pipeline.pipeline, name="api_pipeline"),
    # tasks
    path("tasks/", api.task.task_list, name="api_task_list"),
    path("tasks/<uuid:handle>/", api.task.task_detail, name="api_task_detail"),
    path("tasks/<uuid:handle>/stop/", api.task.task_stop, name="api_task_stop"),
    # permission
    # sirene
    # ipam
    # revision
    # status
    # speed
    # log
    # stats
    # admintools
]
