urls.py 5.96 KB
Newer Older
1
# -*- mode: python; coding: utf-8 -*-
Maël Kervella's avatar
Maël Kervella committed
2 3 4 5
# Re2o est un logiciel d'administration développé initiallement au rezometz. Il
# se veut agnostique au réseau considéré, de manière à être installable en
# quelques clics.
#
6
# Copyright © 2018 Maël Kervella
Maël Kervella's avatar
Maël Kervella committed
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

22
"""Defines the URLs of the API
Maël Kervella's avatar
Maël Kervella committed
23

24 25 26 27 28
A custom router is used to register all the routes. That allows to register
all the URL patterns from the viewsets as a standard router but, the views
can also be register. That way a complete API root page presenting all URLs
can be generated automatically.
"""
Maël Kervella's avatar
Maël Kervella committed
29

Maël Kervella's avatar
Maël Kervella committed
30
from django.conf.urls import url, include
Maël Kervella's avatar
Maël Kervella committed
31

32
from . import views
33 34
from .routers import AllViewsRouter

35

36
router = AllViewsRouter()
37
# COTISATIONS
Maël Kervella's avatar
Maël Kervella committed
38 39 40 41 42 43
router.register_viewset(r'cotisations/facture', views.FactureViewSet)
router.register_viewset(r'cotisations/vente', views.VenteViewSet)
router.register_viewset(r'cotisations/article', views.ArticleViewSet)
router.register_viewset(r'cotisations/banque', views.BanqueViewSet)
router.register_viewset(r'cotisations/paiement', views.PaiementViewSet)
router.register_viewset(r'cotisations/cotisation', views.CotisationViewSet)
44
# MACHINES
Maël Kervella's avatar
Maël Kervella committed
45 46 47 48
router.register_viewset(r'machines/machine', views.MachineViewSet)
router.register_viewset(r'machines/machinetype', views.MachineTypeViewSet)
router.register_viewset(r'machines/iptype', views.IpTypeViewSet)
router.register_viewset(r'machines/vlan', views.VlanViewSet)
49 50
router.register_viewset(r'machines/nas', views.NasViewSet)
router.register_viewset(r'machines/soa', views.SOAViewSet)
Maël Kervella's avatar
Maël Kervella committed
51
router.register_viewset(r'machines/extension', views.ExtensionViewSet)
52 53 54
router.register_viewset(r'machines/mx', views.MxViewSet)
router.register_viewset(r'machines/ns', views.NsViewSet)
router.register_viewset(r'machines/txt', views.TxtViewSet)
55
router.register_viewset(r'machines/dname', views.DNameViewSet)
56
router.register_viewset(r'machines/srv', views.SrvViewSet)
57
router.register_viewset(r'machines/sshfp', views.SshFpViewSet)
Maël Kervella's avatar
Maël Kervella committed
58 59 60 61 62 63 64 65
router.register_viewset(r'machines/interface', views.InterfaceViewSet)
router.register_viewset(r'machines/ipv6list', views.Ipv6ListViewSet)
router.register_viewset(r'machines/domain', views.DomainViewSet)
router.register_viewset(r'machines/iplist', views.IpListViewSet)
router.register_viewset(r'machines/service', views.ServiceViewSet)
router.register_viewset(r'machines/servicelink', views.ServiceLinkViewSet, base_name='servicelink')
router.register_viewset(r'machines/ouvertureportlist', views.OuverturePortListViewSet)
router.register_viewset(r'machines/ouvertureport', views.OuverturePortViewSet)
66
# PREFERENCES
67 68 69 70
router.register_view(r'preferences/optionaluser', views.OptionalUserView),
router.register_view(r'preferences/optionalmachine', views.OptionalMachineView),
router.register_view(r'preferences/optionaltopologie', views.OptionalTopologieView),
router.register_view(r'preferences/generaloption', views.GeneralOptionView),
71
router.register_viewset(r'preferences/service', views.HomeServiceViewSet, base_name='homeservice'),
72 73 74
router.register_view(r'preferences/assooption', views.AssoOptionView),
router.register_view(r'preferences/homeoption', views.HomeOptionView),
router.register_view(r'preferences/mailmessageoption', views.MailMessageOptionView),
75
# TOPOLOGIE
76 77 78
router.register_viewset(r'topologie/stack', views.StackViewSet)
router.register_viewset(r'topologie/acesspoint', views.AccessPointViewSet)
router.register_viewset(r'topologie/switch', views.SwitchViewSet)
79
router.register_viewset(r'topologie/server', views.ServerViewSet)
80 81 82 83 84 85
router.register_viewset(r'topologie/modelswitch', views.ModelSwitchViewSet)
router.register_viewset(r'topologie/constructorswitch', views.ConstructorSwitchViewSet)
router.register_viewset(r'topologie/switchbay', views.SwitchBayViewSet)
router.register_viewset(r'topologie/building', views.BuildingViewSet)
router.register_viewset(r'topologie/switchport', views.SwitchPortViewSet, base_name='switchport')
router.register_viewset(r'topologie/room', views.RoomViewSet)
86
# USERS
Maël Kervella's avatar
Maël Kervella committed
87 88 89 90 91 92 93 94 95
router.register_viewset(r'users/user', views.UserViewSet)
router.register_viewset(r'users/club', views.ClubViewSet)
router.register_viewset(r'users/adherent', views.AdherentViewSet)
router.register_viewset(r'users/serviceuser', views.ServiceUserViewSet)
router.register_viewset(r'users/school', views.SchoolViewSet)
router.register_viewset(r'users/listright', views.ListRightViewSet)
router.register_viewset(r'users/shell', views.ShellViewSet, base_name='shell')
router.register_viewset(r'users/ban', views.BanViewSet)
router.register_viewset(r'users/whitelist', views.WhitelistViewSet)
96
router.register_viewset(r'users/emailaddress', views.EMailAddressViewSet)
97
# SERVICE REGEN
98 99 100
router.register_viewset(r'services/regen', views.ServiceRegenViewSet, base_name='serviceregen')
# DHCP
router.register_view(r'dhcp/hostmacip', views.HostMacIpView),
101 102
# LOCAL EMAILS
router.register_view(r'localemail/users', views.LocalEmailUsersView),
103 104
# Firewall
router.register_view(r'firewall/subnet-ports', views.SubnetPortsOpenView),
105 106
# DNS
router.register_view(r'dns/zones', views.DNSZonesView),
107
router.register_view(r'dns/reverse-zones', views.DNSReverseZonesView),
108 109 110
# MAILING
router.register_view(r'mailing/standard', views.StandardMailingView),
router.register_view(r'mailing/club', views.ClubMailingView),
111
# TOKEN AUTHENTICATION
112
router.register_view(r'token-auth', views.ObtainExpiringAuthToken)
113

114

Maël Kervella's avatar
Maël Kervella committed
115
urlpatterns = [
Maël Kervella's avatar
Maël Kervella committed
116
    url(r'^', include(router.urls)),
Maël Kervella's avatar
Maël Kervella committed
117
]