firebase / firebase/firebase-admin-python

[FR] Add WebApps support to project_management

Ouverte
#772 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
type: feature request
Langage dominant
Python
Étoiles
1.2k
Forks
359
Merge moyen
5 j 6 min
PR mergées (30 j)
2

Description

**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

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.