Files
SkyArtShop/backend/add-customer-service-pages.js
Local Server 1919f6f8bb updateweb
2026-01-01 22:24:30 -06:00

347 lines
18 KiB
JavaScript

const db = require("./config/database");
async function addCustomerServicePages() {
try {
console.log("Adding customer service pages to database...\n");
// Helper function to insert or update page
async function upsertPage(slug, title, html, metatitle, metadescription) {
const existing = await db.query("SELECT id FROM pages WHERE slug = $1", [
slug,
]);
if (existing.rows.length > 0) {
await db.query(
`
UPDATE pages
SET pagecontent = $1, content = $1, title = $2, metatitle = $3, metadescription = $4, updatedat = NOW()
WHERE slug = $5
`,
[html, title, metatitle, metadescription, slug]
);
console.log(`${title} page updated`);
} else {
await db.query(
`
INSERT INTO pages (id, slug, title, content, pagecontent, metatitle, metadescription, ispublished, isactive, createdat, updatedat)
VALUES (gen_random_uuid()::text, $1, $2, $3, $3, $4, $5, true, true, NOW(), NOW())
`,
[slug, title, html, metatitle, metadescription]
);
console.log(`${title} page added`);
}
}
// 1. Shipping Info Page
const shippingHTML = `
<div style="max-width: 1000px; margin: 0 auto; padding: 40px 20px;">
<div style="text-align: center; margin-bottom: 60px;">
<h2 style="font-size: 2.5rem; font-weight: 700; color: #202023; margin-bottom: 16px;">
Shipping Information
</h2>
<p style="font-size: 1.1rem; color: #202023; opacity: 0.7; max-width: 700px; margin: 0 auto;">
Everything you need to know about our shipping policies and delivery
</p>
</div>
<div style="margin-bottom: 50px;">
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px; display: flex; align-items: center; gap: 12px;">
<i class="bi bi-truck" style="font-size: 1.5rem;"></i> Shipping Methods
</h3>
<ul style="line-height: 2; color: #202023; font-size: 1.05rem; list-style: none; padding: 0;">
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;"><strong>Standard Shipping:</strong> 5-7 business days - $5.99</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;"><strong>Express Shipping:</strong> 2-3 business days - $12.99</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;"><strong>Priority Overnight:</strong> 1 business day - $24.99</li>
<li style="padding: 12px 0;"><strong>Free Shipping:</strong> Orders over $50 (Standard shipping)</li>
</ul>
</div>
<div style="margin-bottom: 50px;">
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px; display: flex; align-items: center; gap: 12px;">
<i class="bi bi-geo-alt" style="font-size: 1.5rem;"></i> Delivery Areas
</h3>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
We currently ship to all 50 states in the United States. International shipping is available to Canada, UK, and Australia. Additional fees may apply for international orders.
</p>
</div>
<div>
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px; display: flex; align-items: center; gap: 12px;">
<i class="bi bi-clock" style="font-size: 1.5rem;"></i> Processing Time
</h3>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
Orders are typically processed within 1-2 business days. You will receive a tracking number via email once your order ships. Custom or personalized items may require additional processing time (3-5 business days).
</p>
</div>
</div>
`;
await upsertPage(
"shipping-info",
"Shipping Info",
shippingHTML,
"Shipping Information - Sky Art Shop",
"Learn about our shipping methods, delivery times, and policies."
);
// 2. Returns Page
const returnsHTML = `
<div style="max-width: 1000px; margin: 0 auto; padding: 40px 20px;">
<div style="text-align: center; margin-bottom: 60px;">
<h2 style="font-size: 2.5rem; font-weight: 700; color: #202023; margin-bottom: 16px;">
Returns & Refunds
</h2>
<p style="font-size: 1.1rem; color: #202023; opacity: 0.7; max-width: 700px; margin: 0 auto;">
Our hassle-free return policy to ensure your satisfaction
</p>
</div>
<div style="margin-bottom: 50px;">
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px; display: flex; align-items: center; gap: 12px;">
<i class="bi bi-arrow-counterclockwise" style="font-size: 1.5rem;"></i> Return Policy
</h3>
<p style="line-height: 1.8; color: #202023; margin-bottom: 20px; font-size: 1.05rem;">
We accept returns within <strong>30 days</strong> of purchase. Items must be in original condition, unused, and in original packaging.
</p>
<ul style="line-height: 2; color: #202023; font-size: 1.05rem; list-style: none; padding: 0;">
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">✓ Item must be unused and in original condition</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">✓ Original packaging must be intact</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">✓ Include receipt or proof of purchase</li>
<li style="padding: 12px 0;">✓ Custom or personalized items cannot be returned</li>
</ul>
</div>
<div style="margin-bottom: 50px;">
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px; display: flex; align-items: center; gap: 12px;">
<i class="bi bi-cash-coin" style="font-size: 1.5rem;"></i> Refund Process
</h3>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
Once we receive your return, we will inspect the item and process your refund within 5-7 business days. Refunds will be issued to the original payment method. Shipping costs are non-refundable unless the return is due to our error.
</p>
</div>
<div>
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px; display: flex; align-items: center; gap: 12px;">
<i class="bi bi-box-seam" style="font-size: 1.5rem;"></i> How to Return
</h3>
<ol style="line-height: 2; color: #202023; font-size: 1.05rem; padding-left: 20px;">
<li style="padding: 8px 0;">Contact us at <a href="mailto:returns@skyartshop.com" style="color: #FCB1D8; text-decoration: none; font-weight: 500;">returns@skyartshop.com</a> to initiate a return</li>
<li style="padding: 8px 0;">Pack the item securely in original packaging</li>
<li style="padding: 8px 0;">Ship to the address provided in our return confirmation email</li>
<li style="padding: 8px 0;">We recommend using a trackable shipping method</li>
</ol>
</div>
</div>
`;
await upsertPage(
"returns",
"Returns",
returnsHTML,
"Returns & Refunds - Sky Art Shop",
"Our return policy and refund process explained."
);
// 3. FAQ Page
const faqHTML = `
<div style="max-width: 1000px; margin: 0 auto; padding: 40px 20px;">
<div style="text-align: center; margin-bottom: 60px;">
<h2 style="font-size: 2.5rem; font-weight: 700; color: #202023; margin-bottom: 16px;">
Frequently Asked Questions
</h2>
<p style="font-size: 1.1rem; color: #202023; opacity: 0.7; max-width: 700px; margin: 0 auto;">
Find answers to common questions about our products and services
</p>
</div>
<div style="margin-bottom: 40px; padding-bottom: 40px; border-bottom: 2px solid #FFD0D0;">
<h3 style="font-size: 1.4rem; font-weight: 600; color: #FCB1D8; margin-bottom: 16px; display: flex; align-items: center; gap: 10px;">
<i class="bi bi-question-circle" style="font-size: 1.3rem;"></i> How do I place an order?
</h3>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
Simply browse our shop, add items to your cart, and proceed to checkout. You can pay securely with credit card, debit card, or PayPal.
</p>
</div>
<div style="margin-bottom: 40px; padding-bottom: 40px; border-bottom: 2px solid #FFD0D0;">
<h3 style="font-size: 1.4rem; font-weight: 600; color: #FCB1D8; margin-bottom: 16px; display: flex; align-items: center; gap: 10px;">
<i class="bi bi-question-circle" style="font-size: 1.3rem;"></i> Do you offer custom artwork?
</h3>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
Yes! We offer custom commissions for paintings and artwork. Contact us with your vision and we'll provide a quote and timeline.
</p>
</div>
<div style="margin-bottom: 40px; padding-bottom: 40px; border-bottom: 2px solid #FFD0D0;">
<h3 style="font-size: 1.4rem; font-weight: 600; color: #FCB1D8; margin-bottom: 16px; display: flex; align-items: center; gap: 10px;">
<i class="bi bi-question-circle" style="font-size: 1.3rem;"></i> How long does shipping take?
</h3>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
Standard shipping takes 5-7 business days. Express shipping (2-3 days) and overnight options are available. Processing time is 1-2 business days.
</p>
</div>
<div style="margin-bottom: 40px; padding-bottom: 40px; border-bottom: 2px solid #FFD0D0;">
<h3 style="font-size: 1.4rem; font-weight: 600; color: #FCB1D8; margin-bottom: 16px; display: flex; align-items: center; gap: 10px;">
<i class="bi bi-question-circle" style="font-size: 1.3rem;"></i> What payment methods do you accept?
</h3>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
We accept all major credit cards (Visa, Mastercard, American Express, Discover), debit cards, and PayPal.
</p>
</div>
<div style="margin-bottom: 40px; padding-bottom: 40px; border-bottom: 2px solid #FFD0D0;">
<h3 style="font-size: 1.4rem; font-weight: 600; color: #FCB1D8; margin-bottom: 16px; display: flex; align-items: center; gap: 10px;">
<i class="bi bi-question-circle" style="font-size: 1.3rem;"></i> Can I cancel or modify my order?
</h3>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
You can cancel or modify your order within 24 hours of placing it. Contact us immediately at <a href="mailto:contact@skyartshop.com" style="color: #FCB1D8; text-decoration: none; font-weight: 500;">contact@skyartshop.com</a>.
</p>
</div>
<div>
<h3 style="font-size: 1.4rem; font-weight: 600; color: #FCB1D8; margin-bottom: 16px; display: flex; align-items: center; gap: 10px;">
<i class="bi bi-question-circle" style="font-size: 1.3rem;"></i> Do you ship internationally?
</h3>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
Yes, we ship to Canada, UK, and Australia. International shipping costs vary by location and are calculated at checkout.
</p>
</div>
</div>
`;
await upsertPage(
"faq",
"FAQ",
faqHTML,
"Frequently Asked Questions - Sky Art Shop",
"Answers to common questions about orders, shipping, and our services."
);
// 4. Privacy Policy Page
const privacyHTML = `
<div style="max-width: 1000px; margin: 0 auto; padding: 40px 20px;">
<div style="text-align: center; margin-bottom: 60px;">
<h2 style="font-size: 2.5rem; font-weight: 700; color: #202023; margin-bottom: 16px;">
Privacy Policy
</h2>
<p style="font-size: 1.1rem; color: #202023; opacity: 0.7; max-width: 700px; margin: 0 auto;">
How we collect, use, and protect your information
</p>
</div>
<div style="margin-bottom: 50px;">
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px;">
Information We Collect
</h3>
<p style="line-height: 1.8; color: #202023; margin-bottom: 16px; font-size: 1.05rem;">
We collect information you provide directly to us, including:
</p>
<ul style="line-height: 2; color: #202023; font-size: 1.05rem; list-style: none; padding: 0;">
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Name, email address, and contact information</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Billing and shipping addresses</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Payment information (processed securely)</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Order history and preferences</li>
<li style="padding: 12px 0;">• Communications with our customer service</li>
</ul>
</div>
<div style="margin-bottom: 50px;">
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px;">
How We Use Your Information
</h3>
<p style="line-height: 1.8; color: #202023; margin-bottom: 16px; font-size: 1.05rem;">
We use the information we collect to:
</p>
<ul style="line-height: 2; color: #202023; font-size: 1.05rem; list-style: none; padding: 0;">
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Process and fulfill your orders</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Communicate with you about your orders</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Send promotional emails (with your consent)</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Improve our website and services</li>
<li style="padding: 12px 0;">• Prevent fraud and enhance security</li>
</ul>
</div>
<div style="margin-bottom: 50px;">
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px;">
Information Sharing
</h3>
<p style="line-height: 1.8; color: #202023; margin-bottom: 16px; font-size: 1.05rem;">
We do not sell your personal information. We may share your information with:
</p>
<ul style="line-height: 2; color: #202023; font-size: 1.05rem; list-style: none; padding: 0;">
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Service providers who help us operate our business</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Payment processors for secure transactions</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Shipping companies to deliver your orders</li>
<li style="padding: 12px 0;">• Law enforcement when required by law</li>
</ul>
</div>
<div style="margin-bottom: 50px;">
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px;">
Data Security
</h3>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
We implement appropriate security measures to protect your personal information. All payment information is encrypted using SSL technology. However, no method of transmission over the internet is 100% secure.
</p>
</div>
<div style="margin-bottom: 50px;">
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px;">
Your Rights
</h3>
<p style="line-height: 1.8; color: #202023; margin-bottom: 16px; font-size: 1.05rem;">
You have the right to:
</p>
<ul style="line-height: 2; color: #202023; font-size: 1.05rem; list-style: none; padding: 0;">
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Access your personal information</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Correct inaccurate information</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Request deletion of your data</li>
<li style="padding: 12px 0; border-bottom: 1px solid #FFD0D0;">• Opt-out of marketing communications</li>
<li style="padding: 12px 0;">• Lodge a complaint with a supervisory authority</li>
</ul>
</div>
<div style="padding: 30px; background: #FFEBEB; border-left: 4px solid #FCB1D8; border-radius: 8px;">
<h3 style="font-size: 1.75rem; font-weight: 600; color: #FCB1D8; margin-bottom: 20px;">
Contact Us
</h3>
<p style="line-height: 1.8; color: #202023; margin-bottom: 16px; font-size: 1.05rem;">
If you have questions about this Privacy Policy, please contact us at:
</p>
<p style="line-height: 1.8; color: #202023; font-size: 1.05rem;">
<strong>Email:</strong> <a href="mailto:privacy@skyartshop.com" style="color: #FCB1D8; text-decoration: none; font-weight: 500;">privacy@skyartshop.com</a><br>
<strong>Phone:</strong> +1 (555) 123-4567<br>
<strong>Last Updated:</strong> January 1, 2026
</p>
</div>
</div>
`;
await upsertPage(
"privacy",
"Privacy Policy",
privacyHTML,
"Privacy Policy - Sky Art Shop",
"Our privacy policy and how we protect your information."
);
console.log("\n✅ All customer service pages added successfully!");
console.log("\nPages available at:");
console.log(" - http://localhost:5000/shipping-info.html");
console.log(" - http://localhost:5000/returns.html");
console.log(" - http://localhost:5000/faq.html");
console.log(" - http://localhost:5000/privacy.html");
console.log(
"\nThese pages are now editable in the admin panel under Custom Pages!"
);
process.exit(0);
} catch (error) {
console.error("Error adding customer service pages:", error);
process.exit(1);
}
}
addCustomerServicePages();