"""Validation schema for request header.""" from assets.constants import field_const oa_schema = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Request Header Schema", "type": "object", "properties": { field_const.CORRELATION_ID: {"type": "string"}, field_const.ORCHARD_USER_ID: {"type": "string", "pattern": "^oa:"}, }, "required": [field_const.ORCHARD_USER_ID], "additionalProperties": True, } alw_schema = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Request Header Schema", "type": "object", "properties": { field_const.CORRELATION_ID: {"type": "string"}, field_const.ORCHARD_USER_ID: {"type": "string", "pattern": "^alw:"}, field_const.GRASS_ACCOUNT_ID: {"type": "string", "pattern": r"^\d+$"}, field_const.GRASS_ACCOUNT_TYPE: { "type": "string", "pattern": "^(vendor|subaccount)$", }, }, "required": [ field_const.ORCHARD_USER_ID, field_const.GRASS_ACCOUNT_ID, field_const.GRASS_ACCOUNT_TYPE, ], "additionalProperties": True, } user_headers_schema = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Request Header Schema", "type": "object", "oneOf": [oa_schema, alw_schema], }