Skip to content

Commit d7ea566

Browse files
authored
Merge branch 'main' into footer
2 parents 2842b3e + 09e400f commit d7ea566

File tree

16 files changed

+1814
-633
lines changed

16 files changed

+1814
-633
lines changed

server/app.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ app.use(express.json());
1818
app.use(cors());
1919

2020
// Use the imported routes
21-
app.use("/api/newsletter", newsletterRoutes);
21+
app.use("/api/v1/newsletter", newsletterRoutes);
2222
app.use("/api/feedback", feedbackRoutes);
2323
app.use("/api/contact", contactRoute);
2424
app.use("/api/discussion", discussion);

server/controller/newsletterController.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ import { sendMailToSubscriber } from "../sendSuscribedMail.js";
33

44
export async function saveNewsletter(req, res) {
55
try {
6-
const { name, email } = req.body;
6+
const { email } = req.body;
77

8-
if (!name || !email) {
8+
if (!email) {
99
return res.status(400).json({ message: "All fields are required." });
1010
}
1111

1212
// Create new contact document
13-
const newNewsLetter = new NewsLetter({ name, email });
13+
const newNewsLetter = new NewsLetter({ email });
1414
sendMailToSubscriber(newNewsLetter)
1515
await newNewsLetter.save();
1616
res

src/appwrite/configAppwrite.js

Lines changed: 181 additions & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -1,180 +1,196 @@
11
import conf from "../config/config.js";
2-
import { Client, Databases, ID,Query ,Storage } from "appwrite";
3-
4-
export class Service{
5-
client = new Client();
6-
databases;
7-
bucket;
8-
9-
constructor(){
10-
this.client
11-
.setEndpoint(conf.appwriteUrl)
12-
.setProject(conf.appwriteProjectId);
13-
this.databases = new Databases(this.client);
14-
this.bucket = new Storage(this.client);
15-
}
16-
17-
async createPost({title, slug, content, featuredImage, status, userId, category, metaData, tags}){
18-
try {
19-
console.log(slug)
20-
return await this.databases.createDocument(
21-
conf.appwriteDatabaseId,
22-
conf.appwriteCollectionId,
23-
slug,
24-
{
25-
title,
26-
content,
27-
featuredImage,
28-
status,
29-
userId,
30-
category,
31-
metaData,
32-
tags,
33-
}
34-
)
35-
} catch (error) {
36-
console.log("Appwrite serive :: createPost :: error", error);
2+
import { Client, Databases, ID, Query, Storage } from "appwrite";
3+
4+
export class Service {
5+
client = new Client();
6+
databases;
7+
bucket;
8+
9+
constructor() {
10+
this.client
11+
.setEndpoint(conf.appwriteUrl)
12+
.setProject(conf.appwriteProjectId);
13+
this.databases = new Databases(this.client);
14+
this.bucket = new Storage(this.client);
15+
}
16+
17+
async createPost({
18+
title,
19+
slug,
20+
content,
21+
featuredImage,
22+
status,
23+
userId,
24+
category,
25+
metaData,
26+
tags,
27+
}) {
28+
try {
29+
console.log(slug);
30+
return await this.databases.createDocument(
31+
conf.appwriteDatabaseId,
32+
conf.appwriteCollectionId,
33+
slug,
34+
{
35+
title,
36+
content,
37+
featuredImage,
38+
status,
39+
userId,
40+
category,
41+
metaData,
42+
tags,
3743
}
44+
);
45+
} catch (error) {
46+
console.log("Appwrite serive :: createPost :: error", error);
3847
}
39-
40-
async updatePost(slug, {title, content, featuredImage, status ,category, metaData, tags}){
41-
try {
42-
return await this.databases.updateDocument(
43-
conf.appwriteDatabaseId,
44-
conf.appwriteCollectionId,
45-
slug,
46-
{
47-
title,
48-
content,
49-
featuredImage,
50-
status,
51-
category,
52-
metaData,
53-
tags,
54-
}
55-
)
56-
} catch (error) {
57-
console.log("Appwrite serive :: updatePost :: error", error);
48+
}
49+
50+
async updatePost(
51+
slug,
52+
{ title, content, featuredImage, status, category, metaData, tags }
53+
) {
54+
try {
55+
return await this.databases.updateDocument(
56+
conf.appwriteDatabaseId,
57+
conf.appwriteCollectionId,
58+
slug,
59+
{
60+
title,
61+
content,
62+
featuredImage,
63+
status,
64+
category,
65+
metaData,
66+
tags,
5867
}
68+
);
69+
} catch (error) {
70+
console.log("Appwrite serive :: updatePost :: error", error);
5971
}
60-
61-
async deletePost(slug){
62-
try {
63-
await this.databases.deleteDocument(
64-
conf.appwriteDatabaseId,
65-
conf.appwriteCollectionId,
66-
slug
67-
68-
)
69-
return true
70-
} catch (error) {
71-
console.log("Appwrite serive :: deletePost :: error", error);
72-
return false
73-
}
72+
}
73+
74+
async deletePost(slug) {
75+
try {
76+
await this.databases.deleteDocument(
77+
conf.appwriteDatabaseId,
78+
conf.appwriteCollectionId,
79+
slug
80+
);
81+
return true;
82+
} catch (error) {
83+
console.log("Appwrite serive :: deletePost :: error", error);
84+
return false;
7485
}
75-
76-
async getPost(slug){
77-
try {
78-
return await this.databases.getDocument(
79-
conf.appwriteDatabaseId,
80-
conf.appwriteCollectionId,
81-
slug
82-
83-
)
84-
} catch (error) {
85-
console.log("Appwrite serive :: getPost :: error", error);
86-
return false
87-
}
86+
}
87+
88+
async getPost(slug) {
89+
try {
90+
return await this.databases.getDocument(
91+
conf.appwriteDatabaseId,
92+
conf.appwriteCollectionId,
93+
slug
94+
);
95+
} catch (error) {
96+
console.log("Appwrite serive :: getPost :: error", error);
97+
return false;
8898
}
89-
90-
async getPosts(queries = [Query.equal("status", "active")]){
91-
try {
92-
return await this.databases.listDocuments(
93-
conf.appwriteDatabaseId,
94-
conf.appwriteCollectionId,
95-
queries,
96-
97-
)
98-
} catch (error) {
99-
console.log("Appwrite service :: getPosts :: error", error);
100-
return false
101-
}
99+
}
100+
101+
async getPosts(queries = [Query.equal("status", "active")]) {
102+
try {
103+
return await this.databases.listDocuments(
104+
conf.appwriteDatabaseId,
105+
conf.appwriteCollectionId,
106+
queries
107+
);
108+
} catch (error) {
109+
console.log("Appwrite service :: getPosts :: error", error);
110+
return false;
102111
}
103-
104-
105-
async getCurrentUsersPosts(userId) {
106-
try {
107-
const queries = [Query.equal("userId", userId)];
108-
console.log('first appwrite id',queries);
109-
return await this.databases.listDocuments(
110-
conf.appwriteDatabaseId,
111-
conf.appwriteCollectionId,
112-
queries
113-
);
114-
115-
} catch (error) {
116-
console.log("Appwrite service :: getCurrentUsersPosts :: error", error);
117-
return false;
118-
}
112+
}
113+
114+
async getCategory(category) {
115+
const queries = [Query.equal("category", category)];
116+
try {
117+
const response = await this.databases.listDocuments(
118+
conf.appwriteDatabaseId,
119+
conf.appwriteCollectionId,
120+
queries
121+
);
122+
return response.documents; // Returns only the documents array
123+
} catch (error) {
124+
console.error("Appwrite service :: getCategory :: error", error);
125+
return false;
119126
}
120-
121-
122-
async getCurrentUsersDraftPosts(userId) {
123-
try {
124-
const queries = [
125-
Query.equal("userId", userId),
126-
Query.equal("status", "inactive"),
127-
];
128-
console.log('first appwrite id',queries);
129-
return await this.databases.listDocuments(
130-
conf.appwriteDatabaseId,
131-
conf.appwriteCollectionId,
132-
queries
133-
);
134-
135-
} catch (error) {
136-
console.log("Appwrite service :: getCurrentUsersDraftPosts :: error", error);
137-
return false;
138-
}
127+
}
128+
129+
async getCurrentUsersPosts(userId) {
130+
try {
131+
const queries = [Query.equal("userId", userId)];
132+
console.log("first appwrite id", queries);
133+
return await this.databases.listDocuments(
134+
conf.appwriteDatabaseId,
135+
conf.appwriteCollectionId,
136+
queries
137+
);
138+
} catch (error) {
139+
console.log("Appwrite service :: getCurrentUsersPosts :: error", error);
140+
return false;
139141
}
140-
141-
142-
// file upload service
143-
144-
async uploadFile(file){
145-
try {
146-
return await this.bucket.createFile(
147-
conf.appwriteBucketId,
148-
ID.unique(),
149-
file
150-
)
151-
} catch (error) {
152-
console.log("Appwrite serive :: uploadFile :: error", error);
153-
return false
154-
}
142+
}
143+
144+
async getCurrentUsersDraftPosts(userId) {
145+
try {
146+
const queries = [
147+
Query.equal("userId", userId),
148+
Query.equal("status", "inactive"),
149+
];
150+
console.log("first appwrite id", queries);
151+
return await this.databases.listDocuments(
152+
conf.appwriteDatabaseId,
153+
conf.appwriteCollectionId,
154+
queries
155+
);
156+
} catch (error) {
157+
console.log(
158+
"Appwrite service :: getCurrentUsersDraftPosts :: error",
159+
error
160+
);
161+
return false;
155162
}
156-
157-
async deleteFile(fileId){
158-
try {
159-
await this.bucket.deleteFile(
160-
conf.appwriteBucketId,
161-
fileId
162-
)
163-
return true
164-
} catch (error) {
165-
console.log("Appwrite serive :: deleteFile :: error", error);
166-
return false
167-
}
163+
}
164+
165+
// file upload service
166+
167+
async uploadFile(file) {
168+
try {
169+
return await this.bucket.createFile(
170+
conf.appwriteBucketId,
171+
ID.unique(),
172+
file
173+
);
174+
} catch (error) {
175+
console.log("Appwrite serive :: uploadFile :: error", error);
176+
return false;
168177
}
169-
170-
getFilePreview(fileId){
171-
return this.bucket.getFilePreview(
172-
conf.appwriteBucketId,
173-
fileId
174-
)
178+
}
179+
180+
async deleteFile(fileId) {
181+
try {
182+
await this.bucket.deleteFile(conf.appwriteBucketId, fileId);
183+
return true;
184+
} catch (error) {
185+
console.log("Appwrite serive :: deleteFile :: error", error);
186+
return false;
175187
}
176-
}
188+
}
177189

190+
getFilePreview(fileId) {
191+
return this.bucket.getFilePreview(conf.appwriteBucketId, fileId);
192+
}
193+
}
178194

179-
const service = new Service()
180-
export default service
195+
const service = new Service();
196+
export default service;

0 commit comments

Comments
 (0)