@speckle/shared
Version:
Shared code between various Speckle JS packages
166 lines • 5.73 kB
TypeScript
import { ValueOf } from 'type-fest';
import { WorkspaceLimits } from '../../workspaces/helpers/limits.js';
export type AuthError<ErrorCode extends string = string, Payload = undefined> = {
readonly code: ErrorCode;
readonly message: string;
readonly payload: Payload;
} & Error;
export declare const defineAuthError: <ErrorCode extends string, Payload = undefined>(definition: {
code: ErrorCode;
message: string;
}) => {
new (...args: Payload extends undefined ? [params?: {
message?: string;
} | string] : [params: {
payload: Payload;
message?: string;
} | string]): AuthError<ErrorCode, Payload>;
code: ErrorCode;
};
export declare const isAuthPolicyError: (err: unknown) => err is AuthError;
export declare const ProjectNotFoundError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"ProjectNotFound", undefined>;
code: "ProjectNotFound";
};
export declare const ProjectNoAccessError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"ProjectNoAccess", undefined>;
code: "ProjectNoAccess";
};
export declare const PersonalProjectsLimitedError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"PersonalProjectsLimited", undefined>;
code: "PersonalProjectsLimited";
};
export declare const ProjectNotEnoughPermissionsError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"ProjectNotEnoughPermissions", undefined>;
code: "ProjectNotEnoughPermissions";
};
export declare const ProjectLastOwnerError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"ProjectLastOwner", undefined>;
code: "ProjectLastOwner";
};
export declare const WorkspacesNotEnabledError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"WorkspacesNotEnabled", undefined>;
code: "WorkspacesNotEnabled";
};
export declare const WorkspaceNoAccessError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"WorkspaceNoAccess", undefined>;
code: "WorkspaceNoAccess";
};
export declare const WorkspaceNotEnoughPermissionsError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"WorkspaceNotEnoughPermissions", undefined>;
code: "WorkspaceNotEnoughPermissions";
};
export declare const WorkspaceReadOnlyError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"WorkspaceReadOnly", undefined>;
code: "WorkspaceReadOnly";
};
export declare const WorkspaceLimitsReachedError: {
new (params: string | {
payload: {
limit: keyof WorkspaceLimits;
};
message?: string;
}): AuthError<"WorkspaceLimitsReached", {
limit: keyof WorkspaceLimits;
}>;
code: "WorkspaceLimitsReached";
};
export declare const WorkspaceNoFeatureAccessError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"WorkspaceNoFeatureAccess", undefined>;
code: "WorkspaceNoFeatureAccess";
};
export declare const WorkspaceProjectMoveInvalidError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"WorkspaceProjectMoveInvalid", undefined>;
code: "WorkspaceProjectMoveInvalid";
};
export declare const WorkspaceSsoSessionNoAccessError: {
new (params: string | {
payload: {
workspaceSlug: string;
};
message?: string;
}): AuthError<"WorkspaceSsoSessionNoAccess", {
workspaceSlug: string;
}>;
code: "WorkspaceSsoSessionNoAccess";
};
export declare const WorkspaceNoEditorSeatError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"WorkspaceNoEditorSeat", undefined>;
code: "WorkspaceNoEditorSeat";
};
export declare const ServerNoAccessError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"ServerNoAccess", undefined>;
code: "ServerNoAccess";
};
export declare const ServerNotEnoughPermissionsError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"ServerNotEnoughPermissions", undefined>;
code: "ServerNotEnoughPermissions";
};
export declare const ServerNoSessionError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"ServerNoSession", undefined>;
code: "ServerNoSession";
};
export declare const CommentNotFoundError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"CommentNotFound", undefined>;
code: "CommentNotFound";
};
export declare const CommentNoAccessError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"CommentNoAccess", undefined>;
code: "CommentNoAccess";
};
export declare const ModelNotFoundError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"ModelNotFound", undefined>;
code: "ModelNotFound";
};
export declare const ReservedModelNotDeletableError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"ReservedModelNotDeletable", undefined>;
code: "ReservedModelNotDeletable";
};
export declare const VersionNotFoundError: {
new (params?: string | {
message?: string;
} | undefined): AuthError<"VersionNotFound", undefined>;
code: "VersionNotFound";
};
export type AllAuthErrors = ValueOf<{
[key in keyof typeof import('./authErrors.js')]: typeof import('./authErrors.js')[key] extends new (...args: any[]) => infer R ? R : never;
}>;
//# sourceMappingURL=authErrors.d.ts.map