def get(self, request, *args, **kwargs): all_services_list = [] eid = request.user.enterprise_id service = oauth_repo.get_conosle_oauth_service(eid) all_services = oauth_repo.get_all_oauth_services(eid) if all_services is not None: for l_service in all_services: api = get_oauth_instance(l_service.oauth_type, service, None) authorize_url = api.get_authorize_url() all_services_list.append({ "service_id": l_service.ID, "enable": l_service.enable, "name": l_service.name, "client_id": l_service.client_id, "auth_url": l_service.auth_url, "redirect_uri": l_service.redirect_uri, "oauth_type": l_service.oauth_type, "home_url": l_service.home_url, "eid": l_service.eid, "access_token_url": l_service.access_token_url, "api_url": l_service.api_url, "client_secret": l_service.client_secret, "is_auto_login": l_service.is_auto_login, "is_git": l_service.is_git, "authorize_url": authorize_url, "enterprise_id": l_service.eid, }) rst = {"data": {"list": all_services_list}} return Response(rst, status=status.HTTP_200_OK)
def post(self, request, *args, **kwargs): values = request.data.get("oauth_services") eid = request.user.enterprise_id try: services = oauth_repo.create_or_update_console_oauth_services( values, eid) except Exception as e: logger.exception(e) return Response({"msg": e.message}, status=status.HTTP_400_BAD_REQUEST) service = oauth_repo.get_conosle_oauth_service(eid) api = get_oauth_instance(service.oauth_type, service, None) authorize_url = api.get_authorize_url() data = [] for service in services: data.append({ "service_id": service.ID, "name": service.name, "oauth_type": service.oauth_type, "client_id": service.client_id, "client_secret": service.client_secret, "enable": service.enable, "eid": service.eid, "redirect_uri": service.redirect_uri, "home_url": service.home_url, "auth_url": service.auth_url, "access_token_url": service.access_token_url, "api_url": service.api_url, "is_auto_login": service.is_auto_login, "is_git": service.is_git, "authorize_url": authorize_url, }) rst = {"data": {"bean": {"oauth_services": data}}} return Response(rst, status=status.HTTP_200_OK)
def get(self, request, *args, **kwargs): eid = request.user.enterprise_id service = oauth_repo.get_conosle_oauth_service(eid) if service is not None: api = get_oauth_instance(service.oauth_type, service, None) authorize_url = api.get_authorize_url() data = { "service_id": service.ID, "enable": service.enable, "name": service.name, "client_id": service.client_id, "auth_url": service.auth_url, "redirect_uri": service.redirect_uri, "oauth_type": service.oauth_type, "home_url": service.home_url, "eid": service.eid, "access_token_url": service.access_token_url, "api_url": service.api_url, "client_secret": service.client_secret, "is_auto_login": service.is_auto_login, "is_git": service.is_git, "authorize_url": authorize_url, } rst = {"data": {"bean": {"oauth_services": data}}} return Response(rst, status=status.HTTP_200_OK) else: rst = {"data": {"bean": {"oauth_services": None}}} return Response(rst, status=status.HTTP_200_OK)