model: add Conversation, Account
Change-Id: Ia0717957d9b7489dd2b299ad9f8696e25b662ec7
diff --git a/routes/jami.js b/routes/jami.js
index 90b9422..9ba97a7 100644
--- a/routes/jami.js
+++ b/routes/jami.js
@@ -1,4 +1,4 @@
-const express = require('express');
+const express = require('express')
class JamiRestApi {
constructor(jami) {
@@ -6,38 +6,54 @@
}
getRouter() {
- const router = express.Router({mergeParams: true});
+ const router = express.Router({mergeParams: true})
// Accounts
router.get(['/accounts'], (req, res, next) => {
- console.log("Request account list")
+ console.log("Get account list")
res.json(this.jami.getAccountList().map(account => account.getSummary()))
- });
+ })
router.get(['/accounts/:accountId'], (req, res, next) => {
- console.log(`Request account ${req.params.accountId}`)
- const account = this.jami.getAccount(req.params.accountId);
+ console.log(`Get account ${req.params.accountId}`)
+ const account = this.jami.getAccount(req.params.accountId)
if (account)
res.json(account.getObject())
else
res.sendStatus(404)
- });
+ })
+
+ // Contacts
+ router.get(['/accounts/:accountId/contacts'], (req, res, next) => {
+ console.log(`Get account ${req.params.accountId}`)
+ const account = this.jami.getAccount(req.params.accountId)
+ if (account)
+ res.json(account.getContacts())
+ else
+ res.sendStatus(404)
+ })
// Conversations
- const conversationRouter = express.Router({mergeParams: true});
+ const conversationRouter = express.Router({mergeParams: true})
conversationRouter.get('/', (req, res, next) => {
- console.log(`Request conversations for account ${req.params.accountId}`);
- res.json([]);
+ console.log(`Get conversations for account ${req.params.accountId}`)
+ const account = this.jami.getAccount(req.params.accountId)
+ if (!account)
+ res.sendStatus(404)
+ res.json(account.getConversationIds())
})
conversationRouter.get('/:conversationId', (req, res, next) => {
- console.log(`Request conversation ${req.params.conversationId} for account ${req.params.accountId}`);
- res.json({});
+ console.log(`Get conversation ${req.params.conversationId} for account ${req.params.accountId}`)
+ const account = this.jami.getAccount(req.params.accountId)
+ if (!account)
+ res.sendStatus(404)
+ res.json(account.getConversation(req.params.conversationId))
})
- router.use('/accounts/:accountId/conversations', conversationRouter);
- return router;
+ router.use('/accounts/:accountId/conversations', conversationRouter)
+ return router
}
}
-module.exports = JamiRestApi;
+module.exports = JamiRestApi