Raybilhelp commited on
Commit
2207e71
·
verified ·
1 Parent(s): 0aed0e3

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +53 -0
index.js CHANGED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const express = require('express');
2
+ const admin = require('firebase-admin');
3
+ const cors = require('cors');
4
+ const path = require('path');
5
+
6
+ const app = express();
7
+ app.use(cors());
8
+ app.use(express.json());
9
+ app.use(express.static('public')); // Frontend ফাইলগুলো সার্ভ করার জন্য
10
+
11
+ // Firebase Admin Setup (Environment Variable থেকে কী নেওয়া হবে সিকিউরিটির জন্য)
12
+ const serviceAccount = JSON.parse(process.env.FIREBASE_SERVICE_ACCOUNT);
13
+
14
+ admin.initializeApp({
15
+ credential: admin.credential.cert(serviceAccount)
16
+ });
17
+
18
+ const db = admin.firestore();
19
+
20
+ // API: টাস্ক কমপ্লিট করা
21
+ app.post('/api/complete-task', async (req, res) => {
22
+ const { userId, taskId, reward } = req.body;
23
+ try {
24
+ const userRef = db.collection('users').doc(userId);
25
+ const userDoc = await userRef.get();
26
+
27
+ if (!userDoc.exists) {
28
+ await userRef.set({ balance: reward, completedTasks: [taskId] });
29
+ return res.json({ success: true, newBalance: reward });
30
+ }
31
+
32
+ const userData = userDoc.data();
33
+ if (userData.completedTasks && userData.completedTasks.includes(taskId)) {
34
+ return res.status(400).json({ success: false, message: "ইতিমধ্যে সম্পন্ন হয়েছে!" });
35
+ }
36
+
37
+ const newBalance = (userData.balance || 0) + reward;
38
+ await userRef.update({
39
+ balance: newBalance,
40
+ completedTasks: admin.firestore.FieldValue.arrayUnion(taskId)
41
+ });
42
+
43
+ res.json({ success: true, newBalance: newBalance });
44
+ } catch (error) {
45
+ res.status(500).json({ success: false, message: error.message });
46
+ }
47
+ });
48
+
49
+ // Hugging Face-এর জন্য পোর্ট ৭৮৬০ ব্যবহার করতে হবে
50
+ const PORT = 7860;
51
+ app.listen(PORT, '0.0.0.0', () => {
52
+ console.log(`Server is running on port ${PORT}`);
53
+ });