feat: enhance danak services with feedback system and improved metadata tracking

- Add service feedback system with CRUD operations
- Add service guide functionality
- Enhance metadata tracking with comprehensive headers (user-agent, referer, language, etc.)
- Add new DTOs for feedback and guide management
- Add repositories for feedback and guide entities
- Update controller with new endpoints for feedback management
- Improve service organization and method structure
- Add payment and user entity enhancements
This commit is contained in:
mahyargdz
2025-08-19 13:15:13 +03:30
parent 43a3714284
commit 0764c2689f
18 changed files with 511 additions and 16 deletions
@@ -0,0 +1,26 @@
import { Column, DeleteDateColumn, Entity, ManyToOne } from "typeorm";
import { DanakService } from "./danak-service.entity";
import { BaseEntity } from "../../../common/entities/base.entity";
import { User } from "../../users/entities/user.entity";
@Entity()
export class DanakServiceFeedback extends BaseEntity {
@Column({ type: "text", nullable: false })
content: string;
@Column({ type: "int", nullable: false })
rating: number;
@Column({ type: "json", nullable: true })
metadata: Record<string, unknown> | null;
@ManyToOne(() => User, (user) => user.serviceFeedbacks, { onDelete: "SET NULL", nullable: true })
user: User | null;
@ManyToOne(() => DanakService, (service) => service.feedbacks, { onDelete: "CASCADE", nullable: false })
service: DanakService;
@DeleteDateColumn({ nullable: true })
deletedAt?: Date;
}