diff --git a/app/controllers/messageController.js b/app/controllers/messageController.js index e69de29..1d68b7d 100644 --- a/app/controllers/messageController.js +++ b/app/controllers/messageController.js @@ -0,0 +1,64 @@ +const Message = require('./message'); + +//mesaj olusturmak icin fonksiyon +function createNewMessage(mesajID, gonderen, alici, icerik) { + const newMessage = new Message({ + mesajID, + gonderen, + alici, + icerik + }); + + newMessage.save((err, savedMessage) => { + if (err) { + console.error(err); + } else { + console.log('Kaydedilen mesaj: ', savedMessage); + } + }); +} + +//mesajlari listelemek icin fonksiyon +function listAllMessages() { + Message.find((err, messages) => { + if (err) { + console.error(err); + } else { + console.log('Mesajlar: ', messages); + } + }); +} + +//mesajın detaylarını goruntulemek icin fonksiyon +function viewMessageById(message_id) { + Message.findById(message_id, (err, message) => { + if (err) { + console.error(err); + } else { + console.log('Mesaj: ', message); + } + }); +} + +//mesaji guncellemek icin fonksiyon +function updateMessageById(message_id, newContent) { + Message.findByIdAndUpdate(message_id, { icerik: newContent }, (err, message) => { + if (err) { + console.error(err); + } else { + console.log('Güncellenen mesaj: ', message); + } + }); +} + +//mesaji silmek icin fonksiyon +function deleteMessageById(message_id) { + Message.findByIdAndDelete(message_id, (err, message) => { + if (err) { + console.error(err); + } else { + console.log('Silinen mesaj: ', message); + } + }); +} + diff --git a/app/models/message.js b/app/models/message.js index e69de29..d457891 100644 --- a/app/models/message.js +++ b/app/models/message.js @@ -0,0 +1,32 @@ +const mongoose = require('mongoose'); + +const MessageSchema = new mongoose.Schema({ + mesajID: { + type: String, + required: true, + unique: true + }, + gonderen: { + type: mongoose.Schema.Types.ObjectId, + ref: 'User', + required: true + }, + alici: { + type: mongoose.Schema.Types.ObjectId, + ref: 'User', + required: true + }, + icerik: { + type: String, + required: true + }, + tarih: { + type: Date, + default: Date.now, + required: true + } +}); + +const Message = mongoose.model('Message', MessageSchema); + +module.exports = Message; \ No newline at end of file diff --git a/app/routes/messageRoutes.js b/app/routes/messageRoutes.js index e69de29..7213951 100644 --- a/app/routes/messageRoutes.js +++ b/app/routes/messageRoutes.js @@ -0,0 +1,21 @@ +const express = require('express'); +const messageController = require('../controllers/messageController'); + +const router = express.Router(); + +//yeni bir mesaj oluşturma +router.post('/messages', messageController.createMessage); + +//tüm mesajlari listeleme +router.get('/messages', messageController.getAllMessages); + +//belirli bir mesaji getirme +router.get('/messages/:messageId', messageController.getMessage); + +//mesaj guncelleme +router.put('/messages/:messageId', messageController.updateMessage); + +//mesaj silme +router.delete('/messages/:messageId', messageController.deleteMessage); + +module.exports = router; diff --git a/config/db.js b/config/db.js index e69de29..8f63e63 100644 --- a/config/db.js +++ b/config/db.js @@ -0,0 +1,21 @@ +const mongoose = require('mongoose'); + +const connectDB = async () => { + try { + const dbURI = process.env.DB_URI; + const connectionOptions = { + useNewUrlParser: true, + useUnifiedTopology: true, + dbName: 'IkinciSans', + }; + + await mongoose.connect(dbURI, connectionOptions); + console.log('Database connected successfully.'); + } catch (error) { + console.error('Database connection failed:', error.message); + process.exit(1); + } +}; + +module.exports = connectDB; + diff --git a/connection.js b/connection.js new file mode 100644 index 0000000..a9cf499 --- /dev/null +++ b/connection.js @@ -0,0 +1,11 @@ +const mongoose = require('mongoose'); + +const url = 'mongodb+srv://:@cluster0.1pcp9yc.mongodb.net/?retryWrites=true&w=majority'; + +mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }) + .then(() => console.log('MongoDB baglantisi basarili')) + .catch((err) => console.error('MongoDB baglantisi hatasi: ', err)); + +const Message = require('./Message'); + +module.exports = { Message };