Opensource preparation - Modularize
According to: https://gitlab.cern.ch/push-notifications/notifications-design/-/issues/55
Backend:
-
Authentication and authorization ( authorizationChecker.ts)-
Extracts login and id from decodedtoken.cern_upn -
Roles are coming from OAuth token decodedToken.resource_access...roles:INTERNAL_ROLE=internal, VIEWER_ROLE=viewer, SUPPORTER_ROLE=supporter.
-
-
Mattermost integration assumes Mattermost id = email -
update-user-email.ts,upsert-mattermost-device.ts
-
-
CernPhone and mail2sms integration -
interfaces or enable via config
-
-
cern-activedirectory.ts: to be made generic with config -
group.tsandcern-authorization-service.ts: replace and make a generic group interface configurable to use AD/LDAP module to extract groups and groups membership, or the authorization service to query Grappa. -
device.ts:DeviceSubTypeto move to config ? some require specific code. implement Interfaces ? -
push-browserfolder:-
push-safari-sender.ts: updatetestSafariPushandnote.urlArgsto use config -
push-mattermost-sender.ts: updatetestMattermostto use config -
push-browser-sender.ts: updatetestBrowserPushto use config
-
-
username-from-email.ts: CERN specific -
app.ts:routingControllersToSpecstrings to use config
Edited by Jose Semedo