/** * Magento Community * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) * * OpenAPI spec version: 2.2 * * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ /* tslint:disable:no-unused-variable member-ordering */ import { Inject, Injectable, Optional } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent } from '@angular/common/http'; import { CustomHttpUrlEncodingCodec } from '../encoder'; import { Observable } from 'rxjs/Observable'; import { CatalogDataProductInterface } from '../model/catalogDataProductInterface'; import { CatalogDataProductSearchResultsInterface } from '../model/catalogDataProductSearchResultsInterface'; import { CatalogProductRepositoryV1SavePostBody } from '../model/catalogProductRepositoryV1SavePostBody'; import { CatalogProductRepositoryV1SavePutBody } from '../model/catalogProductRepositoryV1SavePutBody'; import { ErrorResponse } from '../model/errorResponse'; import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; import { Configuration } from '../configuration'; @Injectable() export class CatalogProductRepositoryV1Service { protected basePath = 'http://shop.sergiofabbri.com/rest'; public defaultHeaders = new HttpHeaders(); public configuration = new Configuration(); constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) { if (basePath) { this.basePath = basePath; } if (configuration) { this.configuration = configuration; this.basePath = basePath || configuration.basePath || this.basePath; } } /** * @param consumes string[] mime-types * @return true: consumes contains 'multipart/form-data', false: otherwise */ private canConsumeForm(consumes: string[]): boolean { const form = 'multipart/form-data'; for (let consume of consumes) { if (form === consume) { return true; } } return false; } /** * * * @param sku * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ public catalogProductRepositoryV1DeleteByIdDelete(sku: string, observe?: 'body', reportProgress?: boolean): Observable; public catalogProductRepositoryV1DeleteByIdDelete(sku: string, observe?: 'response', reportProgress?: boolean): Observable>; public catalogProductRepositoryV1DeleteByIdDelete(sku: string, observe?: 'events', reportProgress?: boolean): Observable>; public catalogProductRepositoryV1DeleteByIdDelete(sku: string, observe: any = 'body', reportProgress: boolean = false ): Observable { if (sku === null || sku === undefined) { throw new Error('Required parameter sku was null or undefined when calling catalogProductRepositoryV1DeleteByIdDelete.'); } let headers = this.defaultHeaders; // to determine the Accept header let httpHeaderAccepts: string[] = [ ]; let httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); if (httpHeaderAcceptSelected != undefined) { headers = headers.set("Accept", httpHeaderAcceptSelected); } // to determine the Content-Type header let consumes: string[] = [ ]; return this.httpClient.delete(`${this.basePath}/V1/products/${encodeURIComponent(String(sku))}`, { withCredentials: this.configuration.withCredentials, headers: headers, observe: observe, reportProgress: reportProgress } ); } /** * * Get info about product by product SKU * @param sku * @param editMode * @param storeId * @param forceReload * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ public catalogProductRepositoryV1GetGet(sku: string, editMode?: boolean, storeId?: number, forceReload?: boolean, observe?: 'body', reportProgress?: boolean): Observable; public catalogProductRepositoryV1GetGet(sku: string, editMode?: boolean, storeId?: number, forceReload?: boolean, observe?: 'response', reportProgress?: boolean): Observable>; public catalogProductRepositoryV1GetGet(sku: string, editMode?: boolean, storeId?: number, forceReload?: boolean, observe?: 'events', reportProgress?: boolean): Observable>; public catalogProductRepositoryV1GetGet(sku: string, editMode?: boolean, storeId?: number, forceReload?: boolean, observe: any = 'body', reportProgress: boolean = false ): Observable { if (sku === null || sku === undefined) { throw new Error('Required parameter sku was null or undefined when calling catalogProductRepositoryV1GetGet.'); } let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); if (editMode !== undefined) { queryParameters = queryParameters.set('editMode', editMode); } if (storeId !== undefined) { queryParameters = queryParameters.set('storeId', storeId); } if (forceReload !== undefined) { queryParameters = queryParameters.set('forceReload', forceReload); } let headers = this.defaultHeaders; // to determine the Accept header let httpHeaderAccepts: string[] = [ ]; let httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); if (httpHeaderAcceptSelected != undefined) { headers = headers.set("Accept", httpHeaderAcceptSelected); } // to determine the Content-Type header let consumes: string[] = [ ]; return this.httpClient.get(`${this.basePath}/V1/products/${encodeURIComponent(String(sku))}`, { params: queryParameters, withCredentials: this.configuration.withCredentials, headers: headers, observe: observe, reportProgress: reportProgress } ); } /** * * Get product list * @param searchCriteriaFilterGroupsFiltersField Field * @param searchCriteriaFilterGroupsFiltersValue Value * @param searchCriteriaFilterGroupsFiltersConditionType Condition type * @param searchCriteriaSortOrdersField Sorting field. * @param searchCriteriaSortOrdersDirection Sorting direction. * @param searchCriteriaPageSize Page size. * @param searchCriteriaCurrentPage Current page. * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ public catalogProductRepositoryV1GetListGet(searchCriteriaFilterGroupsFiltersField?: string, searchCriteriaFilterGroupsFiltersValue?: string, searchCriteriaFilterGroupsFiltersConditionType?: string, searchCriteriaSortOrdersField?: string, searchCriteriaSortOrdersDirection?: string, searchCriteriaPageSize?: number, searchCriteriaCurrentPage?: number, observe?: 'body', reportProgress?: boolean): Observable; public catalogProductRepositoryV1GetListGet(searchCriteriaFilterGroupsFiltersField?: string, searchCriteriaFilterGroupsFiltersValue?: string, searchCriteriaFilterGroupsFiltersConditionType?: string, searchCriteriaSortOrdersField?: string, searchCriteriaSortOrdersDirection?: string, searchCriteriaPageSize?: number, searchCriteriaCurrentPage?: number, observe?: 'response', reportProgress?: boolean): Observable>; public catalogProductRepositoryV1GetListGet(searchCriteriaFilterGroupsFiltersField?: string, searchCriteriaFilterGroupsFiltersValue?: string, searchCriteriaFilterGroupsFiltersConditionType?: string, searchCriteriaSortOrdersField?: string, searchCriteriaSortOrdersDirection?: string, searchCriteriaPageSize?: number, searchCriteriaCurrentPage?: number, observe?: 'events', reportProgress?: boolean): Observable>; public catalogProductRepositoryV1GetListGet(searchCriteriaFilterGroupsFiltersField?: string, searchCriteriaFilterGroupsFiltersValue?: string, searchCriteriaFilterGroupsFiltersConditionType?: string, searchCriteriaSortOrdersField?: string, searchCriteriaSortOrdersDirection?: string, searchCriteriaPageSize?: number, searchCriteriaCurrentPage?: number, observe: any = 'body', reportProgress: boolean = false ): Observable { let queryParameters = new HttpParams({encoder: new CustomHttpUrlEncodingCodec()}); if (searchCriteriaFilterGroupsFiltersField !== undefined) { queryParameters = queryParameters.set('searchCriteria[filterGroups][][filters][][field]', searchCriteriaFilterGroupsFiltersField); } if (searchCriteriaFilterGroupsFiltersValue !== undefined) { queryParameters = queryParameters.set('searchCriteria[filterGroups][][filters][][value]', searchCriteriaFilterGroupsFiltersValue); } if (searchCriteriaFilterGroupsFiltersConditionType !== undefined) { queryParameters = queryParameters.set('searchCriteria[filterGroups][][filters][][conditionType]', searchCriteriaFilterGroupsFiltersConditionType); } if (searchCriteriaSortOrdersField !== undefined) { queryParameters = queryParameters.set('searchCriteria[sortOrders][][field]', searchCriteriaSortOrdersField); } if (searchCriteriaSortOrdersDirection !== undefined) { queryParameters = queryParameters.set('searchCriteria[sortOrders][][direction]', searchCriteriaSortOrdersDirection); } if (searchCriteriaPageSize !== undefined) { queryParameters = queryParameters.set('searchCriteria[pageSize]', searchCriteriaPageSize); } if (searchCriteriaCurrentPage !== undefined) { queryParameters = queryParameters.set('searchCriteria[currentPage]', searchCriteriaCurrentPage); } let headers = this.defaultHeaders; // to determine the Accept header let httpHeaderAccepts: string[] = [ ]; let httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); if (httpHeaderAcceptSelected != undefined) { headers = headers.set("Accept", httpHeaderAcceptSelected); } // to determine the Content-Type header let consumes: string[] = [ ]; return this.httpClient.get(`${this.basePath}/V1/products`, { params: queryParameters, withCredentials: this.configuration.withCredentials, headers: headers, observe: observe, reportProgress: reportProgress } ); } /** * * Create product * @param catalogProductRepositoryV1SavePostBody * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ public catalogProductRepositoryV1SavePost(catalogProductRepositoryV1SavePostBody?: CatalogProductRepositoryV1SavePostBody, observe?: 'body', reportProgress?: boolean): Observable; public catalogProductRepositoryV1SavePost(catalogProductRepositoryV1SavePostBody?: CatalogProductRepositoryV1SavePostBody, observe?: 'response', reportProgress?: boolean): Observable>; public catalogProductRepositoryV1SavePost(catalogProductRepositoryV1SavePostBody?: CatalogProductRepositoryV1SavePostBody, observe?: 'events', reportProgress?: boolean): Observable>; public catalogProductRepositoryV1SavePost(catalogProductRepositoryV1SavePostBody?: CatalogProductRepositoryV1SavePostBody, observe: any = 'body', reportProgress: boolean = false ): Observable { let headers = this.defaultHeaders; // to determine the Accept header let httpHeaderAccepts: string[] = [ ]; let httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); if (httpHeaderAcceptSelected != undefined) { headers = headers.set("Accept", httpHeaderAcceptSelected); } // to determine the Content-Type header let consumes: string[] = [ ]; let httpContentTypeSelected:string | undefined = this.configuration.selectHeaderContentType(consumes); if (httpContentTypeSelected != undefined) { headers = headers.set("Content-Type", httpContentTypeSelected); } return this.httpClient.post(`${this.basePath}/V1/products`, catalogProductRepositoryV1SavePostBody, { withCredentials: this.configuration.withCredentials, headers: headers, observe: observe, reportProgress: reportProgress } ); } /** * * Create product * @param sku * @param catalogProductRepositoryV1SavePutBody * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ public catalogProductRepositoryV1SavePut(sku: string, catalogProductRepositoryV1SavePutBody?: CatalogProductRepositoryV1SavePutBody, observe?: 'body', reportProgress?: boolean): Observable; public catalogProductRepositoryV1SavePut(sku: string, catalogProductRepositoryV1SavePutBody?: CatalogProductRepositoryV1SavePutBody, observe?: 'response', reportProgress?: boolean): Observable>; public catalogProductRepositoryV1SavePut(sku: string, catalogProductRepositoryV1SavePutBody?: CatalogProductRepositoryV1SavePutBody, observe?: 'events', reportProgress?: boolean): Observable>; public catalogProductRepositoryV1SavePut(sku: string, catalogProductRepositoryV1SavePutBody?: CatalogProductRepositoryV1SavePutBody, observe: any = 'body', reportProgress: boolean = false ): Observable { if (sku === null || sku === undefined) { throw new Error('Required parameter sku was null or undefined when calling catalogProductRepositoryV1SavePut.'); } let headers = this.defaultHeaders; // to determine the Accept header let httpHeaderAccepts: string[] = [ ]; let httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts); if (httpHeaderAcceptSelected != undefined) { headers = headers.set("Accept", httpHeaderAcceptSelected); } // to determine the Content-Type header let consumes: string[] = [ ]; let httpContentTypeSelected:string | undefined = this.configuration.selectHeaderContentType(consumes); if (httpContentTypeSelected != undefined) { headers = headers.set("Content-Type", httpContentTypeSelected); } return this.httpClient.put(`${this.basePath}/V1/products/${encodeURIComponent(String(sku))}`, catalogProductRepositoryV1SavePutBody, { withCredentials: this.configuration.withCredentials, headers: headers, observe: observe, reportProgress: reportProgress } ); } }