You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jumpserver/apps/users/api/service.py

19 lines
579 B

# -*- coding: utf-8 -*-
#
from rest_framework import viewsets
from common.permissions import WithBootstrapToken
from rbac.models import Role, RoleBinding
from .. import serializers
class ServiceAccountRegistrationViewSet(viewsets.ModelViewSet):
serializer_class = serializers.ServiceAccountSerializer
permission_classes = (WithBootstrapToken,)
http_method_names = ['post']
def perform_create(self, serializer):
app = serializer.save()
role = Role.BuiltinRole.system_component.get_role()
RoleBinding.objects.create(user=app, role=role)