improve dependency

This commit is contained in:
Damodar Lohani
2024-11-14 04:48:46 +00:00
parent 24353a1077
commit 179684e8b2
3 changed files with 11 additions and 12 deletions
+4 -4
View File
@@ -710,8 +710,8 @@ App::error()
->inject('logger')
->inject('log')
->inject('queueForUsage')
->inject('hasDevelopmentKey')
->action(function (Throwable $error, App $utopia, Request $request, Response $response, Document $project, ?Logger $logger, Log $log, Usage $queueForUsage, bool $hasDevelopmentKey) {
->inject('developmentKey')
->action(function (Throwable $error, App $utopia, Request $request, Response $response, Document $project, ?Logger $logger, Log $log, Usage $queueForUsage, Document $developmentKey) {
$version = System::getEnv('_APP_VERSION', 'UNKNOWN');
$route = $utopia->getRoute();
$class = \get_class($error);
@@ -912,7 +912,7 @@ App::error()
$type = $error->getType();
$output = ((App::isDevelopment()) || $hasDevelopmentKey) ? [
$output = ((App::isDevelopment()) || (!$developmentKey->isEmpty())) ? [
'message' => $message,
'code' => $code,
'file' => $file,
@@ -953,7 +953,7 @@ App::error()
$response->dynamic(
new Document($output),
$utopia->isDevelopment() || $hasDevelopmentKey ? Response::MODEL_ERROR_DEV : Response::MODEL_ERROR
$utopia->isDevelopment() || !$developmentKey->isEmpty() ? Response::MODEL_ERROR_DEV : Response::MODEL_ERROR
);
});
+3 -3
View File
@@ -393,8 +393,8 @@ App::init()
->inject('queueForUsage')
->inject('dbForProject')
->inject('mode')
->inject('hasDevelopmentKey')
->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Connection $queue, Event $queueForEvents, Messaging $queueForMessaging, Audit $queueForAudits, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, Usage $queueForUsage, Database $dbForProject, string $mode, bool $hasDevelopmentKey) use ($usageDatabaseListener, $eventDatabaseListener) {
->inject('developmentKey')
->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Connection $queue, Event $queueForEvents, Messaging $queueForMessaging, Audit $queueForAudits, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, Usage $queueForUsage, Database $dbForProject, string $mode, Document $developmentKey) use ($usageDatabaseListener, $eventDatabaseListener) {
$route = $utopia->getRoute();
@@ -461,7 +461,7 @@ App::init()
$enabled // Abuse is enabled
&& !$isAppUser // User is not API key
&& !$isPrivilegedUser // User is not an admin
&& !$hasDevelopmentKey // request doesn't not contain development key
&& $developmentKey->isEmpty() // request doesn't not contain development key
&& $abuse->check() // Route is rate-limited
) {
throw new Exception(Exception::GENERAL_RATE_LIMIT_EXCEEDED);
+4 -5
View File
@@ -1814,14 +1814,14 @@ App::setResource('plan', function (array $plan = []) {
return [];
});
App::setResource('hasDevelopmentKey', function ($request, $project, $dbForConsole) {
App::setResource('developmentKey', function ($request, $project, $dbForConsole) {
$developmentKey = $request->getHeader('x-appwrite-development-key', '');
// Check if given key match project's development keys
$key = $project->find('secret', $developmentKey, 'developmentKeys');
if ($key) {
$expire = $key->getAttribute('expire');
if (!empty($expire) && $expire < DatabaseDateTime::formatTz(DatabaseDateTime::now())) {
return false;
return new Document([]);
}
$accessedAt = $key->getAttribute('accessedAt', '');
@@ -1830,9 +1830,9 @@ App::setResource('hasDevelopmentKey', function ($request, $project, $dbForConsol
Authorization::skip(fn () => $dbForConsole->updateDocument('keys', $key->getId(), $key));
$dbForConsole->purgeCachedDocument('projects', $project->getId());
}
return true;
return $key;
}
return false;
return new Document([]);
}, ['request', 'project', 'dbForConsole']);
App::setResource('team', function (Document $project, Database $dbForConsole, App $utopia, Request $request) {
@@ -1867,4 +1867,3 @@ App::setResource(
'isResourceBlocked',
fn () => fn (Document $project, string $resourceType, ?string $resourceId) => false
);