namespace NATS.Server.Server;

/// <summary>
/// Error string constants mirrored from Go server/errors.go.
/// These are kept as literals for parity and can be used by validation
/// paths that currently surface generic exceptions.
/// </summary>
public static class ServerErrorConstants
{
    public const string ErrBadQualifier = "bad qualifier";
    public const string ErrTooManyAccountConnections = "maximum account active connections exceeded";
    public const string ErrTooManySubs = "maximum subscriptions exceeded";
    public const string ErrTooManySubTokens = "subject has exceeded number of tokens limit";
    public const string ErrReservedAccount = "reserved account";
    public const string ErrMissingService = "service missing";
    public const string ErrBadServiceType = "bad service response type";
    public const string ErrBadSampling = "bad sampling percentage, should be 1-100";
    public const string ErrAccountResolverUpdateTooSoon = "account resolver update too soon";
    public const string ErrAccountResolverSameClaims = "account resolver no new claims";
    public const string ErrStreamImportAuthorization = "stream import not authorized";
    public const string ErrStreamImportBadPrefix = "stream import prefix can not contain wildcard tokens";
    public const string ErrStreamImportDuplicate = "stream import already exists";
    public const string ErrServiceImportAuthorization = "service import not authorized";
    public const string ErrImportFormsCycle = "import forms a cycle";
    public const string ErrCycleSearchDepth = "search cycle depth exhausted";
    public const string ErrNoTransforms = "no matching transforms available";
}
