@bit-ui-libs/common
Version:
This library was generated with [Nx](https://nx.dev).
1,288 lines (1,245 loc) • 108 kB
JavaScript
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
// src/lib/api/services/base-service.ts
import axios from "axios";
var BaseService = class {
constructor(opts) {
var _a;
this.axiosInstance = (_a = opts.axiosInstance) != null ? _a : axios.create({
timeout: 15e3,
validateStatus: (status) => status >= 200 && status < 300
});
this.apiUrl = opts.apiUrl;
this.coreApiServicePrefix = "core-events";
this.coreApiUrl = `${this.apiUrl}/${this.coreApiServicePrefix}`;
}
// eslint-disable-next-line @typescript-eslint/no-empty-function
beforeQuery(params) {
return __async(this, null, function* () {
});
}
// eslint-disable-next-line @typescript-eslint/no-empty-function
beforeMutation(data) {
return __async(this, null, function* () {
});
}
// API Generic functions
// eslint-disable-next-line @typescript-eslint/no-explicit-any
get(url, params, options) {
return __async(this, null, function* () {
this.beforeQuery(params);
return this.axiosInstance.get(url, __spreadValues({ params }, options)).then((res) => res.data);
});
}
post(url, data, config) {
return __async(this, null, function* () {
this.beforeMutation(data);
return this.axiosInstance.post(url, data, config).then((res) => res.data);
});
}
put(url, data, config) {
return __async(this, null, function* () {
this.beforeMutation(data);
return this.axiosInstance.put(url, data, config).then((res) => res.data);
});
}
patch(url, data) {
return __async(this, null, function* () {
this.beforeMutation(data);
return this.axiosInstance.patch(url, data).then((res) => res.data);
});
}
delete(url, params, config) {
return __async(this, null, function* () {
this.beforeQuery(params);
return this.axiosInstance.delete(url, __spreadValues({ params }, config)).then((res) => res.data);
});
}
};
// src/lib/common/constants/application-id.ts
var APP_ID = {
CHAINIT: "chainit",
SPORTAFI: "sportafi",
ARTLOCK: "art_lock",
PAIRED: "paired",
SITESUPER: "site_super",
S2C: "s2c",
GREENLIGHT_DATA: "gld",
ANYTIME_CASH: "anytime_cash"
};
var DEFAULT_APP_ID = APP_ID.CHAINIT;
// src/lib/common/constants/common-keys.ts
var DEFAULT_ORG_ID = "00000000-0000-0000-0000-000000000000";
// src/lib/common/constants/device-levels.ts
var DEVICE_LEVELS = [
{ level: 1, label: "Stationary Kiosk on BIT Trusted Network", color: "#6BAF23", bgColor: "#d3e9bb" },
{ level: 2, label: "Floating Kiosk on BIT Trusted Network", color: "#0C682A", bgColor: "#8BE7A9" },
{ level: 3, label: "Verifed Personal Devices on Public Network", color: "#02381B", bgColor: "#81B79A" },
{ level: 4, label: "Unverifed Personal Devices on Public Network", color: "#191617", bgColor: "#989596" }
];
// src/lib/common/constants/encrypted-storage-keys.ts
var ENCRYPTED_STORAGE_KEYS = {
accessToken: "accessToken",
bitToken: "bitToken",
refreshToken: "refreshToken",
chainItNftWalletAddress: "CHAINIT_NFT_WALLET_ADDRESS",
codeVerifier: "codeVerifier",
state: "state",
sessionToken: "sessionToken",
expiresIn: "expiresIn",
idToken: "idToken",
hasProfile: "hasProfile",
introPassed: "introPassed",
deviceId: "deviceId",
mintPlatform: "mintPlatform",
isLoggingDisabled: "isLoggingDisabled",
incodeUserId: "incodeUserId",
organizationId: "organizationId",
themeMode: "themeMode",
shippingDetails: "shippingDetails",
authStep: "authStep",
authEmails: "authEmails",
incodeInterviewId: "incodeInterviewId",
incodeToken: "incodeToken",
selfCustodyWalletAddress: "selfCustodyWalletAddress",
selfCustodyWalletMnemonic: "selfCustodyWalletMnemonic",
selfCustodyWalletPrivateKey: "selfCustodyWalletPrivateKey"
};
// src/lib/common/constants/levels.ts
var BEING_ID_LEVELS = [
{ level: 1, label: "Government Witness", description: "Government-Issued ID Created" },
{ level: 2, label: "Government Real ID", description: "Government Validation Added" },
{ level: 3, label: "Secondary Government ID", description: "Multiple IDs Added" },
{ level: 4, label: "Witness Confirmation", description: "VDT Created at Kiosk" },
{ level: 5, label: "Multiple Events", description: "Higher Level Witnesses Added" },
{ level: 6, label: "Human", description: "Account Created, Biometric Template Recorded" }
];
var HARDWARE_LEVELS = [
{ level: 1, label: "Stationary Kiosk on BIT Trusted Network", color: "#6BAF23", bgColor: "#d3e9bb" },
{ level: 2, label: "Floating Kiosk on BIT Trusted Network", color: "#0C682A", bgColor: "#8BE7A9" },
{ level: 3, label: "Verifed Personal Devices on Public Network", color: "#02381B", bgColor: "#81B79A" },
{ level: 4, label: "Unverifed Personal Devices on Public Network", color: "#191617", bgColor: "#989596" }
];
// src/lib/common/enums/file-format.ts
var FileFormatEnum = /* @__PURE__ */ ((FileFormatEnum3) => {
FileFormatEnum3["CSV"] = "CSV";
FileFormatEnum3["PDF"] = "PDF";
return FileFormatEnum3;
})(FileFormatEnum || {});
// src/lib/common/enums/info-type.ts
var InfoTypeEnum = /* @__PURE__ */ ((InfoTypeEnum2) => {
InfoTypeEnum2["Who"] = "Who";
InfoTypeEnum2["What"] = "What";
InfoTypeEnum2["When"] = "When";
InfoTypeEnum2["Where"] = "Where";
return InfoTypeEnum2;
})(InfoTypeEnum || {});
// src/lib/common/enums/witness-types.ts
var WitnessTypeEnum = /* @__PURE__ */ ((WitnessTypeEnum2) => {
WitnessTypeEnum2["Witness"] = "witness";
WitnessTypeEnum2["Buyer"] = "buyer";
WitnessTypeEnum2["Seller"] = "seller";
return WitnessTypeEnum2;
})(WitnessTypeEnum || {});
// src/lib/common/interfaces/attachment.ts
var AttachmentType = /* @__PURE__ */ ((AttachmentType2) => {
AttachmentType2["TokenDocument"] = "TOKEN_DOCUMENT";
AttachmentType2["TokenPhoto"] = "TOKEN_PHOTO";
AttachmentType2["VerificationPhoto"] = "VERIFICATION_PHOTO";
AttachmentType2["WitnessPhoto"] = "WITNESS_PHOTO";
return AttachmentType2;
})(AttachmentType || {});
var AttachmentClassification = /* @__PURE__ */ ((AttachmentClassification3) => {
AttachmentClassification3["Face"] = "FACE";
AttachmentClassification3["GovtId"] = "GOVTID";
AttachmentClassification3["FaceAndGovtId"] = "FACEANDGOVTID";
AttachmentClassification3["QrCode"] = "QRCODE";
AttachmentClassification3["AssetPhoto"] = "ASSET_PHOTO";
AttachmentClassification3["AssetVerificationPhoto"] = "ASSET_VERIFICATION_PHOTO";
AttachmentClassification3["AssetWitnessPhoto"] = "ASSET_WITNESS_PHOTO";
AttachmentClassification3["ServicePhoto"] = "SERVICE_PHOTO";
AttachmentClassification3["ServiceVerificationPhoto"] = "SERVICE_VERIFICATION_PHOTO";
AttachmentClassification3["ServiceWitnessPhoto"] = "SERVICE_WITNESS_PHOTO";
AttachmentClassification3["Other"] = "OTHER";
AttachmentClassification3["AssetDocument"] = "ASSET_DOCUMENT";
AttachmentClassification3["ServiceDocument"] = "SERVICE_DOCUMENT";
return AttachmentClassification3;
})(AttachmentClassification || {});
var EAttachmentUploadStatus = /* @__PURE__ */ ((EAttachmentUploadStatus2) => {
EAttachmentUploadStatus2["New"] = "NEW";
EAttachmentUploadStatus2["Uploaded"] = "UPLOADED";
EAttachmentUploadStatus2["Error"] = "ERROR";
return EAttachmentUploadStatus2;
})(EAttachmentUploadStatus || {});
// src/lib/common/interfaces/check-in.ts
var RelationTypeEnum = /* @__PURE__ */ ((RelationTypeEnum3) => {
RelationTypeEnum3["Official"] = "CHECKIN_OFFICIAL";
RelationTypeEnum3["Witness"] = "CHECKIN_WITNESS";
RelationTypeEnum3["Inspector"] = "CHECKIN_INSPECTOR";
RelationTypeEnum3["Archive"] = "CHECKIN_ARCHIVE";
RelationTypeEnum3["Buyer"] = "CHECKIN_BUYER";
RelationTypeEnum3["Seller"] = "CHECKIN_SELLER";
RelationTypeEnum3["ChildVdt"] = "CHILD_VDT";
RelationTypeEnum3["ParentVdt"] = "PARENT_VDT";
return RelationTypeEnum3;
})(RelationTypeEnum || {});
// src/lib/common/interfaces/device.ts
var DeviceTypeIdEnum = /* @__PURE__ */ ((DeviceTypeIdEnum2) => {
DeviceTypeIdEnum2[DeviceTypeIdEnum2["STATIONARY_KIOSK"] = 1] = "STATIONARY_KIOSK";
DeviceTypeIdEnum2[DeviceTypeIdEnum2["MOBILE_KIOSK"] = 2] = "MOBILE_KIOSK";
DeviceTypeIdEnum2[DeviceTypeIdEnum2["TABLET_KIOSK"] = 3] = "TABLET_KIOSK";
DeviceTypeIdEnum2[DeviceTypeIdEnum2["PHONE"] = 4] = "PHONE";
DeviceTypeIdEnum2[DeviceTypeIdEnum2["TABLET"] = 5] = "TABLET";
return DeviceTypeIdEnum2;
})(DeviceTypeIdEnum || {});
var DeviceTypeEnum = /* @__PURE__ */ ((DeviceTypeEnum2) => {
DeviceTypeEnum2["STATIONARY_KIOSK"] = "STATIONARY_KIOSK";
DeviceTypeEnum2["MOBILE_KIOSK"] = "MOBILE_KIOSK";
DeviceTypeEnum2["TABLET_KIOSK"] = "TABLET_KIOSK";
DeviceTypeEnum2["PHONE"] = "PHONE";
DeviceTypeEnum2["TABLET"] = "TABLET";
return DeviceTypeEnum2;
})(DeviceTypeEnum || {});
// src/lib/common/interfaces/event.ts
var StepEnum = /* @__PURE__ */ ((StepEnum2) => {
StepEnum2["DATA"] = "DATA";
StepEnum2["PHOTO"] = "PHOTO";
StepEnum2["CONFIRM"] = "CONFIRM";
StepEnum2["OFFICIAL"] = "OFFICIAL";
StepEnum2["QRCODE"] = "QRCODE";
StepEnum2["RFID"] = "RFID";
StepEnum2["PRIVACY"] = "PRIVACY";
StepEnum2["WITNESS"] = "WITNESS";
StepEnum2["DOCUMENT"] = "DOCUMENT";
StepEnum2["REFERENCE_VDTS"] = "REFERENCE_VDTS";
StepEnum2["VDT_MINTED"] = "VDT_MINTED";
return StepEnum2;
})(StepEnum || {});
// src/lib/common/interfaces/ipfs.ts
var TraitTypeEnum = /* @__PURE__ */ ((TraitTypeEnum2) => {
TraitTypeEnum2["Type"] = "Type";
TraitTypeEnum2["TypeWitness"] = "Type-Witness";
TraitTypeEnum2["Who"] = "Who";
TraitTypeEnum2["WhoBiometrics"] = "Who-Biometrics";
TraitTypeEnum2["What"] = "What";
TraitTypeEnum2["When"] = "When";
TraitTypeEnum2["Where"] = "Where";
TraitTypeEnum2["WhereDevice"] = "Where-Device";
return TraitTypeEnum2;
})(TraitTypeEnum || {});
// src/lib/common/interfaces/qr.ts
var QrPackageTypeEnum = /* @__PURE__ */ ((QrPackageTypeEnum2) => {
QrPackageTypeEnum2["OBJECTS"] = "OBJECTS";
QrPackageTypeEnum2["SERVICES"] = "SERVICES";
QrPackageTypeEnum2["USERS"] = "USERS";
QrPackageTypeEnum2["USER_DEVICES"] = "USER_DEVICES";
QrPackageTypeEnum2["USER_OBJECTS"] = "USER_OBJECTS";
QrPackageTypeEnum2["USER_SERVICES"] = "USER_SERVICES";
QrPackageTypeEnum2["ORGANIZATIONS"] = "ORGANIZATIONS";
QrPackageTypeEnum2["DEVICES"] = "DEVICES";
QrPackageTypeEnum2["ORG_USERS"] = "ORG_USERS";
QrPackageTypeEnum2["ORG_DEVICES"] = "ORG_DEVICES";
QrPackageTypeEnum2["ORG_OBJECTS"] = "ORG_OBJECTS";
QrPackageTypeEnum2["ORG_SERVICES"] = "ORG_SERVICES";
QrPackageTypeEnum2["WITNESS"] = "WITNESS";
QrPackageTypeEnum2["OBJECT_WITNESSES"] = "OBJECT_WITNESSES";
QrPackageTypeEnum2["SERVICE_WITNESSES"] = "SERVICE_WITNESSES";
return QrPackageTypeEnum2;
})(QrPackageTypeEnum || {});
// src/lib/common/interfaces/subject.ts
var ReferenceType = /* @__PURE__ */ ((ReferenceType2) => {
ReferenceType2["PHONE"] = "PHONE";
ReferenceType2["DRIVERS_LICENSE"] = "DRIVERS_LICENSE";
ReferenceType2["EMPLOYEE_ID"] = "EMPLOYEE_ID";
ReferenceType2["AUTH0_IDENTITY"] = "AUTH0_IDENTITY";
ReferenceType2["END_USER_ID"] = "END_USER_ID";
ReferenceType2["ADMIN_USER_ID"] = "ADMIN_USER_ID";
return ReferenceType2;
})(ReferenceType || {});
var SubjectTypeEnum = /* @__PURE__ */ ((SubjectTypeEnum3) => {
SubjectTypeEnum3["EMPLOYEE"] = "EMPLOYEE";
SubjectTypeEnum3["DRIVER"] = "DRIVER";
SubjectTypeEnum3["USER"] = "USER";
SubjectTypeEnum3["ASSET_OWNER"] = "ASSET_OWNER";
return SubjectTypeEnum3;
})(SubjectTypeEnum || {});
// src/lib/common/interfaces/wallet.ts
var WalletPlatformEnum = /* @__PURE__ */ ((WalletPlatformEnum2) => {
WalletPlatformEnum2["Ethereum"] = "ethereum";
WalletPlatformEnum2["Polygon"] = "polygon";
return WalletPlatformEnum2;
})(WalletPlatformEnum || {});
// src/lib/common/utils/auth-utils.ts
import jwtDecode from "jwt-decode";
function getAuth0Id(claims, opts) {
return __async(this, null, function* () {
if (opts == null ? void 0 : opts.keepPrefix)
return claims.sub;
return claims.sub.replace("auth0|", "");
});
}
function getAuthEmail(claims) {
return __async(this, null, function* () {
return claims["https://blackinktech.io/schemas/claims/email"];
});
}
function isTokenExpired(token) {
try {
const claims = jwtDecode(token);
return Date.now() / 1e3 > claims.exp;
} catch (err) {
return false;
}
}
// src/lib/common/utils/create-query-params.ts
var createQueryParams = (params) => {
if (!params)
return "";
return Object.keys(params).filter((k) => typeof params[k] !== "undefined").map((k) => {
const value = params[k];
if (Array.isArray(value)) {
if (value.length === 0)
return "";
return encodeURIComponent(k) + "=" + encodeURIComponent(value.join(","));
} else if (typeof value === "object") {
return encodeURIComponent(k) + "=" + JSON.stringify(value);
}
return encodeURIComponent(k) + "=" + encodeURIComponent(value);
}).join("&");
};
// src/lib/common/utils/debounce.ts
var debounce = (fn, ms = 300) => {
let timeoutId;
return function(...args) {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => fn.apply(this, args), ms);
};
};
// src/lib/common/utils/format-date.ts
function formatDate(date) {
return new Date(date).toLocaleDateString("en-US", {
day: "2-digit",
month: "2-digit",
year: "numeric",
hour: "numeric",
minute: "2-digit"
});
}
// src/lib/common/utils/format-number.ts
function formatNumber(n) {
const sanitizedValue = n.replace(/[^0-9.]/g, "").replace(/^0+(?=\d)/, "");
const parts = sanitizedValue.toString().split(".");
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
return parts.join(".");
}
// src/lib/common/utils/get-error-message.ts
import axios2 from "axios";
function getErrorMessage(err) {
var _a, _b, _c, _d;
if (!err)
return "";
if (axios2.isAxiosError(err) || (err == null ? void 0 : err.response)) {
const axiosError = err;
const message = (_b = (_a = axiosError.response) == null ? void 0 : _a.data) == null ? void 0 : _b.message;
if (typeof message === "string") {
return message;
} else if (typeof message === "object") {
if (Array.isArray(message) && message.every((m) => typeof m === "string")) {
return message.join(", ");
}
let fatalErrorMessage = JSON.stringify(message);
const details = (_d = (_c = axiosError.response) == null ? void 0 : _c.data) == null ? void 0 : _d.error;
if (details)
fatalErrorMessage = details + fatalErrorMessage;
return fatalErrorMessage;
} else if (axiosError.message) {
return axiosError.message;
}
}
if (err && typeof err === "object" && "status" in err && "data" in err) {
if (Object.prototype.hasOwnProperty.call(err.data, "message")) {
return err.data.message;
}
}
if (err instanceof Error) {
const error = err;
return error.message;
}
if (Object.prototype.hasOwnProperty.call(err, "message")) {
return err.message;
}
if (typeof err === "string") {
return err;
}
return "Unknown error";
}
// src/lib/common/utils/make-sample-geolocation.ts
function makeSampleGeolocation() {
return { latitude: 0, longitude: 0, meanSeaLevel: 0 };
}
// src/lib/common/utils/make-sample-weather-data.ts
function makeSampleWeatherData() {
return {
AbsHumidity: 0,
AirDensity: 0,
AvgCorrectedWindDir: 0,
AvgCorrectedWindSpeed: 0,
AvgRelativeWindDir: 0,
AvgRelativeWindSpeed: 0,
CompassHeading: 0,
CorrectedGustDirection: 0,
CorrectedGustSpeed: 0,
CorrectedWindDir: 0,
CorrectedWindSpeed: 0.92,
Dewpoint: 75.2,
GPSHeading: "",
GPSLocation: "+32.843528:-080.015936:+0017.50",
GPSSpeedOverGround: "",
GPSStatusError: false,
HeatIndex: 0,
PositionOfTheSun: 0,
PrecipIntensity: "",
RainPresent: false,
Pressure: 1019.7,
PressureAtSeaLevel: 0,
PressureAtStation: 0,
RelGustDir: 0,
RelGustSpeed: 0,
RelHumidity: 84,
RelWindDir: 241,
RelWindSpeed: 0.92,
SensorStatusError: false,
SolarNoonTime: "",
SolarRadiation: "0001",
SunriseTime: "",
SunsetTime: "",
SunshineHours: 0,
Temperature: 80.4,
TotalPrecip: "00000.000",
TwilightAstronomical: "",
TwilightCivil: "",
TwilightNautical: "",
WetBulbTemperature: 0,
WindChill: 0,
WindSensorError: false,
XTilt: 0,
YTilt: 0,
ZOrientation: ""
};
}
// src/lib/asset/asset-attachment.utils.ts
function getAttachmentLink(opts) {
const params = {
thumb: opts.thumb ? "true" : void 0,
bit_token: opts.bitToken,
access_token: opts.accessToken
};
return `${opts.apiUrl}/core-events/v1/chain-assets/attachments/${opts.id}/view?${createQueryParams(params)}`;
}
function createAndUploadAttachments(opts) {
return __async(this, null, function* () {
var _a;
const { service, chainApiUrl, req } = opts;
const { eventId, req: input, onUpload } = req;
const docs = input.docs.map((d) => __spreadProps(__spreadValues({}, d), { data: void 0 }));
const initializeInput = __spreadProps(__spreadValues({}, input), { docs });
const initializedAttachments = yield service.post(
`${chainApiUrl}/${eventId}/attachments`,
initializeInput
);
const updatedDocs = [];
let i = 0;
for (const d of input.docs) {
onUpload == null ? void 0 : onUpload(i + 1, input.docs.length);
const req2 = {
application: input.application,
docs: [
{
mimeType: d.mimeType,
docType: d.docType,
classification: d.classification,
docId: initializedAttachments[i].docId,
name: d.name,
description: d.description,
data: (_a = d.data) != null ? _a : "",
isMain: d.isMain
}
]
};
yield service.put(`${chainApiUrl}/${eventId}/attachments`, req2, {
onUploadProgress: (e) => console.log("Upload attachment progress:", e)
});
i++;
updatedDocs.push(req2.docs[0]);
}
return updatedDocs;
});
}
// src/lib/asset/asset.service.utils.ts
function makeGetAssetsParams(req) {
var _a, _b, _c, _d;
return __spreadProps(__spreadValues({}, req), {
$orderBy: (_a = req == null ? void 0 : req.$orderBy) != null ? _a : "createdAt",
$order: (_b = req == null ? void 0 : req.$order) != null ? _b : "desc",
$page: (_c = req == null ? void 0 : req.$page) != null ? _c : 1,
$perPage: (_d = req == null ? void 0 : req.$perPage) != null ? _d : 10
});
}
// src/lib/asset/asset.service.ts
var AssetService = class extends BaseService {
constructor(opts) {
super(opts);
this.assetApiUrl = `${this.apiUrl}/assets/v1/${opts == null ? void 0 : opts.route}`;
}
list(req = {}) {
return this.get(this.assetApiUrl, makeGetAssetsParams(req));
}
listPublic(req = {}) {
return this.get(`${this.assetApiUrl}/tokens-public`, makeGetAssetsParams(req));
}
favorites(req = {}) {
return this.get(`${this.assetApiUrl}/list-favorite`, makeGetAssetsParams(req));
}
listGroup() {
return this.get(`${this.assetApiUrl}/group`);
}
listCategories(req = {}) {
return this.get(`${this.apiUrl}/assets/v1/asset-category/list`, req);
}
searchCategories(req = {}) {
return this.get(`${this.apiUrl}/assets/v1/asset-category`, req);
}
getCategoryByName(name) {
return this.get(`${this.apiUrl}/assets/v1/asset-category?name=${name}`);
}
getCategoryById(categoryId, headers) {
return this.get(`${this.apiUrl}/assets/v1/asset-category/${categoryId}`, void 0, { headers });
}
searchAssetTypes(req = {}) {
return this.get(`${this.apiUrl}/assets/v1/asset-type`, req);
}
listAssetTypes(req = {}) {
return this.get(`${this.apiUrl}/assets/v1/asset-type/list`, req);
}
getActiveAssetTemplate(req, headers) {
return this.get(`${this.apiUrl}/assets/v1/asset-template/activated`, req, { headers });
}
getAssetType(assetTypeId, headers) {
return this.get(`${this.apiUrl}/assets/v1/asset-type/${assetTypeId}`, void 0, { headers });
}
getAssetTypeSteps(assetTypeId) {
return this.get(`${this.apiUrl}/assets/v1/asset-type/${assetTypeId}/steps`);
}
share(eventId, data) {
return this.post(`${this.assetApiUrl}/${eventId}/share`, data);
}
witnesses(req = {}) {
return this.get(`${this.assetApiUrl}/witnesses`, req);
}
witnessesPublic(req = {}) {
return this.get(`${this.assetApiUrl}/witnesses-public`, req);
}
addReferenceVdt(req) {
return this.post(`${this.assetApiUrl}/reference-vdt`, req);
}
createListing(props) {
return this.post(`${this.assetApiUrl}/listing`, props);
}
getAssetChainDetails(eventId) {
return this.get(`${this.apiUrl}/core-events/v1/chain-assets/${eventId}`);
}
getOwnershipHistory(req = {}) {
const query = createQueryParams(__spreadValues({ assetName: req.name }, req));
return this.get(`${this.assetApiUrl}/ownership-history?${query}`);
}
getAssociatedAssets(req = {}) {
return this.get(`${this.apiUrl}/assets/v1/asset/tokens-public`, req);
}
vdtReport(fileFormat) {
return this.get(`${this.apiUrl}/assets/v1/asset/collection-report`, { fileFormat });
}
};
// src/lib/asset/asset.service.interfaces.ts
var chainServiceStatuses = ["INFO", "PHOTO", "OFFICIALS", "QRCODE", "RFID", "WITNESS", "MINTED"];
// src/lib/asset/constants.ts
var ASSET_STEPS = [
"DATA" /* DATA */,
"PHOTO" /* PHOTO */,
"OFFICIAL" /* OFFICIAL */,
"QRCODE" /* QRCODE */,
"RFID" /* RFID */,
"PRIVACY" /* PRIVACY */,
"WITNESS" /* WITNESS */
];
var assetStatuses = ["INFO", "PHOTO", "OFFICIALS", "QRCODE", "RFID", "WITNESS", "MINTED"];
var SKIPPABLE_ASSET_STEPS = ["RFID" /* RFID */, "OFFICIAL" /* OFFICIAL */, "WITNESS" /* WITNESS */, "CONFIRM" /* CONFIRM */];
var ASSET_STATUSES = [
"CREATED",
"PHOTO_ADDED_STARTED",
"PHOTO_ADDED_FAILED",
"PHOTO_ADDED",
"OFFICIAL_VERIFYING_STARTED",
"OFFICIAL_VERIFYING_FAILED",
"OFFICIAL_VERIFIED",
"QR_BINDING_STARTED",
"QR_BINDING_FAILED",
"QR_BOUND",
"RFID_BINDING_STARTED",
"RFID_BINDING_FAILED",
"RFID_BOUND",
"PRIVACY_STARTED",
"PRIVACY_FAILED",
"PRIVACY_DONE",
"REGISTERING_STARTED",
"REGISTERING_FAILED",
"REGISTERED",
"MINTING_STARTED",
"MINTING_FAILED",
"MINTED",
"INCOMPLETE",
"COMPLETED"
];
var CategoryStatusEnum = /* @__PURE__ */ ((CategoryStatusEnum2) => {
CategoryStatusEnum2["Normal"] = "NORMAL";
CategoryStatusEnum2["Fixed"] = "FIXED";
return CategoryStatusEnum2;
})(CategoryStatusEnum || {});
// src/lib/asset/interfaces/chain-type-enum.ts
var ChainTypeEnum = /* @__PURE__ */ ((ChainTypeEnum2) => {
ChainTypeEnum2["Objects"] = "OBJECTS";
ChainTypeEnum2["Services"] = "SERVICES";
ChainTypeEnum2["Files"] = "FILES";
ChainTypeEnum2["OrgObjects"] = "ORG-OBJECTS";
ChainTypeEnum2["OrgServices"] = "ORG-SERVICES";
ChainTypeEnum2["OrgFiles"] = "ORG-FILES";
return ChainTypeEnum2;
})(ChainTypeEnum || {});
var ReportTypeEnum = /* @__PURE__ */ ((ReportTypeEnum2) => {
ReportTypeEnum2["Seller"] = "Seller";
ReportTypeEnum2["Buyer"] = "Buyer";
return ReportTypeEnum2;
})(ReportTypeEnum || {});
var FileTypeEnum = /* @__PURE__ */ ((FileTypeEnum2) => {
FileTypeEnum2["PDF"] = "PDF";
FileTypeEnum2["CSV"] = "CSV";
return FileTypeEnum2;
})(FileTypeEnum || {});
var AssetStatusEnum = /* @__PURE__ */ ((AssetStatusEnum2) => {
AssetStatusEnum2["CREATED"] = "CREATED";
AssetStatusEnum2["PHOTO_ADDED_STARTED"] = "PHOTO_ADDED_STARTED";
AssetStatusEnum2["PHOTO_ADDED_FAILED"] = "PHOTO_ADDED_FAILED";
AssetStatusEnum2["PHOTO_ADDED"] = "PHOTO_ADDED";
AssetStatusEnum2["DOCUMENT_ADDED_STARTED"] = "DOCUMENT_ADDED_STARTED";
AssetStatusEnum2["DOCUMENT_ADDED_FAILED"] = "DOCUMENT_ADDED_FAILED";
AssetStatusEnum2["DOCUMENT_ADDED"] = "DOCUMENT_ADDED";
AssetStatusEnum2["OFFICIAL_VERIFYING_STARTED"] = "OFFICIAL_VERIFYING_STARTED";
AssetStatusEnum2["OFFICIAL_VERIFYING_FAILED"] = "OFFICIAL_VERIFYING_FAILED";
AssetStatusEnum2["OFFICIAL_VERIFIED"] = "OFFICIAL_VERIFIED";
AssetStatusEnum2["QR_BINDING_STARTED"] = "QR_BINDING_STARTED";
AssetStatusEnum2["QR_BINDING_FAILED"] = "QR_BINDING_FAILED";
AssetStatusEnum2["QR_BOUND"] = "QR_BOUND";
AssetStatusEnum2["RFID_BINDING_STARTED"] = "RFID_BINDING_STARTED";
AssetStatusEnum2["RFID_BINDING_FAILED"] = "RFID_BINDING_FAILED";
AssetStatusEnum2["RFID_BOUND"] = "RFID_BOUND";
AssetStatusEnum2["PRIVACY_STARTED"] = "PRIVACY_STARTED";
AssetStatusEnum2["PRIVACY_FAILED"] = "PRIVACY_FAILED";
AssetStatusEnum2["PRIVACY_DONE"] = "PRIVACY_DONE";
AssetStatusEnum2["WITNESS_VERIFYING_STARTED"] = "WITNESS_VERIFYING_STARTED";
AssetStatusEnum2["WITNESS_VERIFYING_FAILED"] = "WITNESS_VERIFYING_FAILED";
AssetStatusEnum2["WITNESS_VERIFIED"] = "WITNESS_VERIFIED";
AssetStatusEnum2["REGISTERING_STARTED"] = "REGISTERING_STARTED";
AssetStatusEnum2["REGISTERING_FAILED"] = "REGISTERING_FAILED";
AssetStatusEnum2["REGISTERED"] = "REGISTERED";
AssetStatusEnum2["MINTING_STARTED"] = "MINTING_STARTED";
AssetStatusEnum2["MINTING_FAILED"] = "MINTING_FAILED";
AssetStatusEnum2["MINTED"] = "MINTED";
AssetStatusEnum2["REFERENCE_VDTS_STARTED"] = "REFERENCE_VDTS_STARTED";
AssetStatusEnum2["REFERENCE_VDTS_FAILED"] = "REFERENCE_VDTS_FAILED";
AssetStatusEnum2["REFERENCE_VDTS_COMPLETED"] = "REFERENCE_VDTS_COMPLETED";
AssetStatusEnum2["CONFIRMED"] = "CONFIRMED";
return AssetStatusEnum2;
})(AssetStatusEnum || {});
// src/lib/asset/interfaces/customer-base.ts
var RelationsTypeEnum = /* @__PURE__ */ ((RelationsTypeEnum2) => {
RelationsTypeEnum2["CHECKIN_OFFICIAL"] = "CHECKIN_OFFICIAL";
RelationsTypeEnum2["CHECKIN_WITNESS"] = "CHECKIN_WITNESS";
RelationsTypeEnum2["CHECKIN_INSPECTOR"] = "CHECKIN_INSPECTOR";
RelationsTypeEnum2["CHECKIN_BUYER"] = "CHECKIN_BUYER";
RelationsTypeEnum2["CHECKIN_SELLER"] = "CHECKIN_SELLER";
RelationsTypeEnum2["PARENT_VDT"] = "PARENT_VDT";
RelationsTypeEnum2["CHILD_VDT"] = "CHILD_VDT";
return RelationsTypeEnum2;
})(RelationsTypeEnum || {});
var AssetLevelEnum = /* @__PURE__ */ ((AssetLevelEnum2) => {
AssetLevelEnum2["A_PLUS"] = "A+";
AssetLevelEnum2["A"] = "A";
AssetLevelEnum2["A_MINUS"] = "A-";
AssetLevelEnum2["B_PLUS"] = "B+";
AssetLevelEnum2["B"] = "B";
AssetLevelEnum2["B_MINUS"] = "B-";
AssetLevelEnum2["C_PLUS"] = "C+";
AssetLevelEnum2["C"] = "C";
AssetLevelEnum2["C_MINUS"] = "C-";
return AssetLevelEnum2;
})(AssetLevelEnum || {});
var VerifyType = /* @__PURE__ */ ((VerifyType2) => {
VerifyType2["NOT_VERIFIED"] = "notVerified";
VerifyType2["OFFICIAL_VERIFIED"] = "verifiedByOfficial";
VerifyType2["SELF_VERIFIED"] = "selfVerified";
return VerifyType2;
})(VerifyType || {});
// src/lib/asset/interfaces/i-chain.service.ts
var LocationAccuracy = /* @__PURE__ */ ((LocationAccuracy2) => {
LocationAccuracy2["Exact"] = "exact";
LocationAccuracy2["City"] = "city";
LocationAccuracy2["State"] = "state";
LocationAccuracy2["Country"] = "country";
return LocationAccuracy2;
})(LocationAccuracy || {});
// src/lib/asset/interfaces/verify-type-enum.ts
var VerifyTypeEnum = /* @__PURE__ */ ((VerifyTypeEnum2) => {
VerifyTypeEnum2["NOT_VERIFIED"] = "notVerified";
VerifyTypeEnum2["OFFICIAL_VERIFIED"] = "verifiedByOfficial";
VerifyTypeEnum2["OFFICIAL_REJECTED"] = "rejectedByOfficial";
VerifyTypeEnum2["SELF_VERIFIED"] = "selfVerified";
return VerifyTypeEnum2;
})(VerifyTypeEnum || {});
// src/lib/asset/interfaces/ownership-history.ts
var EOrderStatus = /* @__PURE__ */ ((EOrderStatus2) => {
EOrderStatus2["Created"] = "CREATED";
EOrderStatus2["ShippingInfo"] = "SHIPPING_INFO";
EOrderStatus2["PaymentCompleted"] = "PAYMENT_COMPLETED";
EOrderStatus2["PaymentFailed"] = "PAYMENT_FAILED";
EOrderStatus2["Confirmed"] = "CONFIRMED";
EOrderStatus2["Canceled"] = "CANCELED";
EOrderStatus2["OrderShipped"] = "ORDER_SHIPPED";
EOrderStatus2["OrderDelivered"] = "ORDER_DELIVERED";
EOrderStatus2["OwnershipTransferStarted"] = "OWNERSHIP_TRANSFER_STARTED";
EOrderStatus2["OwnershipTransferCompleted"] = "OWNERSHIP_TRANSFER_COMPLETED";
EOrderStatus2["OwnershipTransferFailed"] = "OWNERSHIP_TRANSFER_FAILED";
EOrderStatus2["OrderUndelivered"] = "ORDER_UNDELIVERED";
EOrderStatus2["OrderSuccess"] = "ORDER_SUCCESS";
EOrderStatus2["Return"] = "RETURN";
EOrderStatus2["ReturnShipped"] = "RETURN_SHIPPED";
EOrderStatus2["ReturnDelivered"] = "RETURN_DELIVERED";
EOrderStatus2["ReturnUndelivered"] = "RETURN_UNDELIVERED";
EOrderStatus2["Refund"] = "REFUND";
EOrderStatus2["RefundCompleted"] = "REFUND_COMPLETED";
EOrderStatus2["RefundFailed"] = "REFUND_FAILED";
return EOrderStatus2;
})(EOrderStatus || {});
// src/lib/asset/asset.utils.ts
function getAssetStatusIndex(status) {
return ASSET_STATUSES.indexOf(status);
}
function isAssetStatusBefore(currentStatus, targetStatus) {
return getAssetStatusIndex(currentStatus) < getAssetStatusIndex(targetStatus);
}
function isAssetStatusAfter(currentStatus, targetStatus) {
return getAssetStatusIndex(currentStatus) > getAssetStatusIndex(targetStatus);
}
function isAssetStatusFinished(currentStatus, targetStatus) {
return getAssetStatusIndex(currentStatus) >= getAssetStatusIndex(targetStatus);
}
function getAssetVerifyStatus(a) {
if (isAssetStatusFinished(a.status, "OFFICIAL_VERIFIED") && a.serializedSteps.find((sc) => sc.step === "OFFICIAL" /* OFFICIAL */ && sc.finished === true) && a.status !== "OFFICIAL_VERIFYING_FAILED") {
return "verifiedByOfficial" /* OFFICIAL_VERIFIED */;
}
if (isAssetStatusFinished(a.status, "OFFICIAL_VERIFIED") && a.serializedSteps.find((sc) => sc.step === "OFFICIAL" /* OFFICIAL */ && sc.finished === false) && a.status !== "OFFICIAL_VERIFYING_FAILED") {
return "selfVerified" /* SELF_VERIFIED */;
}
if (isAssetStatusBefore(a.status, "OFFICIAL_VERIFYING_STARTED")) {
return "notVerified" /* NOT_VERIFIED */;
}
return "notVerified" /* NOT_VERIFIED */;
}
function getAssetVerifyStatusBySteps(a) {
var _a, _b, _c;
if (((_a = a.serializedSteps) == null ? void 0 : _a.find((sc) => sc.step === "OFFICIAL" /* OFFICIAL */ && sc.finished === true)) && a.status !== "OFFICIAL_VERIFYING_FAILED") {
if (getAssetVerifyRejected(a.witness))
return "verifiedByOfficial" /* OFFICIAL_VERIFIED */;
return "rejectedByOfficial" /* OFFICIAL_REJECTED */;
}
if (((_b = a.serializedSteps) == null ? void 0 : _b.find((sc) => sc.step === "OFFICIAL" /* OFFICIAL */ && sc.finished === false)) && a.status !== "OFFICIAL_VERIFYING_FAILED") {
return "selfVerified" /* SELF_VERIFIED */;
}
if (!((_c = a.serializedSteps) == null ? void 0 : _c.find((sc) => sc.step === "OFFICIAL" /* OFFICIAL */)))
return "selfVerified" /* SELF_VERIFIED */;
return "notVerified" /* NOT_VERIFIED */;
}
function getAssetVerifyRejected(data) {
const witness = Array.isArray(data) ? data.sort((a, b) => new Date(a.updatedAt).getTime() - new Date(b.updatedAt).getTime()).pop() : { approved: false };
return witness.approved;
}
// src/lib/asset/chain-asset/chain-asset.service.ts
var ChainAssetService = class extends BaseService {
constructor(opts) {
super(opts);
this.chainApiUrl = `${this.apiUrl}/${this.coreApiServicePrefix}/v1/chain-assets`;
}
create(req) {
return this.post(this.chainApiUrl, req);
}
createAttachments(req) {
return createAndUploadAttachments({ service: this, chainApiUrl: this.chainApiUrl, req });
}
createQrAttachment(eventId, req) {
return this.post(`${this.chainApiUrl}/${eventId}/qr`, req);
}
getEvent(eventId) {
return this.get(`${this.chainApiUrl}/${eventId}`);
}
getChildEvents(eventId) {
return this.get(`${this.chainApiUrl}/${eventId}/child-events`);
}
getDetailsByEvent(eventId) {
return this.get(`${this.apiUrl}/assets/v1/asset/${eventId}/event`);
}
getDetails(assetId) {
return this.get(`${this.apiUrl}/assets/v1/asset/${assetId}`);
}
assetByQr(qrId) {
return this.get(`${this.coreApiUrl}/v1/qrcode/${qrId}/asset-info`);
}
eventPublicByQr(qrId) {
return this.get(`${this.coreApiUrl}/v1/qrcode/${qrId}/asset-info-public`);
}
getAttachmentImageUrl(attachmentId, thumb) {
const query = createQueryParams({ thumb: thumb ? "true" : void 0 });
return `${this.chainApiUrl}/attachments/${attachmentId}/view?${query}`;
}
getWitnesses(req) {
const query = createQueryParams(__spreadValues({ assetId: req.id, assetName: req.name }, req));
return this.get(`${this.apiUrl}/assets/v1/witness/witnesses-asset?${query}`);
}
update(eventId, req) {
return this.put(`${this.chainApiUrl}/${eventId}/details`, req);
}
updateMetadata(eventId, req) {
return this.post(`${this.chainApiUrl}/${eventId}/metadata`, req);
}
updateLocationPrivacy(eventId, req) {
return this.patch(`${this.chainApiUrl}/${eventId}/privacy`, req);
}
linkQr(qrId, req) {
return this.put(`${this.coreApiUrl}/v1/qrcode/${qrId}/link`, req);
}
generateQr(req) {
return this.post(`${this.coreApiUrl}/v1/qrcode/system-generated`, req);
}
deleteAttachments(attId) {
return this.delete(`${this.chainApiUrl}/${attId}/attachments`);
}
addReferenceVdt(req) {
return this.post(
`${this.apiUrl}/assets/v1/asset/reference-vdt`,
req
);
}
updateAttachments(eventId, req) {
return this.put(
`${this.chainApiUrl}/${eventId}/attachments`,
req
);
}
updateConfirmStatus(eventId) {
return this.patch(`${this.apiUrl}/assets/v1/asset/${eventId}/confirm`, {});
}
deleteReferenceVdt(id, qrCodeRefId) {
return this.delete(`${this.apiUrl}/assets/v1/asset/${id}/reference-vdt/${qrCodeRefId}`);
}
eventByQr(qrId) {
return this.get(`${this.coreApiUrl}/v1/qrcode/${qrId}/event-info`);
}
updateFavorite(req) {
return this.patch(`${this.chainApiUrl}/favorite`, req);
}
share(eventId, data) {
return this.post(`${this.apiUrl}/assets/v1/asset/${eventId}/share`, data);
}
};
// src/lib/asset/chain-asset/chain-asset.utils.ts
function makeCreateAttachmentsRequest(opts) {
var _a, _b, _c, _d, _e, _f, _g, _h;
return {
eventId: opts.eventId,
req: {
application: { id: (_a = opts.appId) != null ? _a : DEFAULT_APP_ID },
docs: (_b = opts.docs) != null ? _b : [],
eventId: opts.eventId,
device: {
date: (/* @__PURE__ */ new Date()).toISOString(),
deviceId: (_c = opts == null ? void 0 : opts.deviceId) != null ? _c : "",
deviceName: (_d = opts == null ? void 0 : opts.deviceName) != null ? _d : "",
geolocation: (_e = opts == null ? void 0 : opts.geolocation) != null ? _e : makeSampleGeolocation(),
ipAddress: (_f = opts == null ? void 0 : opts.ipAddress) != null ? _f : "",
deviceType: (_g = opts == null ? void 0 : opts.deviceType) != null ? _g : "PHONE" /* PHONE */
}
},
chainType: (_h = opts.chainType) != null ? _h : ""
};
}
function makeCreateQrAttachmentRequest(opts) {
var _a, _b, _c, _d, _e, _f;
return {
application: { id: (_a = opts == null ? void 0 : opts.appId) != null ? _a : DEFAULT_APP_ID },
device: {
date: (/* @__PURE__ */ new Date()).toISOString(),
deviceId: (_b = opts.deviceId) != null ? _b : "",
deviceName: (_c = opts.deviceName) != null ? _c : "",
deviceType: (_d = opts.deviceType) != null ? _d : "PHONE" /* PHONE */,
geolocation: (_e = opts.geolocation) != null ? _e : makeSampleGeolocation(),
ipAddress: (_f = opts == null ? void 0 : opts.ipAddress) != null ? _f : ""
},
docs: [
{
docType: "PHOTO",
classification: "QRCODE" /* QrCode */,
data: opts.qrImageBase64
}
]
};
}
// src/lib/asset/chain-service/chain-service.service.ts
var ChainServiceService = class extends BaseService {
constructor(opts) {
super(opts);
this.chainApiUrl = `${this.apiUrl}/${this.coreApiServicePrefix}/v1/chain-services`;
}
create(req) {
return this.post(this.chainApiUrl, req);
}
createAttachments(req) {
return createAndUploadAttachments({ service: this, chainApiUrl: this.chainApiUrl, req });
}
createQrAttachment(eventId, req) {
return this.post(`${this.chainApiUrl}/${eventId}/qr`, req);
}
getEvent(eventId) {
return this.get(`${this.chainApiUrl}/${eventId}`);
}
getChildEvents(eventId) {
return this.get(`${this.chainApiUrl}/${eventId}/child-events`);
}
getDetailsByEvent(eventId) {
return this.get(`${this.apiUrl}/assets/v1/service/${eventId}/event`);
}
getDetails(serviceId) {
return this.get(`${this.apiUrl}/assets/v1/service/${serviceId}`);
}
assetByQr(qrId) {
return this.get(`${this.coreApiUrl}/v1/qrcode/${qrId}/service-info`);
}
getAttachmentImageUrl(attachmentId, thumb) {
const query = createQueryParams({ thumb: thumb ? "true" : void 0 });
return `${this.chainApiUrl}/attachments/${attachmentId}/view?${query}`;
}
getWitnesses(req) {
const query = createQueryParams(__spreadValues({ serviceId: req.id, serviceName: req.name }, req));
return this.get(`${this.apiUrl}/assets/v1/witness/witnesses-service?${query}`);
}
update(eventId, req) {
return this.put(`${this.chainApiUrl}/${eventId}/details`, req);
}
updateMetadata(eventId, req) {
return this.post(`${this.chainApiUrl}/${eventId}/metadata`, req);
}
updateLocationPrivacy(eventId, req) {
return this.patch(`${this.chainApiUrl}/${eventId}/privacy`, req);
}
linkQr(qrId, req) {
return this.put(`${this.coreApiUrl}/v1/qrcode/${qrId}/link`, req);
}
generateQr(req) {
return this.post(`${this.coreApiUrl}/v1/qrcode/system-generated`, req);
}
deleteAttachments(attachmentId) {
return this.delete(`${this.chainApiUrl}/${attachmentId}/attachments`);
}
addReferenceVdt(req) {
return this.post(
`${this.apiUrl}/assets/v1/service/reference-vdt`,
req
);
}
updateAttachments(eventId, req) {
return this.put(
`${this.chainApiUrl}/${eventId}/attachments`,
req
);
}
updateConfirmStatus(eventId) {
return this.post(`${this.apiUrl}/assets/v1/service/${eventId}/confirm`, {});
}
deleteReferenceVdt(id, qrCodeRefId) {
return this.delete(`${this.apiUrl}/assets/v1/service/${id}/reference-vdt/${qrCodeRefId}`);
}
getS2CEventByQrId(qrId, vdtType, orgId) {
const query = createQueryParams({ vdtType, orgId });
return this.get(`${this.apiUrl}/assets/v1/service/s2c/qr/${qrId}?${query}`);
}
eventByQr(qrId) {
return this.get(`${this.coreApiUrl}/v1/qrcode/${qrId}/event-info`);
}
updateFavorite(req) {
return this.patch(`${this.chainApiUrl}/favorite`, req);
}
share(eventId, data) {
return this.post(`${this.apiUrl}/assets/v1/service/${eventId}/share`, data);
}
};
// src/lib/asset/chain.utils.ts
var ChainUtils = class _ChainUtils {
static getName(data) {
var _a, _b;
if ("assetName" in data)
return (_a = data.assetName) != null ? _a : "";
if ("serviceName" in data)
return (_b = data.serviceName) != null ? _b : "";
return "";
}
static getNameFromProperties(props) {
var _a, _b, _c, _d, _e, _f, _g, _h;
if (props.some((p) => "isAssetName" in p)) {
const assetData = props;
return (_d = (_c = (_a = assetData.find((p) => p.isAssetName)) == null ? void 0 : _a.value) != null ? _c : (_b = assetData.find((p) => p.value !== "")) == null ? void 0 : _b.value) != null ? _d : "";
}
if (props.some((p) => "isServiceName" in p)) {
const serviceData = props;
return (_h = (_g = (_e = serviceData.find((p) => p.isServiceName)) == null ? void 0 : _e.value) != null ? _g : (_f = serviceData.find((p) => p.value !== "")) == null ? void 0 : _f.value) != null ? _h : "";
}
return "";
}
static getCategories(data) {
var _a, _b;
if ("assetCategory" in data)
return (_a = data.assetCategory) != null ? _a : [];
if ("serviceCategory" in data)
return (_b = data.serviceCategory) != null ? _b : [];
return [];
}
static getProperties(data) {
var _a, _b;
if ("assetProperties" in data)
return (_a = data.assetProperties) != null ? _a : [];
if ("serviceProperties" in data)
return (_b = data.serviceProperties) != null ? _b : [];
return [];
}
static getMimeType(mimeType) {
return mimeType === "application/pdf" ? "TOKEN_DOCUMENT" /* TokenDocument */ : "TOKEN_PHOTO" /* TokenPhoto */;
}
static findMainPhotoByTypeClass(opts) {
var _a;
const { photos, chainType, attachmentType } = opts;
return (_a = photos == null ? void 0 : photos.filter(
(p) => p.classification === _ChainUtils.getAttachmentClassification(chainType, attachmentType) && p.isMain
)) == null ? void 0 : _a.pop();
}
static getAttachmentClassification(chainType, attachmentType) {
var _a;
const classifications = {
["TOKEN_DOCUMENT" /* TokenDocument */]: {
["SERVICES" /* Services */]: "SERVICE_DOCUMENT" /* ServiceDocument */,
["OBJECTS" /* Objects */]: "ASSET_DOCUMENT" /* AssetDocument */,
["FILES" /* Files */]: "ASSET_DOCUMENT" /* AssetDocument */
},
["TOKEN_PHOTO" /* TokenPhoto */]: {
["SERVICES" /* Services */]: "SERVICE_PHOTO" /* ServicePhoto */,
["OBJECTS" /* Objects */]: "ASSET_PHOTO" /* AssetPhoto */,
["FILES" /* Files */]: "ASSET_PHOTO" /* AssetPhoto */
},
["VERIFICATION_PHOTO" /* VerificationPhoto */]: {
["SERVICES" /* Services */]: "SERVICE_VERIFICATION_PHOTO" /* ServiceVerificationPhoto */,
["OBJECTS" /* Objects */]: "ASSET_VERIFICATION_PHOTO" /* AssetVerificationPhoto */,
["FILES" /* Files */]: "ASSET_VERIFICATION_PHOTO" /* AssetVerificationPhoto */
},
["WITNESS_PHOTO" /* WitnessPhoto */]: {
["SERVICES" /* Services */]: "SERVICE_WITNESS_PHOTO" /* ServiceWitnessPhoto */,
["OBJECTS" /* Objects */]: "ASSET_WITNESS_PHOTO" /* AssetWitnessPhoto */,
["FILES" /* Files */]: "ASSET_WITNESS_PHOTO" /* AssetWitnessPhoto */
}
};
return ((_a = classifications[attachmentType]) == null ? void 0 : _a[chainType]) || null;
}
static getType(data) {
var _a, _b, _c, _d, _e, _f;
let name = "";
let id = "";
if ("assetType" in data) {
const assetData = data;
id = (_b = (_a = assetData.metadata) == null ? void 0 : _a.assetTypeId) != null ? _b : "";
name = (_c = assetData.assetType) != null ? _c : "";
}
if ("serviceType" in data) {
const serviceData = data;
id = (_e = (_d = serviceData.metadata) == null ? void 0 : _d.serviceTypeId) != null ? _e : "";
name = (_f = data.serviceType) != null ? _f : "";
}
return { id, name };
}
static makeCreateChainRequest(opts) {
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w;
const date = (_a = opts == null ? void 0 : opts.eventDate) != null ? _a : (/* @__PURE__ */ new Date()).toISOString();
const req = {
application: { id: (_b = opts == null ? void 0 : opts.appId) != null ? _b : DEFAULT_APP_ID },
subject: {
subjectType: (_c = opts == null ? void 0 : opts.subjectType) != null ? _c : "USER" /* USER */,
references: [
{ type: "AUTH0_IDENTITY" /* AUTH0_IDENTITY */, value: opts.auth0Id },
{ type: "END_USER_ID" /* END_USER_ID */, value: opts.endUserId }
],
orgId: opts == null ? void 0 : opts.orgId
},
device: {
date,
deviceId: (_d = opts == null ? void 0 : opts.deviceId) != null ? _d : "",
deviceName: (_e = opts == null ? void 0 : opts.deviceName) != null ? _e : "",
geolocation: (_f = opts == null ? void 0 : opts.geolocation) != null ? _f : makeSampleGeolocation(),
ipAddress: (_g = opts == null ? void 0 : opts.ipAddress) != null ? _g : "",
deviceType: (_h = opts == null ? void 0 : opts.deviceType) != null ? _h : "PHONE" /* PHONE */
},
weather: (_i = opts == null ? void 0 : opts.weather) != null ? _i : makeSampleWeatherData(),
data: { date }
};
if ((opts == null ? void 0 : opts.chainType) === "OBJECTS" /* Objects */ || (opts == null ? void 0 : opts.chainType) === "FILES" /* Files */) {
if (opts == null ? void 0 : opts.properties) {
opts.properties = (_j = opts.properties) == null ? void 0 : _j.map((p) => {
var _a2;
return {
id: p.id,
name: p.name,
value: p.value,
isAssetName: (_a2 = p.isAssetName) != null ? _a2 : false
};
});
}
req.data.asset = {
assetType: (_k = opts == null ? void 0 : opts.type) != null ? _k : "",
assetCategory: (_l = opts == null ? void 0 : opts.category) != null ? _l : [],
assetName: (_m = opts == null ? void 0 : opts.name) != null ? _m : "",
assetProperties: (_n = opts == null ? void 0 : opts.properties) != null ? _n : [],
isFavorite: opts == null ? void 0 : opts.isFavorite,
metadata: __spreadProps(__spreadValues({}, (_o = opts == null ? void 0 : opts.metadata) != null ? _o : {}), {
assetTypeId: (_p = opts == null ? void 0 : opts.typeId) != null ? _p : ""
})
};
} else if ((opts == null ? void 0 : opts.chainType) === "SERVICES" /* Services */) {
if (opts == null ? void 0 : opts.properties) {
opts.properties = (_q = opts.properties) == null ? void 0 : _q.map((p) => {
var _a2;
return {
id: p.id,
name: p.name,
value: p.value,
isServiceName: (_a2 = p.isServiceName) != null ? _a2 : false
};
});
}
req.data.service = {
serviceType: (_r = opts == null ? void 0 : opts.type) != null ? _r : "",
serviceCategory: (_s = opts == null ? void 0 : opts.category) != null ? _s : [],
serviceName: (_t = opts == null ? void 0 : opts.name) != null ? _t : "",
serviceProperties: (_u = opts == null ? void 0 : opts.properties) != null ? _u : [],
isFavorite: opts == null ? void 0 : opts.isFavorite,
metadata: __spreadProps(__spreadValues({}, (_v = opts == null ? void 0 : opts.metadata) != null ? _v : {}), {
serviceTypeId: (_w = opts == null ? void 0 : opts.typeId) != null ? _w : ""
})
};
}
return req;
}
static makeUpdateChainRequest(opts) {
var _a, _b, _c, _d, _e, _f, _g, _h;
const req = {
date: (/* @__PURE__ */ new Date()).toISOString()
};
if (opts.chainType === "OBJECTS" /* Objects */) {
req.asset = {
assetType: (_a = opts == null ? void 0 : opts.type) != null ? _a : "",
assetCategory: (_b = opts == null ? void 0 : opts.category) != null ? _b : [],
assetName: (_c = opts == null ? void 0 : opts.name) != null ? _c : "",
isFavorite: opts == null ? void 0 : opts.isFavorite,
assetProperties: (_d = opts == null ? void 0 : opts.properties) != null ? _d : [],
metadata: opts == null ? void 0 : opts.metadata
};
} else if (opts.chainType === "SERVICES" /* Services */) {
req.service = {
serviceType: (_e = opts == null ? void 0 : opts.type) != null ? _e : "",
serviceCategory: (_f = opts == null ? void 0 : opts.category) != null ? _f : [],
serviceName: (_g = opts == null ? void 0 : opts.name) != null ? _g : "",
isFavorite: opts == null ? void 0 : opts.isFavorite,
serviceProperties: (_h = opts == null ? void 0 : opts.properties) != null ? _h : [],
metadata: opts == null ? void 0 : opts.metadata
};
}
return req;
}
static isOfficialVerified(chainType, childEvents) {
return __async(this, null, function* () {
if (chainType === "SERVICES" /* Services */)
return false;
return childEvents.some((e) => e.relationType === "CHECKIN_OFFICIAL" /* Official */);
});
}
};
// src/lib/asset/enums.ts
var SellingMethodEnum = /* @__PURE__ */ ((SellingMethodEnum2) => {
SellingMethodEnum2["Fixed"] = "fixed";
SellingMethodEnum2["Auction"] = "auction";
SellingMethodEnum2["Dutch"] = "dutch_auction";
SellingMethodEnum2["Inverse"] = "inverse_auction";
return SellingMethodEnum2;
})(SellingMethodEnum || {});
var MeasurementUnitEnum = /* @__PURE__ */ ((MeasurementUnitEnum2) => {
MeasurementUnitEnum2["IN"] = "IN";
MeasurementUnitEnum2["CM"] = "CM";
return MeasurementUnitEnum2;
})(MeasurementUnitEnum || {});
// src/lib/asset/s2c-asset.service.ts
var S2CAssetService = class extends BaseService {
listS2CCategories(req = {}) {
return this.get(`${this.apiUrl}/assets/v1/asset-category/s2c-sub`, req);
}
listS2CFinalType(req) {
return this.get(`${this.apiUrl}/assets/v1/asset-category/final-with-types`, req);
}
};
// src/lib/biomet