Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
re2o
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nounous
re2o
Commits
7daa5366
Commit
7daa5366
authored
Apr 26, 2018
by
Maël Kervella
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cleanup API
parent
b1738f18
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
26 additions
and
1002 deletions
+26
-1002
api/serializers.py
api/serializers.py
+26
-413
api/urls.py
api/urls.py
+0
-38
api/views.py
api/views.py
+0
-551
No files found.
api/serializers.py
View file @
7daa5366
...
...
@@ -178,6 +178,7 @@ class SrvSerializer(NamespacedHMSerializer):
class
InterfaceSerializer
(
NamespacedHMSerializer
):
mac_address
=
serializers
.
CharField
()
active
=
serializers
.
BooleanField
(
source
=
'is_active'
)
class
Meta
:
...
...
@@ -218,6 +219,9 @@ class ServiceLinkSerializer(NamespacedHMSerializer):
model
=
machines
.
Service_link
fields
=
(
'service'
,
'server'
,
'last_regen'
,
'asked_regen'
,
'need_regen'
,
'api_url'
)
extra_kwargs
=
{
'api_url'
:
{
'view_name'
:
'servicelink-detail'
}
}
class
OuverturePortListSerializer
(
NamespacedHMSerializer
):
...
...
@@ -319,8 +323,8 @@ class SwitchSerializer(NamespacedHMSerializer):
port_amount
=
serializers
.
IntegerField
(
source
=
'number'
)
class
Meta
:
model
=
topologie
.
Switch
fields
=
(
'
port_amount'
,
'stack'
,
'stack_member_id'
,
'model
'
,
'switchbay'
,
'api_url'
)
fields
=
(
'
user'
,
'name'
,
'active'
,
'port_amount'
,
'stack
'
,
's
tack_member_id'
,
'model'
,
's
witchbay'
,
'api_url'
)
class
ModelSwitchSerializer
(
NamespacedHMSerializer
):
...
...
@@ -352,6 +356,10 @@ class SwitchPortSerializer(NamespacedHMSerializer):
model
=
topologie
.
Port
fields
=
(
'switch'
,
'port'
,
'room'
,
'machine_interface'
,
'related'
,
'radius'
,
'vlan_force'
,
'details'
,
'api_url'
)
extra_kwargs
=
{
'related'
:
{
'view_name'
:
'switchport-detail'
},
'api_url'
:
{
'view_name'
:
'switchport-detail'
}
}
class
RoomSerializer
(
NamespacedHMSerializer
):
...
...
@@ -370,8 +378,11 @@ class UserSerializer(NamespacedHMSerializer):
class
Meta
:
model
=
users
.
User
fields
=
(
'name'
,
'pseudo'
,
'email'
,
'school'
,
'shell'
,
'comment'
,
'state'
,
'registered'
,
'telephone'
,
'solde'
,
#'room',
'access'
,
'end_access'
,
'uid'
,
'class_name'
,
'api_url'
)
'state'
,
'registered'
,
'telephone'
,
'solde'
,
'access'
,
'end_access'
,
'uid'
,
'class_name'
,
'api_url'
)
extra_kwargs
=
{
'shell'
:
{
'view_name'
:
'shell-detail'
}
}
class
ClubSerializer
(
NamespacedHMSerializer
):
...
...
@@ -382,9 +393,12 @@ class ClubSerializer(NamespacedHMSerializer):
class
Meta
:
model
=
users
.
Club
fields
=
(
'name'
,
'pseudo'
,
'email'
,
'school'
,
'shell'
,
'comment'
,
'state'
,
'registered'
,
'telephone'
,
'solde'
,
#
'room',
'state'
,
'registered'
,
'telephone'
,
'solde'
,
'room'
,
'access'
,
'end_access'
,
'administrators'
,
'members'
,
'mailing'
,
'uid'
,
'api_url'
)
extra_kwargs
=
{
'shell'
:
{
'view_name'
:
'shell-detail'
}
}
class
AdherentSerializer
(
NamespacedHMSerializer
):
...
...
@@ -394,8 +408,11 @@ class AdherentSerializer(NamespacedHMSerializer):
class
Meta
:
model
=
users
.
Adherent
fields
=
(
'name'
,
'surname'
,
'pseudo'
,
'email'
,
'school'
,
'shell'
,
'comment'
,
'state'
,
'registered'
,
'telephone'
,
#
'room',
'comment'
,
'state'
,
'registered'
,
'telephone'
,
'room'
,
'solde'
,
'access'
,
'end_access'
,
'uid'
,
'api_url'
)
extra_kwargs
=
{
'shell'
:
{
'view_name'
:
'shell-detail'
}
}
class
ServiceUserSerializer
(
NamespacedHMSerializer
):
...
...
@@ -420,6 +437,9 @@ class ShellSerializer(NamespacedHMSerializer):
class
Meta
:
model
=
users
.
ListShell
fields
=
(
'shell'
,
'api_url'
)
extra_kwargs
=
{
'api_url'
:
{
'view_name'
:
'shell-detail'
}
}
class
BanSerializer
(
NamespacedHMSerializer
):
...
...
@@ -437,410 +457,3 @@ class WhitelistSerializer(NamespacedHMSerializer):
class
Meta
:
model
=
users
.
Whitelist
fields
=
(
'user'
,
'raison'
,
'date_start'
,
'date_end'
,
'active'
,
'api_url'
)
# class ServiceLinkSerializer(serializers.ModelSerializer):
# """ Serializer for the ServiceLink objects """
#
# name = serializers.CharField(source='service.service_type')
#
# class Meta:
# model = Service_link
# fields = ('name',)
#
#
# class MailingSerializer(serializers.ModelSerializer):
# """ Serializer to build Mailing objects """
#
# name = serializers.CharField(source='pseudo')
#
# class Meta:
# model = Club
# fields = ('name',)
#
#
# class MailingMemberSerializer(serializers.ModelSerializer):
# """ Serializer fot the Adherent objects (who belong to a
# Mailing) """
#
# class Meta:
# model = Adherent
# fields = ('email',)
#
#
# class IpTypeField(serializers.RelatedField):
# """ Serializer for an IpType object field """
#
# def to_representation(self, value):
# return value.type
#
# def to_internal_value(self, data):
# pass
#
#
# class IpListSerializer(serializers.ModelSerializer):
# """ Serializer for an Ipv4List obejct using the IpType serialization """
#
# ip_type = IpTypeField(read_only=True)
#
# class Meta:
# model = IpList
# fields = ('ipv4', 'ip_type')
#
#
# class Ipv6ListSerializer(serializers.ModelSerializer):
# """ Serializer for an Ipv6List object """
#
# class Meta:
# model = Ipv6List
# fields = ('ipv6', 'slaac_ip')
#
#
# class InterfaceSerializer(serializers.ModelSerializer):
# """ Serializer for an Interface object. Use SerializerMethodField
# to get ForeignKey values """
#
# ipv4 = IpListSerializer(read_only=True)
# # TODO : use serializer.RelatedField to avoid duplicate code
# mac_address = serializers.SerializerMethodField('get_macaddress')
# domain = serializers.SerializerMethodField('get_dns')
# extension = serializers.SerializerMethodField('get_interface_extension')
#
# class Meta:
# model = Interface
# fields = ('ipv4', 'mac_address', 'domain', 'extension')
#
# @staticmethod
# def get_dns(obj):
# """ The name of the associated DNS object """
# return obj.domain.name
#
# @staticmethod
# def get_interface_extension(obj):
# """ The name of the associated Interface object """
# return obj.domain.extension.name
#
# @staticmethod
# def get_macaddress(obj):
# """ The string representation of the associated MAC address """
# return str(obj.mac_address)
#
#
# class FullInterfaceSerializer(serializers.ModelSerializer):
# """ Serializer for an Interface obejct. Use SerializerMethodField
# to get ForeignKey values """
#
# ipv4 = IpListSerializer(read_only=True)
# ipv6 = Ipv6ListSerializer(read_only=True, many=True)
# # TODO : use serializer.RelatedField to avoid duplicate code
# mac_address = serializers.SerializerMethodField('get_macaddress')
# domain = serializers.SerializerMethodField('get_dns')
# extension = serializers.SerializerMethodField('get_interface_extension')
#
# class Meta:
# model = Interface
# fields = ('ipv4', 'ipv6', 'mac_address', 'domain', 'extension')
#
# @staticmethod
# def get_dns(obj):
# """ The name of the associated DNS object """
# return obj.domain.name
#
# @staticmethod
# def get_interface_extension(obj):
# """ The name of the associated Extension object """
# return obj.domain.extension.name
#
# @staticmethod
# def get_macaddress(obj):
# """ The string representation of the associated MAC address """
# return str(obj.mac_address)
#
#
# class ExtensionNameField(serializers.RelatedField):
# """ Serializer for Extension object field """
#
# def to_representation(self, value):
# return value.name
#
# def to_internal_value(self, data):
# pass
#
#
# class TypeSerializer(serializers.ModelSerializer):
# """ Serializer for an IpType object. Use SerializerMethodField to
# get ForeignKey values """
#
# extension = ExtensionNameField(read_only=True)
# ouverture_ports_tcp_in = serializers\
# .SerializerMethodField('get_port_policy_input_tcp')
# ouverture_ports_tcp_out = serializers\
# .SerializerMethodField('get_port_policy_output_tcp')
# ouverture_ports_udp_in = serializers\
# .SerializerMethodField('get_port_policy_input_udp')
# ouverture_ports_udp_out = serializers\
# .SerializerMethodField('get_port_policy_output_udp')
#
# class Meta:
# model = IpType
# fields = ('type', 'extension', 'domaine_ip_start', 'domaine_ip_stop',
# 'prefix_v6',
# 'ouverture_ports_tcp_in', 'ouverture_ports_tcp_out',
# 'ouverture_ports_udp_in', 'ouverture_ports_udp_out',)
#
# @staticmethod
# def get_port_policy(obj, protocole, io):
# """ Generic utility function to get the policy for a given
# port, protocole and IN or OUT """
# if obj.ouverture_ports is None:
# return []
# return map(
# str,
# obj.ouverture_ports.ouvertureport_set.filter(
# protocole=protocole
# ).filter(io=io)
# )
#
# def get_port_policy_input_tcp(self, obj):
# """Renvoie la liste des ports ouverts en entrée tcp"""
# return self.get_port_policy(obj, OuverturePort.TCP, OuverturePort.IN)
#
# def get_port_policy_output_tcp(self, obj):
# """Renvoie la liste des ports ouverts en sortie tcp"""
# return self.get_port_policy(obj, OuverturePort.TCP, OuverturePort.OUT)
#
# def get_port_policy_input_udp(self, obj):
# """Renvoie la liste des ports ouverts en entrée udp"""
# return self.get_port_policy(obj, OuverturePort.UDP, OuverturePort.IN)
#
# def get_port_policy_output_udp(self, obj):
# """Renvoie la liste des ports ouverts en sortie udp"""
# return self.get_port_policy(obj, OuverturePort.UDP, OuverturePort.OUT)
#
#
# class ExtensionSerializer(serializers.ModelSerializer):
# """Serialisation d'une extension : origin_ip et la zone sont
# des foreign_key donc evalués en get_..."""
# origin = serializers.SerializerMethodField('get_origin_ip')
# zone_entry = serializers.SerializerMethodField('get_zone_name')
# soa = serializers.SerializerMethodField('get_soa_data')
#
# class Meta:
# model = Extension
# fields = ('name', 'origin', 'origin_v6', 'zone_entry', 'soa')
#
# @staticmethod
# def get_origin_ip(obj):
# """ The IP of the associated origin for the zone """
# return obj.origin.ipv4
#
# @staticmethod
# def get_zone_name(obj):
# """ The name of the associated zone """
# return str(obj.dns_entry)
#
# @staticmethod
# def get_soa_data(obj):
# """ The representation of the associated SOA """
# return {'mail': obj.soa.dns_soa_mail, 'param': obj.soa.dns_soa_param}
#
#
# class MxSerializer(serializers.ModelSerializer):
# """Serialisation d'un MX, evaluation du nom, de la zone
# et du serveur cible, etant des foreign_key"""
# name = serializers.SerializerMethodField('get_entry_name')
# zone = serializers.SerializerMethodField('get_zone_name')
# mx_entry = serializers.SerializerMethodField('get_mx_name')
#
# class Meta:
# model = Mx
# fields = ('zone', 'priority', 'name', 'mx_entry')
#
# @staticmethod
# def get_entry_name(obj):
# """ The name of the DNS MX entry """
# return str(obj.name)
#
# @staticmethod
# def get_zone_name(obj):
# """ The name of the associated zone of the MX record """
# return obj.zone.name
#
# @staticmethod
# def get_mx_name(obj):
# """ The string representation of the entry to add to the DNS """
# return str(obj.dns_entry)
#
#
# class TxtSerializer(serializers.ModelSerializer):
# """Serialisation d'un txt : zone cible et l'entrée txt
# sont evaluées à part"""
# zone = serializers.SerializerMethodField('get_zone_name')
# txt_entry = serializers.SerializerMethodField('get_txt_name')
#
# class Meta:
# model = Txt
# fields = ('zone', 'txt_entry', 'field1', 'field2')
#
# @staticmethod
# def get_zone_name(obj):
# """ The name of the associated zone """
# return str(obj.zone.name)
#
# @staticmethod
# def get_txt_name(obj):
# """ The string representation of the entry to add to the DNS """
# return str(obj.dns_entry)
#
#
# class SrvSerializer(serializers.ModelSerializer):
# """Serialisation d'un srv : zone cible et l'entrée txt"""
# extension = serializers.SerializerMethodField('get_extension_name')
# srv_entry = serializers.SerializerMethodField('get_srv_name')
#
# class Meta:
# model = Srv
# fields = (
# 'service',
# 'protocole',
# 'extension',
# 'ttl',
# 'priority',
# 'weight',
# 'port',
# 'target',
# 'srv_entry'
# )
#
# @staticmethod
# def get_extension_name(obj):
# """ The name of the associated extension """
# return str(obj.extension.name)
#
# @staticmethod
# def get_srv_name(obj):
# """ The string representation of the entry to add to the DNS """
# return str(obj.dns_entry)
#
#
# class NsSerializer(serializers.ModelSerializer):
# """Serialisation d'un NS : la zone, l'entrée ns complète et le serveur
# ns sont évalués à part"""
# zone = serializers.SerializerMethodField('get_zone_name')
# ns = serializers.SerializerMethodField('get_domain_name')
# ns_entry = serializers.SerializerMethodField('get_text_name')
#
# class Meta:
# model = Ns
# fields = ('zone', 'ns', 'ns_entry')
#
# @staticmethod
# def get_zone_name(obj):
# """ The name of the associated zone """
# return obj.zone.name
#
# @staticmethod
# def get_domain_name(obj):
# """ The name of the associated NS target """
# return str(obj.ns)
#
# @staticmethod
# def get_text_name(obj):
# """ The string representation of the entry to add to the DNS """
# return str(obj.dns_entry)
#
#
# class DomainSerializer(serializers.ModelSerializer):
# """Serialisation d'un domain, extension, cname sont des foreign_key,
# et l'entrée complète, sont évalués à part"""
# extension = serializers.SerializerMethodField('get_zone_name')
# cname = serializers.SerializerMethodField('get_alias_name')
# cname_entry = serializers.SerializerMethodField('get_cname_name')
#
# class Meta:
# model = Domain
# fields = ('name', 'extension', 'cname', 'cname_entry')
#
# @staticmethod
# def get_zone_name(obj):
# """ The name of the associated zone """
# return obj.extension.name
#
# @staticmethod
# def get_alias_name(obj):
# """ The name of the associated alias """
# return str(obj.cname)
#
# @staticmethod
# def get_cname_name(obj):
# """ The name of the associated CNAME target """
# return str(obj.dns_entry)
#
#
# class ServicesSerializer(serializers.ModelSerializer):
# """Evaluation d'un Service, et serialisation"""
# server = serializers.SerializerMethodField('get_server_name')
# service = serializers.SerializerMethodField('get_service_name')
# need_regen = serializers.SerializerMethodField('get_regen_status')
#
# class Meta:
# model = Service_link
# fields = ('server', 'service', 'need_regen')
#
# @staticmethod
# def get_server_name(obj):
# """ The name of the associated server """
# return str(obj.server.domain.name)
#
# @staticmethod
# def get_service_name(obj):
# """ The name of the service name """
# return str(obj.service)
#
# @staticmethod
# def get_regen_status(obj):
# """ The string representation of the regen status """
# return obj.need_regen()
#
#
# class OuverturePortsSerializer(serializers.Serializer):
# """Serialisation de l'ouverture des ports"""
# ipv4 = serializers.SerializerMethodField()
# ipv6 = serializers.SerializerMethodField()
#
# def create(self, validated_data):
# """ Creates a new object based on the un-serialized data.
# Used to implement an abstract inherited method """
# pass
#
# def update(self, instance, validated_data):
# """ Updates an object based on the un-serialized data.
# Used to implement an abstract inherited method """
# pass
#
# @staticmethod
# def get_ipv4():
# """ The representation of the policy for the IPv4 addresses """
# return {
# i.ipv4.ipv4: {
# "tcp_in": [j.tcp_ports_in() for j in i.port_lists.all()],
# "tcp_out": [j.tcp_ports_out()for j in i.port_lists.all()],
# "udp_in": [j.udp_ports_in() for j in i.port_lists.all()],
# "udp_out": [j.udp_ports_out() for j in i.port_lists.all()],
# }
# for i in Interface.objects.all() if i.ipv4
# }
#
# @staticmethod
# def get_ipv6():
# """ The representation of the policy for the IPv6 addresses """
# return {
# i.ipv6: {
# "tcp_in": [j.tcp_ports_in() for j in i.port_lists.all()],
# "tcp_out": [j.tcp_ports_out()for j in i.port_lists.all()],
# "udp_in": [j.udp_ports_in() for j in i.port_lists.all()],
# "udp_out": [j.udp_ports_out() for j in i.port_lists.all()],
# }
# for i in Interface.objects.all() if i.ipv6
# }
api/urls.py
View file @
7daa5366
...
...
@@ -90,42 +90,4 @@ router.register(r'users/whitelists', views.WhitelistViewSet)
urlpatterns
=
[
url
(
r
'^'
,
include
(
router
.
urls
)),
url
(
r
'^token-auth/'
,
views
.
ObtainExpiringAuthToken
.
as_view
())
# # Services
# url(r'^services/$', views.services),
# url(
# r'^services/(?P<server_name>\w+)/(?P<service_name>\w+)/regen/$',
# views.services_server_service_regen
# ),
# url(r'^services/(?P<server_name>\w+)/$', views.services_server),
#
# # DNS
# url(r'^dns/mac-ip-dns/$', views.dns_mac_ip_dns),
# url(r'^dns/alias/$', views.dns_alias),
# url(r'^dns/corresp/$', views.dns_corresp),
# url(r'^dns/mx/$', views.dns_mx),
# url(r'^dns/ns/$', views.dns_ns),
# url(r'^dns/txt/$', views.dns_txt),
# url(r'^dns/srv/$', views.dns_srv),
# url(r'^dns/zones/$', views.dns_zones),
#
# # Unifi controler AP names
# url(r'^unifi/ap_names/$', views.accesspoint_ip_dns),
#
# # Firewall
# url(r'^firewall/ouverture_ports/$', views.firewall_ouverture_ports),
#
# # DHCP
# url(r'^dhcp/mac-ip/$', views.dhcp_mac_ip),
#
# # Mailings
# url(r'^mailing/standard/$', views.mailing_standard),
# url(
# r'^mailing/standard/(?P<ml_name>\w+)/members/$',
# views.mailing_standard_ml_members
# ),
# url(r'^mailing/club/$', views.mailing_club),
# url(
# r'^mailing/club/(?P<ml_name>\w+)/members/$',
# views.mailing_club_ml_members
# ),
]
api/views.py
View file @
7daa5366
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment