firebase / firebase/firebase-admin-python

[FR] Add WebApps support to project_management

Aperta
#772 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
type: feature request
Lingua principale
Python
Stelle
1.2k
Fork
359
Merge medio
5g 6m
PR unite (30g)
2

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.