def update_action_view(request) -> None: context: Context = request.context args = context.get_request_body() validator: Validator = Validator() (validator.expect("action_id", int, is_required=True).expect( "title", str, is_required=False, options={ "min_length": 4, "max_length": 40 }).expect("calculator_action", int, is_required=False).expect( "image", "file", is_required=False, options={ "is_logo": True }).expect("rank", int, is_required=False).expect( "is_global", bool, is_required=False).expect( "is_published", bool, is_required=False).expect( "tags", list, is_required=False).expect("vendors", list, is_required=False)) args, err = validator.verify(args) if err: return err action_info, err = self.service.update_action(context, args) if err: return MassenergizeResponse(error=str(err), status=err.status) return MassenergizeResponse(data=action_info)
def update_vendor_view(request) -> None: context: Context = request.context args = context.get_request_body() args = rename_field(args, 'id', 'vendor_id') validator: Validator = Validator() (validator.expect("vendor_id", int).expect( "key_contact_name", str, is_required=False).expect( "key_contact_email", str, is_required=False).expect( "onboarding_contact_email", str, is_required=False).expect( "name", str, is_required=False).expect( "email", str, is_required=False).expect( "is_verified", bool, is_required=False).expect( "phone_number", str, is_required=False).expect( "have_address", bool, is_required=False).expect( "is_published", bool, is_required=False).expect( "communities", list, is_required=False). expect("service_area_states", list, is_required=False).expect( "properties_serviced", list, is_required=False).expect("tags", list, is_required=False).expect( "image", "file", is_required=False).expect( "location", "location", is_required=False)) args, err = validator.verify(args) if err: return err args['key_contact'] = {} key_contact_name = args.pop('key_contact_name', None) key_contact_email = args.pop('key_contact_email', None) if key_contact_name: args['key_contact']["name"] = key_contact_name if key_contact_email: args['key_contact']["email"] = key_contact_email vendor_info, err = self.service.update_vendor(context, args) if err: return MassenergizeResponse(error=str(err), status=err.status) return MassenergizeResponse(data=vendor_info)
def action_info_view(request) -> None: context: Context = request.context args: dict = context.args # verify the body of the incoming request v: Validator = Validator() v.expect("action_id", str, is_required=True) v.rename("id", "action_id") args, err = v.verify(args, strict=True) if err: return err action_id = args.pop('action_id', None) action_info, err = self.service.get_action_info(context, action_id) if err: return MassenergizeResponse(error=str(err), status=err.status) return MassenergizeResponse(data=action_info)
def remove_super_admin_view(request) -> None: context: Context = request.context args = context.get_request_body() validator: Validator = Validator() (validator .add("user_id", str, is_required=False) .add("email", str, is_required=False) ) args, err = validator.verify(args) if err: return err admin_info, err = self.service.remove_super_admin(context, args) if err: return err return MassenergizeResponse(data=admin_info)
def create_vendor_view(request) -> None: context: Context = request.context args = context.get_request_body() validator: Validator = Validator() (validator.expect("key_contact_name", str).expect( "key_contact_email", str).expect("onboarding_contact_email", str).expect( "name", str).expect("email", str).expect( "phone_number", str).expect("have_address", bool).expect( "is_verified", bool).expect("is_published", bool).expect( "communities", list, is_required=False).expect( "service_area_states", list, is_required=False).expect( "properties_serviced", list, is_required=False).expect( "image", "file", is_required=False).expect( "tags", list, is_required=False).expect( "location", "location", is_required=False)) args, err = validator.verify(args) if err: return err args = parse_location(args) #TODO: remove this after deploy args.pop('accept_terms_and_conditions', None) args['key_contact'] = { "name": args.pop('key_contact_name', None), "email": args.pop('key_contact_email', None) } vendor_info, err = self.service.create_vendor(context, args) if err: return MassenergizeResponse(error=str(err), status=err.status) return MassenergizeResponse(data=vendor_info)
def list_messages_view(request) -> None: context: Context = request.context args = context.get_request_body() validator: Validator = Validator() (validator .add("community_id", str, is_required=False) .add("subdomain", str, is_required=False) ) args, err = validator.verify(args) if err: return err admin_info, err = self.service.list_admin_messages(context, args) if err: return err return MassenergizeResponse(data=admin_info)
def list_graph_view(request) -> None: context: Context = request.context args: dict = context.args # verify the body of the incoming request v: Validator = Validator() v.expect("community_id", str, False) v.expect("subdomain", str, False) v.rename("id", "community_id") args, err = v.verify(args, strict=True) if err: return err graph_info, err = self.service.list_graphs(context, args) if err: return MassenergizeResponse(error=str(err), status=err.status) return MassenergizeResponse(data=graph_info)
def add_community_admin_view(request) -> None: context: Context = request.context args = context.get_request_body() validator: Validator = Validator() (validator .expect("name", str, is_required=True) .expect("email", str, is_required=True) .expect("community_id", str, is_required=False) .expect("subdomain", str, is_required=False) ) args, err = validator.verify(args) if err: return err admin_info, err = self.service.add_community_admin(context, args) if err: return err return MassenergizeResponse(data=admin_info)
def create_subscriber_view(request) -> None: context: Context = request.context args: dict = context.args validator: Validator = Validator() (validator .add("name", str, is_required=True) .add("email", str, is_required=True) ) args, err = validator.verify(args) if err: return err community_id = args.pop('community_id', None) is_global = args.pop('is_global', None) if is_global: args["is_global"] = parse_bool(is_global) subscriber_info, err = self.service.create_subscriber(community_id ,args) if err: return MassenergizeResponse(error=str(err), status=err.status) return MassenergizeResponse(data=subscriber_info)
def __init__(self): self.routes = {} self.validator = Validator()