Loading backend/prisma/migrations/20240604140034_migration_without_movie/migration.sqldeleted 100644 → 0 +0 −24 Original line number Diff line number Diff line /* Warnings: - You are about to drop the `Movie` table. If the table is not empty, all the data it contains will be lost. - You are about to drop the `_MovieToPlaylist` table. If the table is not empty, all the data it contains will be lost. */ -- DropForeignKey ALTER TABLE "Review" DROP CONSTRAINT "Review_movieId_fkey"; -- DropForeignKey ALTER TABLE "_MovieToPlaylist" DROP CONSTRAINT "_MovieToPlaylist_A_fkey"; -- DropForeignKey ALTER TABLE "_MovieToPlaylist" DROP CONSTRAINT "_MovieToPlaylist_B_fkey"; -- AlterTable ALTER TABLE "Playlist" ADD COLUMN "moviesIds" TEXT[]; -- DropTable DROP TABLE "Movie"; -- DropTable DROP TABLE "_MovieToPlaylist"; backend/prisma/migrations/20240531223851_test_migration/migration.sql→backend/prisma/migrations/20240604212947_test_migration/migration.sql +2 −29 Original line number Diff line number Diff line Loading @@ -19,13 +19,6 @@ CREATE TABLE "Club" ( CONSTRAINT "Club_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Movie" ( "id" TEXT NOT NULL, CONSTRAINT "Movie_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Review" ( "id" TEXT NOT NULL, Loading @@ -42,6 +35,7 @@ CREATE TABLE "Review" ( CREATE TABLE "Playlist" ( "id" TEXT NOT NULL, "name" TEXT NOT NULL, "moviesIds" TEXT[], "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "Playlist_pkey" PRIMARY KEY ("id") Loading @@ -50,8 +44,8 @@ CREATE TABLE "Playlist" ( -- CreateTable CREATE TABLE "Post" ( "id" TEXT NOT NULL, "authorId" TEXT NOT NULL, "message" TEXT NOT NULL, "authorId" TEXT NOT NULL, "clubId" TEXT NOT NULL, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, Loading @@ -70,12 +64,6 @@ CREATE TABLE "_ClubToPlaylist" ( "B" TEXT NOT NULL ); -- CreateTable CREATE TABLE "_MovieToPlaylist" ( "A" TEXT NOT NULL, "B" TEXT NOT NULL ); -- CreateTable CREATE TABLE "_PlaylistToUser" ( "A" TEXT NOT NULL, Loading Loading @@ -103,12 +91,6 @@ CREATE UNIQUE INDEX "_ClubToPlaylist_AB_unique" ON "_ClubToPlaylist"("A", "B"); -- CreateIndex CREATE INDEX "_ClubToPlaylist_B_index" ON "_ClubToPlaylist"("B"); -- CreateIndex CREATE UNIQUE INDEX "_MovieToPlaylist_AB_unique" ON "_MovieToPlaylist"("A", "B"); -- CreateIndex CREATE INDEX "_MovieToPlaylist_B_index" ON "_MovieToPlaylist"("B"); -- CreateIndex CREATE UNIQUE INDEX "_PlaylistToUser_AB_unique" ON "_PlaylistToUser"("A", "B"); Loading @@ -118,9 +100,6 @@ CREATE INDEX "_PlaylistToUser_B_index" ON "_PlaylistToUser"("B"); -- AddForeignKey ALTER TABLE "Club" ADD CONSTRAINT "Club_ownerId_fkey" FOREIGN KEY ("ownerId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Review" ADD CONSTRAINT "Review_movieId_fkey" FOREIGN KEY ("movieId") REFERENCES "Movie"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Review" ADD CONSTRAINT "Review_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; Loading @@ -142,12 +121,6 @@ ALTER TABLE "_ClubToPlaylist" ADD CONSTRAINT "_ClubToPlaylist_A_fkey" FOREIGN KE -- AddForeignKey ALTER TABLE "_ClubToPlaylist" ADD CONSTRAINT "_ClubToPlaylist_B_fkey" FOREIGN KEY ("B") REFERENCES "Playlist"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "_MovieToPlaylist" ADD CONSTRAINT "_MovieToPlaylist_A_fkey" FOREIGN KEY ("A") REFERENCES "Movie"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "_MovieToPlaylist" ADD CONSTRAINT "_MovieToPlaylist_B_fkey" FOREIGN KEY ("B") REFERENCES "Playlist"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "_PlaylistToUser" ADD CONSTRAINT "_PlaylistToUser_A_fkey" FOREIGN KEY ("A") REFERENCES "Playlist"("id") ON DELETE CASCADE ON UPDATE CASCADE; Loading frontend/src/api/baseApi.ts +6 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,11 @@ async function getSingle<T>(path: string) { return resp.data; } async function getSingleParams<T>(path: string, config?: AxiosRequestConfig) { const resp = await axiosInstance.get<ApiRespSingle<T>>(path, config); return resp.data; } async function postSingle<T>(path: string, payload: unknown) { const resp = await axiosInstance.post<ApiRespSingle<T>>(path, payload); return resp.data; Loading @@ -44,6 +49,7 @@ const BaseApi = { getAll, getAllPaginated, getSingle, getSingleParams, post: axiosInstance.post, postSingle, put: axiosInstance.put, Loading frontend/src/api/clubApi.ts +2 −2 Original line number Diff line number Diff line Loading @@ -5,11 +5,11 @@ import { Club, ClubPlaylists, CreateClub } from "../models/club.ts"; const CLUB_PREFIX = "/clubs"; async function getSingleById(id: string) { return BaseApi.getSingle<Club>(`${CLUB_PREFIX}/search&id=${id}`); return BaseApi.getSingleParams<Club>(`${CLUB_PREFIX}/search`, {params: {id: id}}); } async function getSingleByName(name: string) { return BaseApi.getSingle<Club>(`${CLUB_PREFIX}/search&name=${name}`); return BaseApi.getSingleParams<Club>(`${CLUB_PREFIX}/search`, {params: {name: name}}); } async function getAllPaginated({ page }: ReqPagination) { Loading frontend/src/api/movieApi.ts +4 −5 Original line number Diff line number Diff line import BaseApi from "./baseApi.ts"; import {Movie, MovieDetailed} from "../models/movie.ts"; import {ReqPagination} from "../models/request.ts"; const MOVIE_PREFIX = "/movies"; async function getSingleById(id: string) { return BaseApi.getSingle<MovieDetailed>(`${MOVIE_PREFIX}&id=${id}`); return BaseApi.getSingleParams<MovieDetailed>(`${MOVIE_PREFIX}`, {params: {id: id}}); } async function getAllByName(name: string, page: ReqPagination) { return BaseApi.getAllPaginated<Movie>(`${MOVIE_PREFIX}/search&title=${name}`, { params: {page} async function getAllByName(title: string, page: number) { return BaseApi.getAllPaginated<Movie>(`${MOVIE_PREFIX}/search`, { params: {page: page, title: title} }); } Loading Loading
backend/prisma/migrations/20240604140034_migration_without_movie/migration.sqldeleted 100644 → 0 +0 −24 Original line number Diff line number Diff line /* Warnings: - You are about to drop the `Movie` table. If the table is not empty, all the data it contains will be lost. - You are about to drop the `_MovieToPlaylist` table. If the table is not empty, all the data it contains will be lost. */ -- DropForeignKey ALTER TABLE "Review" DROP CONSTRAINT "Review_movieId_fkey"; -- DropForeignKey ALTER TABLE "_MovieToPlaylist" DROP CONSTRAINT "_MovieToPlaylist_A_fkey"; -- DropForeignKey ALTER TABLE "_MovieToPlaylist" DROP CONSTRAINT "_MovieToPlaylist_B_fkey"; -- AlterTable ALTER TABLE "Playlist" ADD COLUMN "moviesIds" TEXT[]; -- DropTable DROP TABLE "Movie"; -- DropTable DROP TABLE "_MovieToPlaylist";
backend/prisma/migrations/20240531223851_test_migration/migration.sql→backend/prisma/migrations/20240604212947_test_migration/migration.sql +2 −29 Original line number Diff line number Diff line Loading @@ -19,13 +19,6 @@ CREATE TABLE "Club" ( CONSTRAINT "Club_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Movie" ( "id" TEXT NOT NULL, CONSTRAINT "Movie_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Review" ( "id" TEXT NOT NULL, Loading @@ -42,6 +35,7 @@ CREATE TABLE "Review" ( CREATE TABLE "Playlist" ( "id" TEXT NOT NULL, "name" TEXT NOT NULL, "moviesIds" TEXT[], "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "Playlist_pkey" PRIMARY KEY ("id") Loading @@ -50,8 +44,8 @@ CREATE TABLE "Playlist" ( -- CreateTable CREATE TABLE "Post" ( "id" TEXT NOT NULL, "authorId" TEXT NOT NULL, "message" TEXT NOT NULL, "authorId" TEXT NOT NULL, "clubId" TEXT NOT NULL, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, Loading @@ -70,12 +64,6 @@ CREATE TABLE "_ClubToPlaylist" ( "B" TEXT NOT NULL ); -- CreateTable CREATE TABLE "_MovieToPlaylist" ( "A" TEXT NOT NULL, "B" TEXT NOT NULL ); -- CreateTable CREATE TABLE "_PlaylistToUser" ( "A" TEXT NOT NULL, Loading Loading @@ -103,12 +91,6 @@ CREATE UNIQUE INDEX "_ClubToPlaylist_AB_unique" ON "_ClubToPlaylist"("A", "B"); -- CreateIndex CREATE INDEX "_ClubToPlaylist_B_index" ON "_ClubToPlaylist"("B"); -- CreateIndex CREATE UNIQUE INDEX "_MovieToPlaylist_AB_unique" ON "_MovieToPlaylist"("A", "B"); -- CreateIndex CREATE INDEX "_MovieToPlaylist_B_index" ON "_MovieToPlaylist"("B"); -- CreateIndex CREATE UNIQUE INDEX "_PlaylistToUser_AB_unique" ON "_PlaylistToUser"("A", "B"); Loading @@ -118,9 +100,6 @@ CREATE INDEX "_PlaylistToUser_B_index" ON "_PlaylistToUser"("B"); -- AddForeignKey ALTER TABLE "Club" ADD CONSTRAINT "Club_ownerId_fkey" FOREIGN KEY ("ownerId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Review" ADD CONSTRAINT "Review_movieId_fkey" FOREIGN KEY ("movieId") REFERENCES "Movie"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Review" ADD CONSTRAINT "Review_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; Loading @@ -142,12 +121,6 @@ ALTER TABLE "_ClubToPlaylist" ADD CONSTRAINT "_ClubToPlaylist_A_fkey" FOREIGN KE -- AddForeignKey ALTER TABLE "_ClubToPlaylist" ADD CONSTRAINT "_ClubToPlaylist_B_fkey" FOREIGN KEY ("B") REFERENCES "Playlist"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "_MovieToPlaylist" ADD CONSTRAINT "_MovieToPlaylist_A_fkey" FOREIGN KEY ("A") REFERENCES "Movie"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "_MovieToPlaylist" ADD CONSTRAINT "_MovieToPlaylist_B_fkey" FOREIGN KEY ("B") REFERENCES "Playlist"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "_PlaylistToUser" ADD CONSTRAINT "_PlaylistToUser_A_fkey" FOREIGN KEY ("A") REFERENCES "Playlist"("id") ON DELETE CASCADE ON UPDATE CASCADE; Loading
frontend/src/api/baseApi.ts +6 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,11 @@ async function getSingle<T>(path: string) { return resp.data; } async function getSingleParams<T>(path: string, config?: AxiosRequestConfig) { const resp = await axiosInstance.get<ApiRespSingle<T>>(path, config); return resp.data; } async function postSingle<T>(path: string, payload: unknown) { const resp = await axiosInstance.post<ApiRespSingle<T>>(path, payload); return resp.data; Loading @@ -44,6 +49,7 @@ const BaseApi = { getAll, getAllPaginated, getSingle, getSingleParams, post: axiosInstance.post, postSingle, put: axiosInstance.put, Loading
frontend/src/api/clubApi.ts +2 −2 Original line number Diff line number Diff line Loading @@ -5,11 +5,11 @@ import { Club, ClubPlaylists, CreateClub } from "../models/club.ts"; const CLUB_PREFIX = "/clubs"; async function getSingleById(id: string) { return BaseApi.getSingle<Club>(`${CLUB_PREFIX}/search&id=${id}`); return BaseApi.getSingleParams<Club>(`${CLUB_PREFIX}/search`, {params: {id: id}}); } async function getSingleByName(name: string) { return BaseApi.getSingle<Club>(`${CLUB_PREFIX}/search&name=${name}`); return BaseApi.getSingleParams<Club>(`${CLUB_PREFIX}/search`, {params: {name: name}}); } async function getAllPaginated({ page }: ReqPagination) { Loading
frontend/src/api/movieApi.ts +4 −5 Original line number Diff line number Diff line import BaseApi from "./baseApi.ts"; import {Movie, MovieDetailed} from "../models/movie.ts"; import {ReqPagination} from "../models/request.ts"; const MOVIE_PREFIX = "/movies"; async function getSingleById(id: string) { return BaseApi.getSingle<MovieDetailed>(`${MOVIE_PREFIX}&id=${id}`); return BaseApi.getSingleParams<MovieDetailed>(`${MOVIE_PREFIX}`, {params: {id: id}}); } async function getAllByName(name: string, page: ReqPagination) { return BaseApi.getAllPaginated<Movie>(`${MOVIE_PREFIX}/search&title=${name}`, { params: {page} async function getAllByName(title: string, page: number) { return BaseApi.getAllPaginated<Movie>(`${MOVIE_PREFIX}/search`, { params: {page: page, title: title} }); } Loading