From c5647924873b38fcad5a621e1a40262bd632a4cf Mon Sep 17 00:00:00 2001 From: kj1352 Date: Wed, 13 Jan 2021 15:14:27 +0530 Subject: [PATCH] Update menu item API connection --- src/app/app.module.ts | 4 ++- src/app/menu-items/menu-items.component.html | 2 +- src/app/menu-items/menu-items.component.ts | 20 ++++++++++++++- src/app/services/item.service.spec.ts | 12 +++++++++ src/app/services/item.service.ts | 27 ++++++++++++++++++++ 5 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 src/app/services/item.service.spec.ts create mode 100644 src/app/services/item.service.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 98b96db..2dfb3ad 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -26,6 +26,7 @@ import { MoreComponent } from './more/more.component'; // Services import { AuthService } from './services/auth.service'; import { OrderService } from './services/order.service'; +import { ItemService } from './services/item.service'; @NgModule({ declarations: [ @@ -51,7 +52,8 @@ import { OrderService } from './services/order.service'; ], providers: [ AuthService, - OrderService + OrderService, + ItemService ], bootstrap: [AppComponent] }) diff --git a/src/app/menu-items/menu-items.component.html b/src/app/menu-items/menu-items.component.html index 566aa81..6c6411f 100644 --- a/src/app/menu-items/menu-items.component.html +++ b/src/app/menu-items/menu-items.component.html @@ -41,7 +41,7 @@
+ (click)="item.is_available = !item.is_available; updateItem(item)">
diff --git a/src/app/menu-items/menu-items.component.ts b/src/app/menu-items/menu-items.component.ts index 1020c23..e10aacb 100644 --- a/src/app/menu-items/menu-items.component.ts +++ b/src/app/menu-items/menu-items.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from '@angular/core'; +import { ItemService } from '../services/item.service'; @Component({ selector: 'app-menu-items', @@ -12,7 +13,9 @@ export class MenuItemsComponent implements OnInit { searchTerm: string = ''; menuItems: any = []; - constructor() { } + constructor( + private itemService: ItemService + ) { } ngOnInit() { this.profile_type = localStorage.current_login_type; @@ -24,7 +27,22 @@ export class MenuItemsComponent implements OnInit { } this.menuItems = JSON.parse(JSON.stringify(this.profile_info.menuitems)); + } + + updateItem(menuItem) { + this.itemService.updateMenuItem(menuItem, this.profile_info.outlet_id).then((data) => { + this.profile_info.menuitems = JSON.parse(JSON.stringify(this.menuItems)); + + if (this.profile_type === 'VENDOR') { + localStorage.vendor_info = JSON.stringify(this.profile_info); + } else if (this.profile_type === 'OUTLET') { + localStorage.outlet_info = JSON.stringify(this.profile_info); + } + }, (err) => { + console.log(err); + alert("Failed to update"); + }); } searchItems() { diff --git a/src/app/services/item.service.spec.ts b/src/app/services/item.service.spec.ts new file mode 100644 index 0000000..acaa4f8 --- /dev/null +++ b/src/app/services/item.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { ItemService } from './item.service'; + +describe('ItemService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: ItemService = TestBed.get(ItemService); + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/item.service.ts b/src/app/services/item.service.ts new file mode 100644 index 0000000..0463b85 --- /dev/null +++ b/src/app/services/item.service.ts @@ -0,0 +1,27 @@ +import { Injectable } from '@angular/core'; +import { URL } from '../data/url'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; + +@Injectable({ + providedIn: 'root' +}) +export class ItemService { + + constructor( + private http: HttpClient + ) { } + + updateMenuItem(menuItem: any, outlet_id: string | number) { + menuItem.outlet = { + outlet_id: outlet_id + }; + const httpOptions = { + headers: new HttpHeaders({ + 'Access-Control-Allow-Origin': '*', + 'Content-Type': 'application/json', + 'Authorization': 'Bearer ' + localStorage.token + }) + }; + return this.http.put(URL + '/api/maioraservice/menuitems/v1/update/', menuItem, httpOptions).toPromise(); + } +}