mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +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),
|
||||
createdAnnouncements: many(dashboardMessages),
|
||||
createdAvoirs: many(avoirs),
|
||||
createdReconciliationComments: many(reconciliationComments),
|
||||
}));
|
||||
|
||||
export const groupsRelations = relations(groups, ({ one, many }) => ({
|
||||
@@ -331,6 +332,7 @@ export const groupsRelations = relations(groups, ({ one, many }) => ({
|
||||
tasks: many(tasks),
|
||||
announcements: many(dashboardMessages),
|
||||
avoirs: many(avoirs),
|
||||
reconciliationComments: many(reconciliationComments),
|
||||
}));
|
||||
|
||||
export const userGroupsRelations = relations(userGroups, ({ one }) => ({
|
||||
@@ -367,7 +369,7 @@ export const ordersRelations = relations(orders, ({ one, many }) => ({
|
||||
deliveries: many(deliveries),
|
||||
}));
|
||||
|
||||
export const deliveriesRelations = relations(deliveries, ({ one }) => ({
|
||||
export const deliveriesRelations = relations(deliveries, ({ one, many }) => ({
|
||||
order: one(orders, {
|
||||
fields: [deliveries.orderId],
|
||||
references: [orders.id],
|
||||
@@ -384,6 +386,7 @@ export const deliveriesRelations = relations(deliveries, ({ one }) => ({
|
||||
fields: [deliveries.createdBy],
|
||||
references: [users.id],
|
||||
}),
|
||||
reconciliationComments: many(reconciliationComments),
|
||||
}));
|
||||
|
||||
export const publicitiesRelations = relations(publicities, ({ one, many }) => ({
|
||||
@@ -481,6 +484,22 @@ export const dashboardMessagesRelations = relations(dashboardMessages, ({ one })
|
||||
// Alias pour compatibilité
|
||||
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
|
||||
export const insertUserSchema = createInsertSchema(users).pick({
|
||||
id: true,
|
||||
@@ -610,6 +629,14 @@ export const insertDashboardMessageSchema = createInsertSchema(dashboardMessages
|
||||
|
||||
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({
|
||||
id: true,
|
||||
createdAt: true,
|
||||
@@ -670,6 +697,8 @@ export type Avoir = typeof avoirs.$inferSelect;
|
||||
export type InsertAvoir = z.infer<typeof insertAvoirSchema>;
|
||||
export type DashboardMessage = typeof dashboardMessages.$inferSelect;
|
||||
export type InsertDashboardMessage = z.infer<typeof insertDashboardMessageSchema>;
|
||||
export type ReconciliationComment = typeof reconciliationComments.$inferSelect;
|
||||
export type InsertReconciliationComment = z.infer<typeof insertReconciliationCommentSchema>;
|
||||
|
||||
// Alias pour compatibilité
|
||||
export type Announcement = DashboardMessage;
|
||||
@@ -738,6 +767,13 @@ export type DashboardMessageWithRelations = DashboardMessage & {
|
||||
// Alias pour compatibilité
|
||||
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
|
||||
export const savTickets = pgTable("sav_tickets", {
|
||||
id: serial("id").primaryKey(),
|
||||
|
||||
Reference in new issue
Block a user