feat: add movie management API and database schema

- Implemented movie CRUD operations with endpoints for creating, retrieving, updating, and deleting movies.
- Added pagination and filtering capabilities for movie retrieval.
- Integrated Redis caching for improved performance on movie data retrieval.
- Created database schema for movies with necessary fields and types.
- Added migration files for initial movie table creation and subsequent updates.
- Configured database connection using Drizzle ORM with MySQL.
- Established Redis connection utility for caching.
This commit is contained in:
ngthanhvu
2026-07-22 00:31:10 -04:00
parent f09e3275eb
commit ad8d577493
30 changed files with 3244 additions and 349 deletions
@@ -0,0 +1,25 @@
CREATE TABLE `movies` (
`id` int AUTO_INCREMENT NOT NULL,
`source` varchar(50) NOT NULL,
`slug` varchar(500) NOT NULL,
`name` varchar(500) NOT NULL,
`origin_name` varchar(500),
`thumb` text,
`poster` text,
`year` int,
`time` varchar(100),
`episode` varchar(100),
`quality` varchar(50),
`lang` varchar(50),
`type` varchar(50),
`rating` int,
`content` text,
`categories` json,
`countries` json,
`sources` json,
`active` boolean NOT NULL DEFAULT false,
`synced_at` timestamp NOT NULL DEFAULT (now()),
`created_at` timestamp NOT NULL DEFAULT (now()),
`updated_at` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT `movies_id` PRIMARY KEY(`id`)
);