Skip to content

SudoSOS Back-end API / catalogue/products / ProductService

Class: ProductService ​

Wrapper for all Product related logic.

Constructors ​

Constructor ​

ts
new ProductService(): ProductService;

Returns ​

ProductService

Methods ​

createProduct() ​

ts
static createProduct(product): Promise<ProductRevision>;

Creates a new product.

If approve is false, then the newly created product resides in the Product table and has no revision, but it does have an updated product. To confirm the product the updated product has to be confirmed and a revision will be created.

Parameters ​

ParameterTypeDescription
productCreateProductParamsThe product to be created.

Returns ​

Promise<ProductRevision>


deleteProduct() ​

ts
static deleteProduct(productId): Promise<void>;

(Soft) delete a product

Parameters ​

ParameterTypeDescription
productIdnumber-

Returns ​

Promise<void>


getOptions() ​

ts
static getOptions(params, user?): Promise<FindManyOptions<ProductRevision>>;

Returns a FindManyOptions based on the given parameters

Parameters ​

ParameterTypeDescription
paramsProductFilterParametersThe parameters to filter on
user?UserThe user to filter on

Returns ​

Promise<FindManyOptions<ProductRevision>>


getProducts() ​

ts
static getProducts(
   filters?, 
   pagination?, 
user?): Promise<[ProductRevision[], number]>;

Parameters ​

ParameterType
filtersProductFilterParameters
paginationPaginationParameters
user?User

Returns ​

Promise<[ProductRevision[], number]>


propagateProductUpdate() ​

ts
static propagateProductUpdate(productId): Promise<void>;

Propagates the product update to all parent containers

All containers that contain the previous version of this product will be revised to include the new revision.

Parameters ​

ParameterTypeDescription
productIdnumberThe product to propagate

Returns ​

Promise<void>


revisionToBaseResponse() ​

ts
static revisionToBaseResponse(revision): BaseProductResponse;

Parameters ​

ParameterType
revisionProductRevision

Returns ​

BaseProductResponse


revisionToResponse() ​

ts
static revisionToResponse(revision): ProductResponse;

Parameters ​

ParameterType
revisionProductRevision

Returns ​

ProductResponse


updateProduct() ​

ts
static updateProduct(update): Promise<ProductRevision>;

Parameters ​

ParameterType
updateUpdateProductParams

Returns ​

Promise<ProductRevision>