Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## /user
- ### /user:signup
- Sign up a new user.
- ```javascript
- const request = {
- body: {
- username: 'username',
- password: 'password'
- }
- }
- socket.emit('/user:signup', request, (error, response) => {
- console.log(error); // null if no error
- console.log(response.message); // the success message
- console.log(response.data.token); // the access token
- })
- ```
- ### /user:signin
- SIgn in an user.
- ```javascript
- const request = {
- body: {
- username: 'username',
- password: 'password'
- }
- };
- socket.emit('/user:signin', request, (error, response) => {
- console.log(error); // null if no error
- console.log(response.message); // the success message
- console.log(response.data.token); // the access token
- })
- ```
- ### /user:signout
- Sign out the current user.
- ```javascript
- socket.emit('/user:signout', null, (error, response) => {
- console.log(error); // null if no error
- })
- ```
- ### /user:set_avatar
- Update a new avatar for the current user.
- ```javascript
- const request = {
- files: {
- avatar: {
- data: 'base64 encoded image data here'
- }
- }
- };
- socket.emit('/user:set_avatar', request, (error, response) => {
- console.log(error); // null if no error
- console.log(response.message); // the success message
- console.log(response.data.url); // the avatar url
- })
- ```
- ### /user:get_avatars
- Get avatars of multiple users.
- ```javascript
- const request = {
- query: {
- usernames: ['username1', 'username2']
- }
- };
- socket.emit('/user:set_avatar', request, (error, response) => {
- console.log(error); // null if no error
- console.log(response.data[0].username); // the username
- console.log(response.data[0].url); // the avatar url
- })
- ```
- ### /user:get_avatar
- Get avatar of the current user.
- ```javascript
- socket.emit('/user:get_avatar', null, (error, response) => {
- console.log(error); // null if no error
- console.log(response.data.url); // the avatar url
- })
- ```
- ### /user:set_profile
- Update profile of the current user.
- ```javascript
- const request = {
- body: {
- 'phone': 'phone',
- 'email': 'email',
- 'address': 'address',
- 'nid': 'nid',
- 'bod': 'bod'
- }
- };
- socket.emit('/user:set_profile', request, (error, response) => {
- console.log(error); // null if no error
- console.log(response.data.username);
- console.log(response.data.gold);
- console.log(response.data.vip);
- console.log(response.data.phone);
- console.log(response.data.email);
- console.log(response.data.address);
- console.log(response.data.nid);
- console.log(response.data.bod);
- })
- ```
- ### /user:get_profile
- Get profile of the current user.
- ```javascript
- socket.emit('/user:get_profile', null, (error, response) => {
- console.log(error); // null if no error
- console.log(response.data.username);
- console.log(response.data.gold);
- console.log(response.data.vip);
- console.log(response.data.phone);
- console.log(response.data.email);
- console.log(response.data.address);
- console.log(response.data.nid);
- console.log(response.data.bod);
- })
- ```
- ### /user:set_password
- ```javascript
- const request = {
- body: {
- 'oldPassword': 'oldPassword',
- 'newPassword': 'newPassword'
- }
- };
- socket.emit('/user:set_password', request, (error, response) => {
- console.log(error); // null if no error
- console.log(response.message); // a success message
- })
- ```
- ### /user:signin_by_token
- Signin an user by his access token.
- ```javascript
- const request = {
- body: {
- token: '1234123234234'
- }
- };
- socket.emit('/user:signin_by_token', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data.token); // a new access token
- })
- ```
- ## /news_catalog
- ### /news_catalog:list
- List all available news catalogs.
- ```javascript
- socket.emit('/news_catalog:list', null, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0].name) // catalog id
- });
- ```
- ## /news
- ### /news:list
- List news.
- You can do time-based paging by changing 'before' and defining a 'limit' per page.
- The 'limit' can be big as you want, but server will limit the result on its side and doesn't allow you have a big query (the server's limit is 50 currently).
- Find all news:
- ```javascript
- const request = {
- query: {
- before: Date.now(),
- limit: 20
- }
- };
- socket.emit('/news:list', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0]._id); // news id
- console.log(res.data[0].title); // title
- console.log(res.data[0].thumbnail); // thumbnail url
- console.log(res.data[0].author); // author name
- console.log(res.data[0].createdAt); // created time, epoch time, milliseconds
- console.log(res.data[0].keywords[0]); // keyword
- console.log(res.data[0].catalogs[0]); // catalog id
- console.log(res.data[0].likes); // number of likes
- });
- ```
- Find news by **catalog ids**:
- ```javascript
- const request = {
- query: {
- catalogs: ['catalog_1'],
- before: Date.now(),
- limit: 20
- }
- };
- socket.emit('/news:list', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0]._id); // news id
- console.log(res.data[0].title); // title
- console.log(res.data[0].thumbnail); // thumbnail url
- console.log(res.data[0].author); // author name
- console.log(res.data[0].createdAt); // created time, epoch time, milliseconds
- console.log(res.data[0].keywords[0]); // keyword
- console.log(res.data[0].catalogs[0]); // catalog id
- console.log(res.data[0].likes); // number of likes
- });
- ```
- Find news by keywords:
- ```javascript
- const request = {
- query: {
- keywords: ['kw_1', 'kw_2'],
- before: Date.now(),
- limit: 20
- }
- };
- socket.emit('/news:list', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0]._id); // news id
- console.log(res.data[0].title); // title
- console.log(res.data[0].thumbnail); // thumbnail url
- console.log(res.data[0].author); // author name
- console.log(res.data[0].createdAt); // created time, epoch time, milliseconds
- console.log(res.data[0].keywords[0]); // keyword
- console.log(res.data[0].catalogs[0]); // catalog id
- console.log(res.data[0].likes); // number of likes
- });
- ```
- ### /news:get_content
- Get content of a news.
- ```javascript
- const request = {
- query: {
- newsId: '1234566545'
- }
- };
- socket.emit('/news:get_content', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data.format); // content format, can be 'md', 'txt', 'html'.
- console.log(res.data.content); // content
- });
- ```
- ### /news:like
- Like a news.
- ```javascript
- const request = {
- body: {
- newsId: '1234566545'
- }
- };
- socket.emit('/news:like', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data.likes); // the new number of likes
- });
- ```
- ## /clip_catalog
- ### /clip_catalog:list
- List all clip catalogs.
- ```javascript
- socket.emit('/clip_catalog:list', null, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0]._id); // catalog id
- console.log(res.data[0].name); // catalog name
- });
- ```
- ## /clip
- ### /clip:list
- List clip.
- You can do time-based paging by changing 'before' and defining a 'limit' per page.
- The 'limit' can be big as you want, but server will limit the result on its side and doesn't allow you have a big query (the server's limit is 50 currently).
- Find all clip:
- ```javascript
- const request = {
- query: {
- before: Date.now(),
- limit: 20
- }
- };
- socket.emit('/clip:list', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0]._id); // clip id
- console.log(res.data[0].title); // title
- console.log(res.data[0].thumbnail); // thumbnail url
- console.log(res.data[0].createdAt); // created time, epoch time, milliseconds
- console.log(res.data[0].keywords[0]); // keyword
- console.log(res.data[0].catalogs[0]); // catalog id
- console.log(res.data[0].likes); // number of likes
- console.log(res.data[0].views); // number of views
- console.log(res.data[0].duration); // duration in seconds
- });
- ```
- Find clip by **catalog ids**:
- ```javascript
- const request = {
- query: {
- catalogs: ['1212312312312'],
- before: Date.now(),
- limit: 20
- }
- };
- socket.emit('/clip:list', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0]._id); // clip id
- console.log(res.data[0].title); // title
- console.log(res.data[0].thumbnail); // thumbnail url
- console.log(res.data[0].createdAt); // created time, epoch time, milliseconds
- console.log(res.data[0].keywords[0]); // keyword
- console.log(res.data[0].catalogs[0]); // catalog id
- console.log(res.data[0].likes); // number of likes
- console.log(res.data[0].views); // number of views
- console.log(res.data[0].duration); // duration in seconds
- });
- ```
- Find clip by keywords:
- ```javascript
- const request = {
- query: {
- keywords: ['kw_1', 'kw_2'],
- before: Date.now(),
- limit: 20
- }
- };
- socket.emit('/clip:list', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0]._id); // clip id
- console.log(res.data[0].title); // title
- console.log(res.data[0].thumbnail); // thumbnail url
- console.log(res.data[0].createdAt); // created time, epoch time, milliseconds
- console.log(res.data[0].keywords[0]); // keyword
- console.log(res.data[0].catalogs[0]); // catalog id
- console.log(res.data[0].likes); // number of likes
- console.log(res.data[0].views); // number of views
- console.log(res.data[0].duration); // duration in seconds
- });
- ```
- ### /clip:get_url
- Get url of a clip.
- ```javascript
- const request = {
- query: {
- clipId: '1234566545'
- }
- };
- socket.emit('/clip:get_url', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data.url); // the clip url
- });
- ```
- ### /clip:like
- Like a clip.
- ```javascript
- const request = {
- body: {
- clipId: '1234566545'
- }
- };
- socket.emit('/clip:like', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data.likes); // the new number of likes
- });
- ```
- ## /channel
- ### /channel:list
- List all channels.
- ```javascript
- socket.emit('/channel:list', null, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0]._id); // channel id
- console.log(res.data[0].name); // channel name
- console.log(res.data[0].description); // channel description
- console.log(res.data[0].icon); // channel icon url
- console.log(res.data[0].keywords); // channel keywords
- });
- ```
- ### /channel:get_url
- Get url of a channel.
- ```javascript
- const request = {
- query: {
- channelId: '1231231231'
- }
- };
- socket.emit('/channel:get_url', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data.url); // url of the channel
- });
- ```
- ### /channel:get_schedule
- Get schedule of a channel.
- ```javascript
- const request = {
- query: {
- channelId: '123123131',
- after: Date.now()
- }
- };
- socket.emit('/channel:get_schedule', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0]._id); // schedule id
- console.log(res.data[0].livedAt); // lived time, epoch time in milliseconds
- console.log(res.data[0].description); // program description
- });
- ```
- You can do time-based paging by changing the 'after'.
- ## /notification
- ### /notification:list
- List all unread notifications.
- ```javascript
- const request = {
- query: {
- deviceId: '123123131'
- }
- };
- socket.emit('/notification:list', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0]._id); // notification id
- console.log(res.data[0].title); // title
- console.log(res.data[0].description);
- console.log(res.data[0].link); // the app deep link
- console.log(res.data[0].extras); // the deep link extras
- console.log(res.data[0].createdAt); // the created time, epoch time, in milliseconds
- console.log(res.data[0].expiredAt); // the expired time, date tine
- });
- ```
- ### /notification:read
- Specify an user or a device read a notification.
- ```javascript
- const request = {
- body: {
- notificationId: '123123123',
- deviceId: '123123131'
- }
- };
- // don't wait for this request
- socket.emit('/notification:list', request);
- ```
- ## /vip
- ### /vip:list
- List all VIP plans.
- ```javascript
- socket.emit('/vip:list', null, (err, res) => {
- console.log(err); // null if no error
- console.log(res.data[0].name); // vip name
- console.log(res.data[0].title);
- console.log(res.data[0].description);
- console.log(res.data[0].gateway); // registration gateway
- console.log(res.data[0].plans[0].name); // plan name, registration syntax also
- console.log(res.data[0].plans[0].fee); // registration fee
- console.log(res.data[0].plans[0].unit); // fee unit ex: đồng/ngày, đồng/tuần.
- });
- ```
- An example result:
- ```json
- {
- "data": [
- {
- "_id": "56fc99ab2b355814346ff64a",
- "name": "vip",
- "description": "vip description",
- "title": "vip title",
- "gateway": 8080,
- "dailyGold": 10000,
- "__v": 0,
- "plans": [
- {
- "name": "vip",
- "fee": 10000,
- "unit": "dong\/ngay",
- "_id": "56fc99ab2b355814346ff64c"
- },
- {
- "name": "vip7",
- "fee": 15000,
- "unit": "dong\/tuan",
- "_id": "56fc99ab2b355814346ff64b"
- }
- ]
- },
- {
- "_id": "56fc99ab2b355814346ff64d",
- "name": "tip",
- "description": "tip description",
- "title": "tip title",
- "gateway": 8080,
- "dailyGold": 10000,
- "__v": 0,
- "plans": [
- {
- "name": "tip",
- "fee": 10000,
- "unit": "dong\/ngay",
- "_id": "56fc99ab2b355814346ff64f"
- },
- {
- "name": "tip7",
- "fee": 15000,
- "unit": "dong\/tuan",
- "_id": "56fc99ab2b355814346ff64e"
- }
- ]
- }
- ]
- }
- ```
- ## /feedback
- ### /feedback:send
- Send a feedback.
- ```javascript
- const request = {
- body: {
- content: 'keep it shity please'
- }
- };
- socket.emit('/feedback:send', request, (err, res) => {
- console.log(err); // null if no error
- console.log(res.message); // a thankful message
- });
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement