From 41d1caeb6f70fbee9aeb3fb31a3316e23c346607 Mon Sep 17 00:00:00 2001 From: mekdes45 Date: Fri, 24 Sep 2021 13:04:00 -0700 Subject: [PATCH 1/9] feat(server.ts) : add delete metehod --- src/server/server.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server/server.ts b/src/server/server.ts index 2d06e7b..f50bf8e 100644 --- a/src/server/server.ts +++ b/src/server/server.ts @@ -74,7 +74,14 @@ app.post('/create-post', function(req,res){ res.json({errors: err}); }) }); - +app.delete('/delete-user/:id', function (req, res) { + const _id = req.params.id; + UserModel.findByIdAndDelete(_id).then(data => { + res.json({ + data + }) + }) +}) app.listen(PORT, function(){ console.log( `starting at localhost http://localhost:${PORT}`); From 380cc15967772fb73b78f3738e8861f560db5659 Mon Sep 17 00:00:00 2001 From: mekdes45 Date: Fri, 24 Sep 2021 13:06:19 -0700 Subject: [PATCH 2/9] chore(package.json)npm i --- package-lock.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/package-lock.json b/package-lock.json index 66df3cf..4f6e878 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "devDependencies": { "@babel/preset-typescript": "^7.14.5", "@types/express": "^4.17.12", + "@types/mongoose": "^5.11.97", "@types/node": "^15.12.2", "@types/socket.io-client": "^3.0.0", "@typescript-eslint/eslint-plugin": "^4.26.1", @@ -515,6 +516,16 @@ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, + "node_modules/@types/mongoose": { + "version": "5.11.97", + "resolved": "https://registry.npmjs.org/@types/mongoose/-/mongoose-5.11.97.tgz", + "integrity": "sha512-cqwOVYT3qXyLiGw7ueU2kX9noE8DPGRY6z8eUxudhXY8NZ7DMKYAxyZkLSevGfhCX3dO/AoX5/SO9lAzfjon0Q==", + "deprecated": "Mongoose publishes its own types, so you do not need to install this package.", + "dev": true, + "dependencies": { + "mongoose": "*" + } + }, "node_modules/@types/node": { "version": "15.14.9", "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", From 02a6c4d828d2c28ff8b69598da10d63fc82f4e73 Mon Sep 17 00:00:00 2001 From: mekdes45 Date: Fri, 24 Sep 2021 13:14:04 -0700 Subject: [PATCH 3/9] feat(user.service):add deleteuser --- src/client/src/app/services/user.service.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/client/src/app/services/user.service.ts b/src/client/src/app/services/user.service.ts index e80374c..87d8ead 100644 --- a/src/client/src/app/services/user.service.ts +++ b/src/client/src/app/services/user.service.ts @@ -15,4 +15,7 @@ export class UserService { postUsers(user: User) { return this.api.post('create-user', user); } + deleteUser(id: string) { + return this.api.delete("delete-user", id); + } } From ef0b281e9830aea3ecb4890a7fb21168570c52d3 Mon Sep 17 00:00:00 2001 From: mekdes45 Date: Fri, 24 Sep 2021 13:15:21 -0700 Subject: [PATCH 4/9] feat(api.service)add delete route --- src/client/src/app/services/api.service.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/client/src/app/services/api.service.ts b/src/client/src/app/services/api.service.ts index 38b353b..6fcc073 100644 --- a/src/client/src/app/services/api.service.ts +++ b/src/client/src/app/services/api.service.ts @@ -16,4 +16,7 @@ export class ApiService { post(resourceName: string, data: Postable) { return this.http.post(this.baseUrl + resourceName, data); } + delete(resourceName: string, id: string) { + return this.http.delete(this.baseUrl + resourceName + "/" + id); + } } From fa4c9d20de1e3d89bc2d41b0672c86a310c315fe Mon Sep 17 00:00:00 2001 From: mekdes45 Date: Fri, 24 Sep 2021 13:17:06 -0700 Subject: [PATCH 5/9] feat(comp) add deleteuser and template --- .../components/users-list/users-list.component.html | 11 ++++++----- .../app/components/users-list/users-list.component.ts | 5 ++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/client/src/app/components/users-list/users-list.component.html b/src/client/src/app/components/users-list/users-list.component.html index f012db9..ac85cbb 100644 --- a/src/client/src/app/components/users-list/users-list.component.html +++ b/src/client/src/app/components/users-list/users-list.component.html @@ -1,6 +1,7 @@
    -
  • - name: {{user.name}}
    - username: {{user.username}} -
  • -
\ No newline at end of file +
  • + name: {{ user.name }}
    + username: {{ user.username }} + +
  • + diff --git a/src/client/src/app/components/users-list/users-list.component.ts b/src/client/src/app/components/users-list/users-list.component.ts index 09cb436..da65cb0 100644 --- a/src/client/src/app/components/users-list/users-list.component.ts +++ b/src/client/src/app/components/users-list/users-list.component.ts @@ -16,9 +16,12 @@ export class UsersListComponent implements OnInit { ngOnInit(): void { } - + deleteUser(id: any) { + this.userService.deleteUser(id).subscribe(); + } getUsers() { return this.userService.getUsers() } + } From 2e22fcdab2d8667daf2cd3f9062ea94332f1e9eb Mon Sep 17 00:00:00 2001 From: mekdes45 Date: Sun, 26 Sep 2021 13:52:47 -0700 Subject: [PATCH 6/9] feat(server.ts): add update-user path --- src/server/server.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/server/server.ts b/src/server/server.ts index f50bf8e..cd20568 100644 --- a/src/server/server.ts +++ b/src/server/server.ts @@ -82,6 +82,16 @@ app.delete('/delete-user/:id', function (req, res) { }) }) }) +app.put('/update-user/:id', function (req, res) { + const _id = req.params.id; + UserModel.findByIdAndUpdate(_id).then(data => { + + $set: {username:req.body.username, req.body.email} + res.json({ + data + }) + }) +}) app.listen(PORT, function(){ console.log( `starting at localhost http://localhost:${PORT}`); From 80054d13c5ba71607869ebf227730b3a8aae1cbd Mon Sep 17 00:00:00 2001 From: mekdes45 Date: Sun, 26 Sep 2021 13:57:53 -0700 Subject: [PATCH 7/9] feat(client):add update-user method,prop --- src/client/src/app/services/user.service.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/client/src/app/services/user.service.ts b/src/client/src/app/services/user.service.ts index 87d8ead..ea80607 100644 --- a/src/client/src/app/services/user.service.ts +++ b/src/client/src/app/services/user.service.ts @@ -7,15 +7,21 @@ import { User } from '../../../../shared/models/user.model'; providedIn: 'root', }) export class UserService { + updatedUserId = ''; constructor(private api: ApiService) {} getUsers() { return this.api.get<{ data: User[] }>('users').pipe(map(res => res.data)); } postUsers(user: User) { - return this.api.post('create-user', user); + return this.updatedUserId ? + this.api.put('update-user/' + this.updatedUserId, user) : + this.api.post('create-user', user); } deleteUser(id: string) { return this.api.delete("delete-user", id); } + updateUser(id: string,) { + this.updatedUserId = this.updatedUserId === id ? '' : id; + } } From 387a9d3fbb64118e8fd0257812213e0c0a6e7304 Mon Sep 17 00:00:00 2001 From: mekdes45 Date: Sun, 26 Sep 2021 14:00:22 -0700 Subject: [PATCH 8/9] feat(client):add put method,route --- src/client/src/app/services/api.service.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/client/src/app/services/api.service.ts b/src/client/src/app/services/api.service.ts index 6fcc073..4929542 100644 --- a/src/client/src/app/services/api.service.ts +++ b/src/client/src/app/services/api.service.ts @@ -6,6 +6,7 @@ import { Postable } from '../models/postable'; providedIn: 'root' }) export class ApiService { + baseUrl:string = 'http://localhost:3501/'; constructor(private http: HttpClient) { } @@ -19,4 +20,7 @@ export class ApiService { delete(resourceName: string, id: string) { return this.http.delete(this.baseUrl + resourceName + "/" + id); } + put(resourceName: string, data: Postable) { + return this.http.put(this.baseUrl + resourceName, data); + } } From a3bf84711902121f8005b2aceddbdca8961687b3 Mon Sep 17 00:00:00 2001 From: mekdes45 Date: Sun, 26 Sep 2021 14:02:20 -0700 Subject: [PATCH 9/9] feat(comp):add checkupdate and templete --- .../components/users-list/users-list.component.html | 11 +++++++++-- .../app/components/users-list/users-list.component.ts | 10 +++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/client/src/app/components/users-list/users-list.component.html b/src/client/src/app/components/users-list/users-list.component.html index ac85cbb..966cf59 100644 --- a/src/client/src/app/components/users-list/users-list.component.html +++ b/src/client/src/app/components/users-list/users-list.component.html @@ -1,7 +1,14 @@
      -
    • +
    • name: {{ user.name }}
      username: {{ user.username }} - + +
    diff --git a/src/client/src/app/components/users-list/users-list.component.ts b/src/client/src/app/components/users-list/users-list.component.ts index da65cb0..924c662 100644 --- a/src/client/src/app/components/users-list/users-list.component.ts +++ b/src/client/src/app/components/users-list/users-list.component.ts @@ -19,9 +19,17 @@ export class UsersListComponent implements OnInit { deleteUser(id: any) { this.userService.deleteUser(id).subscribe(); } + + getUsers() { return this.userService.getUsers() } - + updateUser(id:any) { + this.userService.updateUser(id) + } + checkUpdated(id: any) { + return this.userService.updatedUserId == id ? "red" : 'black'; + + } }