tm-service-products

1.4.3 • Public • Published

Documentation

ServiceProducts

Extends TMMicroServiceAPI

Parameters

  • props ...any
  • url string service url
  • token (string | null) user access token if available (optional, default null)

messages

Object with class service messages

constructor

constructor of instance

Parameters

  • props ...any
  • url string (required) url to service
  • token string user token

Examples

const service = new Service(url, token);

Returns object service SDK object

disableTemplate

Disable template

Parameters

  • templateId number template ID

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/:id/disable', token);
  const request = await service.disableTemplate(53001);
})();

Returns Promise<any>

freezeTemplate

Freeze template

Parameters

  • templateId number template ID

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/:id/freeze', token);
  const request = await service.freezeTemplate(53001);
})();

Returns Promise<any>

getTemplateByIdPublic

Get template by id (public method)

Parameters

  • locale string 2 char locale (en, ru de, etc.)
  • templateId number template ID

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/:locale/:id');
  const request = await service.getTemplateByIdPublic('en', 53001);
})();

Returns Promise<any>

getTemplateById

Get template by id

Parameters

  • templateId number template ID

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/:id', token);
  const request = await service.getTemplateById(53001);
})();

Returns Promise<any>

getTemplatesPublic

Get templates (public method)

Parameters

  • locale string 2 char locale (en, ru de, etc.)
  • props object
    • props.isAdult number return only adult or not templates
    • props.ids string array of templates id divided by comma (e.g. "55555,55556,55557")
    • props.searchWord string
    • props.properties object array of properties where key is a property name and value is a value to search. e.g. (?properties[author_user_id]=1506970)
    • props.type string find all templates with given type name (e.g. "?type=wordpress", "?type=wordpress themes")
    • props.sort string defines on which fields to sort (e.g. ?sort=price,-templateId) ("-" symbol is DESC sort)
    • props.perPage number max templates per one page (20 by default, 200 is max size)
    • props.page number page number to view
    • props.expand string expand answer from server

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/:locale');
  const request = await service.getTemplatesPublic({
isAdult: 1,
ids: '53001',
searchWord: 'qwe',
properties: {
id: 2570,
propertyName: 'Name of the template',
},
type: 'wordpress',
sort: 'price',
perPage: 20,
page: 1,
});
})();

Returns Promise<any>

getTemplatesTopics

Get templates topics

Parameters

  • props object
    • props.isAdult number return only adult or not templates
    • props.ids string array of templates id divided by comma (e.g. "55555,55556,55557")
    • props.searchWord string
    • props.properties object array of properties where key is a property name and value is a value to search. e.g. (?properties[author_user_id]=1506970)
    • props.type string find all templates with given type name (e.g. "?type=wordpress", "?type=wordpress themes")

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/topics');
  const request = await service.getTemplatesTopics({
isAdult: 1,
ids: '53001',
searchWord: 'qwe',
properties: {
id: 2570,
propertyName: 'Name of the template',
},
type: 'wordpress',
});
})();

Returns Promise<any>

getTemplatesTypes

Get templates types

Parameters

  • props object
    • props.isAdult number return only adult or not templates
    • props.ids string array of templates id divided by comma (e.g. "55555,55556,55557")
    • props.searchWord string
    • props.properties object array of properties where key is a property name and value is a value to search. e.g. (?properties[author_user_id]=1506970)

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/types');
  const request = await service.getTemplatesTypes({
isAdult: 1,
ids: '53001',
searchWord: 'qwe',
properties: {
id: 2570,
propertyName: 'Name of the template',
},
});
})();

Returns Promise<any>

getTemplates

Get templates

Parameters

  • props object
    • props.isAdult number return only adult or not templates
    • props.ids string array of templates id divided by comma (e.g. "55555,55556,55557")
    • props.searchWord string
    • props.properties object array of properties where key is a property name and value is a value to search. e.g. (?properties[author_user_id]=1506970)
    • props.type string find all templates with given type name (e.g. "?type=wordpress", "?type=wordpress themes")
    • props.sort string defines on which fields to sort (e.g. ?sort=price,-templateId) ("-" symbol is DESC sort)
    • props.perPage number max templates per one page (20 by default, 200 is max size)
    • props.page number page number to view

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products', token);
  const request = await service.getTemplates({
isAdult: 1,
ids: '53001',
searchWord: 'qwe',
properties: {
id: 2570,
propertyName: 'Name of the template',
},
type: 'wordpress',
sort: 'price',
perPage: 20,
page: 1,
});
})();

Returns Promise<any>

getTotalTemplatesSales

Get total templates sales

Parameters

  • props object
    • props.isAdult number return only adult or not templates
    • props.ids string array of templates id divided by comma (e.g. "55555,55556,55557")
    • props.searchWord string
    • props.properties object array of properties where key is a property name and value is a value to search. e.g. (?properties[author_user_id]=1506970)
    • props.type string find all templates with given type name (e.g. "?type=wordpress", "?type=wordpress themes")

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/sales');
  const request = await service.getTotalTemplatesSales({
isAdult: 1,
ids: '53001',
searchWord: 'qwe',
properties: {
id: 2570,
propertyName: 'Name of the template',
},
type: 'wordpress',
});
})();

Returns Promise<any>

getUserOwnProducts

Get user own products

Parameters

  • locale string 2 char locale (en, ru de, etc.)
  • props object
    • props.properties object array of properties where key is a property name and value is a value to search. e.g. (?properties[author_user_id]=1506970)
    • props.type string find all templates with given type name (e.g. "?type=wordpress", "?type=wordpress themes")
    • props.sort string defines on which fields to sort (e.g. ?sort=price,-templateId) ("-" symbol is DESC sort)
    • props.perPage number max templates per one page (20 by default, 200 is max size)
    • props.page number page number to view

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/:locale/my', token);
  const request = await service.getUserOwnProducts({
properties: {
id: 2570,
propertyName: 'Name of the template',
},
type: 'wordpress',
sort: 'price',
perPage: 20,
page: 1,
});
})();

Returns Promise<any>

undoDisableProcess

Undo disable process

Parameters

  • templateId number template ID

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/:id/undisable', token);
  const request = await service.undoDisableProcess(53001);
})();

Returns Promise<any>

undoFreezeProcess

Undo freeze process

Parameters

  • templateId number template ID

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/products/:id/unfreeze', token);
  const request = await service.undoFreezeProcess(53001);
})();

Returns Promise<any>

updateUserRatingAndTotalReviewsCount

Update user rating and total reviews count

Parameters

  • props object
    • props.templateId number Reviewed template id
    • props.reviewsAverageScore number Review score
    • props.reviewsTotal number Total amount of reviews for this template

Examples

(async () => {
  const service = new Service('http://service-products.dev/api/v1/product-listeners/update-review-counters', token);
  const request = await service.updateUserRatingAndTotalReviewsCount({
templateId: 53001,
reviewsAverageScore: 123,
reviewsTotal: 123,
});
})();

Returns Promise<any>

Package Sidebar

Install

npm i tm-service-products

Weekly Downloads

4

Version

1.4.3

License

CC-BY-4.0

Last publish

Collaborators

  • silentimp
  • shaggrath