From fd64123254b3b8515e9f5f3c9518089b7f4ae38d Mon Sep 17 00:00:00 2001 From: cp-dharti-r Date: Mon, 8 Jul 2024 15:30:49 +0530 Subject: [PATCH 1/2] Implement upload and delete fuctionality to s3 for images and videos --- admin/components/Sidebar/index.tsx | 92 ++++++++++++------------ admin/next.config.mjs | 3 +- admin/package.json | 2 + admin/pages/categories/add/index.tsx | 24 +++---- admin/pages/categories/edit/[id].tsx | 30 +++----- admin/pages/categories/index.tsx | 8 +-- admin/pages/dishes/add/index.tsx | 65 +++++++---------- admin/pages/dishes/edit/[id].tsx | 99 ++++++++------------------ admin/pages/dishes/index.tsx | 23 ++---- admin/pages/menus/add/index.tsx | 22 +++--- admin/pages/menus/edit/[id].tsx | 30 +++----- admin/pages/menus/index.tsx | 20 ++---- admin/pages/profile/index.tsx | 30 +++----- admin/pages/restaurants/add/index.tsx | 26 +++---- admin/pages/restaurants/edit/[id].tsx | 31 +++----- admin/pages/restaurants/index.tsx | 10 +-- admin/pages/settings/index.tsx | 83 +++++++-------------- admin/public/logo.ico | Bin 410598 -> 41262 bytes admin/utils/image.ts | 69 +++++++++++++++++- website/hooks/useScrollReset.tsx | 2 - website/next.config.mjs | 3 +- website/pages/category/restaurant.tsx | 12 ++-- website/public/logo.ico | Bin 410598 -> 41262 bytes website/public/sitemap.xml | 12 ++++ 24 files changed, 294 insertions(+), 402 deletions(-) create mode 100644 website/public/sitemap.xml diff --git a/admin/components/Sidebar/index.tsx b/admin/components/Sidebar/index.tsx index 22d9f63..fcb29c8 100644 --- a/admin/components/Sidebar/index.tsx +++ b/admin/components/Sidebar/index.tsx @@ -128,53 +128,53 @@ const Sidebar = ({ sidebarOpen, setSidebarOpen }: SidebarProps) => { -
- setSidebarOpen(false)} - className={`group relative flex items-center gap-5 rounded-sm px-4 py-2 font-medium text-bodydark1 duration-300 ease-in-out hover:bg-graydark dark:hover:bg-meta-4 ${ - pathname?.includes("categories") && - "bg-graydark dark:bg-meta-4" - }`} - > - + setSidebarOpen(false)} + className={`group relative flex items-center gap-5 rounded-sm px-4 py-2 font-medium text-bodydark1 duration-300 ease-in-out hover:bg-graydark dark:hover:bg-meta-4 ${ + pathname?.includes("categories") && + "bg-graydark dark:bg-meta-4" + }`} > - - - - - - - - + + - - - - Categories - -
- - {role != "super-admin" ? ( + + + + + + + + + + Categories + + + ) : (
{ Your Invitations
- ) : ( - "" )} {role === "admin" ? ( diff --git a/admin/next.config.mjs b/admin/next.config.mjs index 0a43f6f..a80c9ce 100644 --- a/admin/next.config.mjs +++ b/admin/next.config.mjs @@ -1,9 +1,8 @@ /** @type {import('next').NextConfig} */ const nextConfig = { - reactStrictMode: true, + // reactStrictMode: true, images: { unoptimized: true, - domains: ["mbbmnygwewvjsxsjtzbo.supabase.co"], }, }; diff --git a/admin/package.json b/admin/package.json index 34bd58a..472b822 100644 --- a/admin/package.json +++ b/admin/package.json @@ -9,6 +9,8 @@ "lint": "next lint" }, "dependencies": { + "@aws-sdk/client-s3": "^3.606.0", + "@aws-sdk/s3-request-presigner": "^3.609.0", "@react-email/render": "^0.0.14", "@supabase/ssr": "^0.3.0", "@supabase/supabase-js": "^2.43.4", diff --git a/admin/pages/categories/add/index.tsx b/admin/pages/categories/add/index.tsx index df79bc6..0f82bfb 100644 --- a/admin/pages/categories/add/index.tsx +++ b/admin/pages/categories/add/index.tsx @@ -10,6 +10,7 @@ import { getCookiesValue } from "@/utils/jwt-auth"; import { changeFileExtensionToWebpExtension, convertToWebP, + uploadFileTos3, } from "@/utils/image"; const AddCategoryPage = () => { @@ -51,21 +52,14 @@ const AddCategoryPage = () => { const webpBlob = await convertToWebP(image); const currentDate = new Date(); - const { data: imgData, error: imgErr } = await supabase.storage - .from("categories") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(image.name), - webpBlob - ); - - if (imgErr) throw imgErr; - - image_url = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/categories/" + - imgData.path; + + image_url = await uploadFileTos3( + "categories", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(image.name) + ); } const response = mySchema.safeParse({ diff --git a/admin/pages/categories/edit/[id].tsx b/admin/pages/categories/edit/[id].tsx index c9149b5..c6ae776 100644 --- a/admin/pages/categories/edit/[id].tsx +++ b/admin/pages/categories/edit/[id].tsx @@ -9,7 +9,8 @@ import SingleImgPreview from "@/components/ImagePreview/SingleImage"; import { changeFileExtensionToWebpExtension, convertToWebP, - getFilenameFromURL, + deleteFileFroms3, + uploadFileTos3, } from "@/utils/image"; const EditCategoryPage = () => { @@ -75,27 +76,16 @@ const EditCategoryPage = () => { const webpBlob = await convertToWebP(imageData); const currentDate = new Date(); - const { data: imgData, error: imgErr } = await supabase.storage - .from("categories") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(imageData.name), - webpBlob - ); - if (imgErr) throw imgErr; + image_url = await uploadFileTos3( + "categories", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(imageData.name) + ); - const { error } = await supabase.storage - .from("categories") - .remove([getFilenameFromURL(image)]); - - if (error) throw error; - - image_url = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/categories/" + - imgData.path; + await deleteFileFroms3(image); } const response = mySchema.safeParse({ diff --git a/admin/pages/categories/index.tsx b/admin/pages/categories/index.tsx index 5ae56d7..0926fd8 100644 --- a/admin/pages/categories/index.tsx +++ b/admin/pages/categories/index.tsx @@ -5,7 +5,7 @@ import Link from "next/link"; import Image from "next/image"; import supabase from "@/utils/supabase"; import PaginationPage from "@/components/pagination/PaginatedPage"; -import { getFilenameFromURL } from "@/utils/image"; +import { deleteFileFroms3 } from "@/utils/image"; import { getCookiesValue } from "@/utils/jwt-auth"; const CategoriesPage = () => { @@ -75,11 +75,7 @@ const CategoriesPage = () => { const deleteRecord = async (id: number, key: number) => { try { - const { data, error } = await supabase.storage - .from("categories") - .remove([getFilenameFromURL(categoriesData[key].image)]); - - if (error) throw error; + await deleteFileFroms3(categoriesData[key].image); await supabase.from("categories").delete().eq("id", id).throwOnError(); setCategoriesData((prevCategories) => diff --git a/admin/pages/dishes/add/index.tsx b/admin/pages/dishes/add/index.tsx index 858cbb1..3e1a6dc 100644 --- a/admin/pages/dishes/add/index.tsx +++ b/admin/pages/dishes/add/index.tsx @@ -12,6 +12,7 @@ import { getCookiesValue } from "@/utils/jwt-auth"; import { changeFileExtensionToWebpExtension, convertToWebP, + uploadFileTos3, } from "@/utils/image"; const AddDishPage = () => { @@ -93,56 +94,40 @@ const AddDishPage = () => { : z.null(), }); - const currentDate = new Date(); - if (isImagesChecked && imagesData) { for (var i = 0; i < imagesData.length; i++) { - const webpBlob = await convertToWebP(imagesData[i]); - - const { data: imgData, error: imgErr } = await supabase.storage - .from("dishes") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(imagesData[i].name), - webpBlob - ); + const currentDate = new Date(); - if (imgErr) throw imgErr; + const webpBlob = await convertToWebP(imagesData[i]); - const image_url = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/dishes/" + - imgData.path; + const image_url = await uploadFileTos3( + "dishes", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(imagesData[i].name) + ); images.push(image_url); } } else if (videoData) { const currentDate = new Date(); - const { data: imgData, error: imgErr } = await supabase.storage - .from("dishes") - .upload( - currentDate.getTime() + "-" + thumbnailData.name, - thumbnailData - ); - - if (imgErr) throw imgErr; - - thumbnail = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/dishes/" + - imgData.path; - - const { data: videoStore, error: videoErr } = await supabase.storage - .from("dishes") - .upload(currentDate.getTime() + "-" + videoData.name, videoData); - - if (videoErr) throw videoErr; - video = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/dishes/" + - videoStore.path; + const webpBlob = await convertToWebP(thumbnailData); + + thumbnail = await uploadFileTos3( + "dishes", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(thumbnailData.name) + ); + + video = await uploadFileTos3( + "dishes", + videoData, + currentDate.getTime() + "-" + videoData.name + ); } const response = mySchema.safeParse({ diff --git a/admin/pages/dishes/edit/[id].tsx b/admin/pages/dishes/edit/[id].tsx index 1fc195f..b24891d 100644 --- a/admin/pages/dishes/edit/[id].tsx +++ b/admin/pages/dishes/edit/[id].tsx @@ -11,7 +11,8 @@ import SingleImgPreview from "@/components/ImagePreview/SingleImage"; import { changeFileExtensionToWebpExtension, convertToWebP, - getFilenameFromURL, + deleteFileFroms3, + uploadFileTos3, } from "@/utils/image"; import { getCookiesValue } from "@/utils/jwt-auth"; @@ -104,21 +105,14 @@ const EditDishPage = () => { const webpBlob = await convertToWebP(imagesData[i]); const currentDate = new Date(); - const { data: imgData, error: imgErr } = await supabase.storage - .from("dishes") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(imagesData[i].name), - webpBlob - ); - - if (imgErr) throw imgErr; - - const image_url = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/dishes/" + - imgData.path; + + const image_url = await uploadFileTos3( + "dishes", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(imagesData[i].name) + ); new_images.push(image_url); } @@ -130,87 +124,50 @@ const EditDishPage = () => { ); for (var i = 0; i < removeImages.length; i++) { - const { error } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(removeImages[i])]); - - if (error) throw error; + await deleteFileFroms3(removeImages[i]); } } if (video) { if (thumbnail) { - const { error: thumbnailErr } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(thumbnail)]); - - if (thumbnailErr) throw thumbnailErr; + await deleteFileFroms3(thumbnail); } - const { error: videoErr } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(video)]); - - if (videoErr) throw videoErr; + await deleteFileFroms3(video); } } else { const currentDate = new Date(); if (videoData) { - const { data: videoStore, error: videoErr } = await supabase.storage - .from("dishes") - .upload(currentDate.getTime() + "-" + videoData.name, videoData); - - if (videoErr) throw videoErr; - - new_video = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/dishes/" + - videoStore.path; + new_video = await uploadFileTos3( + "dishes", + videoData, + currentDate.getTime() + "-" + videoData.name + ); if (video) { - const { error: videoErr } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(video)]); - - if (videoErr) throw videoErr; + await deleteFileFroms3(video); } } if (thumbnailData) { const webpBlob = await convertToWebP(thumbnailData); - const { data: imgData, error: imgErr } = await supabase.storage - .from("dishes") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(thumbnailData.name), - webpBlob - ); - - if (imgErr) throw imgErr; - - new_video_thumbnail = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/dishes/" + - imgData.path; + new_video_thumbnail = await uploadFileTos3( + "dishes", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(thumbnailData.name) + ); if (thumbnail) { - const { error: thumbnailErr } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(thumbnail)]); - - if (thumbnailErr) throw thumbnailErr; + await deleteFileFroms3(thumbnail); } } if (images) { for (var i = 0; i < images.length; i++) { - const { error } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(images[i])]); - - if (error) throw error; + await deleteFileFroms3(images[i]); } } } diff --git a/admin/pages/dishes/index.tsx b/admin/pages/dishes/index.tsx index 217db47..ef312eb 100644 --- a/admin/pages/dishes/index.tsx +++ b/admin/pages/dishes/index.tsx @@ -5,7 +5,7 @@ import Link from "next/link"; import Image from "next/image"; import supabase from "@/utils/supabase"; import PaginationPage from "@/components/pagination/PaginatedPage"; -import { getFilenameFromURL } from "@/utils/image"; +import { deleteFileFroms3 } from "@/utils/image"; import { getCookiesValue } from "@/utils/jwt-auth"; import VideoPlayer from "@/components/VideoPlayer"; @@ -38,10 +38,8 @@ const DishesPage = () => { const { data: dishes, error } = await supabase .from("dishes") - .select( - `id, name, images, video, video_thumbnail, price, menus(*)` - ) - .order('id', { ascending: false }) + .select(`id, name, images, video, video_thumbnail, price, menus(*)`) + .order("id", { ascending: false }) .range((page - 1) * pageSize, pageSize * page - 1) .in("menu_id", arrayOfIds); @@ -90,7 +88,7 @@ const DishesPage = () => { try { const { data: dish, error } = await supabase .from("dishes") - .select("images, video") + .select("images, video_thumbnail, video") .eq("id", id) .single(); @@ -100,20 +98,13 @@ const DishesPage = () => { if (dish.images) { for (var i = 0; i < dish.images.length; i++) { - const { error } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(dish.images[i])]); - - if (error) throw error; + await deleteFileFroms3(dish.images[i]); } } if (dish.video) { - const { error } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(dish.video)]); - - if (error) throw error; + await deleteFileFroms3(dish.video_thumbnail); + await deleteFileFroms3(dish.video); } await supabase.from("dishes").delete().eq("id", id).throwOnError(); diff --git a/admin/pages/menus/add/index.tsx b/admin/pages/menus/add/index.tsx index 7aa8412..2948490 100644 --- a/admin/pages/menus/add/index.tsx +++ b/admin/pages/menus/add/index.tsx @@ -11,6 +11,7 @@ import { TagsInput } from "react-tag-input-component"; import { changeFileExtensionToWebpExtension, convertToWebP, + uploadFileTos3, } from "@/utils/image"; const AddMenuPage = () => { @@ -64,21 +65,14 @@ const AddMenuPage = () => { const webpBlob = await convertToWebP(image); const currentDate = new Date(); - const { data: imgData, error: imgErr } = await supabase.storage - .from("menus") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(image.name), - webpBlob - ); - if (imgErr) throw imgErr; - - image_url = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/menus/" + - imgData.path; + image_url = await uploadFileTos3( + "menus", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(image.name) + ); } const response = mySchema.safeParse({ diff --git a/admin/pages/menus/edit/[id].tsx b/admin/pages/menus/edit/[id].tsx index fac1797..c05a7d1 100644 --- a/admin/pages/menus/edit/[id].tsx +++ b/admin/pages/menus/edit/[id].tsx @@ -9,7 +9,8 @@ import SingleImgPreview from "@/components/ImagePreview/SingleImage"; import { changeFileExtensionToWebpExtension, convertToWebP, - getFilenameFromURL, + deleteFileFroms3, + uploadFileTos3, } from "@/utils/image"; import { TagsInput } from "react-tag-input-component"; @@ -79,27 +80,16 @@ const EditMenuPage = () => { const webpBlob = await convertToWebP(imageData); const currentDate = new Date(); - const { data: imgData, error: imgErr } = await supabase.storage - .from("menus") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(imageData.name), - webpBlob - ); - if (imgErr) throw imgErr; + image_url = await uploadFileTos3( + "menus", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(imageData.name) + ); - const { error } = await supabase.storage - .from("menus") - .remove([getFilenameFromURL(image)]); - - if (error) throw error; - - image_url = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/menus/" + - imgData.path; + await deleteFileFroms3(image); } const response = mySchema.safeParse({ diff --git a/admin/pages/menus/index.tsx b/admin/pages/menus/index.tsx index ef76afe..0de7fb9 100644 --- a/admin/pages/menus/index.tsx +++ b/admin/pages/menus/index.tsx @@ -7,7 +7,7 @@ import { useEffect, useState } from "react"; import { Menu } from "@/types/menu"; import PaginationPage from "@/components/pagination/PaginatedPage"; import { getCookiesValue } from "@/utils/jwt-auth"; -import { getFilenameFromURL } from "@/utils/image"; +import { deleteFileFroms3 } from "@/utils/image"; const MenusPage = () => { const [restaurantId, setRestaurantId] = useState(0); @@ -83,30 +83,18 @@ const MenusPage = () => { for (var i = 0; i < dishes.length; i++) { if (dishes[i].images) { for (var j = 0; j < dishes[i].images.length; j++) { - const { error } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(dishes[i].images[j])]); - - if (error) throw error; + await deleteFileFroms3(dishes[i].images[j]); } } if (dishes[i].video) { - const { error } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(dishes[i].video)]); - - if (error) throw error; + await deleteFileFroms3(dishes[i].video); } } await supabase.from("dishes").delete().eq("menu_id", id).throwOnError(); - const { data, error } = await supabase.storage - .from("menus") - .remove([getFilenameFromURL(menusData[key].image)]); - - if (error) throw error; + await deleteFileFroms3(menusData[key].image); await supabase.from("menus").delete().eq("id", id).throwOnError(); setMenusData(menusData.filter((x) => x.id != id)); diff --git a/admin/pages/profile/index.tsx b/admin/pages/profile/index.tsx index e83800b..05f204e 100644 --- a/admin/pages/profile/index.tsx +++ b/admin/pages/profile/index.tsx @@ -7,7 +7,8 @@ import SingleImgPreview from "@/components/ImagePreview/SingleImage"; import { changeFileExtensionToWebpExtension, convertToWebP, - getFilenameFromURL, + deleteFileFroms3, + uploadFileTos3, } from "@/utils/image"; import { z } from "zod"; import CryptoJS from "crypto-js"; @@ -89,29 +90,18 @@ const Profile = () => { const webpBlob = await convertToWebP(imageData); const currentDate = new Date(); - const { data: imgData, error: imgErr } = await supabase.storage - .from("admins") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(imageData.name), - webpBlob - ); - if (imgErr) throw imgErr; + image_url = await uploadFileTos3( + "admins", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(imageData.name) + ); if (image) { - const { error } = await supabase.storage - .from("admins") - .remove([getFilenameFromURL(image)]); - - if (error) throw error; + await deleteFileFroms3(image); } - - image_url = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/admins/" + - imgData.path; } setImage(image_url); diff --git a/admin/pages/restaurants/add/index.tsx b/admin/pages/restaurants/add/index.tsx index 3bff10d..a0baf4d 100644 --- a/admin/pages/restaurants/add/index.tsx +++ b/admin/pages/restaurants/add/index.tsx @@ -11,6 +11,7 @@ import { getCookiesValue, setSessionForUser } from "@/utils/jwt-auth"; import { changeFileExtensionToWebpExtension, convertToWebP, + uploadFileTos3, } from "@/utils/image"; const AddRestaurantPage = () => { @@ -53,25 +54,18 @@ const AddRestaurantPage = () => { }); if (imagesData) { - const currentDate = new Date(); for (var i = 0; i < imagesData.length; i++) { - const webpBlob = await convertToWebP(imagesData[i]); - - const { data: imgData, error: imgErr } = await supabase.storage - .from("restaurants") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(imagesData[i].name), - webpBlob - ); + const currentDate = new Date(); - if (imgErr) throw imgErr; + const webpBlob = await convertToWebP(imagesData[i]); - const image_url = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/restaurants/" + - imgData.path; + const image_url = await uploadFileTos3( + "restaurants", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(imagesData[i].name) + ); images.push(image_url); } diff --git a/admin/pages/restaurants/edit/[id].tsx b/admin/pages/restaurants/edit/[id].tsx index a7ff8ed..3ee822e 100644 --- a/admin/pages/restaurants/edit/[id].tsx +++ b/admin/pages/restaurants/edit/[id].tsx @@ -10,7 +10,8 @@ import MultipleFileUpload from "@/components/ImagePreview/MultipleImage"; import { changeFileExtensionToWebpExtension, convertToWebP, - getFilenameFromURL, + deleteFileFroms3, + uploadFileTos3, } from "@/utils/image"; const EditRestaurantPage = () => { @@ -65,21 +66,13 @@ const EditRestaurantPage = () => { } else { const webpBlob = await convertToWebP(imagesData[i]); - const { data: imgData, error: imgErr } = await supabase.storage - .from("restaurants") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(imagesData[i].name), - webpBlob - ); - - if (imgErr) throw imgErr; - - const image_url = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/restaurants/" + - imgData.path; + const image_url = await uploadFileTos3( + "restaurants", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(imagesData[i].name) + ); new_images.push(image_url); } @@ -92,11 +85,7 @@ const EditRestaurantPage = () => { ); for (var i = 0; i < removeImages.length; i++) { - const { error } = await supabase.storage - .from("restaurants") - .remove([getFilenameFromURL(removeImages[i])]); - - if (error) throw error; + await deleteFileFroms3(removeImages[i]); } } diff --git a/admin/pages/restaurants/index.tsx b/admin/pages/restaurants/index.tsx index 40b1f4e..ab450f3 100644 --- a/admin/pages/restaurants/index.tsx +++ b/admin/pages/restaurants/index.tsx @@ -5,7 +5,7 @@ import Link from "next/link"; import Image from "next/image"; import supabase from "@/utils/supabase"; import PaginationPage from "@/components/pagination/PaginatedPage"; -import { getFilenameFromURL } from "@/utils/image"; +import { deleteFileFroms3 } from "@/utils/image"; import { getCookiesValue } from "@/utils/jwt-auth"; const RestaurantsPage = () => { @@ -26,7 +26,7 @@ const RestaurantsPage = () => { const { data: restaurantData, error } = await supabase .from("admins_roles_restaurants") .select("*, restaurants(id, name, description, address, phone, images)") - .order('id', { ascending: false }) + .order("id", { ascending: false }) .range((page - 1) * pageSize, pageSize * page - 1) .eq("admin_id", user.split("/")[0]); @@ -74,11 +74,7 @@ const RestaurantsPage = () => { if (restaurant.images) { for (var i = 0; i < restaurant.images.length; i++) { - const { error } = await supabase.storage - .from("restaurants") - .remove([getFilenameFromURL(restaurant.images[i])]); - - if (error) throw error; + await deleteFileFroms3(restaurant.images[i]); } } diff --git a/admin/pages/settings/index.tsx b/admin/pages/settings/index.tsx index 2f6a0cd..51915d6 100644 --- a/admin/pages/settings/index.tsx +++ b/admin/pages/settings/index.tsx @@ -5,7 +5,8 @@ import supabase from "@/utils/supabase"; import { changeFileExtensionToWebpExtension, convertToWebP, - getFilenameFromURL, + deleteFileFroms3, + uploadFileTos3, } from "@/utils/image"; import { useEffect, useState } from "react"; import MultipleFileUpload from "@/components/ImagePreview/MultipleImage"; @@ -152,29 +153,22 @@ const Settings = () => { let arr: string[] = []; if (imagesData) { - const currentDate = new Date(); for (var i = 0; i < imagesData.length; i++) { + const currentDate = new Date(); + if (imagesData[i].previewUrl) { arr.push(imagesData[i].previewUrl); new_images.push(imagesData[i].previewUrl); } else { const webpBlob = await convertToWebP(imagesData[i]); - const { data: imgData, error: imgErr } = await supabase.storage - .from("restaurants") - .upload( - currentDate.getTime() + - "-" + - changeFileExtensionToWebpExtension(imagesData[i].name), - webpBlob - ); - - if (imgErr) throw imgErr; - - const image_url = - process.env.NEXT_PUBLIC_SUPABASE_STORAGE_URL + - "/restaurants/" + - imgData.path; + const image_url = await uploadFileTos3( + "restaurants", + webpBlob, + currentDate.getTime() + + "-" + + changeFileExtensionToWebpExtension(imagesData[i].name) + ); new_images.push(image_url); } @@ -187,11 +181,7 @@ const Settings = () => { ); for (var i = 0; i < removeImages.length; i++) { - const { error } = await supabase.storage - .from("restaurants") - .remove([getFilenameFromURL(removeImages[i])]); - - if (error) throw error; + await deleteFileFroms3(removeImages[i]); } } @@ -211,6 +201,12 @@ const Settings = () => { const { error } = await supabase.from("restaurants").upsert({ id: id, + address: address, + local_area: localArea, + city: city, + state: state, + postal_code: postalCode, + country: country, images: new_images, }); @@ -340,21 +336,13 @@ const Settings = () => { // delete dish images if (dishes[i].images) { for (var i = 0; i < dishes[i].images.length; i++) { - const { error } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(dishes[i].images[i])]); - - if (error) throw error; + await deleteFileFroms3(dishes[i].images[i]); } } // delete dish video if (dishes[i].video) { - const { error } = await supabase.storage - .from("dishes") - .remove([getFilenameFromURL(dishes[i].video)]); - - if (error) throw error; + await deleteFileFroms3(dishes[i].video); } // delete dish @@ -373,28 +361,9 @@ const Settings = () => { .throwOnError(); } - // get categories data - const { data: categories, error: catErr } = await supabase - .from("categories") - .select("id, image") - .eq("restaurant_id", restaurant.id); - - if (catErr) throw catErr; - - // delete restaurant images - if (categories.length > 0) { - for (var i = 0; i < categories.length; i++) { - const { error } = await supabase.storage - .from("categories") - .remove([getFilenameFromURL(categories[i].image)]); - - if (error) throw error; - } - } - // delete categories await supabase - .from("categories") + .from("menus_sections") .delete() .eq("restaurant_id", restaurant.id) .throwOnError(); @@ -423,11 +392,7 @@ const Settings = () => { // delete restaurant images if (restaurant.images) { for (var i = 0; i < restaurant.images.length; i++) { - const { error } = await supabase.storage - .from("restaurants") - .remove([getFilenameFromURL(restaurant.images[i])]); - - if (error) throw error; + await deleteFileFroms3(restaurant.images[i]); } } @@ -705,7 +670,9 @@ const Settings = () => { placeholder="395004" required autoComplete="off" - onChange={(e) => setPostalCode(parseInt(e.target.value))} + onChange={(e) => + setPostalCode(parseInt(e.target.value)) + } value={postalCode} />
diff --git a/admin/public/logo.ico b/admin/public/logo.ico index 3668b2e9e6146a7ce9a081a4b7c880b93b936669..8d6971a43aaee1370f66472f3faf2d651ce20f94 100644 GIT binary patch literal 41262 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 literal 410598 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 E0VsVO@&Et; diff --git a/admin/utils/image.ts b/admin/utils/image.ts index 5b20c3c..545cd86 100644 --- a/admin/utils/image.ts +++ b/admin/utils/image.ts @@ -1,3 +1,25 @@ +import { + DeleteObjectCommand, + GetObjectCommand, + ObjectCannedACL, + PutObjectCommand, + S3Client, +} from "@aws-sdk/client-s3"; +import { getSignedUrl } from "@aws-sdk/s3-request-presigner"; + +const s3 = new S3Client({ + region: process.env.NEXT_PUBLIC_AWS_REGION, + credentials: { + accessKeyId: process.env.NEXT_PUBLIC_ACCESS_KEY_ID as string, + secretAccessKey: process.env.NEXT_PUBLIC_SECRET_ACCESS_KEY as string, + }, +}); + +const bucketUrl = + "https://bitespace.s3." + + process.env.NEXT_PUBLIC_AWS_REGION + + ".amazonaws.com/"; + const getFilenameFromURL = (url: string) => { const path = new URL(url).pathname; return path.substring(path.lastIndexOf("/") + 1); @@ -32,11 +54,56 @@ const convertToWebP = (file: File): Promise => { }; const changeFileExtensionToWebpExtension = (name: string) => { - return name.replace(/\.[^.]+$/, "") + ".webp"; + return name.replace(/\s+/g, "-").replace(/\.[^.]+$/, "") + ".webp"; +}; + +const uploadFileTos3 = async (bucket: string, file: any, fileName: string) => { + let uploadParams = { + Bucket: "bitespace", + Body: file, + ContentType: file.type, + Key: bucket + "/" + fileName, + ACL: "public-read" as ObjectCannedACL, + }; + + try { + const command = new PutObjectCommand(uploadParams); + await s3.send(command); + + const getObj = new GetObjectCommand({ + Bucket: "bitespace", + Key: bucket + "/" + fileName, + }); + + const src = await getSignedUrl(s3, getObj); + + const url = src.substring(0, src.indexOf("?")); + + return url; + } catch (error) { + console.error("Error while uploading file to s3: ", error); + } + + return ""; +}; + +const deleteFileFroms3 = async (fileUrl: string) => { + try { + const deleteObj = new DeleteObjectCommand({ + Bucket: "bitespace", + Key: fileUrl.replace(bucketUrl, ""), + }); + + await s3.send(deleteObj); + } catch (error) { + console.error("Error while deleting the file from s3: ", error); + } }; export { getFilenameFromURL, convertToWebP, changeFileExtensionToWebpExtension, + uploadFileTos3, + deleteFileFroms3, }; diff --git a/website/hooks/useScrollReset.tsx b/website/hooks/useScrollReset.tsx index 775803b..7e9b72d 100644 --- a/website/hooks/useScrollReset.tsx +++ b/website/hooks/useScrollReset.tsx @@ -4,9 +4,7 @@ const useScrollReset = (isOpen: boolean) => { const contentRef = useRef(null); useEffect(() => { - console.log("ref called"); if (isOpen && contentRef.current) { - console.log(contentRef.current.scrollTop); contentRef.current.scrollTop = 0; } }, [isOpen]); diff --git a/website/next.config.mjs b/website/next.config.mjs index 0b0a06b..a80c9ce 100644 --- a/website/next.config.mjs +++ b/website/next.config.mjs @@ -1,9 +1,8 @@ /** @type {import('next').NextConfig} */ const nextConfig = { - reactStrictMode: true, + // reactStrictMode: true, images: { unoptimized: true, - domains: ["rftxzccfellupeepddjl.supabase.co"], }, }; diff --git a/website/pages/category/restaurant.tsx b/website/pages/category/restaurant.tsx index f95dcf8..f454040 100644 --- a/website/pages/category/restaurant.tsx +++ b/website/pages/category/restaurant.tsx @@ -78,14 +78,10 @@ const Restaurant = ({ {item.postal_code}

- +
{item.menu.map((data, index) => (
- 1 ? "!w-60 sm:!w-96" : "!w-full" }`} @@ -134,10 +130,10 @@ const Restaurant = ({

{data.name}

-
+
))} -
+
))} diff --git a/website/public/logo.ico b/website/public/logo.ico index 3668b2e9e6146a7ce9a081a4b7c880b93b936669..8d6971a43aaee1370f66472f3faf2d651ce20f94 100644 GIT binary patch literal 41262 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 literal 410598 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 E0VsVO@&Et; diff --git a/website/public/sitemap.xml b/website/public/sitemap.xml new file mode 100644 index 0000000..fceaaa6 --- /dev/null +++ b/website/public/sitemap.xml @@ -0,0 +1,12 @@ + + + + https://www.bitespace.in + 2024-07-08 + + + https://bitespace.in + 2024-07-08 + + + \ No newline at end of file From c10b3fbd2ddad5538ed75b33d391b10f70e2e8f7 Mon Sep 17 00:00:00 2001 From: cp-dharti-r Date: Mon, 8 Jul 2024 16:32:42 +0530 Subject: [PATCH 2/2] Add required variabled in env example --- admin/.env.example | 3 +++ admin/utils/image.ts | 11 ++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/admin/.env.example b/admin/.env.example index bac4133..92a7539 100644 --- a/admin/.env.example +++ b/admin/.env.example @@ -6,6 +6,9 @@ NEXT_PUBLIC_CRYPTO_SECRET="A Random Key to Encrypt/Decrypt Password" NEXT_PUBLIC_AWS_REGION="Your AWS Account Region" NEXT_PUBLIC_AWS_ACCESS_KEY_ID="Your AWS Account Access Key" NEXT_PUBLIC_AWS_SECRET_ACCESS_KEY="Your AWS Account Secret Access Key" +NEXT_PUBLIC_AWS_BUCKET_NAME="Your s3 Bucket Name" +NEXT_PUBLIC_ACCESS_KEY_ID="Your s3 Bucket User Access Key" +NEXT_PUBLIC_SECRET_ACCESS_KEY="Your s3 Bucket User Secret Key" NEXT_PUBLIC_MAIL_SENDER="Your Mail Sender Email Id" NEXT_PUBLIC_SUPABASE_STORAGE_URL="Your Supabase Storage URL" NEXT_PUBLIC_SUPABASE_USER="Your Supabase User Email for Auth" diff --git a/admin/utils/image.ts b/admin/utils/image.ts index 545cd86..a33f54d 100644 --- a/admin/utils/image.ts +++ b/admin/utils/image.ts @@ -15,10 +15,7 @@ const s3 = new S3Client({ }, }); -const bucketUrl = - "https://bitespace.s3." + - process.env.NEXT_PUBLIC_AWS_REGION + - ".amazonaws.com/"; +const bucketUrl = `https://${process.env.NEXT_PUBLIC_AWS_BUCKET_NAME}.s3.${process.env.NEXT_PUBLIC_AWS_REGION}.amazonaws.com/`; const getFilenameFromURL = (url: string) => { const path = new URL(url).pathname; @@ -59,7 +56,7 @@ const changeFileExtensionToWebpExtension = (name: string) => { const uploadFileTos3 = async (bucket: string, file: any, fileName: string) => { let uploadParams = { - Bucket: "bitespace", + Bucket: process.env.NEXT_PUBLIC_AWS_BUCKET_NAME, Body: file, ContentType: file.type, Key: bucket + "/" + fileName, @@ -71,7 +68,7 @@ const uploadFileTos3 = async (bucket: string, file: any, fileName: string) => { await s3.send(command); const getObj = new GetObjectCommand({ - Bucket: "bitespace", + Bucket: process.env.NEXT_PUBLIC_AWS_BUCKET_NAME, Key: bucket + "/" + fileName, }); @@ -90,7 +87,7 @@ const uploadFileTos3 = async (bucket: string, file: any, fileName: string) => { const deleteFileFroms3 = async (fileUrl: string) => { try { const deleteObj = new DeleteObjectCommand({ - Bucket: "bitespace", + Bucket: process.env.NEXT_PUBLIC_AWS_BUCKET_NAME, Key: fileUrl.replace(bucketUrl, ""), });