firebase / firebase/firebase-admin-python

[FR] Add WebApps support to project_management

Abierto
#772 1 comentario 0 reacciones 0 asignados Ver en GitHub
type: feature request
Lenguaje dominante
Python
Estrellas
1.2k
Forks
359
Merge medio
5 d 6 min
PR fusionados (30 d)
2

Descripción

**Is your feature request related to a problem? Please describe.**
The `project_management` package miss API to work with `webApps` resource

**Describe the solution you'd like**
API to work with WebApps similar to the ones available for iOSApps and AndroidApps

**Describe alternatives you've considered**
The single alternative I considered was to use the REST requests by hands

**Additional context**
I implemented a bare minimum solution just extending `_ProjectManagementService`

```py
from firebase_admin import project_management

class WebApp:
def __init__(self, app_id, service) -> None:
self._app_id = app_id
self._service = service

@property
def app_id(self):
return self._app_id

def get_metadata(self):
return self._service.get_web_app_metadata(self._app_id)

def get_config(self):
return self._service.get_web_app_config(self._app_id)

class WebAppsService(project_management._ProjectManagementService):
WEB_APPS_RESOURCE_NAME = 'webApps'

def __init__(self, app):
super().__init__(app)

def list_web_apps(self) -> list[WebApp]:
return self._list_apps(
platform_resource_name=WebAppsService.WEB_APPS_RESOURCE_NAME,
app_class=WebApp
)

def get_web_app_metadata(self, app_id):
path = '/v1beta1/projects/-/{0}/{1}'.format(
WebAppsService.WEB_APPS_RESOURCE_NAME,
app_id,
)
return self._make_request('get', path)

def get_web_app_config(self, app_id):
path = '/v1beta1/projects/-/{0}/{1}/config'.format(
WebAppsService.WEB_APPS_RESOURCE_NAME,
app_id,
)
return self._make_request('get', path)
```

but it can be completed with all APIs

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.