Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
465 changes: 349 additions & 116 deletions package-lock.json

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"dependencies": {
"@internxt/css-config": "^1.1.0",
"@internxt/lib": "^1.4.1",
"@internxt/sdk": "^1.15.12",
"@internxt/sdk": "^1.16.0",
"@internxt/ui": "^0.1.12",
"@phosphor-icons/react": "^2.1.10",
"@reduxjs/toolkit": "^2.11.2",
Expand Down Expand Up @@ -61,8 +61,8 @@
"devDependencies": {
"@eslint/js": "^9.39.1",
"@faker-js/faker": "^10.3.0",
"@internxt/eslint-config-internxt": "^2.0.1",
"@internxt/prettier-config": "internxt/prettier-config#v1.0.2",
"@internxt/eslint-config-internxt": "^2.1.0",
"@internxt/prettier-config": "^2.0.1",
"@testing-library/dom": "^10.4.1",
"@testing-library/react": "^16.3.2",
"@types/crypto-js": "^4.2.2",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { EmailDomainsResponse } from '@internxt/sdk';
import type { EmailDomainsResponse } from '@internxt/sdk/dist/mail/types';
import { Dropdown } from '@internxt/ui';
import { CaretDownIcon, CaretUpIcon, CheckIcon } from '@phosphor-icons/react';
import { useState } from 'react';
Expand Down
2 changes: 1 addition & 1 deletion src/features/identity-setup/components/UpdateEmail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { useTranslationContext } from '@/i18n';
import { Avatar, Button } from '@internxt/ui';
import { useState } from 'react';
import SelectMailInput from './SelectMailInput';
import type { EmailDomainsResponse } from '@internxt/sdk';
import type { EmailDomainsResponse } from '@internxt/sdk/dist/mail/types';

interface UpdateEmailProps {
userFullName: string;
Expand Down
2 changes: 1 addition & 1 deletion src/features/identity-setup/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { ConfirmChange } from './components/ConfirmChange';
import { MailService } from '@/services/sdk/mail';
import { AuthService } from '@/services/sdk/auth';
import { ErrorService } from '@/services/error';
import type { SetupMailAccountPayload } from '@internxt/sdk';
import type { SetupMailAccountPayload } from '@internxt/sdk/dist/mail/types';
import { CryptoService } from '@/services/crypto';
import { useTranslationContext } from '@/i18n';
import { DEFAULT_USER_NAME } from '@/constants';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { formatEmailsToList } from '@/utils/format-emails';
import type { EmailListResponse } from '@internxt/sdk';
import type { EmailListResponse } from '@internxt/sdk/dist/mail/types';
import { InfiniteScroll, MessageCheap, MessageCheapSkeleton } from '@internxt/ui';

interface SearchEmailListProps {
Expand Down
2 changes: 1 addition & 1 deletion src/hooks/mail/useEmailSearch.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { renderHook, act, waitFor } from '@testing-library/react';
import { describe, test, expect, vi, beforeEach } from 'vitest';
import { useEmailSearch } from './useEmailSearch';
import { MailService } from '@/services/sdk/mail';
import type { EmailResponse } from '@internxt/sdk';
import type { EmailResponse } from '@internxt/sdk/dist/mail/types';

vi.mock('@/services/sdk/mail', () => ({
MailService: {
Expand Down
2 changes: 1 addition & 1 deletion src/hooks/mail/useEmailSearch.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useState, useCallback, useEffect, useRef } from 'react';
import type { SearchFiltersQuery, EmailListResponse } from '@internxt/sdk';
import type { SearchFiltersQuery, EmailListResponse } from '@internxt/sdk/dist/mail/types';
import { MailService } from '@/services/sdk/mail';
import { useDebounce } from '../useDebounce';

Expand Down
2 changes: 1 addition & 1 deletion src/hooks/mail/useMailSelection.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useState } from 'react';
import type { EmailListResponse } from '@internxt/sdk';
import type { EmailListResponse } from '@internxt/sdk/dist/mail/types';
Comment thread
larryrider marked this conversation as resolved.

export const useMailSelection = (emails: EmailListResponse['emails'] | undefined) => {
const [selectedEmails, setSelectedEmails] = useState<string[]>([]);
Expand Down
2 changes: 1 addition & 1 deletion src/hooks/mail/useUnreadByMailbox.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { renderHook } from '@testing-library/react';
import { describe, test, expect, vi, beforeEach } from 'vitest';
import { useUnreadByMailbox } from './useUnreadByMailbox';
import { useGetMailboxesInfoQuery } from '@/store/api/mail';
import type { MailboxResponse } from '@internxt/sdk';
import type { MailboxResponse } from '@internxt/sdk/dist/mail/types';

vi.mock('@/store/api/mail', () => ({
useGetMailboxesInfoQuery: vi.fn(),
Expand Down
2 changes: 1 addition & 1 deletion src/hooks/mail/useUnreadByMailbox.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { useMemo } from 'react';
import type { MailboxResponse } from '@internxt/sdk';
import type { MailboxResponse } from '@internxt/sdk/dist/mail/types';
import { useGetMailboxesInfoQuery } from '@/store/api/mail';

type UnreadByMailbox = Record<Exclude<MailboxResponse['type'], null>, number | undefined>;
Expand Down
6 changes: 3 additions & 3 deletions src/services/sdk/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Auth, Drive, Mail } from '@internxt/sdk';
import { Auth, Drive, MailApi } from '@internxt/sdk';
import type { ApiSecurity, AppDetails } from '@internxt/sdk/dist/shared';
import packageJson from '../../../package.json';
import { ConfigService } from '../config';
Expand Down Expand Up @@ -75,11 +75,11 @@ export class SdkManager {
return Drive.Payments.client(this.paymentsApiUrl, appDetails, apiSecurity);
}

getMail(): Mail {
getMail(): MailApi {
const apiSecurity = this.getNewTokenApiSecurity();
const appDetails = SdkManager.getAppDetails();

return Mail.client(this.mailApiUrl, appDetails, apiSecurity);
return MailApi.client(this.mailApiUrl, appDetails, apiSecurity);
}

get driveApiUrl(): string {
Expand Down
2 changes: 1 addition & 1 deletion src/services/sdk/mail/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import type {
SearchFiltersQuery,
SetupMailAccountPayload,
UpdateEmailRequest,
} from '@internxt/sdk';
} from '@internxt/sdk/dist/mail/types';
import { SdkManager } from '..';

export class MailService {
Expand Down
2 changes: 1 addition & 1 deletion src/services/sdk/mail/mail.service.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { beforeEach, afterEach, describe, expect, test, vi } from 'vitest';
import { SdkManager } from '..';
import { MailService } from '.';
import { getMockedMails, getMockedMailBoxes, getMockedMail } from '@/test-utils/fixtures';
import type { SetupMailAccountPayload } from '@internxt/sdk';
import type { SetupMailAccountPayload } from '@internxt/sdk/dist/mail/types';

describe('Mail Service', () => {
beforeEach(() => {
Expand Down
8 changes: 4 additions & 4 deletions src/services/sdk/sdk.service.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Auth, Drive, Mail } from '@internxt/sdk';
import { Auth, Drive, MailApi } from '@internxt/sdk';
import { beforeEach, describe, expect, test, vi, afterEach } from 'vitest';
import { SdkManager } from '.';
import { ConfigService } from '../config';
Expand Down Expand Up @@ -55,7 +55,7 @@ vi.mock('@internxt/sdk', () => ({
})),
},
},
Mail: {
MailApi: {
client: vi.fn().mockImplementation((baseUrl, appDetails, security) => ({
baseUrl,
appDetails,
Expand Down Expand Up @@ -271,7 +271,7 @@ describe('SDK Manager', () => {

expect(paymentsClient).toBeDefined();
expect(LocalStorageService.instance.getToken).toHaveBeenCalled();
expect(Mail.client).toHaveBeenCalledWith(
expect(MailApi.client).toHaveBeenCalledWith(
config.MAIL_API_URL,
expect.objectContaining({
clientName: 'mail-web',
Expand All @@ -288,7 +288,7 @@ describe('SDK Manager', () => {
SdkManager.instance.getMail();

// eslint-disable-next-line @typescript-eslint/no-explicit-any
const securityArg = (Mail.client as any).mock.calls[0][2];
const securityArg = (MailApi.client as any).mock.calls[0][2];
securityArg.unauthorizedCallback();

expect(store.dispatch).toHaveBeenCalled();
Expand Down
8 changes: 2 additions & 6 deletions src/services/user/user.service.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@ describe('User Service', () => {
const mockedUserClient = {
refreshUser: vi.fn().mockResolvedValue(mockedUser),
};
vi.spyOn(SdkManager.instance, 'getUsers').mockReturnValue(
mockedUserClient as any,
);
vi.spyOn(SdkManager.instance, 'getUsers').mockReturnValue(mockedUserClient as any);

const result = await UserService.instance.getUser();

Expand All @@ -36,9 +34,7 @@ describe('User Service', () => {
const mockedUserClient = {
refreshUser: vi.fn().mockResolvedValue(mockedUser),
};
vi.spyOn(SdkManager.instance, 'getUsers').mockReturnValue(
mockedUserClient as any,
);
vi.spyOn(SdkManager.instance, 'getUsers').mockReturnValue(mockedUserClient as any);

const result = await UserService.instance.refreshUserAndTokens();

Expand Down
2 changes: 1 addition & 1 deletion src/store/api/mail/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import type {
ListEmailsQuery,
MailAccountKeysResponse,
MailboxResponse,
} from '@internxt/sdk';
} from '@internxt/sdk/dist/mail/types';
import type { AppDispatch } from '@/store';

const patchMailsAfterAction = async ({
Expand Down
2 changes: 1 addition & 1 deletion src/store/api/mail/mail.api.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { MailService } from '@/services/sdk/mail';
import { getMockedMail, getMockedMailBoxes, getMockedMails } from '@/test-utils/fixtures';
import { mailApi } from '.';
import { DEFAULT_FOLDER_LIMIT } from '@/constants';
import type { ListEmailsQuery } from '@internxt/sdk';
import type { ListEmailsQuery } from '@internxt/sdk/dist/mail/types';
import { createTestStore } from '@/test-utils/createTestStore';
import type { RootState } from '@/store';

Expand Down
2 changes: 1 addition & 1 deletion src/test-utils/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { Tier } from '@internxt/sdk/dist/drive/payments/types/tiers';
import type { UserSubscription } from '@internxt/sdk/dist/drive/payments/types/types';
import type { AppSumoDetails } from '@internxt/sdk/dist/shared/types/appsumo';
import { faker } from '@faker-js/faker';
import type { EmailListResponse, EmailResponse, MailboxResponse } from '@internxt/sdk';
import type { EmailListResponse, EmailResponse, MailboxResponse } from '@internxt/sdk/dist/mail/types';

export const getMockedUser = (params?: Partial<LoginCredentials['user']>): LoginCredentials['user'] => {
return {
Expand Down
40 changes: 17 additions & 23 deletions src/types/oauth/index.ts
Original file line number Diff line number Diff line change
@@ -1,33 +1,31 @@
import { type UserSettings } from '@internxt/sdk/dist/shared/types/userSettings';

export interface LoginCredentials {
user: UserSettings
newToken: string
mnemonic: string
user: UserSettings;
newToken: string;
mnemonic: string;
}

export interface WebAuthParams {
mnemonic: string
newToken: string
mnemonic: string;
newToken: string;
}

export interface WebAuthMessage {
type:
| typeof WEB_AUTH_MESSAGE_TYPES.SUCCESS
| typeof WEB_AUTH_MESSAGE_TYPES.ERROR
payload?: WebAuthParams
error?: string
type: typeof WEB_AUTH_MESSAGE_TYPES.SUCCESS | typeof WEB_AUTH_MESSAGE_TYPES.ERROR;
payload?: WebAuthParams;
error?: string;
}
Comment thread
larryrider marked this conversation as resolved.

export interface WebAuthConfig {
popupWidth: number
popupHeight: number
authTimeoutMs: number
popupCheckIntervalMs: number
popupName: string
authOriginParam: string
loginPath: string
signupPath: string
popupWidth: number;
popupHeight: number;
authTimeoutMs: number;
popupCheckIntervalMs: number;
popupName: string;
authOriginParam: string;
loginPath: string;
signupPath: string;
}

export const WEB_AUTH_MESSAGE_TYPES = {
Expand All @@ -46,8 +44,4 @@ export const WEB_AUTH_CONFIG: WebAuthConfig = {
signupPath: '/new',
};

export const WEB_AUTH_VALID_ORIGINS = [
'internxt.com',
'localhost',
'pages.dev',
] as const;
export const WEB_AUTH_VALID_ORIGINS = ['internxt.com', 'localhost', 'pages.dev'] as const;
2 changes: 1 addition & 1 deletion src/utils/format-emails/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { DateService } from '@/services/date';
import type { EmailListResponse } from '@internxt/sdk';
import type { EmailListResponse } from '@internxt/sdk/dist/mail/types';

export const formatEmailsToList = (listFolderEmails?: EmailListResponse['emails']) => {
return listFolderEmails?.map((mail) => ({
Expand Down
Loading