@letsparky/api-v2-client
Version:
TypeScript client for the LetsParky API V2
125 lines (124 loc) • 5.05 kB
JavaScript
// ============================================================================
// UTILITY TYPES
// ============================================================================
Object.defineProperty(exports, "__esModule", { value: true });
exports.PaymentStatus = exports.PaymentType = exports.isISODateString = exports.isTimestamp = exports.isUUID = exports.UserStatus = exports.UserRole = exports.UserGender = exports.ParkingAreaType = exports.ParkingStatus = exports.LogLevel = exports.Environment = exports.EntityStatus = void 0;
/**
* Status types for various entities
*/
var EntityStatus;
(function (EntityStatus) {
EntityStatus["ACTIVE"] = "ACTIVE";
EntityStatus["INACTIVE"] = "INACTIVE";
EntityStatus["AVAILABLE"] = "AVAILABLE";
EntityStatus["OCCUPIED"] = "OCCUPIED";
})(EntityStatus = exports.EntityStatus || (exports.EntityStatus = {}));
var Environment;
(function (Environment) {
Environment["PRODUCTION"] = "production";
Environment["STAGING"] = "staging";
Environment["DEVELOPMENT"] = "development";
})(Environment = exports.Environment || (exports.Environment = {}));
var LogLevel;
(function (LogLevel) {
LogLevel["ERROR"] = "error";
LogLevel["WARN"] = "warn";
LogLevel["INFO"] = "info";
LogLevel["DEBUG"] = "debug";
})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
// ============================================================================
// PARKING TYPES
// ============================================================================
var ParkingStatus;
(function (ParkingStatus) {
ParkingStatus["RESERVED"] = "RESERVED";
ParkingStatus["ACTIVE"] = "ACTIVE";
ParkingStatus["COMPLETED"] = "COMPLETED";
ParkingStatus["PAID"] = "PAID";
ParkingStatus["CANCELLED"] = "CANCELLED";
ParkingStatus["ENDED"] = "ENDED";
ParkingStatus["ARCHIVED"] = "ARCHIVED";
})(ParkingStatus = exports.ParkingStatus || (exports.ParkingStatus = {}));
var ParkingAreaType;
(function (ParkingAreaType) {
ParkingAreaType["AREA"] = "AREA";
ParkingAreaType["GROUP"] = "GROUP";
ParkingAreaType["SINGLE"] = "SINGLE";
})(ParkingAreaType = exports.ParkingAreaType || (exports.ParkingAreaType = {}));
// ============================================================================
// USER TYPES
// ============================================================================
var UserGender;
(function (UserGender) {
UserGender["MALE"] = "MALE";
UserGender["FEMALE"] = "FEMALE";
UserGender["OTHER"] = "OTHER";
})(UserGender = exports.UserGender || (exports.UserGender = {}));
var UserRole;
(function (UserRole) {
UserRole["USER"] = "USER";
UserRole["SYSTEM"] = "SYSTEM";
UserRole["TENANT_ADMIN"] = "TENANT_ADMIN";
UserRole["API_USER"] = "API_USER";
})(UserRole = exports.UserRole || (exports.UserRole = {}));
var UserStatus;
(function (UserStatus) {
UserStatus["ACTIVE"] = "ACTIVE";
UserStatus["INACTIVE"] = "INACTIVE";
})(UserStatus = exports.UserStatus || (exports.UserStatus = {}));
// ============================================================================
// TYPE GUARDS AND UTILITIES
// ============================================================================
/**
* Type guard to check if a value is a valid UUID
*/
function isUUID(value) {
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
return uuidRegex.test(value);
}
exports.isUUID = isUUID;
/**
* Type guard to check if a value is a valid timestamp
*/
function isTimestamp(value) {
return Number.isInteger(value) && value > 0;
}
exports.isTimestamp = isTimestamp;
/**
* Type guard to check if a value is a valid ISO date string
*/
function isISODateString(value) {
return !isNaN(Date.parse(value));
}
exports.isISODateString = isISODateString;
// ============================================================================
// PAYMENT TYPES
// ============================================================================
/**
* Payment type enumeration
*/
var PaymentType;
(function (PaymentType) {
PaymentType["PRE_AUTH"] = "PRE_AUTH";
PaymentType["POST_AUTH"] = "POST_AUTH";
PaymentType["SALE"] = "SALE";
PaymentType["REFUND"] = "REFUND";
})(PaymentType = exports.PaymentType || (exports.PaymentType = {}));
/**
* Payment status enumeration
*/
var PaymentStatus;
(function (PaymentStatus) {
PaymentStatus["PENDING_PRE_AUTH"] = "PENDING_PRE_AUTH";
PaymentStatus["PRE_AUTH_SUCCESS"] = "PRE_AUTH_SUCCESS";
PaymentStatus["PRE_AUTH_FAILED"] = "PRE_AUTH_FAILED";
PaymentStatus["PENDING_CAPTURE"] = "PENDING_CAPTURE";
PaymentStatus["CAPTURED"] = "CAPTURED";
PaymentStatus["CAPTURE_FAILED"] = "CAPTURE_FAILED";
PaymentStatus["SALE_FAILED"] = "SALE_FAILED";
PaymentStatus["PENDING_REFUND"] = "PENDING_REFUND";
PaymentStatus["REFUND_SUCCESS"] = "REFUND_SUCCESS";
PaymentStatus["REFUND_FAILED"] = "REFUND_FAILED";
PaymentStatus["FAILED"] = "FAILED";
})(PaymentStatus = exports.PaymentStatus || (exports.PaymentStatus = {}));
;