Cleanup - unused files / unused exports / duplicate exports
[ProtonMail-WebClient.git] / applications / drive / src / app / components / modals / ShareLinkModal / DirectSharing / helpers / ShareInviteeValidationError.ts
blobea6141aab3962d75144e02df593cd5e4fed9a137
1 import { c } from 'ttag';
3 export enum VALIDATION_ERROR_TYPES {
4     INVALID_EMAIL,
5     EXTERNAL_INVITE_DISABLED,
6     EXTERNAL_INVITE_NOT_AVAILABLE,
7     DOES_NOT_EXIST,
8     EXISTING_MEMBER,
9     NOT_INTERNAL_ACCOUNT,
12 const {
13     INVALID_EMAIL,
14     EXTERNAL_INVITE_DISABLED,
15     EXTERNAL_INVITE_NOT_AVAILABLE,
16     DOES_NOT_EXIST,
17     EXISTING_MEMBER,
18     NOT_INTERNAL_ACCOUNT,
19 } = VALIDATION_ERROR_TYPES;
21 const getValidationErrorMessage = (type: VALIDATION_ERROR_TYPES) => {
22     if (type === INVALID_EMAIL) {
23         return c('Error').t`The address might be misspelled`;
24     }
25     if (type === EXTERNAL_INVITE_DISABLED) {
26         return c('Error').t`External invitations are temporarily disabled.`;
27     }
28     if (type === EXTERNAL_INVITE_NOT_AVAILABLE) {
29         return c('Error').t`External invitations are not available yet.`;
30     }
31     if (type === DOES_NOT_EXIST) {
32         return c('Error').t`Account does not exist`;
33     }
34     if (type === EXISTING_MEMBER) {
35         return c('Error').t`Already a member of this share`;
36     }
37     if (type === NOT_INTERNAL_ACCOUNT) {
38         return c('Error').t`External accounts are not supported yet`;
39     }
40     return c('Error').t`Validation error`;
43 export class ShareInviteeValidationError extends Error {
44     type: VALIDATION_ERROR_TYPES;
46     constructor(type: VALIDATION_ERROR_TYPES) {
47         const message = getValidationErrorMessage(type);
48         super(message);
49         this.type = type;
50         Object.setPrototypeOf(this, ShareInviteeValidationError.prototype);
51     }