pancake-client-sdk
Version:
Official TypeScript SDK for Pancake POS API
128 lines • 3.55 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TagResource = void 0;
const base_1 = require("./base");
class TagResource extends base_1.BaseResource {
/**
* Get list of tags
*/
async list(params) {
return this.client.get(this.getShopPath('/tags'), params);
}
/**
* Get tag by ID
*/
async getById(tagId) {
return this.client.get(this.getShopPath(`/tags/${tagId}`));
}
/**
* Create new tag
*/
async create(data) {
return this.client.post(this.getShopPath('/tags'), data);
}
/**
* Update tag
*/
async update(tagId, data) {
return this.client.put(this.getShopPath(`/tags/${tagId}`), data);
}
/**
* Delete tag
*/
async delete(tagId) {
return this.client.delete(this.getShopPath(`/tags/${tagId}`));
}
/**
* List tag groups
*/
async listGroups(type) {
return this.client.get(this.getShopPath('/tag-groups'), { type });
}
/**
* Create tag group
*/
async createGroup(data) {
return this.client.post(this.getShopPath('/tag-groups'), data);
}
/**
* Update tag group
*/
async updateGroup(groupId, data) {
return this.client.put(this.getShopPath(`/tag-groups/${groupId}`), data);
}
/**
* Delete tag group
*/
async deleteGroup(groupId) {
return this.client.delete(this.getShopPath(`/tag-groups/${groupId}`));
}
/**
* Get resource tags
*/
async getResourceTags(resourceType, resourceId) {
return this.client.get(this.getShopPath(`/${resourceType}/${resourceId}/tags`));
}
/**
* Add tags to resource
*/
async addTagsToResource(resourceType, resourceId, tagIds) {
return this.client.post(this.getShopPath(`/${resourceType}/${resourceId}/tags`), { tag_ids: tagIds });
}
/**
* Remove tag from resource
*/
async removeTagFromResource(resourceType, resourceId, tagId) {
return this.client.delete(this.getShopPath(`/${resourceType}/${resourceId}/tags/${tagId}`));
}
/**
* Get tag statistics
*/
async getStats() {
return this.client.get(this.getShopPath('/tags/stats'));
}
/**
* Bulk tag resources
*/
async bulkTag(data) {
return this.client.post(this.getShopPath('/tags/bulk'), data);
}
/**
* Get tag suggestions for resource
*/
async getSuggestions(resourceType, resourceId) {
return this.client.get(this.getShopPath(`/${resourceType}/${resourceId}/tag-suggestions`));
}
/**
* List auto-tag rules
*/
async listAutoTagRules(type) {
return this.client.get(this.getShopPath('/auto-tag-rules'), { type });
}
/**
* Create auto-tag rule
*/
async createAutoTagRule(data) {
return this.client.post(this.getShopPath('/auto-tag-rules'), data);
}
/**
* Update auto-tag rule
*/
async updateAutoTagRule(ruleId, data) {
return this.client.put(this.getShopPath(`/auto-tag-rules/${ruleId}`), data);
}
/**
* Delete auto-tag rule
*/
async deleteAutoTagRule(ruleId) {
return this.client.delete(this.getShopPath(`/auto-tag-rules/${ruleId}`));
}
/**
* Run auto-tag rules
*/
async runAutoTagRules(params) {
return this.client.post(this.getShopPath('/auto-tag-rules/run'), params || {});
}
}
exports.TagResource = TagResource;
//# sourceMappingURL=tag.js.map