class MenuItemSchema(Schema): if_key_missing = None delete = validators.Bool() MenuID = Any(ciocvalidators.IDValidator(), validators.OneOf(["NEW"])) Link = ciocvalidators.String(max=150) Display = ciocvalidators.UnicodeString(max=200) MenuGroup = ciocvalidators.Int(min=1, max=3) chained_validators = [ ciocvalidators.RequireIfAny("Display", present=("Link", )), ciocvalidators.RequireIfAny("Link", present=("Display", )), ]
class GeneralHeadingBaseSchema(Schema): if_key_missing = None Used = validators.DictConverter(UsedOptions, if_emtpy=False, if_missing=False) NonPublic = validators.StringBool() DisplayOrder = validators.Int(min=0, max=validators.MAX_TINY_INT, if_empty=0) HeadingGroup = validators.IDValidator() TaxonomyRestrict = validators.Bool() TaxonomyName = validators.Bool() IconNameFull = validators.String(max=65)
class DomainSchema(Schema): if_key_missing = None DMAP_ID = validators.IDValidator(not_empty=True) GoogleAnalyticsCode = validators.UnicodeString(max=50) GoogleAnalyticsAgencyDimension = validators.Int(min=1, max=20) GoogleAnalyticsLanguageDimension = validators.Int(min=1, max=20) GoogleAnalyticsDomainDimension = validators.Int(min=1, max=20) GoogleAnalyticsResultsCountMetric = validators.Int(min=1, max=20) SecondGoogleAnalyticsCode = validators.UnicodeString(max=50) SecondGoogleAnalyticsAgencyDimension = validators.Int(min=1, max=20) SecondGoogleAnalyticsLanguageDimension = validators.Int(min=1, max=20) SecondGoogleAnalyticsDomainDimension = validators.Int(min=1, max=20) SecondGoogleAnalyticsResultsCountMetric = validators.Int(min=1, max=20)
class HeadingGroupBaseSchema(Schema): if_key_missing = None GroupID = Any(validators.IDValidator(), validators.OneOf(["NEW"])) DisplayOrder = validators.Int(min=0, max=256, not_empty=True) Descriptions = validators.CultureDictSchema( HeadingGroupDescriptionSchema(), allow_extra_fields=True, fiter_extra_fields=False, ) IconNameFull = validators.String(max=65) delete = validators.Bool()
class AIRSExportOptionsSchema(validators.RootSchema): allow_extra_fields = True if_key_missing = None version = validators.OneOf(["3_1", "3_0", "3_0_Testing"], if_empty="3_0") DST = validators.UnicodeString(max=20, not_empty=True) IncludeDeleted = validators.Bool() IncludeSiteAgency = validators.Bool() PartialDate = validators.ISODateConverter() PubCodeSync = validators.Bool() FileSuffix = validators.String(max=100) LabelLangOverride = validators.Int(min=0, max=validators.MAX_TINY_INT) AnyLanguageChange = validators.Bool()
class CloseSchema(validators.RootSchema): if_key_missing = None NoticeID = validators.IDValidator(not_empty=True) ActionTaken = validators.Int(min=1, max=2, if_empty=None) ActionNotes = validators.UnicodeString()
class VerifySchema(StartSchema): allow_extra_fields = True filter_extra_fields = True ChallengeSig = ciocvalidators.String(not_empty=True) AuthVersion = ciocvalidators.Int(max=2, not_empty=False)
class RowsSchema(validators.RootSchema): TC = validators.TaxonomyCodeValidator(not_empty=True) LV = validators.Int(min=1, max=7)
class ChangesSchema(validators.RootSchema): TC = validators.TaxonomyCodeValidator(not_empty=True) LV = validators.Int(min=1, max=7) action = validators.DictConverter( {"activate": True, "deactivate": False, "rollup": None} )
class IncrementSchema(ciocvalidators.RootSchema): BT_VUT_ID = ciocvalidators.IDValidator(not_empty=True) Value = ciocvalidators.Int(max=1, min=-1, not_empty=True)