mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-24 07:28:19 +02:00
Add reconciliation comments functionality for task management
Implement schema and relations for reconciliation comments, linking them to deliveries, groups, and users. Add insert schema for reconciliation comments. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 95e8aab4-f39f-4b48-aa57-a759ec15ba3d Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/95e8aab4-f39f-4b48-aa57-a759ec15ba3d/BOWXK9F
This commit is contained in:
1 parent
4496a7ff58
commit
f7159ee808
1 file changed
+37
-1
+37
-1
@@ -319,6 +319,7 @@ export const usersRelations = relations(users, ({ many }) => ({
|
|||||||
assignedTasks: many(tasks),
|
assignedTasks: many(tasks),
|
||||||
createdAnnouncements: many(dashboardMessages),
|
createdAnnouncements: many(dashboardMessages),
|
||||||
createdAvoirs: many(avoirs),
|
createdAvoirs: many(avoirs),
|
||||||
|
createdReconciliationComments: many(reconciliationComments),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
export const groupsRelations = relations(groups, ({ one, many }) => ({
|
export const groupsRelations = relations(groups, ({ one, many }) => ({
|
||||||
@@ -331,6 +332,7 @@ export const groupsRelations = relations(groups, ({ one, many }) => ({
|
|||||||
tasks: many(tasks),
|
tasks: many(tasks),
|
||||||
announcements: many(dashboardMessages),
|
announcements: many(dashboardMessages),
|
||||||
avoirs: many(avoirs),
|
avoirs: many(avoirs),
|
||||||
|
reconciliationComments: many(reconciliationComments),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
export const userGroupsRelations = relations(userGroups, ({ one }) => ({
|
export const userGroupsRelations = relations(userGroups, ({ one }) => ({
|
||||||
@@ -367,7 +369,7 @@ export const ordersRelations = relations(orders, ({ one, many }) => ({
|
|||||||
deliveries: many(deliveries),
|
deliveries: many(deliveries),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
export const deliveriesRelations = relations(deliveries, ({ one }) => ({
|
export const deliveriesRelations = relations(deliveries, ({ one, many }) => ({
|
||||||
order: one(orders, {
|
order: one(orders, {
|
||||||
fields: [deliveries.orderId],
|
fields: [deliveries.orderId],
|
||||||
references: [orders.id],
|
references: [orders.id],
|
||||||
@@ -384,6 +386,7 @@ export const deliveriesRelations = relations(deliveries, ({ one }) => ({
|
|||||||
fields: [deliveries.createdBy],
|
fields: [deliveries.createdBy],
|
||||||
references: [users.id],
|
references: [users.id],
|
||||||
}),
|
}),
|
||||||
|
reconciliationComments: many(reconciliationComments),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
export const publicitiesRelations = relations(publicities, ({ one, many }) => ({
|
export const publicitiesRelations = relations(publicities, ({ one, many }) => ({
|
||||||
@@ -481,6 +484,22 @@ export const dashboardMessagesRelations = relations(dashboardMessages, ({ one })
|
|||||||
// Alias pour compatibilité
|
// Alias pour compatibilité
|
||||||
export const announcementsRelations = dashboardMessagesRelations;
|
export const announcementsRelations = dashboardMessagesRelations;
|
||||||
|
|
||||||
|
// Relations pour les commentaires de rapprochement
|
||||||
|
export const reconciliationCommentsRelations = relations(reconciliationComments, ({ one }) => ({
|
||||||
|
delivery: one(deliveries, {
|
||||||
|
fields: [reconciliationComments.deliveryId],
|
||||||
|
references: [deliveries.id],
|
||||||
|
}),
|
||||||
|
group: one(groups, {
|
||||||
|
fields: [reconciliationComments.groupId],
|
||||||
|
references: [groups.id],
|
||||||
|
}),
|
||||||
|
author: one(users, {
|
||||||
|
fields: [reconciliationComments.authorId],
|
||||||
|
references: [users.id],
|
||||||
|
}),
|
||||||
|
}));
|
||||||
|
|
||||||
// Zod schemas
|
// Zod schemas
|
||||||
export const insertUserSchema = createInsertSchema(users).pick({
|
export const insertUserSchema = createInsertSchema(users).pick({
|
||||||
id: true,
|
id: true,
|
||||||
@@ -610,6 +629,14 @@ export const insertDashboardMessageSchema = createInsertSchema(dashboardMessages
|
|||||||
|
|
||||||
export const insertAnnouncementSchema = insertDashboardMessageSchema;
|
export const insertAnnouncementSchema = insertDashboardMessageSchema;
|
||||||
|
|
||||||
|
export const insertReconciliationCommentSchema = createInsertSchema(reconciliationComments).omit({
|
||||||
|
id: true,
|
||||||
|
createdAt: true,
|
||||||
|
updatedAt: true,
|
||||||
|
}).extend({
|
||||||
|
type: z.enum(["info", "warning", "error", "success"]).default("info"),
|
||||||
|
});
|
||||||
|
|
||||||
export const insertNocodbConfigSchema = createInsertSchema(nocodbConfig).omit({
|
export const insertNocodbConfigSchema = createInsertSchema(nocodbConfig).omit({
|
||||||
id: true,
|
id: true,
|
||||||
createdAt: true,
|
createdAt: true,
|
||||||
@@ -670,6 +697,8 @@ export type Avoir = typeof avoirs.$inferSelect;
|
|||||||
export type InsertAvoir = z.infer<typeof insertAvoirSchema>;
|
export type InsertAvoir = z.infer<typeof insertAvoirSchema>;
|
||||||
export type DashboardMessage = typeof dashboardMessages.$inferSelect;
|
export type DashboardMessage = typeof dashboardMessages.$inferSelect;
|
||||||
export type InsertDashboardMessage = z.infer<typeof insertDashboardMessageSchema>;
|
export type InsertDashboardMessage = z.infer<typeof insertDashboardMessageSchema>;
|
||||||
|
export type ReconciliationComment = typeof reconciliationComments.$inferSelect;
|
||||||
|
export type InsertReconciliationComment = z.infer<typeof insertReconciliationCommentSchema>;
|
||||||
|
|
||||||
// Alias pour compatibilité
|
// Alias pour compatibilité
|
||||||
export type Announcement = DashboardMessage;
|
export type Announcement = DashboardMessage;
|
||||||
@@ -738,6 +767,13 @@ export type DashboardMessageWithRelations = DashboardMessage & {
|
|||||||
// Alias pour compatibilité
|
// Alias pour compatibilité
|
||||||
export type AnnouncementWithRelations = DashboardMessageWithRelations;
|
export type AnnouncementWithRelations = DashboardMessageWithRelations;
|
||||||
|
|
||||||
|
// Reconciliation Comment with relations type
|
||||||
|
export type ReconciliationCommentWithRelations = ReconciliationComment & {
|
||||||
|
delivery: DeliveryWithRelations;
|
||||||
|
group: Group;
|
||||||
|
author: User;
|
||||||
|
};
|
||||||
|
|
||||||
// SAV (Service Après-Vente) Tables
|
// SAV (Service Après-Vente) Tables
|
||||||
export const savTickets = pgTable("sav_tickets", {
|
export const savTickets = pgTable("sav_tickets", {
|
||||||
id: serial("id").primaryKey(),
|
id: serial("id").primaryKey(),
|
||||||
|
|||||||
Reference in new issue
Block a user