Fixes: 1) Update return type of `create_object` to `Any`; Extra: 1) Remove unused fields (`icon`, `priority`, `hide`) from `blog.apps`; 2) Update API URLs to include `version` endpoint; 3) Miscellaneous cleanup and comments.
16 lines
739 B
Python
16 lines
739 B
Python
from typing import Type
|
|
|
|
from evibes.utils.misc import create_object
|
|
from payments.gateways import AbstractGateway
|
|
from payments.models import Gateway
|
|
|
|
|
|
def get_gateways_integrations(name: str | None = None) -> list[Type[AbstractGateway]]:
|
|
gateways_integrations: list[Type[AbstractGateway]] = []
|
|
gateways = Gateway.objects.filter(is_active=True, name=name) if name else Gateway.objects.filter(is_active=True)
|
|
for gateway in gateways:
|
|
if gateway.integration_path:
|
|
module_name = ".".join(gateway.integration_path.split(".")[:-1])
|
|
class_name = gateway.integration_path.split(".")[-1]
|
|
gateways_integrations.append(create_object(module_name, class_name))
|
|
return gateways_integrations
|