mirror of https://github.com/jumpserver/jumpserver
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.
19 lines
579 B
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)
|