Advertisement
Guest User

Untitled

a guest
Aug 12th, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.40 KB | None | 0 0
  1. swagger: '2.0'
  2. info:
  3. version: "0.0.0"
  4. title: Nook
  5. schemes:
  6. - http
  7. host: localhost:3000
  8. basePath: /swagger
  9. consumes:
  10. - application/json
  11. produces:
  12. - application/json
  13. paths:
  14. /api/create_account :
  15. post:
  16. description: Create account
  17. parameters:
  18. -
  19. in: body
  20. name: create_account
  21. schema:
  22. type: object
  23. required:
  24. - smartphone_id
  25. properties:
  26. smartphone_id:
  27. type: string
  28. responses:
  29. 200:
  30. description: Successful response
  31. schema:
  32. type: object
  33. properties:
  34. nook_id:
  35. type: string
  36. token:
  37. type: string
  38. /api/update_user:
  39. put:
  40. description: Finish registration
  41. parameters:
  42. -
  43. in: body
  44. name: update_user
  45. schema:
  46. type: object
  47. required:
  48. - nook_id
  49. - token
  50. properties:
  51. nook_id:
  52. type: string
  53. token:
  54. type: string
  55. data:
  56. type: object
  57. required:
  58. - password
  59. - email
  60. - registration_complete
  61. properties:
  62. password:
  63. type: string
  64. format: password
  65. email:
  66. type: string
  67. registration_complete:
  68. type: boolean
  69. responses:
  70. 200:
  71. description: OK
  72. schema:
  73. type: object
  74. properties:
  75. nook_id:
  76. type: string
  77. token:
  78. type: string
  79. email:
  80. type: string
  81. smartphone_id:
  82. type: string
  83. registratrion_complete:
  84. type: boolean
  85. /api/login:
  86. post:
  87. description: Login
  88. parameters:
  89. -
  90. in: body
  91. name: login
  92. schema:
  93. type: object
  94. required:
  95. - nook_id
  96. - password
  97. properties:
  98. nook_id:
  99. type: string
  100. password:
  101. type: string
  102. format: password
  103. responses:
  104. 200:
  105. description: OK
  106. schema:
  107. type: object
  108. properties:
  109. nook_id:
  110. type: string
  111. token:
  112. type: string
  113. email:
  114. type: string
  115. smartphone_id:
  116. type: string
  117. registratrion_complete:
  118. type: boolean
  119. /api/logout:
  120. post:
  121. description: Logout
  122. parameters:
  123. -
  124. in: body
  125. name: logout
  126. schema:
  127. type: object
  128. required:
  129. - nook_id
  130. properties:
  131. nook_id:
  132. type: string
  133. responses:
  134. 200:
  135. description: OK
  136. schema:
  137. type: object
  138. properties:
  139. success:
  140. type: boolean
  141. /api/users:
  142. get:
  143. description: Get user list
  144. responses:
  145. 200:
  146. description: OK
  147. schema:
  148. type: array
  149. items:
  150. $ref: '#/definitions/User'
  151. /api/users/{nook_id}/interests:
  152. get:
  153. description: Get interests for user with given **nook_id**
  154. parameters:
  155. -
  156. name: nook_id
  157. in: path
  158. required: true
  159. type: string
  160. responses:
  161. 200:
  162. description: OK
  163. schema:
  164. type: object
  165. properties:
  166. interests:
  167. type: array
  168. items:
  169. $ref: '#/definitions/Interest'
  170. post:
  171. description: Create new interest for the given user
  172. parameters:
  173. -
  174. name: nook_id
  175. in: path
  176. required: true
  177. type: string
  178. -
  179. name: interest
  180. in: body
  181. schema:
  182. $ref: '#/definitions/InterestNew'
  183. responses:
  184. 200:
  185. description: OK
  186. schema:
  187. $ref: '#/definitions/Interest'
  188. /api/users/{nook_id}/interests/{interests_id}:
  189. get:
  190. description: Get one particular interest with given id
  191. parameters:
  192. -
  193. name: nook_id
  194. in: path
  195. required: true
  196. type: string
  197. -
  198. name: interests_id
  199. in: path
  200. required: true
  201. type: string
  202. responses:
  203. 200:
  204. description: OK
  205. schema:
  206. $ref: '#/definitions/Interest'
  207. put:
  208. description: Update or create new interests
  209. parameters:
  210. -
  211. name: nook_id
  212. in: path
  213. required: true
  214. type: string
  215. -
  216. name: interests_id
  217. in: path
  218. required: true
  219. type: string
  220. -
  221. name: interest
  222. in: body
  223. schema:
  224. $ref: '#/definitions/InterestNew'
  225. responses:
  226. 200:
  227. description: OK
  228. schema:
  229. $ref: '#/definitions/Interest'
  230. delete:
  231. description: Delete interest with given id
  232. parameters:
  233. -
  234. name: nook_id
  235. in: path
  236. required: true
  237. type: string
  238. -
  239. name: interests_id
  240. in: path
  241. required: true
  242. type: string
  243. responses:
  244. 204:
  245. description: Deleted
  246. /api/users/{nook_id}/interests/{interests_id}/mediaitems:
  247. delete:
  248. parameters:
  249. -
  250. name: nook_id
  251. in: path
  252. required: true
  253. type: string
  254. -
  255. name: interests_id
  256. in: path
  257. required: true
  258. type: string
  259. -
  260. name: mediaitems_to_delete
  261. required: true
  262. in: body
  263. schema:
  264. $ref: '#/definitions/MediaItemsIds'
  265. responses:
  266. 204:
  267. description: Deleted
  268. get:
  269. parameters:
  270. -
  271. name: nook_id
  272. in: path
  273. required: true
  274. type: string
  275. -
  276. name: interests_id
  277. in: path
  278. required: true
  279. type: string
  280. responses:
  281. 200:
  282. description: OK
  283. schema:
  284. $ref: '#/definitions/MediaItems'
  285.  
  286. /api/users/{nook_id}/interests/{interests_id}/images/{image_id}:
  287. get:
  288. parameters:
  289. -
  290. name: nook_id
  291. in: path
  292. required: true
  293. type: string
  294. -
  295. name: interests_id
  296. in: path
  297. required: true
  298. type: string
  299. -
  300. name: image_id
  301. in: path
  302. required: true
  303. type: string
  304. responses:
  305. 200:
  306. description: OK
  307. schema:
  308. $ref: '#/definitions/Image'
  309. delete:
  310. parameters:
  311. -
  312. name: nook_id
  313. in: path
  314. required: true
  315. type: string
  316. -
  317. name: interests_id
  318. in: path
  319. required: true
  320. type: string
  321. -
  322. name: image_id
  323. in: path
  324. required: true
  325. type: string
  326. responses:
  327. 204:
  328. description: Deleted
  329. /api/users/{nook_id}/interests/{interests_id}/images:
  330. get:
  331. parameters:
  332. -
  333. name: nook_id
  334. in: path
  335. required: true
  336. type: string
  337. -
  338. name: interests_id
  339. in: path
  340. required: true
  341. type: string
  342. responses:
  343. 200:
  344. description: OK
  345. schema:
  346. type: array
  347. items:
  348. $ref: '#/definitions/Image'
  349. post:
  350. parameters:
  351. -
  352. name: nook_id
  353. in: path
  354. required: true
  355. type: string
  356. -
  357. name: interests_id
  358. in: path
  359. required: true
  360. type: string
  361. -
  362. name: image
  363. in: body
  364. schema:
  365. $ref: '#/definitions/Image'
  366. responses:
  367. 200:
  368. description: OK
  369. schema:
  370. type: array
  371. items:
  372. $ref: '#/definitions/ImageWithInterestId'
  373. /api/users/{nook_id}/interests/{interests_id}/texts/{text_id}:
  374. get:
  375. parameters:
  376. -
  377. name: nook_id
  378. in: path
  379. required: true
  380. type: string
  381. -
  382. name: interests_id
  383. in: path
  384. required: true
  385. type: string
  386. -
  387. name: text_id
  388. in: path
  389. required: true
  390. type: string
  391. responses:
  392. 200:
  393. description: OK
  394. schema:
  395. $ref: '#/definitions/Text'
  396. delete:
  397. parameters:
  398. -
  399. name: nook_id
  400. in: path
  401. required: true
  402. type: string
  403. -
  404. name: interests_id
  405. in: path
  406. required: true
  407. type: string
  408. -
  409. name: text_id
  410. in: path
  411. required: true
  412. type: string
  413. responses:
  414. 204:
  415. description: Deleted
  416. /api/users/{nook_id}/interests/{interests_id}/texts:
  417. get:
  418. parameters:
  419. -
  420. name: nook_id
  421. in: path
  422. required: true
  423. type: string
  424. -
  425. name: interests_id
  426. in: path
  427. required: true
  428. type: string
  429. responses:
  430. 200:
  431. description: OK
  432. schema:
  433. type: array
  434. items:
  435. $ref: '#/definitions/Text'
  436. post:
  437. parameters:
  438. -
  439. name: nook_id
  440. in: path
  441. required: true
  442. type: string
  443. -
  444. name: interests_id
  445. in: path
  446. required: true
  447. type: string
  448. -
  449. name: text
  450. in: body
  451. schema:
  452. $ref: '#/definitions/Text'
  453. responses:
  454. 200:
  455. description: OK
  456. schema:
  457. type: array
  458. items:
  459. $ref: '#/definitions/Text'
  460. /api/match/{nook_id}:
  461. post:
  462. parameters:
  463. -
  464. name: nook_id
  465. in: path
  466. required: true
  467. type: string
  468. responses:
  469. 200:
  470. description: OK
  471. schema:
  472. type: array
  473. items:
  474. $ref: '#/definitions/User'
  475. get:
  476. parameters:
  477. -
  478. name: nook_id
  479. in: path
  480. required: true
  481. type: string
  482. responses:
  483. 200:
  484. description: OK
  485. schema:
  486. type: array
  487. items:
  488. $ref: '#/definitions/Match'
  489. /api/location/{nook_id}:
  490. put:
  491. parameters:
  492. -
  493. name: nook_id
  494. in: path
  495. required: true
  496. type: string
  497. -
  498. name: location
  499. required: true
  500. in: body
  501. schema:
  502. $ref: '#/definitions/Location'
  503. responses:
  504. 200:
  505. description: OK
  506. schema:
  507. $ref: '#/definitions/LocationReturned'
  508. /api/users/{nook_id}:
  509. get:
  510. parameters:
  511. -
  512. name: nook_id
  513. in: path
  514. required: true
  515. type: string
  516. responses:
  517. 200:
  518. description: OK
  519. /api/contact/{user_id}/{target_id}:
  520. get:
  521. parameters:
  522. -
  523. name: user_id
  524. in: path
  525. required: true
  526. type: integer
  527. -
  528. name: target_id
  529. in: path
  530. required: true
  531. type: integer
  532. responses:
  533. 200:
  534. description: OK
  535. schema:
  536. type: object
  537. properties:
  538. user_1:
  539. type: integer
  540. user_2:
  541. type: integer
  542. status:
  543. type: string
  544. put:
  545. description: Update contact status
  546. parameters:
  547. -
  548. name: user_id
  549. in: path
  550. required: true
  551. type: integer
  552. -
  553. name: target_id
  554. in: path
  555. required: true
  556. type: integer
  557. -
  558. name: status
  559. in: body
  560. required: true
  561. type: string
  562. responses:
  563. 200:
  564. description: OK
  565. /api/contacts/{id}:
  566. get:
  567. parameters:
  568. -
  569. name: id
  570. in: path
  571. required: true
  572. type: integer
  573. responses:
  574. 200:
  575. description: OK
  576. schema:
  577. type: object
  578. properties:
  579. user_1:
  580. type: integer
  581. user_2:
  582. type: integer
  583. status:
  584. type: string
  585.  
  586. /api/interests/suggestions:
  587. get:
  588. parameters:
  589. -
  590. name: query
  591. in: query
  592. required: true
  593. type: string
  594. responses:
  595. 200:
  596. description: OK
  597. schema:
  598. type: array
  599. items:
  600. type: string
  601.  
  602. /api/chat/{userId}/conversations:
  603. get:
  604. responses:
  605. 200:
  606. description: OK
  607. schema:
  608. type: array
  609. items:
  610. properties:
  611. id:
  612. type: integer
  613. userOneId:
  614. type: integer
  615. userTwoId:
  616. type: integer
  617. lastMessage:
  618. type: object
  619. schema:
  620. properties:
  621. id:
  622. type: integer
  623. data:
  624. type: string
  625. date:
  626. type: string
  627. format: date-time
  628. fromId:
  629. type: integer
  630. toId:
  631. type: integer
  632. ConversationId:
  633. type: integer
  634.  
  635. /api/chat/{userId}/conversations/{conversationId}:
  636. get:
  637. responses:
  638. 200:
  639. description: OK
  640. schema:
  641. type: array
  642. items:
  643. properties:
  644. id:
  645. type: integer
  646. data:
  647. type: string
  648. description: Message string is here
  649. date:
  650. type: string
  651. format: date-time
  652. fromId:
  653. type: integer
  654. toId:
  655. type: integer
  656. ConversationId:
  657. type: integer
  658.  
  659.  
  660. definitions:
  661. User:
  662. type: object
  663. properties:
  664. nook_id:
  665. type: string
  666. email:
  667. type: string
  668. registration_complete:
  669. type: boolean
  670. logged_in:
  671. type: boolean
  672. UserReturned:
  673. type: object
  674. properties:
  675. id:
  676. type: integer
  677. smartphone_id:
  678. type: string
  679. nook_id:
  680. type: string
  681. registration_complete:
  682. type: boolean
  683. logged_in:
  684. type: boolean
  685. createdAt:
  686. type: string
  687. format: date-time
  688. updatedAt:
  689. type: string
  690. format: date-time
  691. match:
  692. type: object
  693. properties:
  694. id:
  695. type: integer
  696. nook_id:
  697. type: string
  698. nickname:
  699. type: string
  700. status:
  701. type: string
  702. common_number:
  703. type: integer
  704. similarity_rate:
  705. type: string
  706. createdAt:
  707. type: string
  708. format: date-time
  709. updatedAt:
  710. type: string
  711. format: date-time
  712. user_id:
  713. type: integer
  714. UserInUser:
  715. type: object
  716. properties:
  717. id:
  718. type: integer
  719. nook_id:
  720. type: string
  721. nickname:
  722. type: string
  723. status:
  724. type: string
  725. common_number:
  726. type: integer
  727. similarity_rate:
  728. type: string
  729. createdAt:
  730. type: string
  731. format: date-time
  732. updatedAt:
  733. type: string
  734. format: date-time
  735. user_id:
  736. type: integer
  737. UserStatus:
  738. type: object
  739. properties:
  740. status:
  741. type: string
  742. Match:
  743. type: string
  744. Interest:
  745. type: object
  746. properties:
  747. name:
  748. type: string
  749. description:
  750. type: string
  751. id:
  752. type: integer
  753. images:
  754. type: array
  755. items:
  756. $ref: '#/definitions/Image'
  757. texts:
  758. type: array
  759. items:
  760. $ref: '#/definitions/Text'
  761. InterestNew:
  762. type: object
  763. properties:
  764. name:
  765. type: string
  766. description:
  767. type: string
  768. images:
  769. type: array
  770. items:
  771. $ref: '#/definitions/ImageNew'
  772. texts:
  773. type: array
  774. items:
  775. $ref: '#/definitions/Text'
  776. Text:
  777. type: object
  778. required:
  779. - text
  780. properties:
  781. text:
  782. type: string
  783. id:
  784. type: integer
  785. Image:
  786. type: object
  787. properties:
  788. caption:
  789. type: string
  790. image:
  791. type: string
  792. format: byte
  793. id:
  794. type: integer
  795. ImageWithInterestId:
  796. type: object
  797. properties:
  798. caption:
  799. type: string
  800. image:
  801. type: string
  802. format: byte
  803. id:
  804. type: integer
  805. interest_id:
  806. type: integer
  807. ImageNew:
  808. type: object
  809. properties:
  810. caption:
  811. type: string
  812. image:
  813. type: string
  814. format: byte
  815. MediaItemsIds:
  816. type: object
  817. properties:
  818. images:
  819. type: array
  820. items:
  821. type: integer
  822. texts:
  823. type: array
  824. items:
  825. type: integer
  826. MediaItems:
  827. type: object
  828. properties:
  829. images:
  830. type: array
  831. items:
  832. $ref: '#/definitions/Image'
  833. texts:
  834. type: array
  835. items:
  836. $ref: '#/definitions/Text'
  837. Location:
  838. type: object
  839. properties:
  840. accuracy:
  841. type: integer
  842. altitude:
  843. type: integer
  844. altitudeAccuracy:
  845. type: integer
  846. heading:
  847. type: integer
  848. latitude:
  849. type: number
  850. format: float
  851. longitude:
  852. type: number
  853. format: float
  854. speed:
  855. type: integer
  856. LocationReturned:
  857. type: object
  858. properties:
  859. user_id:
  860. type: integer
  861. accuracy:
  862. type: integer
  863. altitude:
  864. type: integer
  865. altitudeAccuracy:
  866. type: integer
  867. heading:
  868. type: integer
  869. latitude:
  870. type: number
  871. format: float
  872. longitude:
  873. type: number
  874. format: float
  875. speed:
  876. type: integer
  877. createdAt:
  878. type: string
  879. format: date-time
  880. updatedAt:
  881. type: string
  882. format: date-time
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement