seperate sol and deprecated serializers
[vfc/nfvo/lcm.git] / lcm / ns / serializers / sol / lccn_subscription.py
1 # Copyright (c) 2019, CMCC Technologies Co., Ltd.
2
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6
7 # http://www.apache.org/licenses/LICENSE-2.0
8
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 from rest_framework import serializers
16
17 from lcm.ns.serializers.sol.lccn_filter_data import LifeCycleChangeNotificationsFilter
18 from lcm.ns.serializers.sol.pub_serializers import LinkSerializer
19
20
21 class LccnSubscriptionLinkSerializer(serializers.Serializer):
22     self = LinkSerializer(
23         help_text="URI of this resource.",
24         required=True,
25         allow_null=False)
26
27
28 class LccnSubscriptionSerializer(serializers.Serializer):
29     id = serializers.CharField(
30         help_text="Identifier of this subscription resource.",
31         max_length=255,
32         required=True,
33         allow_null=False)
34     callbackUri = serializers.CharField(
35         help_text="The URI of the endpoint to send the notification to.",
36         max_length=255,
37         required=True,
38         allow_null=False)
39     filter = LifeCycleChangeNotificationsFilter(
40         help_text="Filter settings for this subscription, to define the of all notifications this "
41                   "subscription relates to A particular notification is sent to the subscriber if the filter"
42                   " matches, or if there is no filter.", required=False)
43     _links = LccnSubscriptionLinkSerializer(
44         help_text="Links to resources related to this resource.", required=True)
45
46
47 class LccnSubscriptionsSerializer(serializers.ListSerializer):
48     child = LccnSubscriptionSerializer()