From 02794fecc26bd70eb09ca8478230fff03478fd61 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 8 Oct 2025 12:41:59 +0000 Subject: [PATCH 1/2] Transitioned from Plan to Build mode Replit-Commit-Author: Agent Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/sEXz3DF --- ...4D-4027-905B-C5796C1712C8}_1759918862990.png | Bin 0 -> 88365 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 attached_assets/{3D55E576-9E4D-4027-905B-C5796C1712C8}_1759918862990.png diff --git a/attached_assets/{3D55E576-9E4D-4027-905B-C5796C1712C8}_1759918862990.png b/attached_assets/{3D55E576-9E4D-4027-905B-C5796C1712C8}_1759918862990.png new file mode 100644 index 0000000000000000000000000000000000000000..d09fa5db5e7f64272abfbe30312cf19f01c66616 GIT binary patch literal 88365 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%0AtSS5KW+LwJ|v>b{V__k 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 GSN{RWVbbsb literal 0 HcmV?d00001 From 3971c6f9120db20159ef5bef32f6cda66db44bc8 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 8 Oct 2025 13:16:55 +0000 Subject: [PATCH 2/2] Add support for publishing posts to both feed and stories simultaneously MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduce a new 'both' post type allowing simultaneous publishing to Facebook and Instagram feeds and stories. This includes UI updates for selecting post types, backend logic for splitting 'both' posts into separate feed and story entries, and the ability to delete scheduled posts. The changes also include a new 'Pages gérées' link in the sidebar and necessary database schema updates. Replit-Commit-Author: Agent Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/WuFXYmm --- client/src/components/calendar-view.tsx | 61 +++++++++++++++--- client/src/components/sidebar.tsx | 18 +++++- client/src/pages/new-post.tsx | 40 +++++++++++- init.sql | 4 ++ server/routes.ts | 82 ++++++++++++++++++++++--- server/services/facebook.ts | 47 ++++++++++++-- server/services/scheduler.ts | 33 ++++++++++ server/storage.ts | 5 ++ shared/schema.ts | 2 +- 9 files changed, 268 insertions(+), 24 deletions(-) diff --git a/client/src/components/calendar-view.tsx b/client/src/components/calendar-view.tsx index 04d216c..6a40ccc 100644 --- a/client/src/components/calendar-view.tsx +++ b/client/src/components/calendar-view.tsx @@ -1,16 +1,45 @@ import { useState } from "react"; import { Button } from "@/components/ui/button"; -import { ChevronLeft, ChevronRight, Calendar as CalendarIcon } from "lucide-react"; -import { useQuery } from "@tanstack/react-query"; +import { ChevronLeft, ChevronRight, Calendar as CalendarIcon, Trash2 } from "lucide-react"; +import { useQuery, useMutation } from "@tanstack/react-query"; +import { useToast } from "@/hooks/use-toast"; +import { apiRequest, queryClient } from "@/lib/queryClient"; import type { ScheduledPost } from "@shared/schema"; export default function CalendarView() { const [currentDate, setCurrentDate] = useState(new Date()); + const { toast } = useToast(); const { data: scheduledPosts = [] } = useQuery({ queryKey: ["/api/scheduled-posts"], }); + const deletePostMutation = useMutation({ + mutationFn: (postId: string) => + apiRequest('DELETE', `/api/scheduled-posts/${postId}`, {}), + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ['/api/scheduled-posts'] }); + toast({ + title: "Publication supprimée", + description: "La publication programmée a été supprimée avec succès", + }); + }, + onError: () => { + toast({ + title: "Erreur", + description: "Impossible de supprimer la publication", + variant: "destructive", + }); + }, + }); + + const handleDeletePost = (postId: string, e: React.MouseEvent) => { + e.stopPropagation(); + if (confirm("Êtes-vous sûr de vouloir supprimer cette publication programmée ?")) { + deletePostMutation.mutate(postId); + } + }; + const getPostsForDate = (date: Date) => { return (scheduledPosts || []).filter(post => { if (!post.scheduledAt) return false; @@ -161,14 +190,28 @@ export default function CalendarView() {
-
{time}
-
{post.postType || 'Post'}
+
+
+
{time}
+
{post.postType || 'Post'}
+
+ {isPending && ( + + )} +
); })} @@ -186,11 +229,11 @@ export default function CalendarView() {
-
+
Programmé
-
+
Publié
diff --git a/client/src/components/sidebar.tsx b/client/src/components/sidebar.tsx index 0346ec4..d7cbb8f 100644 --- a/client/src/components/sidebar.tsx +++ b/client/src/components/sidebar.tsx @@ -38,7 +38,6 @@ export default function Sidebar() { { icon: PlusCircle, label: "Nouvelle publication", href: "/new", badge: null }, { icon: Calendar, label: "Calendrier", href: "/calendar", badge: null }, { icon: Images, label: "Médiathèque", href: "/media", badge: null }, - { icon: Users, label: "Pages gérées", href: "/pages", badge: null }, { icon: Bot, label: "Assistant IA", href: "/ai", badge: null }, ]; @@ -141,6 +140,23 @@ export default function Sidebar() {

Administration

+ + {location === "/pages" && ( +
+ )} + + Pages gérées + ([]); const [postText, setPostText] = useState(''); + const [postType, setPostType] = useState<'feed' | 'story' | 'both'>('feed'); const { data: pages = [] } = useQuery({ queryKey: ['/api/pages'], @@ -115,12 +117,21 @@ export default function NewPost() { return; } + if ((postType === 'story' || postType === 'both') && !selectedMedia) { + toast({ + title: "Média requis", + description: "Les stories nécessitent une image ou vidéo", + variant: "destructive", + }); + return; + } + createPostMutation.mutate({ content: postText, scheduledFor: scheduledDate || undefined, mediaId: selectedMedia || undefined, pageIds: selectedPages, - postType: 'feed', // Default to feed post + postType, }); }; @@ -332,6 +343,33 @@ export default function NewPost() { + + + Type de publication + Choisissez où publier + + +
+ + +

+ {postType === 'feed' && 'Publication classique dans le fil d\'actualité'} + {postType === 'story' && 'Story éphémère (24h) - Nécessite un média'} + {postType === 'both' && 'Publie à la fois dans le feed et en story - Nécessite un média'} +

+
+
+
+ Planification diff --git a/init.sql b/init.sql index 6ef5940..a07f694 100644 --- a/init.sql +++ b/init.sql @@ -1,6 +1,10 @@ -- Script d'initialisation de la base de données Social Flow -- Ce fichier contient les commandes SQL pour créer les tables et l'utilisateur admin par défaut +-- IMPORTANT: Pour les serveurs privés existants, ajouter la valeur 'both' à l'enum post_type +-- Commande à exécuter manuellement sur votre serveur privé : +-- ALTER TYPE post_type ADD VALUE IF NOT EXISTS 'both'; + -- Créer l'enum pour les rôles utilisateur (si pas déjà créé par drizzle-kit push) DO $$ BEGIN CREATE TYPE user_role AS ENUM ('admin', 'user'); diff --git a/server/routes.ts b/server/routes.ts index 4075ff7..5f8d8fb 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -445,6 +445,11 @@ export async function registerRoutes(app: Express): Promise { const userId = user.id; const { pageIds, postType, mediaId, ...postFields } = req.body; + // Validate that stories require media + if ((postType === 'story' || postType === 'both') && !mediaId) { + return res.status(400).json({ error: "Les stories nécessitent un média (image ou vidéo)" }); + } + // Convert scheduledFor string to Date if provided if (postFields.scheduledFor && typeof postFields.scheduledFor === 'string') { postFields.scheduledFor = new Date(postFields.scheduledFor); @@ -468,13 +473,31 @@ export async function registerRoutes(app: Express): Promise { ? new Date(postFields.scheduledFor) : new Date(); // Publish immediately if no date specified + const finalPostType = postType || 'feed'; + for (const pageId of pageIds) { - await storage.createScheduledPost({ - postId: post.id, - pageId, - postType: postType || 'feed', - scheduledAt, - }); + // If postType is "both", create two separate scheduled posts (story + feed) + if (finalPostType === 'both') { + await storage.createScheduledPost({ + postId: post.id, + pageId, + postType: 'story', + scheduledAt, + }); + await storage.createScheduledPost({ + postId: post.id, + pageId, + postType: 'feed', + scheduledAt, + }); + } else { + await storage.createScheduledPost({ + postId: post.id, + pageId, + postType: finalPostType, + scheduledAt, + }); + } } } @@ -504,11 +527,54 @@ export async function registerRoutes(app: Express): Promise { } }); + app.delete("/api/scheduled-posts/:id", requireAuth, async (req, res) => { + try { + const user = req.user as User; + const userId = user.id; + const { id } = req.params; + + // Verify the scheduled post belongs to the user before deleting + const scheduledPost = await storage.getScheduledPost(id); + if (!scheduledPost) { + return res.status(404).json({ error: "Scheduled post not found" }); + } + + const post = await storage.getPost(scheduledPost.postId); + if (!post || post.userId !== userId) { + return res.status(403).json({ error: "Unauthorized" }); + } + + await storage.deleteScheduledPost(id); + res.json({ success: true }); + } catch (error) { + console.error("Error deleting scheduled post:", error); + res.status(500).json({ error: "Failed to delete scheduled post" }); + } + }); + app.post("/api/scheduled-posts", requireAuth, async (req, res) => { try { const scheduledPostData = insertScheduledPostSchema.parse(req.body); - const scheduledPost = await storage.createScheduledPost(scheduledPostData); - res.json(scheduledPost); + + // If postType is "both", create two separate scheduled posts (story + feed) + // This prevents retry loops - each post type is independent + if (scheduledPostData.postType === 'both') { + const [storyPost, feedPost] = await Promise.all([ + storage.createScheduledPost({ + ...scheduledPostData, + postType: 'story' as const, + }), + storage.createScheduledPost({ + ...scheduledPostData, + postType: 'feed' as const, + }), + ]); + // Return array so frontend knows it's a split operation + res.json([storyPost, feedPost]); + } else { + const scheduledPost = await storage.createScheduledPost(scheduledPostData); + res.json(scheduledPost); + } } catch (error) { console.error("Error creating scheduled post:", error); res.status(500).json({ error: "Failed to create scheduled post" }); diff --git a/server/services/facebook.ts b/server/services/facebook.ts index bacf4e2..25f5d44 100644 --- a/server/services/facebook.ts +++ b/server/services/facebook.ts @@ -30,11 +30,26 @@ export class FacebookService { throw new Error('No access token found for this page'); } - // If there's media, publish as photo post, otherwise as text post - if (media) { - return await this.publishPhotoPost(post, page, media); + // Handle different post types + // Note: "both" type should never reach here - new posts are split at creation + // If it does reach here (legacy data), throw an error + if (postType === 'both') { + throw new Error('postType "both" is not supported. Posts should be split into separate feed and story entries at creation.'); + } + + if (postType === 'story') { + // Publish as story only + if (!media) { + throw new Error('Stories require media (photo or video)'); + } + return await this.publishStory(post, page, media); } else { - return await this.publishTextPost(post, page); + // Default to feed + if (media) { + return await this.publishPhotoPost(post, page, media); + } else { + return await this.publishTextPost(post, page); + } } } @@ -165,6 +180,30 @@ export class FacebookService { const data = await response.json() as FacebookPhotoResponse; return data.post_id || data.id; } + + private async publishStory(post: Post, page: SocialPage, media: Media): Promise { + // Use vertical format for stories (Instagram Story URL 1080x1920) + const photoUrl = media.instagramStoryUrl || media.originalUrl; + + const params = new URLSearchParams({ + access_token: page.accessToken!, + url: photoUrl, + }); + + const url = `${this.baseUrl}/${page.pageId}/photo_stories?${params.toString()}`; + + const response = await fetch(url, { + method: 'POST', + }); + + if (!response.ok) { + const error = await response.json() as FacebookError; + throw new Error(`Facebook API error: ${error.error.message} (code: ${error.error.code})`); + } + + const data = await response.json() as FacebookPhotoResponse; + return data.id; + } } export const facebookService = new FacebookService(); diff --git a/server/services/scheduler.ts b/server/services/scheduler.ts index 5254e89..f1354b6 100644 --- a/server/services/scheduler.ts +++ b/server/services/scheduler.ts @@ -27,6 +27,23 @@ export class SchedulerService { for (const scheduledPost of pendingPosts) { try { + // Reject legacy "both" posts - they should have been split at creation + // New posts are automatically split in /api/posts + if (scheduledPost.postType === 'both') { + const errorMsg = 'Legacy postType "both" is no longer supported. Deleting this scheduled entry. Please recreate this post - it will automatically be split into separate feed and story posts.'; + console.error(`Rejecting and deleting legacy "both" post ${scheduledPost.id}: ${errorMsg}`); + + // Delete the legacy post entirely (don't mark as published - that's misleading) + await storage.deleteScheduledPost(scheduledPost.id); + + // Update parent post status to draft so user can reschedule + await storage.updatePost(scheduledPost.postId, { + status: "draft", + }); + + continue; + } + await this.publishPost(scheduledPost); } catch (error) { console.error(`Error publishing post ${scheduledPost.id}:`, error); @@ -54,6 +71,22 @@ export class SchedulerService { const postMediaList = await storage.getPostMedia(post.id); const media = postMediaList.length > 0 ? await storage.getMediaById(postMediaList[0].mediaId) : undefined; + // Validate that story posts have media + // Note: "both" should never reach here since they're split at creation + if (scheduledPost.postType === 'story' && !media) { + const errorMsg = 'Les stories nécessitent un média. Ce post ne peut pas être publié.'; + console.error(`Deleting invalid story post ${scheduledPost.id} without media: ${errorMsg}`); + + // Delete the invalid scheduled post (don't mark as published - that's misleading) + await storage.deleteScheduledPost(scheduledPost.id); + + // Set post to draft so user can fix and reschedule + await storage.updatePost(post.id, { + status: "draft", + }); + return; + } + // Publish to Facebook/Instagram let externalPostId: string; diff --git a/server/storage.ts b/server/storage.ts index 750a44c..d1ef1d7 100644 --- a/server/storage.ts +++ b/server/storage.ts @@ -62,6 +62,7 @@ export interface IStorage { // Scheduled Posts getScheduledPosts(userId: string, startDate?: Date, endDate?: Date): Promise; getScheduledPost(id: string): Promise; + getScheduledPostsByPost(postId: string): Promise; createScheduledPost(scheduledPost: InsertScheduledPost): Promise; updateScheduledPost(id: string, scheduledPost: Partial): Promise; deleteScheduledPost(id: string): Promise; @@ -210,6 +211,10 @@ export class DatabaseStorage implements IStorage { return scheduledPost || undefined; } + async getScheduledPostsByPost(postId: string): Promise { + return await db.select().from(scheduledPosts).where(eq(scheduledPosts.postId, postId)); + } + async createScheduledPost(scheduledPost: InsertScheduledPost): Promise { const [newScheduledPost] = await db.insert(scheduledPosts).values(scheduledPost).returning(); return newScheduledPost; diff --git a/shared/schema.ts b/shared/schema.ts index c2ea279..12e6b21 100644 --- a/shared/schema.ts +++ b/shared/schema.ts @@ -5,7 +5,7 @@ import { createInsertSchema } from "drizzle-zod"; import { z } from "zod"; export const platformEnum = pgEnum("platform", ["facebook", "instagram"]); -export const postTypeEnum = pgEnum("post_type", ["feed", "story"]); +export const postTypeEnum = pgEnum("post_type", ["feed", "story", "both"]); export const postStatusEnum = pgEnum("post_status", ["draft", "scheduled", "published", "failed"]); export const mediaTypeEnum = pgEnum("media_type", ["image", "video"]); export const userRoleEnum = pgEnum("user_role", ["admin", "user"]);