diff options
author | Michael Lando <ml636r@att.com> | 2017-06-09 03:19:04 +0300 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2017-06-09 03:19:04 +0300 |
commit | ed64b5edff15e702493df21aa3230b81593e6133 (patch) | |
tree | a4cb01fdaccc34930a8db403a3097c0d1e40914b /catalog-ui/src/app/services/category-resource-service.ts | |
parent | 280f8015d06af1f41a3ef12e8300801c7a5e0d54 (diff) |
[SDC-29] catalog 1707 rebase commit.
Change-Id: I43c3dc5cf44abf5da817649bc738938a3e8388c1
Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'catalog-ui/src/app/services/category-resource-service.ts')
-rw-r--r-- | catalog-ui/src/app/services/category-resource-service.ts | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/catalog-ui/src/app/services/category-resource-service.ts b/catalog-ui/src/app/services/category-resource-service.ts new file mode 100644 index 0000000000..a2e3c61e0a --- /dev/null +++ b/catalog-ui/src/app/services/category-resource-service.ts @@ -0,0 +1,61 @@ +'use strict'; +// import 'angular-resource'; +import {IAppConfigurtaion, IMainCategory, IUserProperties} from "../models"; +import {Categories} from "../models/categories"; + +// Define an interface of the object you want to use, providing it's properties +export interface ICategoryResource extends IUserProperties,ng.resource.IResource<ICategoryResource> { + name:string; + uniqueId:string; + subcategories:Array<ICategoryResource>; + + getAllCategories(params?:Object, success?:Function, error?:Function):Categories; + $saveSubCategory(params?:Object, success?:Function, error?:Function):any; + $deleteSubCategory(params?:Object, success?:Function, error?:Function):any; +} + +// Define your resource, adding the signature of the custom actions +export interface ICategoryResourceClass extends ng.resource.IResourceClass<ICategoryResource> { + getAllCategories(params?:Object, success?:Function, error?:Function):Categories; + saveSubCategory(params?:Object, success?:Function, error?:Function):any; + deleteSubCategory(params?:Object, success?:Function, error?:Function):any; +} + +export class CategoryResourceService { + + public static getResource = ($resource:ng.resource.IResourceService, + sdcConfig:IAppConfigurtaion):ICategoryResourceClass => { + + // Define your custom actions here as IActionDescriptor + let getAllCategoriesAction:ng.resource.IActionDescriptor = { + method: 'GET', + isArray: false, + url: sdcConfig.api.root + sdcConfig.api.GET_categories + }; + let saveSubCategory:ng.resource.IActionDescriptor = { + method: 'POST', + isArray: false, + url: sdcConfig.api.root + sdcConfig.api.POST_subcategory + }; + let deleteSubCategory:ng.resource.IActionDescriptor = { + method: 'DELETE', + isArray: false, + url: sdcConfig.api.root + sdcConfig.api.POST_subcategory + }; + + + let url:string = sdcConfig.api.root + sdcConfig.api.POST_category; + let categoryResource:ICategoryResourceClass = <ICategoryResourceClass>$resource( + url, + {types: '@types', categoryId: '@categoryId'}, + { + getAllCategories: getAllCategoriesAction, + saveSubCategory: saveSubCategory, + deleteSubCategory: deleteSubCategory + } + ); + + return categoryResource; + } +} +CategoryResourceService.getResource.$inject = ['$resource', 'sdcConfig']; |