Browse Source

User and Member service ang integrated

master^2
Krishna Nanda 4 years ago
parent
commit
0d89ee8e9f
62 changed files with 1577 additions and 159 deletions
  1. 1
      .gitignore
  2. 4
      Angular-UrbanBazaar/angular.json
  3. 2
      Angular-UrbanBazaar/debug.log
  4. 300
      Angular-UrbanBazaar/package-lock.json
  5. 7
      Angular-UrbanBazaar/package.json
  6. 19
      Angular-UrbanBazaar/proxy.config.json
  7. 28
      Angular-UrbanBazaar/src/app/app.module.ts
  8. 32
      Angular-UrbanBazaar/src/app/auth/login/login.component.html
  9. 21
      Angular-UrbanBazaar/src/app/auth/login/login.component.ts
  10. 84
      Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.html
  11. 28
      Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.ts
  12. 29
      Angular-UrbanBazaar/src/app/components/home/home.component.html
  13. 7
      Angular-UrbanBazaar/src/app/components/home/home.component.ts
  14. 0
      Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.css
  15. 82
      Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.html
  16. 12
      Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.spec.ts
  17. 89
      Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.ts
  18. 6
      Angular-UrbanBazaar/src/app/components/page-nav-bar/page-nav-bar.component.html
  19. 3
      Angular-UrbanBazaar/src/app/components/page-nav-bar/page-nav-bar.component.ts
  20. 1
      Angular-UrbanBazaar/src/app/components/user-add/user-add.component.html
  21. 15
      Angular-UrbanBazaar/src/app/components/user-add/user-add.component.ts
  22. 63
      Angular-UrbanBazaar/src/app/components/user-profile-details/user-profile-details.component.html
  23. 44
      Angular-UrbanBazaar/src/app/components/user-profile-details/user-profile-details.component.ts
  24. 2
      Angular-UrbanBazaar/src/app/models/member-user.ts
  25. 57
      Angular-UrbanBazaar/src/app/services/member-user.service.ts
  26. 2
      Angular-UrbanBazaar/src/app/services/orders.service.ts
  27. 2
      Angular-UrbanBazaar/src/app/services/product-category.service.ts
  28. 2
      Angular-UrbanBazaar/src/app/services/product.service.ts
  29. 84
      Angular-UrbanBazaar/src/app/services/user.service.ts
  30. BIN
      Angular-UrbanBazaar/src/assets/Images/Logo.png
  31. BIN
      Angular-UrbanBazaar/src/assets/Images/download.jpg
  32. 2
      UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/controller/CartController.java
  33. 4
      UB_CartServiceProxy/src/main/resources/application.properties
  34. 4
      UB_OrderServiceProxy/src/main/resources/application.properties
  35. 2
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/controller/ProductCategoryController.java
  36. 2
      UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/controller/ProductController.java
  37. 4
      UB_ProductServiceProxy/src/main/resources/application.properties
  38. 33
      UB_UserServiceProxy/bin/.gitignore
  39. BIN
      UB_UserServiceProxy/bin/.mvn/wrapper/MavenWrapperDownloader.class
  40. BIN
      UB_UserServiceProxy/bin/.mvn/wrapper/maven-wrapper.jar
  41. 2
      UB_UserServiceProxy/bin/.mvn/wrapper/maven-wrapper.properties
  42. 310
      UB_UserServiceProxy/bin/mvnw
  43. 182
      UB_UserServiceProxy/bin/mvnw.cmd
  44. 56
      UB_UserServiceProxy/bin/pom.xml
  45. BIN
      UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/ServletInitializer.class
  46. BIN
      UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/UbUserServiceProxyApplication.class
  47. BIN
      UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/controller/MemberUserController.class
  48. BIN
      UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/controller/UserController.class
  49. BIN
      UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/MemberUser.class
  50. BIN
      UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/User.class
  51. BIN
      UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/UserLogin.class
  52. BIN
      UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/repository/MemberUserRepository.class
  53. BIN
      UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/repository/UserRepository.class
  54. 12
      UB_UserServiceProxy/bin/src/main/resources/application.properties
  55. BIN
      UB_UserServiceProxy/bin/src/test/java/com/example/urbanbazaar/UbUserServiceProxyApplicationTests.class
  56. 23
      UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/controller/MemberUserController.java
  57. 39
      UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/controller/UserController.java
  58. 21
      UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/model/MemberUser.java
  59. 3
      UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/model/User.java
  60. 5
      UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/repository/MemberUserRepository.java
  61. 2
      UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/repository/UserRepository.java
  62. 4
      UB_UserServiceProxy/src/main/resources/application.properties

1
.gitignore

@ -0,0 +1 @@
/.metadata/

4
Angular-UrbanBazaar/angular.json

@ -70,9 +70,13 @@
"configurations": {
"production": {
"browserTarget": "Angular-UrbanBazaar:build:production"
, "proxyConfig": "proxy.config.json"
},
"development": {
"browserTarget": "Angular-UrbanBazaar:build:development"
, "proxyConfig": "proxy.config.json"
}
},
"defaultConfiguration": "development"

2
Angular-UrbanBazaar/debug.log

@ -0,0 +1,2 @@
[0919/155655.703:ERROR:registration_protocol_win.cc(102)] CreateFile: The system cannot find the file specified. (0x2)
[0919/155714.431:ERROR:registration_protocol_win.cc(102)] CreateFile: The system cannot find the file specified. (0x2)

300
Angular-UrbanBazaar/package-lock.json

@ -149,14 +149,42 @@
}
},
"@angular-devkit/schematics": {
"version": "12.1.4",
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.1.4.tgz",
"integrity": "sha512-yD3y3pK/K5piOgvALFoCCiPp4H8emNa3yZL+vlpEpewVLpF1MM55LeTxc0PI5s0uqtOGVnvcbA5wYgMm3YsUEA==",
"version": "12.2.6",
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.6.tgz",
"integrity": "sha512-CmDNOdJg08p5QrV8dNdg3O5ErYM1hJT06PLnVZzTWkShAL0y/3zxXAP/Wwdg0vAvt9Kh38jvMtC3YTCOThR/hA==",
"dev": true,
"requires": {
"@angular-devkit/core": "12.1.4",
"@angular-devkit/core": "12.2.6",
"ora": "5.4.1",
"rxjs": "6.6.7"
},
"dependencies": {
"@angular-devkit/core": {
"version": "12.2.6",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.6.tgz",
"integrity": "sha512-E+OhY34Vmwyy1/PaX/nzao40XM70wOr7Urh00sAtV8sPLXMLeW0gHk4DUchCKohxQkrIL0AxYt1aeUVgIc7bSA==",
"dev": true,
"requires": {
"ajv": "8.6.2",
"ajv-formats": "2.1.0",
"fast-json-stable-stringify": "2.1.0",
"magic-string": "0.25.7",
"rxjs": "6.6.7",
"source-map": "0.7.3"
}
},
"ajv": {
"version": "8.6.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz",
"integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
}
}
}
},
"@angular/animations": {
@ -185,41 +213,156 @@
}
},
"@angular/cli": {
"version": "12.1.4",
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.1.4.tgz",
"integrity": "sha512-LpyhyqWe3bFcuH3MrXeYoIPI1htjwG1b5ehETfq4qsMvNmuFON6QI+F7EWEpX7lItVQc2bES+ogasTZsZue/uw==",
"version": "12.2.6",
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.2.6.tgz",
"integrity": "sha512-nBCynOi5OVVAXA4ktsVhWP+UyWjjR/7+TlEjNgEfcbtlwkE+HIki+oHETAtXKdn5nPvNum3OXPLZPLX2B8MiRA==",
"dev": true,
"requires": {
"@angular-devkit/architect": "0.1201.4",
"@angular-devkit/core": "12.1.4",
"@angular-devkit/schematics": "12.1.4",
"@schematics/angular": "12.1.4",
"@angular-devkit/architect": "0.1202.6",
"@angular-devkit/core": "12.2.6",
"@angular-devkit/schematics": "12.2.6",
"@schematics/angular": "12.2.6",
"@yarnpkg/lockfile": "1.1.0",
"ansi-colors": "4.1.1",
"debug": "4.3.1",
"debug": "4.3.2",
"ini": "2.0.0",
"inquirer": "8.1.1",
"inquirer": "8.1.2",
"jsonc-parser": "3.0.0",
"npm-package-arg": "8.1.5",
"npm-pick-manifest": "6.1.1",
"open": "8.2.1",
"ora": "5.4.1",
"pacote": "11.3.4",
"pacote": "11.3.5",
"resolve": "1.20.0",
"semver": "7.3.5",
"symbol-observable": "4.0.0",
"uuid": "8.3.2"
},
"dependencies": {
"debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"@angular-devkit/architect": {
"version": "0.1202.6",
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.6.tgz",
"integrity": "sha512-DQHK5VGfPof1TuSmRmt2Usw2BuNVLzxKSSy7+tEJbYzqf8N/wQO+1M67ye8qf8gAU88xGo378dD9++DFc/PJZA==",
"dev": true,
"requires": {
"@angular-devkit/core": "12.2.6",
"rxjs": "6.6.7"
}
},
"@angular-devkit/core": {
"version": "12.2.6",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.6.tgz",
"integrity": "sha512-E+OhY34Vmwyy1/PaX/nzao40XM70wOr7Urh00sAtV8sPLXMLeW0gHk4DUchCKohxQkrIL0AxYt1aeUVgIc7bSA==",
"dev": true,
"requires": {
"ajv": "8.6.2",
"ajv-formats": "2.1.0",
"fast-json-stable-stringify": "2.1.0",
"magic-string": "0.25.7",
"rxjs": "6.6.7",
"source-map": "0.7.3"
}
},
"ajv": {
"version": "8.6.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz",
"integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
}
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
"ms": "2.1.2"
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"inquirer": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.2.tgz",
"integrity": "sha512-DHLKJwLPNgkfwNmsuEUKSejJFbkv0FMO9SMiQbjI3n5NQuCrSIBqP66ggqyz2a6t2qEolKrMjhQ3+W/xXgUQ+Q==",
"dev": true,
"requires": {
"ansi-escapes": "^4.2.1",
"chalk": "^4.1.1",
"cli-cursor": "^3.1.0",
"cli-width": "^3.0.0",
"external-editor": "^3.0.3",
"figures": "^3.0.0",
"lodash": "^4.17.21",
"mute-stream": "0.0.8",
"ora": "^5.3.0",
"run-async": "^2.4.0",
"rxjs": "^7.2.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0",
"through": "^2.3.6"
},
"dependencies": {
"rxjs": {
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.3.0.tgz",
"integrity": "sha512-p2yuGIg9S1epc3vrjKf6iVb3RCaAYjYskkO+jHIaV0IjOPlJop4UnodOoFb2xeNwlguqLYvGw1b1McillYb5Gw==",
"dev": true,
"requires": {
"tslib": "~2.1.0"
}
}
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"tslib": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
"integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
"dev": true
},
"uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
@ -371,6 +514,21 @@
"tslib": "^2.2.0"
}
},
"@angular/http": {
"version": "7.2.16",
"resolved": "https://registry.npmjs.org/@angular/http/-/http-7.2.16.tgz",
"integrity": "sha512-yvjbNyzFSmmz4UTjCdy5M8mk0cZqf9TvSf8yN5UVIwtw4joyuUdlgJCuin0qSbQOKIf/JjHoofpO2JkPCGSNww==",
"requires": {
"tslib": "^1.9.0"
},
"dependencies": {
"tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
}
}
},
"@angular/material": {
"version": "12.2.6",
"resolved": "https://registry.npmjs.org/@angular/material/-/material-12.2.6.tgz",
@ -1784,14 +1942,42 @@
}
},
"@schematics/angular": {
"version": "12.1.4",
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.1.4.tgz",
"integrity": "sha512-xGqgGI6GWk4EFdKis8FmSESxoLgjnLQbaRE1t1KZCkSKJzqkOj0R9wiDrtZfcrbPxIkLL+3fAk2ThwwPznT6yw==",
"version": "12.2.6",
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.2.6.tgz",
"integrity": "sha512-53yVIB43jPpqitJXT5IxPm9Kq1P8AyRgzrCIKAl4mESsPsOIFR6ZCpuNRlaumEinHnbMpgzZ2M+RlialzAOS6w==",
"dev": true,
"requires": {
"@angular-devkit/core": "12.1.4",
"@angular-devkit/schematics": "12.1.4",
"@angular-devkit/core": "12.2.6",
"@angular-devkit/schematics": "12.2.6",
"jsonc-parser": "3.0.0"
},
"dependencies": {
"@angular-devkit/core": {
"version": "12.2.6",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.6.tgz",
"integrity": "sha512-E+OhY34Vmwyy1/PaX/nzao40XM70wOr7Urh00sAtV8sPLXMLeW0gHk4DUchCKohxQkrIL0AxYt1aeUVgIc7bSA==",
"dev": true,
"requires": {
"ajv": "8.6.2",
"ajv-formats": "2.1.0",
"fast-json-stable-stringify": "2.1.0",
"magic-string": "0.25.7",
"rxjs": "6.6.7",
"source-map": "0.7.3"
}
},
"ajv": {
"version": "8.6.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz",
"integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
}
}
}
},
"@tootallnate/once": {
@ -2633,6 +2819,11 @@
"readable-stream": "^3.4.0"
}
},
"bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
},
"body-parser": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@ -3104,6 +3295,25 @@
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"compat": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/compat/-/compat-1.0.4.tgz",
"integrity": "sha1-bEmRBiKzRhKJH1rY7UYqc7H4hlM=",
"requires": {
"bluebird": "^3.2.2",
"lodash": "^4.2.1",
"read-dir-files": "0.0.x",
"rimraf": "1.0.x",
"shell-quote": "^1.4.3"
},
"dependencies": {
"rimraf": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz",
"integrity": "sha1-vkgB/3bCum8cUMeOlwDrHSHyOfE="
}
}
},
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
@ -6519,8 +6729,7 @@
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash.debounce": {
"version": "4.0.8",
@ -7602,12 +7811,12 @@
"dev": true
},
"pacote": {
"version": "11.3.4",
"resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.4.tgz",
"integrity": "sha512-RfahPCunM9GI7ryJV/zY0bWQiokZyLqaSNHXtbNSoLb7bwTvBbJBEyCJ01KWs4j1Gj7GmX8crYXQ1sNX6P2VKA==",
"version": "11.3.5",
"resolved": "https://registry.npmjs.org/pacote/-/pacote-11.3.5.tgz",
"integrity": "sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==",
"dev": true,
"requires": {
"@npmcli/git": "^2.0.1",
"@npmcli/git": "^2.1.0",
"@npmcli/installed-package-contents": "^1.0.6",
"@npmcli/promise-spawn": "^1.2.0",
"@npmcli/run-script": "^1.8.2",
@ -9586,6 +9795,21 @@
}
}
},
"read-dir-files": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/read-dir-files/-/read-dir-files-0.0.2.tgz",
"integrity": "sha1-bh4uFE+10OZcZGi6/rSJBP+44wQ=",
"requires": {
"async": "0.1.x"
},
"dependencies": {
"async": {
"version": "0.1.22",
"resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
"integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE="
}
}
},
"read-package-json-fast": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz",
@ -9946,6 +10170,11 @@
}
}
},
"rxjs-compat": {
"version": "6.6.7",
"resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.6.7.tgz",
"integrity": "sha512-szN4fK+TqBPOFBcBcsR0g2cmTTUF/vaFEOZNuSdfU8/pGFnNmmn2u8SystYXG1QMrjOPBc6XTKHMVfENDf6hHw=="
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@ -10229,6 +10458,11 @@
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true
},
"shell-quote": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
"integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg=="
},
"signal-exit": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
@ -10469,9 +10703,9 @@
}
},
"socks-proxy-agent": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.0.0.tgz",
"integrity": "sha512-FIgZbQWlnjVEQvMkylz64/rUggGtrKstPnx8OZyYFG0tAFR8CSBtpXxSwbFLHyeXFn/cunFL7MpuSOvDSOPo9g==",
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz",
"integrity": "sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg==",
"dev": true,
"requires": {
"agent-base": "^6.0.2",

7
Angular-UrbanBazaar/package.json

@ -17,17 +17,20 @@
"@angular/core": "~12.1.1",
"@angular/flex-layout": "^12.0.0-beta.35",
"@angular/forms": "~12.1.1",
"@angular/http": "^7.2.16",
"@angular/material": "^12.2.6",
"@angular/platform-browser": "~12.1.1",
"@angular/platform-browser-dynamic": "~12.1.1",
"@angular/router": "~12.1.1",
"rxjs": "~6.6.0",
"compat": "^1.0.4",
"rxjs": "^6.6.7",
"rxjs-compat": "^6.6.7",
"tslib": "^2.2.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "~12.1.1",
"@angular/cli": "~12.1.1",
"@angular/cli": "^12.2.6",
"@angular/compiler-cli": "~12.1.1",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",

19
Angular-UrbanBazaar/proxy.config.json

@ -0,0 +1,19 @@
{
"/products":{
"target":"http://10.3.117.7:8007",
"secure":false
},
"/user":{
"target":"http://10.3.117.7:8008",
"secure":false
},
"/orders":{
"target":"http://10.3.117.7:8009",
"secure":false
},
"/cart":{
"target":"http://10.3.117.7:8010",
"secure":false
}
}

28
Angular-UrbanBazaar/src/app/app.module.ts

@ -6,7 +6,6 @@ import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http';
import { UserShowComponent } from './components/user-show/user-show.component';
import { UserAddComponent } from './components/user-add/user-add.component';
import { UserProfileDetailsComponent } from './components/user-profile-details/user-profile-details.component';
import { PageNavBarComponent } from './components/page-nav-bar/page-nav-bar.component';
import { HomeComponent } from './components/home/home.component';
@ -19,18 +18,38 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { FlexLayoutModule } from '@angular/flex-layout';
import { LoginComponent } from './auth/login/login.component';
import { SignUpComponent } from './auth/sign-up/sign-up.component';
import { RouterModule, Routes } from '@angular/router';
import { HttpModule } from '@angular/http';
import { MemberlistComponent } from './components/memberlist/memberlist.component';
const appRoutes : Routes =
[
{path:'',component:LoginComponent},
{path:'login',component:LoginComponent},
{path:'signup',component:SignUpComponent},
{path:'user-profile-details',component:UserProfileDetailsComponent},
{path:'memberlist',component:MemberlistComponent},
{path:'home',component:HomeComponent,
children: [
{path:'user-profile-details',component:UserProfileDetailsComponent,outlet:'user'},
{path:'memberlist',component:MemberlistComponent,outlet:'member'}
]
}
]
@NgModule({
declarations: [
AppComponent,
UserShowComponent,
UserAddComponent,
UserProfileDetailsComponent,
PageNavBarComponent,
HomeComponent,
CartComponent,
LoginComponent,
SignUpComponent,
MemberlistComponent,
],
imports: [
BrowserModule,
@ -43,7 +62,10 @@ import { SignUpComponent } from './auth/sign-up/sign-up.component';
MatInputModule,
MatCardModule,
MatButtonModule,
BrowserAnimationsModule
BrowserAnimationsModule,AppRoutingModule,
RouterModule.forRoot(appRoutes,{ useHash: true }),
FormsModule,
HttpModule,
],
providers: [],
bootstrap: [AppComponent]

32
Angular-UrbanBazaar/src/app/auth/login/login.component.html

@ -1,11 +1,12 @@
<!-- <p>login works!</p> -->
<body>
<br><br>
<h1 style="text-align: center;">Urban Bazaar</h1>
<div fxLayout="row" fxLayoutAlign="center center" class="login-main">
<mat-card >
<div fxLayout="column" fxLayoutAlign="space-around center" class="login-main">
<mat-card >
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;
<h2 style="color:darkblue;">
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Welcome to Urban Bazaar !!!
</h2>
<div style="text-align:center;"><img src="/assets/Images/Logo.png" alt="Logo"></div>
<mat-card-header>
<mat-card-title>Login Page</mat-card-title>
</mat-card-header>
@ -19,9 +20,24 @@
[formControl]="password">
</mat-form-field>
</mat-card-content>
<!-- <div style="text-align:left;">
<a [routerLink]="['signup']">SignUp</a>
</div> -->
<mat-card-actions align="end">
<button mat-raised-button color="primary" (click)="signup()">Signup</button>
<p style="color: darkblue;" >OR &nbsp;</p>
<button mat-raised-button color="primary" (click)="userLogin()">Login</button>
</mat-card-actions>
</mat-card>
<!-- </div>
<div style="text-align:center;">
<a [routerLink]="['signup']">SignUp</a>
</div> -->
<!-- <div style="text-align:center;">
<a [routerLink]="['user-profile-details']">user details</a>
</div>
<div style="text-align:center;">
<a [routerLink]="['memberlist']">memberlist</a>
</div>
</body>
</body> -->

21
Angular-UrbanBazaar/src/app/auth/login/login.component.ts

@ -18,9 +18,11 @@ export class LoginComponent implements OnInit {
responseMessage : string = "";
temp : Observable<User>;
// temp : User;
temps : Observable<string>;
userList : Observable<User[]>;
// temps : Observable<string>;
// userList : Observable<User[]>;
signup(){
this.router.navigateByUrl('/signup')
}
constructor(private _userService : UserService, private router : Router) {}
userLogin() {
@ -32,17 +34,14 @@ export class LoginComponent implements OnInit {
this.temp = this._userService.findUserByUsername(this.username.value);
this.temp.subscribe(v => {
if(v.userpassword == this.password.value)
this.responseMessage = "Login success !!";
{ this.temp.subscribe(v => this._userService.currentUser = v);
this.router.navigateByUrl('/home');
alert("Login Successfull !!")}
else
this.responseMessage = "Password Incorrect.";
alert("Login falied !!");
});
if(this.responseMessage == "Login success !!") {
this.temp.subscribe(v => this._userService.currentUser = v);
this.router.navigateByUrl('/home');
}
else
alert(this.responseMessage);
}
ngOnInit(): void {

84
Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.html

@ -1 +1,83 @@
<p>sign-up works!</p>
<!-- <div >
<app-page-nav-bar></app-page-nav-bar>
</div> -->
<p style="text-align:center;">Please provide your details to signup with Urban Bazaar</p>
<form #signupForm="ngForm" style="text-align:center;" (ngSubmit)="signup(signupForm)">
User UserEmail:
<input type="text" name="useremail" [(ngModel)]="user.useremail" required #useremail="ngModel" />
<br/><br/>
<div *ngIf="useremail.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Email Id...</h6>
</div>
<br/>
User Password :
<input type="password" name="userpassword" [(ngModel)]="user.userpassword" required #userpassword="ngModel" />
<br/><br/>
<div *ngIf="userpassword.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Password...</h6>
</div>
<br/>
User First Name :
<input type="text" name="userfirstname" [(ngModel)]="user.userfirstname" required #userfirstname="ngModel" />
<br/><br/>
<div *ngIf="userfirstname.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User First Name...</h6>
</div>
<br/>
User Last Name :
<input type="text" name="userlastname" [(ngModel)]="user.userlastname"
required #userlastname="ngModel" />
<br/><br/>
<div *ngIf="userlastname.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Last Name...</h6>
</div>
<br/>
User City :
<input type="text" name="usercity" [(ngModel)]="user.usercity" required #usercity="ngModel" />
<br/><br/>
<div *ngIf="usercity.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter UserCity...</h6>
</div>
<br/>
User State :
<input type="text" name="userstate" [(ngModel)]="user.userstate" required #userstate="ngModel" />
<br/><br/>
<div *ngIf="userstate.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter UserState...</h6>
</div>
<br/>
User Zip :
<input type="text" name="userzip" [(ngModel)]="user.userzip" required #userzip="ngModel" />
<br/><br/>
<div *ngIf="userzip.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Zip...</h6>
</div>
<br/>
User Phone Number :
<input type="text" name="userphone" [(ngModel)]="user.userphone" required #userphone="ngModel" />
<br/><br/>
<div *ngIf="userphone.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Number...</h6>
</div>
<br/>
User Address :
<input type="text" name="useraddress" [(ngModel)]="user.useraddress" required #useraddress="ngModel" />
<br/><br/>
<div *ngIf="useraddress.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Address...</h6>
</div>
<br/>
User Address2 :
<input type="text" name="useraddress2" [(ngModel)]="user.useraddress2" required #useraddress2="ngModel" />
<br/><br/>
<div *ngIf="useraddress2.invalid && signupForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Address2...</h6>
</div>
<br/>
<input type="Submit" value="Submit" />
</form>
<!-- <div style="text-align:center;">
<a [routerLink]="['user-show']">UserDetails</a>
</div> -->

28
Angular-UrbanBazaar/src/app/auth/sign-up/sign-up.component.ts

@ -1,4 +1,8 @@
import { Component, OnInit } from '@angular/core';
import { NgForm } from '@angular/forms';
import { Observable } from 'rxjs';
import { User } from 'src/app/models/user';
import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-sign-up',
@ -7,9 +11,31 @@ import { Component, OnInit } from '@angular/core';
})
export class SignUpComponent implements OnInit {
constructor() { }
user :User;
tys :string="t"
temp : Observable<User>;
isFormSubmitted : boolean;
public signup(signupForm : NgForm) {
if (signupForm.invalid) {
alert("Kindly enter all details")
return;
}
this.isFormSubmitted=true;
this._userservice.addUser(this.user).subscribe(x => { this.tys="y"; alert("Signup Successful")
if(this.tys=="t")
alert("not")});
}
constructor(private _userservice:UserService) {
this.user=new User();
this.isFormSubmitted=false;
}
ngOnInit(): void {
}
}

29
Angular-UrbanBazaar/src/app/components/home/home.component.html

@ -1,5 +1,17 @@
<body>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
<button style="shape-outside: circle();color:forestgreen; background-color: white; border-color: forestgreen;" class="EditProfile" (click)=EditProfile()>Edit Profile</button>
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
<button style="shape-outside: circle();color: forestgreen; background-color: white; border-color: forestgreen;" class="Members List of Curent User" (click)=Members()>Members List of Curent User</button>
<br/><br/>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="text"
[(ngModel)]="searchValue" id="searchValue" [ngModelOptions]="{standalone: true}"
@ -18,4 +30,21 @@
<p><button class="AddToCart" (click)=addCart(i)>Add to Cart</button></p>
</div>
</div>
</body>
<!-- <div >
<app-page-nav-bar></app-page-nav-bar>
</div> -->
<!-- <button type="button" style="text-align:center;background-color:dimgray;" cls="btn" (click)="btnClick();">EditProfile</button> -->
<!-- <div style="text-align:center;">
<a [routerLink]="['/home', {outlets: {'member': ['memberlist']}}]">Members List of Curent User</a>
</div>
<router-outlet name="member"></router-outlet> -->
<!--
<div style="text-align:center;">
<a [routerLink]="['/home', {outlets: {'user': ['user-profile-details']}}]">EditProfile</a>
</div>
<router-outlet name="user"></router-outlet> -->

7
Angular-UrbanBazaar/src/app/components/home/home.component.ts

@ -41,7 +41,12 @@ export class HomeComponent implements OnInit {
this.Searchedproducts = this.products.filter(p => p.productname.toLocaleLowerCase().includes(this.searchValue));
}
}
EditProfile(){
this.router.navigateByUrl('/user-profile-details')
}
Members(){
this.router.navigateByUrl('/memberlist')
}
ngOnInit(): void {
this.productservice.showAllProduct().subscribe(res=>{
this.products = res;

Angular-UrbanBazaar/src/app/components/user-add/user-add.component.css → Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.css

82
Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.html

@ -0,0 +1,82 @@
<form #addmemForm="ngForm" style="text-align:center;" (ngSubmit)="add(addmemForm)">
<br/>
UserId:
<input type="text" name="userid"[(ngModel)]="userid" value="{{userid}}" [disabled]=true>
<br/>
<br/>
Member Name:&nbsp;&nbsp;
<input type="text" name="membername"[(ngModel)]="mem.membername" required #membername="ngModel" />
<br/><br/>
<div *ngIf="membername.invalid && addmemForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter Membername...</h6>
</div>
<br/>
Member Door Number :&nbsp;&nbsp;
<input type="text" name="memberdoornumber"[(ngModel)]="mem.memberdoornumber" required #memberdoornumber="ngModel" />
<br/><br/>
<div *ngIf="membername.invalid && addmemForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter MemberDoorNumber...</h6>
</div>
<br/>
Member Phone Number:&nbsp;&nbsp;
<input type="text" name="memberphone"[(ngModel)]="mem.memberphone" required #memberphone="ngModel" />
<br/><br/>
<div *ngIf="memberphone.invalid && addmemForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter Mobile number...</h6>
</div>
<br/>
<!-- Flat No/House No:&nbsp;&nbsp;
<input type="text" name="address"[(ngModel)]="mem.address" required #address="ngModel"/>
<br/><br/>
<div *ngIf="address.invalid && addmemForm.submitted && !isFormSubmitted">
<h6 style="color: red">Please Enter User Flat No/House No..</h6>
</div>
<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -->
<input type="submit" style="text-align:center;background-color:dimgray;"name="Submit"/>
</form>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<button style="text-align:center;background-color:dimgray;"class="btn" (click)="enable()">Edit</button> <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Members Information
<div style="text-align:center;" *ngFor="let v of currentUser | async">
<form #updateForm="ngForm" style="text-align:center;" (ngSubmit)="update(updateForm,v)" >
<br/>
Member Name:&nbsp;&nbsp;
<input type="text" name="membername"[(ngModel)]="v.membername" value="{{v.membername}}" [disabled]='toggleButton'>
<br/><br/>
Mobile Number:&nbsp;&nbsp;
<input type="text" name="memberphone"[(ngModel)]="v.memberphone" value="{{v.memberphone}}" [disabled]='toggleButton'>
<br/><br/>
<!-- Flat No/House No:&nbsp;&nbsp;
<input type="text" name="address"[(ngModel)]="v.address" value="{{v.address}}" [disabled]='toggleButton'>
<br/><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -->
<input type="submit" style="text-align:center;background-color:dimgray;"name="Save"/>
<br/> <br/>
<button type="button" style="text-align:center;background-color:dimgray;" cls="btn" (click)="delete(updateForm,v)">Delete
</button> <!-- <button style="text-align:center;background-color:dimgray;"class="btn" (onclick)="delete(updateForm,v)">Delete</button> <br> -->
</form>
</div>
<!-- </body>
<table border="3" align="center">
<tr>
<th>Vendor Id</th>
<th>Vendor Name</th>
<th>Phone Number</th>
</tr>
<tr *ngFor="let v of currentUser | async">
<td>{{v.memberid}}</td>
<td>{{v.membername}} </td>
<td>{{v.memberphone}} </td>
</tr>
</table> -->

Angular-UrbanBazaar/src/app/components/user-add/user-add.component.spec.ts → Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.spec.ts

@ -1,20 +1,20 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { UserAddComponent } from './user-add.component';
import { MemberlistComponent } from './memberlist.component';
describe('UserAddComponent', () => {
let component: UserAddComponent;
let fixture: ComponentFixture<UserAddComponent>;
describe('MemberlistComponent', () => {
let component: MemberlistComponent;
let fixture: ComponentFixture<MemberlistComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ UserAddComponent ]
declarations: [ MemberlistComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(UserAddComponent);
fixture = TestBed.createComponent(MemberlistComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

89
Angular-UrbanBazaar/src/app/components/memberlist/memberlist.component.ts

@ -0,0 +1,89 @@
import { Component, OnInit } from '@angular/core';
import { NgForm } from '@angular/forms';
import { Observable } from 'rxjs';
import { MemberUser } from 'src/app/models/member-user';
import { MemberUserService } from 'src/app/services/member-user.service';
import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-memberlist',
templateUrl: './memberlist.component.html',
styleUrls: ['./memberlist.component.css']
})
export class MemberlistComponent implements OnInit {
currentUser : Observable<MemberUser[]>;
member : MemberUser;
userid :number =this._userservice.currentUser.userid
public toggleButton: boolean ;
mem :MemberUser
isFormSubmitted : boolean;
public add(addmemForm : NgForm) {
this.mem.userid=this._userservice.currentUser.userid
if (addmemForm.invalid) {
alert("Kindly enter all details")
return;
}
this.isFormSubmitted=true;
this._memberService.addMemberUser(this.mem).subscribe(x => { alert("Member added Successfuly")
})
// .subscribe(x => {alert("Sign up Successfull")});
}
public delete(updateForm : NgForm,v: MemberUser) {
this._memberService.deleteMemberUser(v.memberid).subscribe(x => { alert("Member deleted Successfuly")
})
}
constructor(private _memberService : MemberUserService,private _userservice:UserService) {
this.member=new MemberUser()
this.mem=new MemberUser();
this.isFormSubmitted=false;
this.toggleButton=true
this.currentUser = this._memberService.searchMembersbyUser(this._userservice.currentUser.userid);
this.currentUser.subscribe();
}
update(updateForm : NgForm ,v:MemberUser) {
if (updateForm.invalid) {
return;
}
// console.log(v)
this._memberService.updateMemberUser(v).subscribe(x=>{
alert("Member Id: "+v.memberid+" with MemberName "+v.membername+" is updated") })
// alert("Record Updated")})
}
// addMember(updateForm : NgForm ,v:MemberUser) {
// if (updateForm.invalid) {
// return;
// }
// // console.log(v)
// this._memberService.addMemberUser(v).subscribe(x=>{
// alert("Member Id: "+v.memberid+" with MemberName "+v.membername+" is updated") })
// // alert("Record Updated")})
// }
enable(){
this.toggleButton = false
}
disable(){
this.toggleButton = true
}
ngOnInit(): void {
}
}

6
Angular-UrbanBazaar/src/app/components/page-nav-bar/page-nav-bar.component.html

@ -8,9 +8,11 @@
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="/home">Home <span class="sr-only">(current)</span></a>
</li>
</li>
<li class="nav-item active">
<a class="nav-link" href="/profile"> Profile <span class="sr-only">(current)</span></a>
<a class="nav-link" href="/profile"> Profile <span class="sr-only">(current)</span></a>
</li>
<!-- Dropdown -->
<!-- <li class="nav-item dropdown" dropdown>

3
Angular-UrbanBazaar/src/app/components/page-nav-bar/page-nav-bar.component.ts

@ -3,6 +3,7 @@ import { Observable } from 'rxjs';
import { ProductService } from 'src/app/services/product.service';
import { Product } from 'src/app/models/product';
import { Router } from '@angular/router';
import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-page-nav-bar',
@ -14,7 +15,7 @@ export class PageNavBarComponent implements OnInit {
searchValue: string = "";
products : Observable<Product[]>
constructor(private _productService : ProductService, private router: Router) { }
constructor(private _productService : ProductService, private router: Router) { }
clickme() {
alert('searchValue: '+this.searchValue);

1
Angular-UrbanBazaar/src/app/components/user-add/user-add.component.html

@ -1 +0,0 @@
<p>user-add works!</p>

15
Angular-UrbanBazaar/src/app/components/user-add/user-add.component.ts

@ -1,15 +0,0 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-user-add',
templateUrl: './user-add.component.html',
styleUrls: ['./user-add.component.css']
})
export class UserAddComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}

63
Angular-UrbanBazaar/src/app/components/user-profile-details/user-profile-details.component.html

@ -1,4 +1,4 @@
<p>user-profile-details works!</p>
<!-- <p>user-profile-details works!</p>
<body>
<div>
@ -33,4 +33,63 @@
Any changes will reflect in your Seller account also.
</div>
<br><br><br>
</body>
</body> -->
<body>
<!-- <div style="text-align:center;">
<a [routerLink]="['changepass']">Change Password</a> <br/>
<br/> -->
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<button style="text-align:center;background-color:dimgray;"class="btn" (click)="enable()">Edit</button> <br>
<form #updateForm="ngForm" style="text-align:center;" (ngSubmit)="update(updateForm)">
Personal Information
<br/>
Name:&nbsp;&nbsp;
<input type="text" name="userfirstName" [(ngModel)]="user.userfirstname" value="{{user.userfirstname}}" [disabled]='toggleButton'> &nbsp;&nbsp;
<input type="text" name="userlastName"[(ngModel)]="user.userlastname" value="{{user.userlastname}}" [disabled]='toggleButton'>
<br/><br/>
Mobile Number:&nbsp;&nbsp;
<input type="number" name="userphone"[(ngModel)]="user.userphone" value="{{user.userphone}}" [disabled]='toggleButton'>
<br/><br/>
Address1:&nbsp;&nbsp;
<input type="text"name="useraddress"[(ngModel)]="user.useraddress" value="{{user.useraddress}}"[disabled]='toggleButton'>
<br/><br/>
Address2:&nbsp;&nbsp;
<input type="text"name="useraddress2"[(ngModel)]="user.useraddress2" value="{{user.useraddress2}}"[disabled]='toggleButton'>
<br/><br/>
City:&nbsp;&nbsp;
<input type="text"name="usercity"[(ngModel)]="user.usercity" value="{{user.usercity}}"[disabled]='toggleButton'>
<br/><br/>
State:&nbsp;&nbsp;
<input type="text"name="userstate" [(ngModel)]="user.userstate" value="{{user.userstate}}"[disabled]='toggleButton'>
<br/><br/>
Zip:&nbsp;&nbsp;
<input type="text"name="userzip" [(ngModel)]="user.userzip" value="{{user.userzip}}"[disabled]='toggleButton'>
<br/><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" style="text-align:center;background-color:dimgray;"name="Save"/>
</form>
<br>
<h4>FAQs</h4>
<b>What happens when I update my email address (or mobile number)?</b> <br>
Your login email id (or mobile number) changes, likewise. You'll receive all your account related communication on your updated email address (or mobile number). <br><br>
<b>When will my UrbanBazaar account be updated with the new email address (or mobile number)?</b> <br>
It happens as soon as you confirm the verification code sent to your email (or mobile) and save the changes. <br><br>
<b>What happens to my existing UrbanBazaar account when I update my email address (or mobile number)?</b> <br>
Updating your email address (or mobile number) doesn't invalidate your account. Your account remains fully functional.
You'll continue seeing your Order history, saved information and personal details. <br><br>
<b>Does my Seller account get affected when I update my email address?</b> <br>
UrbanBazaar has a 'single sign-on' policy.
Any changes will reflect in your Seller account also.
<!-- </div> -->
<br><br><br>
</body>

44
Angular-UrbanBazaar/src/app/components/user-profile-details/user-profile-details.component.ts

@ -1,4 +1,5 @@
import { Component, OnInit } from '@angular/core';
import { NgForm } from '@angular/forms';
import { Observable } from 'rxjs';
import { User } from 'src/app/models/user';
import { UserService } from 'src/app/services/user.service';
@ -11,31 +12,38 @@ import { UserService } from 'src/app/services/user.service';
export class UserProfileDetailsComponent implements OnInit {
currentUser : Observable<User>;
user : User;
public toggleButton: boolean ;
// /isFormSubmitted : boolean;
constructor(private _userService : UserService) {
this.currentUser = this._userService.searchUser(100);
this.currentUser.subscribe((user: User) => {this.user = user});
// this.user = this._userService.currentUser;
}
public editUserName() {
alert("editUserName pressed !");
}
public editEmail() {
alert("editEmail pressed !");
constructor(private _userService : UserService) {
this.user=new User()
this.toggleButton=true
this.currentUser = this._userService.searchUser(this._userService.currentUser.userid);
this.currentUser.subscribe((userold: User)=> this.user = userold);
}
public editPassword() {
alert("editPassword pressed !");
update(vendorForm : NgForm) {
if (vendorForm.invalid) {
return;
}
// this.isFormSubmitted=true;
this._userService.updateUser(this.user).subscribe(x => { })
alert("Record Updated")
}
public editPhone() {
alert("editPhone pressed !");
}
enable(){
this.toggleButton = false
}
disable(){
this.toggleButton = true
}
ngOnInit(): void {
this.user = this._userService.currentUser;
}
}

2
Angular-UrbanBazaar/src/app/models/member-user.ts

@ -5,6 +5,6 @@ export class MemberUser {
public totalitems : number;
public memberphone : string;
public membertotalamount : number;
public memberdoornumber: number;
constructor() {}
}

57
Angular-UrbanBazaar/src/app/services/member-user.service.ts

@ -1,23 +1,64 @@
import { HttpClient } from '@angular/common/http';
// import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { MemberUser } from '../models/member-user';
import 'rxjs/add/operator/map';
import { Http ,Response} from '@angular/http';
@Injectable({
providedIn: 'root'
})
export class MemberUserService {
private _url : String = "http://localhost:8001/user";
private _url : String = "http://localhost:8008/user/";
constructor(private _http : HttpClient) { }
constructor(private _http : Http) { }
public showMembersByUser(id : number) : Observable<MemberUser[]> {
return this._http.get<MemberUser[]>(this._url+"/showUserMembers/"+id);
}
// public showMembersByUser(id : number) : Observable<MemberUser[]> {
// return this._http.get<MemberUser[]>(this._url+"/showUserMembers/"+id);
// }
// public addMemberToUser(member : MemberUser) {
// this._http.post(this._url+"/addMember", member);
// }
public addMemberToUser(member : MemberUser) {
this._http.post(this._url+"/addMember", member);
showAllMemberUsers() : Observable<MemberUser[]> {
return this._http.get(this._url+"showAllMembers").map((res : Response) => res.json());
}
addMemberUser(member: MemberUser) : Observable<any> {
return this._http.post(this._url+"addMember/",member).map((res: Response)=> null);
}
searchMemberUser(memberid : number) : Observable<MemberUser> {
return this._http.get(this._url+"showAllMembers/" +memberid).map((res : Response) => res.json());
}
searchMembersbyUser(userid : number) : Observable<MemberUser[]> {
return this._http.get(this._url+"showUserMembers/" +userid).map((res : Response) => res.json());
}
deleteMemberUser(memberid : number) : Observable<any> {
return this._http.delete(this._url+"deleteMember/" +memberid).map((res : Response) => null);
}
updateMemberUser(member :MemberUser) : Observable<any> {
return this._http.put(this._url+"updateMember/",member).map((res: Response)=> null);
}
// private _url : String = "http://localhost:8001/user";
// constructor(private _http : HttpClient) { }
// public showMembersByUser(id : number) : Observable<MemberUser[]> {
// return this._http.get<MemberUser[]>(this._url+"/showUserMembers/"+id);
// }
// public addMemberToUser(member : MemberUser) {
// this._http.post(this._url+"/addMember", member);
// }
}

2
Angular-UrbanBazaar/src/app/services/orders.service.ts

@ -8,7 +8,7 @@ import { Orders } from '../models/orders';
})
export class OrdersService {
private _url : String = "http://localhost:8003/orders";
private _url : String = "http://localhost:8009/orders";
constructor(private _http : HttpClient) { }

2
Angular-UrbanBazaar/src/app/services/product-category.service.ts

@ -8,7 +8,7 @@ import { ProductCategory } from '../models/product-category';
})
export class ProductCategoryService {
private _url : String = "http://localhost:8002/products";
private _url : String = "http://localhost:8007/products";
constructor(private _http : HttpClient) { }

2
Angular-UrbanBazaar/src/app/services/product.service.ts

@ -8,7 +8,7 @@ import {map} from 'rxjs/operators';
providedIn: 'root'
})
export class ProductService {
private _url : String = "http://localhost:8002/products";
private _url : String = "http://localhost:8007/products";
search : string;
constructor(private _http : HttpClient) { }

84
Angular-UrbanBazaar/src/app/services/user.service.ts

@ -1,37 +1,81 @@
import { HttpClient } from '@angular/common/http';
// import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Http,Response } from '@angular/http';
// import { Observable } from 'rxjs';
import { Login } from '../models/login';
import { User } from '../models/user';
import 'rxjs/add/operator/map';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class UserService {
private _url : String = "http://localhost:8001/user";
currentUser : User;
// private _url : string = "http://localhost:9000";
constructor(private _http : HttpClient) { }
constructor(private _http : Http) { }
// public showAllUsers() : Observable<User[]> {
// return this._http.get<User[]>(this._url + "/showAllUsers");
// }
public showAllUsers() : Observable<User[]> {
return this._http.get<User[]>(this._url + "/showAllUsers");
}
// public searchUser(id : number) : Observable<User> {
// return this._http.get<User>(this._url+"/findUserById/"+id);
// }
public searchUser(id : number) : Observable<User> {
return this._http.get<User>(this._url+"/findUserById/"+id);
}
// public addUser(user : User) {
// this._http.post(this._url+"/addUser/", user);
currentUser:User
private _url:string ="http://localhost:8008/user/"
showAllUsers() : Observable<User[]> {
return this._http.get(this._url+"showAllUsers").map((res : Response) => res.json());
}
public addUser(user : User) {
this._http.post(this._url+"/addUser", user);
}
addUser(user: User) : Observable<any> {
return this._http.post(this._url+"addUser/",user).map((res: Response)=> null).pipe();
}
// loginUser (user:User):Observable<any>{
// return this._http.post("http://localhost:8006/user/login/",user).map((res: Response)=>null);
// }
searchUser(userid : number) : Observable<User> {
return this._http.get(this._url+"findUserById/" +userid).map((res : Response) => res.json());
}
updateUser(user : User) : Observable<any> {
return this._http.put(this._url+"update/",user).map((res: Response)=> null);
}
// findUserByUsername(name : string) : Observable<User> {
// return this._http.get("http://localhost:8006/user/findUserByName/"+name).map((res : Response) => res.json());
// }
public userLogin(user : Login) : Observable<string> {
return this._http.post<string>(this._url+"/login", user);
}
public loginUser(user : Login) : Observable<string> {
return this._http.post(this._url+"login/",user).map((res: Response)=>null);
}
public findUserByUsername(name : string) : Observable<User> {
return this._http.get<User>(this._url+"/findUserByName/"+name);
}
public findUserByUsername(name : string) : Observable<User> {
return this._http.get(this._url+"findUserByName/"+name).map((res : Response) => res.json());
}
// private _url : String = "http://localhost:8001/user";
// currentUser : User;
// constructor(private _http : HttpClient) { }
// public showAllUsers() : Observable<User[]> {
// return this._http.get<User[]>(this._url + "/showAllUsers");
// }
// public searchUser(id : number) : Observable<User> {
// return this._http.get<User>(this._url+"/findUserById/"+id);
// }
// public addUser(user : User) {
// this._http.post(this._url+"/addUser", user);
// }
}

BIN
Angular-UrbanBazaar/src/assets/Images/Logo.png

Before After
Width: 200  |  Height: 200  |  Size: 8.3 KiB

BIN
Angular-UrbanBazaar/src/assets/Images/download.jpg

Before After
Width: 265  |  Height: 190  |  Size: 12 KiB

2
UB_CartServiceProxy/src/main/java/com/example/urbanbazaar/controller/CartController.java

@ -3,11 +3,13 @@ package com.example.urbanbazaar.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.urbanbazaar.model.Cart;
import com.example.urbanbazaar.repository.CartRepository;
@CrossOrigin(origins = "http://localhost:63871")
@RestController
public class CartController {

4
UB_CartServiceProxy/src/main/resources/application.properties

@ -1,6 +1,6 @@
server.port=8004
server.port=8010
spring.datasource.url=jdbc:mysql://10.3.117.7:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.url=jdbc:mysql://10.3.117.21:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.username=testuser
spring.datasource.password=Password123

4
UB_OrderServiceProxy/src/main/resources/application.properties

@ -1,6 +1,6 @@
server.port=8003
server.port=8009
spring.datasource.url=jdbc:mysql://10.3.117.7:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.url=jdbc:mysql://10.3.117.21:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.username=testuser
spring.datasource.password=Password123

2
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/controller/ProductCategoryController.java

@ -3,11 +3,13 @@ package com.example.urbanbazaar.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.urbanbazaar.model.ProductCategory;
import com.example.urbanbazaar.repository.ProductCategoryRepository;
@CrossOrigin(origins = "http://localhost:63871")
@RestController
public class ProductCategoryController {

2
UB_ProductServiceProxy/src/main/java/com/example/urbanbazaar/controller/ProductController.java

@ -6,6 +6,7 @@ import java.util.NoSuchElementException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@ -13,6 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
import com.example.urbanbazaar.model.Product;
import com.example.urbanbazaar.repository.ProductRepository;
@CrossOrigin(origins = "http://localhost:63871")
@RestController
public class ProductController {

4
UB_ProductServiceProxy/src/main/resources/application.properties

@ -1,6 +1,6 @@
server.port=8002
server.port=8007
spring.datasource.url=jdbc:mysql://10.3.117.7:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.url=jdbc:mysql://10.3.117.21:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.username=testuser
spring.datasource.password=Password123

33
UB_UserServiceProxy/bin/.gitignore

@ -0,0 +1,33 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/

BIN
UB_UserServiceProxy/bin/.mvn/wrapper/MavenWrapperDownloader.class

BIN
UB_UserServiceProxy/bin/.mvn/wrapper/maven-wrapper.jar

2
UB_UserServiceProxy/bin/.mvn/wrapper/maven-wrapper.properties

@ -0,0 +1,2 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.2/apache-maven-3.8.2-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar

310
UB_UserServiceProxy/bin/mvnw

@ -0,0 +1,310 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "`uname`" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
export JAVA_HOME="`/usr/libexec/java_home`"
else
export JAVA_HOME="/Library/Java/Home"
fi
fi
;;
esac
if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=`java-config --jre-home`
fi
fi
if [ -z "$M2_HOME" ] ; then
## resolve links - $0 may be a link to maven's home
PRG="$0"
# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
saveddir=`pwd`
M2_HOME=`dirname "$PRG"`/..
# make it fully qualified
M2_HOME=`cd "$M2_HOME" && pwd`
cd "$saveddir"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --unix "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$M2_HOME" ] &&
M2_HOME="`(cd "$M2_HOME"; pwd)`"
[ -n "$JAVA_HOME" ] &&
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="`which javac`"
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
if $darwin ; then
javaHome="`dirname \"$javaExecutable\"`"
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
else
javaExecutable="`readlink -f \"$javaExecutable\"`"
fi
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="`which java`"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
if [ -z "$1" ]
then
echo "Path not specified to find_maven_basedir"
return 1
fi
basedir="$1"
wdir="$1"
while [ "$wdir" != '/' ] ; do
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if [ -d "${wdir}" ]; then
wdir=`cd "$wdir/.."; pwd`
fi
# end of workaround
done
echo "${basedir}"
}
# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
echo "$(tr -s '\n' ' ' < "$1")"
fi
}
BASE_DIR=`find_maven_basedir "$(pwd)"`
if [ -z "$BASE_DIR" ]; then
exit 1;
fi
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found .mvn/wrapper/maven-wrapper.jar"
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
fi
if [ -n "$MVNW_REPOURL" ]; then
jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
else
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
fi
while IFS="=" read key value; do
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
esac
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
if [ "$MVNW_VERBOSE" = true ]; then
echo "Downloading from: $jarUrl"
fi
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
if $cygwin; then
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
fi
if command -v wget > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found wget ... using wget"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
wget "$jarUrl" -O "$wrapperJarPath"
else
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
fi
elif command -v curl > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found curl ... using curl"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
curl -o "$wrapperJarPath" "$jarUrl" -f
else
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Falling back to using Java to download"
fi
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
# For Cygwin, switch paths to Windows format before running javac
if $cygwin; then
javaClass=`cygpath --path --windows "$javaClass"`
fi
if [ -e "$javaClass" ]; then
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Compiling MavenWrapperDownloader.java ..."
fi
# Compiling the Java class
("$JAVA_HOME/bin/javac" "$javaClass")
fi
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
# Running the downloader
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Running MavenWrapperDownloader.java ..."
fi
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
if [ "$MVNW_VERBOSE" = true ]; then
echo $MAVEN_PROJECTBASEDIR
fi
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --path --windows "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
exec "$JAVACMD" \
$MAVEN_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

182
UB_UserServiceProxy/bin/mvnw.cmd

@ -0,0 +1,182 @@
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%" == "on" pause
if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
exit /B %ERROR_CODE%

56
UB_UserServiceProxy/bin/pom.xml

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>UB_UserServiceProxy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>UB_UserServiceProxy</name>
<description>UrbanBazaar - Online Grocery Shop</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

BIN
UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/ServletInitializer.class

BIN
UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/UbUserServiceProxyApplication.class

BIN
UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/controller/MemberUserController.class

BIN
UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/controller/UserController.class

BIN
UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/MemberUser.class

BIN
UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/User.class

BIN
UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/model/UserLogin.class

BIN
UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/repository/MemberUserRepository.class

BIN
UB_UserServiceProxy/bin/src/main/java/com/example/urbanbazaar/repository/UserRepository.class

12
UB_UserServiceProxy/bin/src/main/resources/application.properties

@ -0,0 +1,12 @@
server.port=8001
spring.datasource.url=jdbc:mysql://10.3.117.7:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.username=testuser
spring.datasource.password=Password123
server.servlet.context-path=/user
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto=update
spring.jackson.serialization.fail-on-empty-beans=false
spring.jpa.properties.hibernate.format_sql=true

BIN
UB_UserServiceProxy/bin/src/test/java/com/example/urbanbazaar/UbUserServiceProxyApplicationTests.class

23
UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/controller/MemberUserController.java

@ -3,14 +3,19 @@ package com.example.urbanbazaar.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.example.urbanbazaar.model.MemberUser;
import com.example.urbanbazaar.repository.MemberUserRepository;
//@CrossOrigin(origins = "http://localhost:4405")
@CrossOrigin(origins = "http://localhost:63871")
@RestController
public class MemberUserController {
@ -27,10 +32,26 @@ public class MemberUserController {
public List<MemberUser> showMembers() {
return repo.findAll();
}
@GetMapping("/searchMember/{memberid}")
public MemberUser searchMemberUser(@PathVariable int memberid) {
return repo.findById(memberid).get();
}
@GetMapping("/showUserMembers/{userId}")
public List<MemberUser> showMembersByUser(@PathVariable int userId) {
return repo.findByuserid(userId);
}
@DeleteMapping("/deleteMember/{memberid}")
public void deleteMemberById(@PathVariable int memberid ) {
repo.deleteById(memberid);
}
@PutMapping("/updateMember/")
public void update(@RequestBody MemberUser user) {
MemberUser oldu=repo.findById(user.getMemberid()).get();
oldu.setMembername(user.getMembername());
oldu.setMemberphone(user.getMemberphone());
// oldu.setAddress(user.getAddress());
repo.save(oldu);
}
}

39
UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/controller/UserController.java

@ -2,12 +2,17 @@ package com.example.urbanbazaar.controller;
import java.util.List;
import javax.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.function.EntityResponse;
@ -15,17 +20,30 @@ import org.springframework.web.servlet.function.EntityResponse;
import com.example.urbanbazaar.model.User;
import com.example.urbanbazaar.model.UserLogin;
import com.example.urbanbazaar.repository.UserRepository;
//@CrossOrigin(origins = "http://localhost:4405")
@CrossOrigin(origins = "http://localhost:63871")
@RestController
@Service
@Transactional
public class UserController {
@Autowired
private UserRepository repo;
@PostMapping("/addUser")
public void addUser(@RequestBody User user) {
repo.save(user);
}
public ResponseEntity<String> addUser(@RequestBody User user) {
String tempusername =user.getUserfirstname();
if(tempusername !=null && !"".equals(tempusername)) {
User usero=repo.findByuserfirstname(tempusername);
if (usero!=null) {
return new ResponseEntity<String>("user with "+tempusername+ " already exists", HttpStatus.BAD_REQUEST);
// throw new Exception();
}
}
repo.save(user);
return new ResponseEntity<String>("Registration success !!", HttpStatus.OK);}
@GetMapping("/showAllUsers")
public List<User> showUsers() {
@ -41,7 +59,7 @@ public class UserController {
public User findUserByName(@PathVariable String name) {
return repo.findByuserfirstname(name);
}
@PostMapping("/login")
public ResponseEntity<String> userLogin(@RequestBody UserLogin user) {
User currentUser = repo.findByuserfirstname(user.getUserfirstname());
@ -51,4 +69,17 @@ public class UserController {
return new ResponseEntity<String>("Password mismatch.", HttpStatus.BAD_REQUEST);
return new ResponseEntity<String>("Login success !!", HttpStatus.OK);
}
@PutMapping("/update/")
public void update(@RequestBody User user) {
User oldu=repo.findById(user.getUserid()).get();
oldu.setUserfirstname(user.getUserfirstname());
oldu.setUserlastname(user.getUserlastname());
oldu.setUseraddress(user.getUseraddress());
oldu.setUseraddress2(user.getUseraddress2());
oldu.setUsercity(user.getUsercity());
oldu.setUserphone(user.getUserphone());
oldu.setUserstate(user.getUserstate());
oldu.setUserzip(user.getUserzip());
repo.save(oldu);
}
}

21
UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/model/MemberUser.java

@ -8,14 +8,23 @@ import javax.persistence.Table;
@Table(name = "members")
public class MemberUser {
@Id
private int userid;
@Id
private int memberid;
private String membername;
private int totalitems;
private String memberphone;
private float membertotalamount;
private int memberdoornumber;
public int getMemberdoornumber() {
return memberdoornumber;
}
public void setMemberdoornumber(int memberdoornumber) {
this.memberdoornumber = memberdoornumber;
}
public int getUserid() {
return userid;
}
@ -63,17 +72,19 @@ public class MemberUser {
public void setMembertotalamount(float membertotalamount) {
this.membertotalamount = membertotalamount;
}
public MemberUser(int userid, int memberid, String membername, int totalitems, String memberphone,
float membertotalamount) {
float membertotalamount, int memberdoornumber) {
super();
this.userid = userid;
this.memberid = memberid;
this.membername = membername;
this.totalitems = totalitems;
this.memberphone = memberphone;
this.membertotalamount = membertotalamount;
this.memberdoornumber = memberdoornumber;
}
public MemberUser() {
}

3
UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/model/User.java

@ -4,6 +4,7 @@ import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.GenerationType;
@Entity
@Table(name = "users")
@ -22,7 +23,7 @@ public class User {
private String useraddress2;
@Id
@GeneratedValue
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int getUserid() {
return userid;
}

5
UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/repository/MemberUserRepository.java

@ -3,10 +3,11 @@ package com.example.urbanbazaar.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import com.example.urbanbazaar.model.MemberUser;
public interface MemberUserRepository extends JpaRepository<MemberUser, Integer> {
public List<MemberUser> findByuserid(int userId);
@Query(value="select * from members where members.UserId = ?1",nativeQuery=true)
public List<MemberUser> findByuserid(int userId);
}

2
UB_UserServiceProxy/src/main/java/com/example/urbanbazaar/repository/UserRepository.java

@ -7,7 +7,7 @@ import com.example.urbanbazaar.model.User;
public interface UserRepository extends JpaRepository<User, Integer> {
// @Query(value="select * from user where UserFirstName=?1" , nativeQuery=true)
public User findByuserfirstname(String username);
}

4
UB_UserServiceProxy/src/main/resources/application.properties

@ -1,6 +1,6 @@
server.port=8001
server.port=8008
spring.datasource.url=jdbc:mysql://10.3.117.7:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.url=jdbc:mysql://10.3.117.21:3306/grocery_db?createDatabaseIfNotExist=true
spring.datasource.username=testuser
spring.datasource.password=Password123

Loading…
Cancel
Save