diff --git a/src/backend/api.js b/src/backend/api.js index 09ec5e7..2a92b0b 100644 --- a/src/backend/api.js +++ b/src/backend/api.js @@ -2,10 +2,10 @@ import {getConfigValue} from "@brojs/cli"; const LOCAL = "http://localhost:8099"; -const DEV = "https://dev.bro-js.ru"; +const DEV = "https://dev.bro-js.ru/enterfront"; const SERVER = ""; -export const BASE_API_URL = DEV + getConfigValue("enterfront.api"); +export const BASE_API_URL = LOCAL + getConfigValue("enterfront.api"); // fetch(`${BASE_API_URL}/books/list`) @@ -51,15 +51,15 @@ export async function get(path){ } }); + const data = await res.json(); + if (res.status === 200) { - const data = await res.json(); console.log("Received get:", data); return {ok: true, data: data}; } else { - const errorData = await res.json(); - console.log("Error during get:", errorData.message); + console.log("Error during get:", data.message); - return {ok: false, data: errorData}; + return {ok: false, data: data}; } } diff --git a/stubs/api/auth/users.json b/stubs/api/auth/users.json index c502b5d..7e8c98e 100644 --- a/stubs/api/auth/users.json +++ b/stubs/api/auth/users.json @@ -1,12 +1,52 @@ [ { - "nickname": "Nick", - "password": "1234", - "id": "Nickolaus_SDR" + "nickname": "Alice Johnson", + "password": "1234", + "id": "alice" }, { - "nickname": "User", + "nickname": "Bob Smith", "password": "1234", - "id": "id" + "id": "bobsm" + }, + { + "nickname": "Charlie Brown", + "password": "1234", + "id": "charl" + }, + { + "nickname": "David Clark", + "password": "1234", + "id": "david" + }, + { + "nickname": "Eve Adams", + "password": "1234", + "id": "evead" + }, + { + "nickname": "Frank Wright", + "password": "1234", + "id": "frank" + }, + { + "nickname": "Grace Lee", + "password": "1234", + "id": "grace" + }, + { + "nickname": "Hannah Scott", + "password": "1234", + "id": "hanna" + }, + { + "nickname": "Ian Davis", + "password": "1234", + "id": "ianda" + }, + { + "nickname": "Jill Thompson", + "password": "1234", + "id": "jillt" } -] \ No newline at end of file +] diff --git a/stubs/api/chat/chats.json b/stubs/api/chat/chats.json new file mode 100644 index 0000000..dc6e34f --- /dev/null +++ b/stubs/api/chat/chats.json @@ -0,0 +1,354 @@ +[ + { + "id1": "alice", + "id2": "bobsm", + "messages": [ + { + "data": "Hello Bob!", + "senderId": "alice" + }, + { + "data": "Hey Alice, how are you?", + "senderId": "bobsm" + }, + { + "data": "I'm good, thanks for asking.", + "senderId": "alice" + }, + { + "data": "Glad to hear!", + "senderId": "bobsm" + } + ] + }, + { + "id1": "alice", + "id2": "charl", + "messages": [ + { + "data": "How's the project going?", + "senderId": "alice" + }, + { + "data": "It's coming along, almost done!", + "senderId": "charl" + }, + { + "data": "That's great to hear!", + "senderId": "alice" + }, + { + "data": "Thanks for checking in.", + "senderId": "charl" + } + ] + }, + { + "id1": "alice", + "id2": "david", + "messages": [ + { + "data": "Did you get the files?", + "senderId": "david" + }, + { + "data": "Yes, I did. Thank you!", + "senderId": "alice" + }, + { + "data": "You're welcome.", + "senderId": "david" + }, + { + "data": "Let me know if you need anything else.", + "senderId": "alice" + } + ] + }, + { + "id1": "bobsm", + "id2": "charl", + "messages": [ + { + "data": "How's everything going?", + "senderId": "bobsm" + }, + { + "data": "Pretty good, how about you?", + "senderId": "charl" + }, + { + "data": "Can't complain!", + "senderId": "bobsm" + }, + { + "data": "Glad to hear that.", + "senderId": "charl" + } + ] + }, + { + "id1": "bobsm", + "id2": "david", + "messages": [ + { + "data": "Can you send the report?", + "senderId": "bobsm" + }, + { + "data": "I'll send it in an hour.", + "senderId": "david" + }, + { + "data": "Perfect, thanks.", + "senderId": "bobsm" + }, + { + "data": "No problem.", + "senderId": "david" + } + ] + }, + { + "id1": "charl", + "id2": "evead", + "messages": [ + { + "data": "Hey Eve, how's it going?", + "senderId": "charl" + }, + { + "data": "Good, how about you?", + "senderId": "evead" + }, + { + "data": "Can't complain!", + "senderId": "charl" + }, + { + "data": "Glad to hear.", + "senderId": "evead" + } + ] + }, + { + "id1": "charl", + "id2": "frank", + "messages": [ + { + "data": "Do you have time to talk today?", + "senderId": "charl" + }, + { + "data": "I have a meeting, but I can chat afterward.", + "senderId": "frank" + }, + { + "data": "Sounds good.", + "senderId": "charl" + }, + { + "data": "I'll message you after.", + "senderId": "frank" + } + ] + }, + { + "id1": "david", + "id2": "frank", + "messages": [ + { + "data": "Did you review the document?", + "senderId": "david" + }, + { + "data": "Yes, it's all good.", + "senderId": "frank" + }, + { + "data": "Great, thanks for the quick turnaround!", + "senderId": "david" + }, + { + "data": "No worries!", + "senderId": "frank" + } + ] + }, + { + "id1": "david", + "id2": "grace", + "messages": [ + { + "data": "Grace, can you send the updated schedule?", + "senderId": "david" + }, + { + "data": "Yes, I'll send it in a few minutes.", + "senderId": "grace" + }, + { + "data": "Thanks, much appreciated!", + "senderId": "david" + }, + { + "data": "You're welcome!", + "senderId": "grace" + } + ] + }, + { + "id1": "frank", + "id2": "grace", + "messages": [ + { + "data": "How are you today?", + "senderId": "frank" + }, + { + "data": "I'm doing well, thanks for asking.", + "senderId": "grace" + }, + { + "data": "Glad to hear that.", + "senderId": "frank" + }, + { + "data": "How about you?", + "senderId": "grace" + } + ] + }, + { + "id1": "frank", + "id2": "hanna", + "messages": [ + { + "data": "Did you attend the meeting?", + "senderId": "frank" + }, + { + "data": "Yes, it was productive.", + "senderId": "hanna" + }, + { + "data": "Good to hear!", + "senderId": "frank" + }, + { + "data": "Indeed, lots to follow up on.", + "senderId": "hanna" + } + ] + }, + { + "id1": "grace", + "id2": "hanna", + "messages": [ + { + "data": "Can we meet later today?", + "senderId": "grace" + }, + { + "data": "Sure, what's a good time?", + "senderId": "hanna" + }, + { + "data": "How about 3 PM?", + "senderId": "grace" + }, + { + "data": "Works for me.", + "senderId": "hanna" + } + ] + }, + { + "id1": "grace", + "id2": "ianda", + "messages": [ + { + "data": "Ian, did you get the message I sent?", + "senderId": "grace" + }, + { + "data": "Yes, I'll respond soon.", + "senderId": "ianda" + }, + { + "data": "Thanks, appreciate it!", + "senderId": "grace" + }, + { + "data": "You're welcome!", + "senderId": "ianda" + } + ] + }, + { + "id1": "hanna", + "id2": "ianda", + "messages": [ + { + "data": "Ian, do you have a minute?", + "senderId": "hanna" + }, + { + "data": "Yes, what do you need?", + "senderId": "ianda" + }, + { + "data": "Just a quick update on the project.", + "senderId": "hanna" + }, + { + "data": "I'll email you the details.", + "senderId": "ianda" + } + ] + }, + { + "id1": "hanna", + "id2": "jillt", + "messages": [ + { + "data": "Jill, can we talk tomorrow?", + "senderId": "hanna" + }, + { + "data": "Yes, I'm free after 2 PM.", + "senderId": "jillt" + }, + { + "data": "Perfect, see you then.", + "senderId": "hanna" + }, + { + "data": "Looking forward to it.", + "senderId": "jillt" + } + ] + }, + { + "id1": "ianda", + "id2": "jillt", + "messages": [ + { + "data": "Jill, I have the files you requested.", + "senderId": "ianda" + }, + { + "data": "Thanks, please send them over.", + "senderId": "jillt" + }, + { + "data": "I'll send them right now.", + "senderId": "ianda" + }, + { + "data": "Great, thanks again!", + "senderId": "jillt" + } + ] + } +] diff --git a/stubs/api/chat/index.js b/stubs/api/chat/index.js new file mode 100644 index 0000000..88032d7 --- /dev/null +++ b/stubs/api/chat/index.js @@ -0,0 +1,17 @@ +const chatRouter = require('express').Router(); + +module.exports = chatRouter; + +const { users, chats, getUserFromDB, getChatFromDB } = require('../db'); + +chatRouter.get('/:id1/:id2', (req, res) => { + const { id1, id2 } = req.params; + + const chat = getChatFromDB(id1, id2); + + if (chat) { + res.status(200).send({chat}); + } else { + res.status(404).send({message: 'Chat was not found'}); + } +}) diff --git a/stubs/api/db.js b/stubs/api/db.js index 0f5038b..20c1c03 100644 --- a/stubs/api/db.js +++ b/stubs/api/db.js @@ -1,5 +1,6 @@ // Read already defined users (pseudo-DB) const users = require('./auth/users.json'); +const chats = require('./chat/chats.json'); const getUserFromDB = (userID) => { if (!userID) {return false;} @@ -14,4 +15,18 @@ const getUserFromDB = (userID) => { } } -module.exports = {users, getUserFromDB} +const getChatFromDB = (firstID, secondID) => { + if (!firstID || !secondID) {return false;} + + // Accessing 'DB' + const chat = chats.find((item) => + (item.id1 === firstID && item.id2 === secondID) || (item.id1 === secondID && item.id2 === firstID)); + + if (chat) { + return chat; + } else { + return false; + } +} + +module.exports = {users, chats, getUserFromDB, getChatFromDB} diff --git a/stubs/api/index.js b/stubs/api/index.js index 3fd0cda..17f1ced 100644 --- a/stubs/api/index.js +++ b/stubs/api/index.js @@ -1,5 +1,6 @@ const changeRouter = require("./change"); const authRouter = require("./auth"); +const chatRouter = require("./chat"); const router = require('express').Router(); @@ -13,3 +14,4 @@ module.exports = router; router.use('/auth', authRouter); router.use('/change', verify, changeRouter); +router.use('/chat', verify, chatRouter)