Skip to content

Commit 62d3cd3

Browse files
fix: fix team invite flow (#1473)
1 parent 1dbf242 commit 62d3cd3

File tree

4 files changed

+20
-3
lines changed

4 files changed

+20
-3
lines changed

apps/cli/src/commands/export.command.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -927,6 +927,11 @@ export class ExportCommand extends Command {
927927
case 'already_member':
928928
console.log(chalk.gray(` ${inv.email}: Already a team member`));
929929
break;
930+
case 'already_invited':
931+
console.log(
932+
chalk.yellow(` ${inv.email}: Already invited (pending)`)
933+
);
934+
break;
930935
case 'error':
931936
case 'failed':
932937
console.log(

packages/tm-core/src/modules/auth/managers/auth-manager.spec.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,19 @@ vi.mock('../services/session-manager.js', () => {
7272

7373
// Mock SupabaseAuthClient to avoid side effects
7474
vi.mock('../../integration/clients/supabase-client.js', () => {
75+
let instance: any = null;
7576
return {
7677
SupabaseAuthClient: class {
7778
constructor() {}
79+
static getInstance() {
80+
if (!instance) {
81+
instance = new (this as any)();
82+
}
83+
return instance;
84+
}
85+
static resetInstance() {
86+
instance = null;
87+
}
7888
refreshSession() {
7989
return Promise.resolve({});
8090
}

packages/tm-core/src/modules/integration/services/export.service.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ export interface GenerateBriefOptions {
101101
*/
102102
export interface InvitationResult {
103103
email: string;
104-
status: 'sent' | 'already_member' | 'error' | 'failed';
104+
status: 'sent' | 'already_member' | 'already_invited' | 'error' | 'failed';
105105
error?: string;
106106
}
107107

@@ -237,7 +237,7 @@ export interface SendTeamInvitationsResponse {
237237
success: boolean;
238238
invitations: Array<{
239239
email: string;
240-
status: 'sent' | 'already_member' | 'failed';
240+
status: 'sent' | 'already_member' | 'already_invited' | 'failed';
241241
}>;
242242
}
243243

@@ -248,7 +248,7 @@ export interface SendTeamInvitationsResult {
248248
success: boolean;
249249
invitations?: Array<{
250250
email: string;
251-
status: 'sent' | 'already_member' | 'failed';
251+
status: 'sent' | 'already_member' | 'already_invited' | 'failed';
252252
}>;
253253
error?: {
254254
code: string;

scripts/modules/commands.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,8 @@ async function handleParsePrdToHamster(prdPath) {
493493
);
494494
} else if (inv.status === 'failed') {
495495
console.log(chalk.red(` ${inv.email}: Failed to send`));
496+
} else if (inv.status === 'already_invited') {
497+
console.log(chalk.gray(` ${inv.email}: Already invited`));
496498
}
497499
}
498500
console.log('');

0 commit comments

Comments
 (0)