%PDF- %PDF-
Direktori : /opt/cloudlinux/venv/lib/python3.11/site-packages/xray/apiclient/ |
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/xray/apiclient/schemas.py |
# -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT """ This module contains validation schemas for X Ray Smart Advice local utility """ from schema import Schema, And, Or, Optional from ..adviser.advice_types import ( supported as supported_advice_types ) advice_schema = Schema({ 'metadata': Schema({ 'username': str, 'domain': str, 'website': str }), 'advice': Schema({ 'id': int, 'type': And(str, lambda x: x in supported_advice_types, error='Unsupported advice type'), 'status': str }), "updated_at": str, "created_at": str }) advice_list_schema = Schema([advice_schema]) user_site_info_schema = Schema({ 'website': str, 'domain': str, 'advices': advice_list_schema, 'urls': [str] }) user_sites_info_schema = Schema([user_site_info_schema]) detailed_advice_schema = Schema({ 'metadata': Schema({ 'username': str, 'domain': str, 'website': str }), 'advice': Schema({ 'id': int, 'type': And(str, lambda x: x in supported_advice_types, error='Unsupported advice type'), 'status': str, 'requests': Schema([{ 'id': int, 'url': str }]), Optional('title'): Or(str, None), Optional('description'): Or(str, None), Optional('apply_advice_button_text'): Or(str, None), Optional('upgrade_to_apply_button_text'): Or(str, None), Optional('email_view_advice_text'): Or(str, None), Optional('email_subject'): Or(str, None) }), "updated_at": str, "created_at": str }) pullzone_info_schema = Schema({ "account_id": str, "cdn_url": str, "website": str, "domain_url": str, })