added booking details api endpoint
[laas.git] / src / api / urls.py
1 ##############################################################################
2 # Copyright (c) 2016 Max Breitenfeldt and others.
3 # Copyright (c) 2018 Sawyer Bergeron, Parker Berberian, and others
4 #
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
10
11
12 """
13 laas_dashboard URL Configuration.
14
15 The `urlpatterns` list routes URLs to views. For more information please see:
16     https://docs.djangoproject.com/en/1.10/topics/http/urls/
17 Examples:
18 Function views
19     1. Add an import:  from my_app import views
20     2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
21 Class-based views
22     1. Add an import:  from other_app.views import Home
23     2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
24 Including another URLconf
25     1. Import the include() function: from django.conf.urls import url, include
26     2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
27 """
28 from django.conf.urls import url
29 from django.urls import path
30
31 from api.views import (
32     lab_profile,
33     lab_status,
34     lab_inventory,
35     lab_downtime,
36     specific_job,
37     specific_task,
38     new_jobs,
39     current_jobs,
40     done_jobs,
41     update_host_bmc,
42     lab_host,
43     get_pdf,
44     get_idf,
45     lab_users,
46     lab_user,
47     GenerateTokenView,
48     analytics_job,
49     user_bookings,
50     specific_booking,
51     extend_booking,
52     make_booking,
53     list_labs,
54     all_users,
55     images_for_template,
56     available_templates,
57     resource_ci_metadata,
58     resource_ci_userdata,
59     resource_ci_userdata_directory,
60     all_images,
61     all_opsyss,
62     single_image,
63     single_opsys,
64     create_ci_file,
65     booking_details,
66 )
67
68 urlpatterns = [
69     path('labs/<slug:lab_name>/opsys/<slug:opsys_id>', single_opsys),
70     path('labs/<slug:lab_name>/image/<slug:image_id>', single_image),
71     path('labs/<slug:lab_name>/opsys', all_opsyss),
72     path('labs/<slug:lab_name>/image', all_images),
73     path('labs/<slug:lab_name>/profile', lab_profile),
74     path('labs/<slug:lab_name>/status', lab_status),
75     path('labs/<slug:lab_name>/inventory', lab_inventory),
76     path('labs/<slug:lab_name>/downtime', lab_downtime),
77     path('labs/<slug:lab_name>/hosts/<slug:host_id>', lab_host),
78     path('labs/<slug:lab_name>/hosts/<slug:host_id>/bmc', update_host_bmc),
79     path('labs/<slug:lab_name>/booking/<int:booking_id>/pdf', get_pdf, name="get-pdf"),
80     path('labs/<slug:lab_name>/booking/<int:booking_id>/idf', get_idf, name="get-idf"),
81     path('labs/<slug:lab_name>/jobs/<int:job_id>', specific_job),
82     path('labs/<slug:lab_name>/jobs/<int:job_id>/<slug:task_id>', specific_task),
83     path('labs/<slug:lab_name>/jobs/<int:job_id>/cidata/<slug:resource_id>/user-data', resource_ci_userdata_directory, name="specific-user-data"),
84     path('labs/<slug:lab_name>/jobs/<int:job_id>/cidata/<slug:resource_id>/meta-data', resource_ci_metadata, name="specific-meta-data"),
85     path('labs/<slug:lab_name>/jobs/<int:job_id>/cidata/<slug:resource_id>/<int:file_id>/user-data', resource_ci_userdata, name="user-data-dir"),
86     path('labs/<slug:lab_name>/jobs/new', new_jobs),
87     path('labs/<slug:lab_name>/jobs/current', current_jobs),
88     path('labs/<slug:lab_name>/jobs/done', done_jobs),
89     path('labs/<slug:lab_name>/jobs/getByType/DATA', analytics_job),
90     path('labs/<slug:lab_name>/users', lab_users),
91     path('labs/<slug:lab_name>/users/<int:user_id>', lab_user),
92
93     path('booking', user_bookings),
94     path('booking/<int:booking_id>', specific_booking),
95     path('booking/<int:booking_id>/extendBooking/<int:days>', extend_booking),
96     path('booking/makeBooking', make_booking),
97     path('booking/<int:booking_id>/details', booking_details),
98
99     path('resource_inventory/availableTemplates', available_templates),
100     path('resource_inventory/<int:template_id>/images', images_for_template),
101
102     path('resource_inventory/cloud/create', create_ci_file),
103
104     path('users', all_users),
105     path('labs', list_labs),
106
107     url(r'^token$', GenerateTokenView.as_view(), name='generate_token'),
108 ]