Viewing file: schemas.py (1.89 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# -*- 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, })
|