Guest User

Untitled

a guest
Feb 1st, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. let getSwaggerDefinitions = function(){
  2. let schemaPassword = require('../schemas/changePasswordRequest.json');
  3. let schemaUser = require('../schemas/createUserRequest.json');
  4. let schemaLogin = require('../schemas/loginUserRequest.json');
  5. let schemaProfile = require('../schemas/profilePutSchema.json');
  6. let schemas={password:schemaPassword, user:schemaUser, login: schemaLogin, profile: schemaProfile};
  7. //let schemas={profile: schemaProfile};
  8. let reply={};
  9. for (var key in schemas) {
  10. let upperLevel = schemas[key].properties;
  11. let hasNested = false;
  12. _.forEach(upperLevel, function(item, itemKey){
  13. hasNested = false;
  14. let processed = false;
  15. if (item.oneOf != undefined) hasNested = true;
  16. if (item.properties != undefined) hasNested = true;
  17. if (item.properties && itemKey !='access' ) {
  18. let model={};
  19. model.type="object";
  20. model.properties = item.properties;
  21. if (reply[key]==undefined) {
  22. reply[key]={};
  23. reply[key].type="object";
  24. reply[key].properties={};
  25. }
  26. reply[key].properties[itemKey]=model;
  27. processed= true;
  28. }
  29. if (item.oneOf && itemKey !='access' && reply[itemKey]==undefined) {
  30. if (item.oneOf.length!=undefined) {
  31. for (choice in item.oneOf) {
  32. let model={};
  33. model.type="object";
  34. model.properties = item.oneOf[choice].properties;
  35. let uniqKey=itemKey + choice.toString();
  36. reply[uniqKey]={};
  37. reply[uniqKey].type="object";
  38. reply[uniqKey].properties={};
  39. reply[uniqKey].properties[key]=model;
  40. }
  41. }
  42. processed = true;
  43. }
  44. if (!processed && !hasNested && itemKey !='access' && item.type == 'object') {
  45. let model={};
  46. model.type="object";
  47. model.properties = item.properties;
  48. if (reply[key]==undefined) {
  49. reply[key]={};
  50. reply[key].type="object";
  51. reply[key].properties={};
  52. }
  53. reply[key].properties[itemKey]=model;
  54. }
  55. });
  56. if (hasNested==false) {
  57. if (key !='access' && reply[key]==undefined) {
  58. let model={};
  59. model.type="object";
  60. model.properties = upperLevel;
  61. reply[key]=model;
  62. }
  63. }
  64. }
  65. return reply;
  66. }
Add Comment
Please, Sign In to add comment