autotrader-connect-api
Version:
Production-ready TypeScript wrapper for Auto Trader UK Connect APIs
138 lines • 4.8 kB
JavaScript
;
/**
* Taxonomy module for AutoTrader API
* Handles vehicle classification and taxonomy endpoints
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTaxonomyStatistics = exports.getTaxonomyHierarchy = exports.searchTaxonomy = exports.getVehicleColors = exports.getTransmissionTypes = exports.getFuelTypes = exports.getBodyTypes = exports.getPopularModels = exports.getPopularMakes = exports.getVehicleGenerations = exports.getVehicleModels = exports.getVehicleMakes = void 0;
const client_1 = __importDefault(require("../client"));
/**
* Get all vehicle makes
* @returns Promise resolving to array of vehicle makes
*/
async function getVehicleMakes() {
const response = await client_1.default.get('/taxonomy/makes');
return response.data;
}
exports.getVehicleMakes = getVehicleMakes;
/**
* Get vehicle models for a specific make
* @param makeId Make identifier
* @returns Promise resolving to array of vehicle models
*/
async function getVehicleModels(makeId) {
const response = await client_1.default.get(`/taxonomy/makes/${makeId}/models`);
return response.data;
}
exports.getVehicleModels = getVehicleModels;
/**
* Get vehicle generations for a specific model
* @param modelId Model identifier
* @returns Promise resolving to array of vehicle generations
*/
async function getVehicleGenerations(modelId) {
const response = await client_1.default.get(`/taxonomy/models/${modelId}/generations`);
return response.data;
}
exports.getVehicleGenerations = getVehicleGenerations;
/**
* Get popular vehicle makes
* @param limit Maximum number of makes to return
* @returns Promise resolving to popular makes
*/
async function getPopularMakes(limit = 20) {
const response = await client_1.default.get('/taxonomy/makes/popular', {
params: { limit },
});
return response.data;
}
exports.getPopularMakes = getPopularMakes;
/**
* Get popular models for a specific make
* @param makeId Make identifier
* @param limit Maximum number of models to return
* @returns Promise resolving to popular models
*/
async function getPopularModels(makeId, limit = 20) {
const response = await client_1.default.get(`/taxonomy/makes/${makeId}/models/popular`, {
params: { limit },
});
return response.data;
}
exports.getPopularModels = getPopularModels;
/**
* Get vehicle body types
* @returns Promise resolving to array of body types
*/
async function getBodyTypes() {
const response = await client_1.default.get('/taxonomy/body-types');
return response.data;
}
exports.getBodyTypes = getBodyTypes;
/**
* Get vehicle fuel types
* @returns Promise resolving to array of fuel types
*/
async function getFuelTypes() {
const response = await client_1.default.get('/taxonomy/fuel-types');
return response.data;
}
exports.getFuelTypes = getFuelTypes;
/**
* Get vehicle transmission types
* @returns Promise resolving to array of transmission types
*/
async function getTransmissionTypes() {
const response = await client_1.default.get('/taxonomy/transmission-types');
return response.data;
}
exports.getTransmissionTypes = getTransmissionTypes;
/**
* Get vehicle colors
* @returns Promise resolving to array of colors
*/
async function getVehicleColors() {
const response = await client_1.default.get('/taxonomy/colors');
return response.data;
}
exports.getVehicleColors = getVehicleColors;
/**
* Search taxonomy by keyword
* @param query Search query
* @param type Type of taxonomy to search
* @returns Promise resolving to search results
*/
async function searchTaxonomy(query, type) {
const response = await client_1.default.get('/taxonomy/search', {
params: { query, type: type || 'all' },
});
return response.data;
}
exports.searchTaxonomy = searchTaxonomy;
/**
* Get taxonomy hierarchy for a specific vehicle
* @param makeId Make identifier
* @param modelId Model identifier
* @param generationId Optional generation identifier
* @returns Promise resolving to taxonomy hierarchy
*/
async function getTaxonomyHierarchy(makeId, modelId, generationId) {
const response = await client_1.default.get('/taxonomy/hierarchy', {
params: { makeId, modelId, generationId },
});
return response.data;
}
exports.getTaxonomyHierarchy = getTaxonomyHierarchy;
/**
* Get taxonomy statistics
* @returns Promise resolving to taxonomy statistics
*/
async function getTaxonomyStatistics() {
const response = await client_1.default.get('/taxonomy/statistics');
return response.data;
}
exports.getTaxonomyStatistics = getTaxonomyStatistics;
//# sourceMappingURL=taxonomy.js.map