<?php declare(strict_types=1);

/*
 * This file is part of Packagist.
 *
 * (c) Jordi Boggiano <j.boggiano@seld.be>
 *     Nils Adermann <naderman@naderman.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace App\Audit;

enum AuditRecordType: string
{
    // package ownership
    case MaintainerAdded = 'maintainer_added'; // TODO
    case MaintainerRemoved = 'maintainer_removed'; // TODO
    case PackageTransferred = 'package_transferred'; // TODO

    // package management
    case PackageCreated = 'package_created';
    case PackageDeleted = 'package_deleted';
    case CanonicalUrlChanged = 'canonical_url_changed';
    case VersionDeleted = 'version_deleted';

    case VersionReferenceChanged = 'version_reference_changed';
    case PackageAbandoned = 'package_abandoned'; // TODO
    case PackageUnabandoned = 'package_unabandoned'; // TODO

    // user management
    case UserCreated = 'user_created'; // TODO
    case UserDeleted = 'user_deleted'; // TODO
    case PasswordResetRequested = 'password_reset_requested'; // TODO
    case PasswordReset = 'password_reset'; // TODO
    case PasswordChanged = 'password_changed'; // TODO
    case EmailChanged = 'email_changed'; // TODO
    case UsernameChanged = 'username_changed'; // TODO
    case GitHubLinkedWithUser = 'github_linked_with_user'; // TODO
    case GitHubDisconnectedFromUser = 'github_disconnected_from_user'; // TODO
    case TwoFaActivated = 'two_fa_activated'; // TODO
    case TwoFaDeactivated = 'two_fa_deactivated'; // TODO
}
