1
0
Fork 0
mirror of synced 2024-06-02 19:04:49 +12:00

replace request param extractions

This commit is contained in:
shimon 2022-08-12 14:01:12 +03:00
parent e86aab5e88
commit 90cfac9b52
4 changed files with 16 additions and 17 deletions

View file

@ -544,7 +544,9 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect')
$dbForProject->deleteCachedDocument('users', $user->getId());
$audits->setResource('user/' . $user->getId());
$audits->setResource('user/' . $user->getId())
->setUser($user)
;
$usage
->setParam('users.sessions.create', 1)
@ -715,6 +717,7 @@ App::put('/v1/account/sessions/magic-url')
->label('scope', 'public')
->label('event', 'users.[userId].sessions.[sessionId].create')
->label('audits.resource', 'user/{response.userId}')
->label('audits.userId', '{response.userId}')
->label('sdk.auth', [])
->label('sdk.namespace', 'account')
->label('sdk.method', 'updateMagicURLSession')
@ -941,6 +944,7 @@ App::put('/v1/account/sessions/phone')
->label('scope', 'public')
->label('event', 'users.[userId].sessions.[sessionId].create')
->label('audits.resource', 'user/{response.userId}')
->label('audits.userId', '{response.userId}')
->label('sdk.auth', [])
->label('sdk.namespace', 'account')
->label('sdk.method', 'updatePhoneSession')
@ -1050,6 +1054,7 @@ App::post('/v1/account/sessions/anonymous')
->label('scope', 'public')
->label('auth.type', 'anonymous')
->label('audits.resource', 'user/{response.userId}')
->label('audits.userId', '{userId}')
->label('sdk.auth', [])
->label('sdk.namespace', 'account')
->label('sdk.method', 'createAnonymousSession')
@ -1722,6 +1727,7 @@ App::patch('/v1/account/sessions/:sessionId')
->label('scope', 'account')
->label('event', 'users.[userId].sessions.[sessionId].update')
->label('audits.resource', 'user/{response.userId}')
->label('audits.userId', '{response.userId}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'account')
->label('sdk.method', 'updateSession')
@ -1979,6 +1985,7 @@ App::put('/v1/account/recovery')
->label('scope', 'public')
->label('event', 'users.[userId].recovery.[tokenId].update')
->label('audits.resource', 'user/{response.userId}')
->label('audits.userId', '{response.userId}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'account')
->label('sdk.method', 'updateRecovery')
@ -2047,6 +2054,7 @@ App::post('/v1/account/verification')
->label('scope', 'account')
->label('event', 'users.[userId].verification.[tokenId].create')
->label('audits.resource', 'user/{response.userId}')
->label('audits.userId', '{userId}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'account')
->label('sdk.method', 'createVerification')

View file

@ -720,7 +720,6 @@ App::put('/v1/databases/:databaseId/collections/:collectionId')
->label('scope', 'collections.write')
->label('event', 'databases.[databaseId].collections.[collectionId].update')
->label('audits.resource', 'database/{request.databaseId}/collection/{request.collectionId}')
->label('audits-payload', true)
->label('sdk.auth', [APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'databases')
->label('sdk.method', 'updateCollection')

View file

@ -264,6 +264,7 @@ App::post('/v1/teams/:teamId/memberships')
->label('scope', 'teams.write')
->label('auth.type', 'invites')
->label('audits.resource', 'team/{request.teamId}')
->label('audits.userId', '{request.userId}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_KEY, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'teams')
->label('sdk.method', 'createMembership')
@ -613,6 +614,7 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status')
->label('event', 'teams.[teamId].memberships.[membershipId].update.status')
->label('scope', 'public')
->label('audits.resource', 'team/{request.teamId}')
->label('audits.userId', '{request.userId}')
->label('sdk.auth', [APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_JWT])
->label('sdk.namespace', 'teams')
->label('sdk.method', 'updateMembershipStatus')

View file

@ -254,21 +254,11 @@ App::shutdown()
}
$route = $utopia->match($request);
$requestParams = array_combine(
array_keys($route->getParams()), array_column($route->getParams(), 'value')
);
$getRequestParams = function () use ($route, $request) {
$url = \parse_url($request->getURI(), PHP_URL_PATH);
$regex = '@' . \preg_replace('@:[^/]+@', '([^/]+)', $route->getPath()) . '@';
\preg_match($regex, $url, $matches);
\array_shift($matches);
$url = $route->getIsAlias() ? $route->getAliasPath() : $route->getPath();
$keyRegex = '@^' . \preg_replace('@:[^/]+@', ':([^/]+)', $url) . '$@';
\preg_match($keyRegex, $url, $keys);
\array_shift($keys);
return \array_combine($keys, $matches) ?? [];
};
$parseLabel = function ($label) use ($responsePayload, $getRequestParams) {
$parseLabel = function ($label) use ($responsePayload, $requestParams) {
preg_match_all('/{(.*?)}/', $label, $matches);
foreach ($matches[1] ?? [] as $pos => $match) {
$find = $matches[0][$pos];
@ -282,7 +272,7 @@ App::shutdown()
$replace = $parts[1];
$params = match ($namespace) {
'request' => $getRequestParams(),
'request' => $requestParams,
default => $responsePayload,
};