Merge branch 'master' into dev

This commit is contained in:
2025-12-15 15:25:49 +03:30
5 changed files with 261 additions and 1 deletions
+75
View File
@@ -0,0 +1,75 @@
#!/bin/bash
# Script to fix PostgreSQL permissions using sudo (no password prompt for postgres user)
# This script reads DB_USER and DB_NAME from .env and grants necessary permissions
# Function to load .env file properly (handles comments and special characters)
load_env() {
if [ -f .env ]; then
while IFS= read -r line || [ -n "$line" ]; do
[[ "$line" =~ ^[[:space:]]*# ]] && continue
[[ -z "${line// }" ]] && continue
if [[ "$line" =~ ^[[:space:]]*([^#=]+)=(.*)$ ]]; then
key="${BASH_REMATCH[1]%% *}"
value="${BASH_REMATCH[2]}"
key=$(echo "$key" | xargs)
value=$(echo "$value" | sed -e 's/^["'\'']//' -e 's/["'\'']$//' | xargs)
export "$key=$value"
fi
done < .env
else
echo "Error: .env file not found"
exit 1
fi
}
# Load environment variables
load_env
# Check if required variables are set
if [ -z "$DB_USER" ] || [ -z "$DB_NAME" ]; then
echo "Error: DB_USER or DB_NAME not set in .env file"
exit 1
fi
echo "Fixing PostgreSQL permissions for user: $DB_USER on database: $DB_NAME"
echo "Using sudo to connect as postgres user (no password needed)"
echo ""
# Connect as postgres superuser using sudo (no password prompt)
sudo -u postgres psql -d postgres <<EOF
-- Make the user the owner of the database (PostgreSQL 15+ requirement)
ALTER DATABASE $DB_NAME OWNER TO $DB_USER;
-- Connect to the target database to grant schema permissions
\c $DB_NAME
-- Make the user the owner of the public schema (PostgreSQL 15+ requirement)
ALTER SCHEMA public OWNER TO $DB_USER;
-- Grant all necessary permissions (redundant but safe)
GRANT CONNECT ON DATABASE $DB_NAME TO $DB_USER;
GRANT USAGE ON SCHEMA public TO $DB_USER;
GRANT CREATE ON SCHEMA public TO $DB_USER;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO $DB_USER;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO $DB_USER;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO $DB_USER;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO $DB_USER;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO $DB_USER;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON FUNCTIONS TO $DB_USER;
-- For PostgreSQL 15+ - ensure full database access
GRANT ALL ON DATABASE $DB_NAME TO $DB_USER;
EOF
if [ $? -eq 0 ]; then
echo ""
echo "✓ Permissions granted successfully!"
echo "You can now run: npm run db:create"
else
echo ""
echo "✗ Failed to grant permissions. Please check the error above."
exit 1
fi
+8 -1
View File
@@ -22,10 +22,17 @@ export const adminsData: AdminData[] = [
restaurantSlug: 'boote',
},
{
phone: '0912928395',
phone: '09129283395',
firstName: 'مهرداد',
lastName: 'مظفری',
roleName: 'superAdmin',
restaurantSlug: null,
},
{
phone: '09184317567',
firstName: 'ادمین',
lastName: 'هنر',
roleName: 'restaurant',
restaurantSlug: 'honar',
},
];
+4
View File
@@ -12,4 +12,8 @@ export const categoriesData: CategoryData[] = [
{ title: 'پیش غذا', restaurantSlug: 'boote' },
{ title: 'دسر', restaurantSlug: 'boote' },
{ title: 'نوشیدنی', restaurantSlug: 'boote' },
{ title: 'غذای اصلی', restaurantSlug: 'honar' },
{ title: 'پیش غذا', restaurantSlug: 'honar' },
{ title: 'دسر', restaurantSlug: 'honar' },
{ title: 'نوشیدنی', restaurantSlug: 'honar' },
];
+145
View File
@@ -311,4 +311,149 @@ export const foodsData: FoodData[] = [
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['قهوه اسپرسو', 'آب جوش', 'شکر', 'خامه', 'شکلات رنده شده'],
},
// Honar Restaurant Foods (copied from zhivan)
{
title: 'کباب کوبیده',
desc: 'کباب کوبیده خوشمزه با برنج و کره',
price: 150000,
restaurantSlug: 'honar',
categoryTitle: 'غذای اصلی',
isActive: true,
stock: 50,
stockDefault: 50,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['گوشت چرخ کرده مرغوب', 'پیاز', 'زعفران', 'برنج ایرانی', 'کره محلی', 'گوجه فرنگی'],
},
{
title: 'جوجه کباب',
desc: 'جوجه کباب تازه با برنج',
price: 120000,
restaurantSlug: 'honar',
categoryTitle: 'غذای اصلی',
isActive: true,
stock: 40,
stockDefault: 40,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['ران مرغ تازه', 'زعفران', 'ماست', 'برنج ایرانی', 'کره', 'گوجه فرنگی', 'فلفل دلمه‌ای'],
},
{
title: 'کباب بختیاری',
desc: 'کباب بختیاری با برنج و کره',
price: 180000,
restaurantSlug: 'honar',
categoryTitle: 'غذای اصلی',
isActive: true,
stock: 35,
stockDefault: 35,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['گوشت گوسفند', 'فیله مرغ', 'زعفران', 'برنج ایرانی', 'کره محلی', 'گوجه فرنگی', 'فلفل'],
},
{
title: 'کباب برگ',
desc: 'کباب برگ مرغوب با برنج',
price: 160000,
restaurantSlug: 'honar',
categoryTitle: 'غذای اصلی',
isActive: true,
stock: 30,
stockDefault: 30,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['فیله گوشت گوسفند', 'پیاز', 'زعفران', 'آبلیمو', 'برنج ایرانی', 'کره', 'گوجه فرنگی'],
},
{
title: 'سالاد فصل',
desc: 'سالاد تازه با سس مخصوص',
price: 35000,
restaurantSlug: 'honar',
categoryTitle: 'پیش غذا',
isActive: true,
stock: 30,
stockDefault: 30,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['کاهو تازه', 'گوجه فرنگی', 'خیار', 'پیاز قرمز', 'سس مخصوص', 'آبلیمو'],
},
{
title: 'ماست و خیار',
desc: 'ماست و خیار تازه',
price: 25000,
restaurantSlug: 'honar',
categoryTitle: 'پیش غذا',
isActive: true,
stock: 25,
stockDefault: 25,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['ماست محلی', 'خیار تازه', 'نعناع', 'کشمش', 'گردو', 'نمک'],
},
{
title: 'ترشی',
desc: 'ترشی مخلوط خانگی',
price: 20000,
restaurantSlug: 'honar',
categoryTitle: 'پیش غذا',
isActive: true,
stock: 20,
stockDefault: 20,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['ترشی بادمجان', 'ترشی هفت بیجار', 'ترشی لیته', 'ترشی گل کلم', 'سرکه', 'نمک'],
},
{
title: 'بستنی',
desc: 'بستنی وانیلی خوشمزه',
price: 25000,
restaurantSlug: 'honar',
categoryTitle: 'دسر',
isActive: true,
stock: 20,
stockDefault: 20,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['بستنی وانیلی', 'خامه تازه', 'پسته', 'شیره انگور'],
},
{
title: 'شیرینی',
desc: 'شیرینی محلی',
price: 30000,
restaurantSlug: 'honar',
categoryTitle: 'دسر',
isActive: true,
stock: 15,
stockDefault: 15,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['شیرینی برنجی', 'شیرینی پادرازی', 'شیرینی نارگیلی', 'پودر قند'],
},
{
title: 'نوشابه',
desc: 'نوشابه گازدار',
price: 15000,
restaurantSlug: 'honar',
categoryTitle: 'نوشیدنی',
isActive: true,
stock: 100,
stockDefault: 100,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['نوشابه کولا', 'یخ', 'لیمون'],
},
{
title: 'دوغ',
desc: 'دوغ محلی',
price: 20000,
restaurantSlug: 'honar',
categoryTitle: 'نوشیدنی',
isActive: true,
stock: 50,
stockDefault: 50,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['دوغ محلی', 'نعناع', 'نمک', 'یخ'],
},
{
title: 'آب معدنی',
desc: 'آب معدنی',
price: 10000,
restaurantSlug: 'honar',
categoryTitle: 'نوشیدنی',
isActive: true,
stock: 80,
stockDefault: 80,
images: ['https://dmenu.danakcorp.com/uploads/images/food/food_1728329980738.png'],
content: ['آب معدنی طبیعی', 'یخ'],
},
];
+29
View File
@@ -79,4 +79,33 @@ export const restaurantsData: RestaurantData[] = [
referrerScore: '10000',
},
},
{
name: 'هنر',
slug: 'honar',
domain: 'https://dmenu-plus-front.dev.danakcorp.com/honar',
isActive: true,
phone: '09184317567',
serviceArea: {
type: 'Polygon',
coordinates: [
[
[51.389, 35.6892],
[51.39, 35.6892],
[51.39, 35.6902],
[51.389, 35.6902],
[51.389, 35.6892],
],
],
},
score: {
purchaseAmount: '10000',
purchaseScore: '10000',
scoreAmount: '10000',
scoreCredit: '10000',
birthdayScore: '10000',
registerScore: '10000',
marriageDateScore: '10000',
referrerScore: '10000',
},
},
];