Repository: appwrite/appwrite
File: src/Appwrite/Utopia/Response/Model/Project.php (PHP)

Code before:
            ])
            ->addRule('smtpPassword', [
                'type' => self::TYPE_STRING,
                'description' => 'SMTP server password',
                'default' => '',
                'example' => 'securepassword',
            ])
            ->addRule('smtpSecure', [
                'type' => self::TYPE_STRING,
                'description' => 'SMTP server secure protocol',
                'default' => '',
                'example' => 'tls',
            ])
            ->addRule('pingCount', [
                'type' => self::TYPE_INTEGER,
                'description' => 'Number of times the ping was received for this project.',
                'default' => 0,
                'example' => 1,
            ])
            ->addRule('pingedAt', [
                'type' => self::TYPE_DATETIME,
                'description' => 'Last ping datetime in ISO 8601 format.',
                'default' => '',
                'example' => self::TYPE_DATETIME_EXAMPLE,
            ])
            ->addRule('invalidateSessions', [
                'type' => self::TYPE_BOOLEAN,
                'description' => 'For invalidating all sessions',
                'default' => false,
                'example' => self::TYPE_BOOLEAN,
            ])
        ;

        $services = Config::getParam('services', []);
        $auth = Config::getParam('auth', []);

        foreach ($auth as $index => $method) {
            $name = $method['name'] ?? '';
            $key = $method['key'] ?? '';

            $this
                ->addRule('auth' . ucfirst($key), [
                    'type' => self::TYPE_BOOLEAN,
                    'description' => $name . ' auth method status',
                    'example' => true,
                    'default' => true,
                ])
            ;
        }

        foreach ($services as $service) {

Review comment (security):
Let's call this `authInvalidateSessions` here and move it up to be grouped with the other `auth` flags

Code after:
            ])
            ->addRule('smtpUsername', [
                'type' => self::TYPE_STRING,
                'description' => 'SMTP server username',
                'default' => '',
                'example' => 'emailuser',
            ])
            ->addRule('smtpPassword', [
                'type' => self::TYPE_STRING,
                'description' => 'SMTP server password',
                'default' => '',
                'example' => 'securepassword',
            ])
            ->addRule('smtpSecure', [
                'type' => self::TYPE_STRING,
                'description' => 'SMTP server secure protocol',
                'default' => '',
                'example' => 'tls',
            ])
            ->addRule('pingCount', [
                'type' => self::TYPE_INTEGER,
                'description' => 'Number of times the ping was received for this project.',
                'default' => 0,
                'example' => 1,
            ])
            ->addRule('pingedAt', [
                'type' => self::TYPE_DATETIME,
                'description' => 'Last ping datetime in ISO 8601 format.',
                'default' => '',
                'example' => self::TYPE_DATETIME_EXAMPLE,
            ])
        ;

        $services = Config::getParam('services', []);
        $auth = Config::getParam('auth', []);

        foreach ($auth as $index => $method) {
            $name = $method['name'] ?? '';
            $key = $method['key'] ?? '';

            $this
                ->addRule('auth' . ucfirst($key), [
                    'type' => self::TYPE_BOOLEAN,
                    'description' => $name . ' auth method status',
                    'example' => true,
                    'default' => true,
                ])
            ;
        }

        foreach ($services as $service) {