diff --git a/src/actions/moving-motivators.ts b/src/actions/moving-motivators.ts
index e22df7d..a1789a9 100644
--- a/src/actions/moving-motivators.ts
+++ b/src/actions/moving-motivators.ts
@@ -16,6 +16,16 @@ export async function createMotivatorSession(data: { title: string; participant:
try {
const motivatorSession = await motivatorsService.createMotivatorSession(session.user.id, data);
+ try {
+ await motivatorsService.shareMotivatorSession(
+ motivatorSession.id,
+ session.user.id,
+ data.participant,
+ 'EDITOR'
+ );
+ } catch (shareError) {
+ console.error('Auto-share failed:', shareError);
+ }
revalidatePath('/motivators');
return { success: true, data: motivatorSession };
} catch (error) {
diff --git a/src/actions/weekly-checkin.ts b/src/actions/weekly-checkin.ts
index 5c6cbc2..929721e 100644
--- a/src/actions/weekly-checkin.ts
+++ b/src/actions/weekly-checkin.ts
@@ -24,6 +24,16 @@ export async function createWeeklyCheckInSession(data: {
session.user.id,
data
);
+ try {
+ await weeklyCheckInService.shareWeeklyCheckInSession(
+ weeklyCheckInSession.id,
+ session.user.id,
+ data.participant,
+ 'EDITOR'
+ );
+ } catch (shareError) {
+ console.error('Auto-share failed:', shareError);
+ }
revalidatePath('/weekly-checkin');
revalidatePath('/sessions');
return { success: true, data: weeklyCheckInSession };
diff --git a/src/actions/year-review.ts b/src/actions/year-review.ts
index 5e01b84..6eefc69 100644
--- a/src/actions/year-review.ts
+++ b/src/actions/year-review.ts
@@ -24,6 +24,16 @@ export async function createYearReviewSession(data: {
session.user.id,
data
);
+ try {
+ await yearReviewService.shareYearReviewSession(
+ yearReviewSession.id,
+ session.user.id,
+ data.participant,
+ 'EDITOR'
+ );
+ } catch (shareError) {
+ console.error('Auto-share failed:', shareError);
+ }
revalidatePath('/year-review');
revalidatePath('/sessions');
return { success: true, data: yearReviewSession };
diff --git a/src/app/api/sessions/route.ts b/src/app/api/sessions/route.ts
index 30d6f03..99ea0b7 100644
--- a/src/app/api/sessions/route.ts
+++ b/src/app/api/sessions/route.ts
@@ -1,6 +1,7 @@
import { NextResponse } from 'next/server';
import { auth } from '@/lib/auth';
import { prisma } from '@/services/database';
+import { shareSession } from '@/services/sessions';
export async function GET() {
try {
@@ -56,6 +57,12 @@ export async function POST(request: Request) {
},
});
+ try {
+ await shareSession(newSession.id, session.user.id, collaborator, 'EDITOR');
+ } catch (shareError) {
+ console.error('Auto-share failed:', shareError);
+ }
+
return NextResponse.json(newSession, { status: 201 });
} catch (error) {
console.error('Error creating session:', error);
diff --git a/src/app/api/teams/members/route.ts b/src/app/api/teams/members/route.ts
new file mode 100644
index 0000000..75089ad
--- /dev/null
+++ b/src/app/api/teams/members/route.ts
@@ -0,0 +1,31 @@
+import { NextResponse } from 'next/server';
+import { auth } from '@/lib/auth';
+import { getUserTeams } from '@/services/teams';
+import { getTeamMembersForShare } from '@/lib/share-utils';
+
+export async function GET() {
+ try {
+ const session = await auth();
+
+ if (!session?.user?.id) {
+ return NextResponse.json({ error: 'Non autorisé' }, { status: 401 });
+ }
+
+ const teams = await getUserTeams(session.user.id);
+ const otherMembers = getTeamMembersForShare(teams, session.user.id);
+ const currentUser = {
+ id: session.user.id,
+ email: session.user.email ?? '',
+ name: session.user.name ?? null,
+ };
+ const members = [currentUser, ...otherMembers];
+
+ return NextResponse.json({ members });
+ } catch (error) {
+ console.error('Error fetching team members:', error);
+ return NextResponse.json(
+ { error: 'Erreur lors de la récupération des membres' },
+ { status: 500 }
+ );
+ }
+}
diff --git a/src/app/motivators/new/page.tsx b/src/app/motivators/new/page.tsx
index 61a113d..ed18583 100644
--- a/src/app/motivators/new/page.tsx
+++ b/src/app/motivators/new/page.tsx
@@ -10,6 +10,7 @@ import {
CardContent,
Button,
Input,
+ ParticipantInput,
} from '@/components/ui';
import { createMotivatorSession } from '@/actions/moving-motivators';
@@ -72,12 +73,7 @@ export default function NewMotivatorSessionPage() {
required
/>
-
+