From c57f775cb4bc6a67dfd3ab6b18a1cfe4ec7ebd78 Mon Sep 17 00:00:00 2001
From: parsa aghaei
Date: Sat, 5 Sep 2026 19:36:49 +0330
Subject: [PATCH] fix(otp): support WebOTP sms pattern with {0} and {1} and
robust code extraction
---
backend/src/common/services/sms.service.ts | 2 +-
.../admin-panel/src/pages/SmsSettingsPage.tsx | 2 +-
frontend/application/components/AuthModal.tsx | 6 +-
.../application/components/LoginModal.tsx | 13 +-
graphify-out/.graphify_labels.json | 45 +-
graphify-out/.graphify_labels.json.sig | 2 +-
graphify-out/2026-09-05/.graphify_labels.json | 53 +-
graphify-out/2026-09-05/GRAPH_REPORT.md | 261 +-
graphify-out/2026-09-05/graph.json | 7596 +++++++++--------
graphify-out/2026-09-05/manifest.json | 1276 +--
graphify-out/GRAPH_REPORT.md | 175 +-
graphify-out/cache/stat-index.json | 2 +-
graphify-out/graph.html | 8 +-
graphify-out/graph.json | 6443 +++++++-------
graphify-out/manifest.json | 1278 +--
15 files changed, 8628 insertions(+), 8534 deletions(-)
diff --git a/backend/src/common/services/sms.service.ts b/backend/src/common/services/sms.service.ts
index 1326065..d94b7cc 100644
--- a/backend/src/common/services/sms.service.ts
+++ b/backend/src/common/services/sms.service.ts
@@ -1287,7 +1287,7 @@ export class SmsService {
return this.sendPatternSms({
to: phone,
bodyId: config.otpBodyId,
- args: [otpCode],
+ args: [otpCode, otpCode],
type: 'OTP',
});
}
diff --git a/frontend/admin-panel/src/pages/SmsSettingsPage.tsx b/frontend/admin-panel/src/pages/SmsSettingsPage.tsx
index 59eb89b..43fede2 100644
--- a/frontend/admin-panel/src/pages/SmsSettingsPage.tsx
+++ b/frontend/admin-panel/src/pages/SmsSettingsPage.tsx
@@ -956,7 +956,7 @@ export default function SmsSettingsPage() {
- متغیر: {'{0}'}
+ متغیرها: {'{0}'} یا {'{0};{1}'} (WebOTP)
{
if (!isMounted || !otp) return;
- // OTPCredential.code is the extracted code, not the full SMS text.
- // Still run toEnglishDigits in case it contains Persian numerals.
- const digits = toEnglishDigits(otp.code ?? "").replace(/[^0-9]/g, "").slice(0, 5);
+ // OTPCredential.code is the extracted code, but fallback to any string property
+ const rawCode = (otp as { code?: string })?.code || (otp as { id?: string })?.id || "";
+ const digits = extractOtpFromText(rawCode);
if (digits.length === 5) {
setOtpCode(digits);
// 400 ms delay so the user can see the filled boxes before verification
diff --git a/frontend/application/components/LoginModal.tsx b/frontend/application/components/LoginModal.tsx
index a0ab295..1f510ed 100644
--- a/frontend/application/components/LoginModal.tsx
+++ b/frontend/application/components/LoginModal.tsx
@@ -5,10 +5,18 @@ import { X, ShieldCheck, Phone, Key, LogIn, ArrowRight, RefreshCw } from "lucide
import { authService } from "../lib/services/authService";
import { useUserStore } from "../lib/store/userStore";
import { toast } from "sonner";
-import { toPersian } from "../lib/utils";
+import { toPersian, toEnglishDigits } from "../lib/utils";
import OtpInput5 from "./OtpInput5";
+function extractOtpFromText(text: string): string {
+ if (!text) return "";
+ const clean = toEnglishDigits(text);
+ const match = clean.match(/(\d{5})/);
+ if (match) return match[1];
+ return clean.replace(/[^0-9]/g, "").slice(0, 5);
+}
+
interface LoginModalProps {
isOpen: boolean;
onClose: () => void;
@@ -115,7 +123,8 @@ export default function LoginModal({ isOpen, onClose, onLogin, petName, isAdviso
signal: ac.signal,
}).then((otp) => {
if (!isMounted || !otp) return;
- const digits = otp.code?.replace(/[^0-9]/g, "").slice(0, 5) ?? "";
+ const rawCode = (otp as { code?: string })?.code || (otp as { id?: string })?.id || "";
+ const digits = extractOtpFromText(rawCode);
if (digits.length === 5) {
setOtpCode(digits);
setTimeout(() => {
diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json
index 3bdec7b..58fac82 100644
--- a/graphify-out/.graphify_labels.json
+++ b/graphify-out/.graphify_labels.json
@@ -1,9 +1,9 @@
{
"0": "Roles",
"1": "app.module.ts",
- "2": "BlogsService",
+ "2": "orders.service.ts",
"3": "productService.ts",
- "4": "useSettingsStore",
+ "4": "ClientLayout.tsx",
"5": "CmsController",
"6": "tickets.controller.ts",
"7": "SmsSettingsPage.tsx",
@@ -17,10 +17,10 @@
"15": "src/services/api.ts",
"16": "DoctorQueryDto",
"17": "schema.ts",
- "18": "admin.module.ts",
+ "18": "JwtAuthGuard",
"19": "admin.controller.ts",
"20": "CreateVideoDto",
- "21": "pets/pets.controller.ts",
+ "21": "orderService.ts",
"22": "ProductDto",
"23": "MenuService",
"24": "BE-001",
@@ -47,7 +47,7 @@
"45": "What You Must Do When Invoked",
"46": "20260526145407_init/migration.sql",
"47": "IngredientsService",
- "48": "WikiController",
+ "48": "app.e2e-spec.js",
"49": "devDependencies",
"50": "devDependencies",
"51": "BlogsController",
@@ -61,13 +61,13 @@
"59": "compilerOptions",
"60": "CreateUserDto",
"61": "ProductPage.tsx",
- "62": "ReportsController",
+ "62": "admin.module.ts",
"63": "dependencies",
"64": "compilerOptions",
"65": "admin.service.ts",
"66": "AdminQueryDto",
"67": "PetsController",
- "68": "HomeClient.tsx",
+ "68": "useSettingsStore",
"69": "Required Review Group Closures",
"70": "compilerOptions",
"71": "getPageMetadata",
@@ -89,7 +89,7 @@
"87": "dependencies",
"88": "CreateEBankCheckoutDto",
"89": "seed-products.ts",
- "90": "lib/services/api.ts",
+ "90": "toPersian",
"91": "Reconciled Audit Roles & Assignments",
"92": "OrdersService",
"93": "components/Skeleton.tsx",
@@ -150,7 +150,7 @@
"148": "RouteErrorBoundary",
"149": "RegisterDto",
"150": "Product Requirement Document (PRD)",
- "151": "@nestjs/swagger",
+ "151": "@eslint/js",
"152": "RedisService",
"153": "exclude",
"154": "Baseline Command Plan & Reconciled Command History",
@@ -176,14 +176,14 @@
"174": "rebuild_honest_ledger.js",
"175": "validate_evidence_grade.js",
"176": "uploads/[...path]/route.ts",
- "177": "app/page.tsx",
+ "177": "@types/node",
"178": "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina",
- "179": "WikiService",
+ "179": "typescript",
"180": "API Contract Specification",
"181": "⚙️ Backend Technical Review (05_dev_backend)",
"182": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
"183": "🚀 SEO & Content Strategy Review (12_seo_content)",
- "184": "FaqService",
+ "184": "eslint-config-next",
"185": "Reviews.tsx",
"186": "seed-ui-texts.ts",
"187": "seed-wiki.ts",
@@ -197,7 +197,6 @@
"195": "React + TypeScript + Vite",
"196": "Select.tsx",
"197": "AuthModal.tsx",
- "198": "@tailwindcss/postcss",
"199": "prisma",
"200": "application/README.md",
"201": "deploy.sh",
@@ -223,16 +222,12 @@
"221": "Textarea.tsx",
"222": "admin-panel/tsconfig.json",
"223": "tailwindcss",
- "224": "helmet",
"225": "next.config.ts",
"226": "Shabnam Font README",
"227": "AGENTS.md",
"228": "rules/graphify.md",
"229": ".agents/workflows/graphify.md",
"230": "instructions.md",
- "231": "@nestjs/schematics",
- "232": "js-yaml",
- "233": "@nestjs/core",
"234": "source-map-support",
"235": "ts-loader",
"236": "ts-node",
@@ -264,7 +259,6 @@
"262": "User Logout API",
"263": "generate-openapi.d.ts",
"264": "@types/compression",
- "265": "@nestjs/jwt",
"266": "@types/express",
"267": "@types/jest",
"268": "@types/multer",
@@ -294,40 +288,25 @@
"292": "Production Docker Compose",
"293": "Staging Docker Compose",
"294": "ZibalService",
- "295": "@nestjs/throttler",
- "296": "passport",
"297": "ZibalEBankService",
"298": ".initiateOrderPayment",
"299": "@tailwindcss/postcss",
"300": "typescript",
- "301": "reflect-metadata",
"302": "typescript-eslint",
- "303": "swagger-ui-express",
"304": "track/page.tsx",
"305": "eslint-config-prettier",
- "306": "class-transformer",
- "307": "@eslint/eslintrc",
"308": "jest",
"309": "axios",
"310": "tailwindcss",
- "311": "@nestjs/cli",
"312": "@types/passport-jwt",
"313": "20260526160916_add_ui_texts_and_scientific_terms/migration.sql",
- "314": "eslint-plugin-prettier",
"315": "typescript",
- "316": "globals",
"317": "revalidate/route.ts",
"318": "MaskableField.tsx",
- "319": "@nestjs/testing",
- "320": "prettier",
"321": "orders/page.tsx",
"322": "pets/page.tsx",
- "323": "ts-jest",
- "324": "@types/js-yaml",
"325": "@types/react-dom",
- "326": "@types/supertest",
"327": "eslint-plugin-react-refresh",
"328": "eslint",
- "329": "typescript-eslint",
"330": "tailwindcss"
}
diff --git a/graphify-out/.graphify_labels.json.sig b/graphify-out/.graphify_labels.json.sig
index c529331..77a875f 100644
--- a/graphify-out/.graphify_labels.json.sig
+++ b/graphify-out/.graphify_labels.json.sig
@@ -1 +1 @@
-{"0": "b0118f68a3e7f0ad", "1": "5a19f0ae918ec0af", "2": "7d6e023c51d640e9", "3": "e9af786107d84bd4", "4": "37f3080c40faaff9", "5": "f34c872571e8a774", "6": "81b67391b0b87cab", "7": "1597e994e0482093", "8": "44789c112c8b4535", "9": "ca238f4679f59316", "10": "17d02b55bf422801", "11": "39496e22edc6758a", "12": "0f987d4c17ae1a5e", "13": "85d482ba1c55c7df", "14": "e7a9a9450cf14c3f", "15": "8215e9152a059d32", "16": "bbaf7539ddd300b0", "17": "690dc63010f5642d", "18": "b85c2648748052cc", "19": "94f61b306b735eaf", "20": "67ce5a498e6dcd5c", "21": "0054fd66d397b1c2", "22": "94a621126f7ba89f", "23": "b64d81a71800bd4b", "24": "4eda46a5b0695ef6", "25": "90b79d6027d60d30", "26": "6bd6f2633370820c", "27": "7664e56213a29331", "28": "942c4f9928c60a45", "29": "0614b98d9013b5f5", "30": "53ff49b3d54f0fba", "31": "2153ddcd7477dfb7", "32": "57d253df3e52fe5b", "33": "4c3daa7635f2b586", "34": "0f54928759177605", "35": "533f2d32c60dd4b3", "36": "9d8aa1fc12e37b74", "37": "1c9a1f4c72613346", "38": "58fe18c423dae025", "39": "f38c905c9af9edc0", "40": "f07a16ec76520068", "41": "7abb5bc6a0e4f65f", "42": "cbaa20536db72d3e", "43": "7478d6755ca2248a", "44": "b4c82af1f2f566f7", "45": "7dd5c61562c827a8", "46": "bf5a253cc5340107", "47": "65e41c1c22dcd058", "48": "f17c5fbca8a8e41e", "49": "841013681f4e6e8c", "50": "6310102a388e24e9", "51": "91d7f3d12813e4ff", "52": "5b104b2c1853dc56", "53": "cb17af4eb831480f", "54": "11d8babec70bc593", "55": "a256e6165bb321ab", "56": "fd66604fe6af00d0", "57": "0f62727f3b4907c0", "58": "069a70d171440fbf", "59": "7369e85febb97f1a", "60": "4aa8917c55e23d46", "61": "d344bfff757bd291", "62": "1a1f1cea37fa9f9f", "63": "0b962a47d1b049e5", "64": "3b9521f7d7986eaa", "65": "7c8879ab4d4b8fd8", "66": "f3b3f5c90fbb3fc0", "67": "d78f79a056a6e755", "68": "922ba64edc054e7e", "69": "31a5a53f1fe77e46", "70": "01d4f9d6d9f3b08a", "71": "6fa8382024f10b3e", "72": "69d0f8b228227690", "73": "22456307ff273d80", "74": "d9e74b032c5b8440", "75": "30a4a28cb6862c78", "76": "ff70ebff2b3353c4", "77": "62430df45afa65b5", "78": "0273bbf045eb1528", "79": "ba7bc17581366c9a", "80": "0727bb53199085fc", "81": "91393683c97d1773", "82": "36d253e9d0d7547b", "83": "71d2ce6fb684bc0e", "84": "70497658d0e0cea6", "85": "50b677e65d818293", "86": "e3d13e2060945d3f", "87": "59fc058419aa2d03", "88": "c4acedd7472cf7cb", "89": "656f816eb51f2ab1", "90": "58f3e7e824b500fe", "91": "25a6695f5783d2be", "92": "822a0c2f156c24a1", "93": "800f5fcfebc515bf", "94": "f7a706f5fcb260c3", "95": "1d757121ee71ec54", "96": "3fef84a1b6832b0b", "97": "7e224f8e70889ef3", "98": "5bbc8944b2ba2d8f", "99": "9531a7faa4f8e585", "100": "3c1d9844d072bd2a", "101": "b3c5433df880f335", "102": "e036dbd1de0f8b38", "103": "ac7cb5ec7d5c0802", "104": "cb4d9aff34fa7615", "105": "622f83f2eb300a25", "106": "34581929891cefb2", "107": "dcd9b1c18f46e0c7", "108": "b3e574d8cbfd6d5d", "109": "6d16ccde1291c9d4", "110": "d228746e85ead3af", "111": "b55ba9125ffb5729", "112": "5f50a360f18a880b", "113": "50413a4ac6293636", "114": "c6b57d78299a27b3", "115": "431370e69d5e5e6e", "116": "db70db08c00162df", "117": "9a1080686fc7c39b", "118": "77fd76193df9f573", "119": "28355f848c862b6e", "120": "25f77f5455bdc96a", "121": "9141a0ede9461fd5", "122": "f2050804efcda0fb", "123": "1cd8ce60290be4cb", "124": "3ceda88239910d9a", "125": "9409b3b8a334f51d", "126": "ac95a9f152e3d1c4", "127": "a7299f20633c0236", "128": "a466f315705201bc", "129": "989c014f76b74793", "130": "7f405315686459b9", "131": "44c7924c829cc215", "132": "17ecb7325285cf7a", "133": "4487fd85ddc13c93", "134": "73382a9ef9d08673", "135": "c4abf0eb38ef740d", "136": "07d37aeefbe50e21", "137": "70b58e32c2890fdd", "138": "f2c7afb0c277c4b7", "139": "e38672923e0d0be7", "140": "167643bcbbc26244", "141": "dcffd9ad7a1f7df6", "142": "f47469d48b3776b5", "143": "1b0ef1cf87b53de3", "144": "0efcd2be09aa9633", "145": "09663419dc14adbd", "146": "c7ddffce8605b65b", "147": "4ece6985263357c4", "148": "ed938bf48ae6ca6c", "149": "acfe5a84eaab81d7", "150": "5910eeefe2f97a20", "151": "3528c4c8a0e2db61", "152": "30038f1cd0424a3e", "153": "6cfdd09a6fdd9ff9", "154": "66efafa1e86d8081", "155": "562a328c3cebc9b1", "156": "4a8bdc6821207fa3", "157": "dd5f624dc488c627", "158": "c1015ad9e25cb1a2", "159": "a2fe690317aef2ee", "160": "e30004421d79ffeb", "161": "cd66a5f43cd3407d", "162": "fa2d7dcf52348095", "163": "75efc6457f7fce22", "164": "8375a4fbf0573a52", "165": "edb079558c6f3d59", "166": "1d80b74f885d6716", "167": "3cd15de82f23093a", "168": "7a77349497fcdf37", "169": "85cd9ca1246dc437", "170": "3e93071fc4a80e95", "171": "6114ccb7b9036e33", "172": "f3d92800d756dd79", "173": "2aa85a497fd142d7", "174": "35d3a2679371e9a4", "175": "b8f35a499b36a57a", "176": "634af67d3b759da3", "177": "0dd5439f11354ec2", "178": "4a0995c91344bedb", "179": "0cd2ba710c85ae49", "180": "4ac5f9965007617d", "181": "cff999497d56b512", "182": "06b38ffa6f58195d", "183": "ee705c178d6958bb", "184": "f879261b18143238", "185": "bcccacc80df4b661", "186": "867babdd40f0c3fc", "187": "298144d1548a7dee", "188": "00d275127a7e435e", "189": "2942a9d30dae4a29", "190": "3e21e2fb50e12670", "191": "be62daa7d5bc336a", "192": "47c3e1a9d4bb7e67", "193": "82ff39c105ae3090", "194": "6747ecf936cb0400", "195": "ebc0087e3400009c", "196": "51d4e15c7e10decf", "197": "29e0de61ecaa2e3e", "198": "3b89350265b5abe7", "199": "fc778d7a22e550eb", "200": "162b36508e5879f3", "201": "6256958a9b817133", "202": "ab06e01c9caa9f90", "203": "204b3a83ef62f360", "204": "176083777cb01eb7", "205": "67b5cef27d55952d", "206": "10b2996179aaaf2e", "207": "39031f751fb2d42f", "208": "54f53e5e0cc8c385", "209": "821696b1ff49347b", "210": "00739b5480732bdc", "211": "2434b1a28b16557f", "212": "cb3fe87c920b0cb3", "213": "ddb9c95db6575999", "214": "e2250667e3a77089", "215": "9069d5dda9013eee", "216": "0077975cffee54dc", "217": "e6fcd0aec85fac92", "218": "9590124db1601a96", "219": "e077f384ad6b18ad", "220": "4436fcb587702ee9", "221": "6d0322fa3d03fa10", "222": "3be2a9ccdc6668cc", "223": "7a7f04630a11cc2b", "224": "3a6753a80123a0f4", "225": "703a4a9860d7ed16", "226": "85fd4a84b5393d0e", "227": "97ec841e4f367258", "228": "4654167fd211d027", "229": "8176a164778526f9", "230": "a74925b45b279d6f", "231": "b796283dc9729998", "232": "ca950b47c628b81a", "233": "255a8a95e2a3df67", "234": "4865e180c0694458", "235": "e24cf60bcf607797", "236": "bbcea5ec9d046ac0", "237": "fd158611e3227271", "238": "c67be0f483e0da2e", "239": "ecfb692b6f7a1014", "240": "8d1aad761b4c839d", "241": "e66a941c60456b44", "242": "a7cf02106e992a23", "243": "88604333ff6aa860", "244": "8365b02889fa6cfc", "245": "6e7b82d0387bf16d", "246": "2eef246ebb269184", "247": "f5edd0761d024ff0", "248": "1e833ee596b5ca23", "249": "9fd8a4abf0eb00a3", "250": "e9728eefddbaed5b", "251": "fe8ad8aaa5b6f652", "252": "be78134816511eaf", "253": "4737624cd139d117", "254": "5fcab665dcd75a7d", "255": "33b1870821fb012a", "256": "f379c891e179d45a", "257": "cef806733796b489", "258": "76578e90353475ed", "259": "04d938f720c1db19", "260": "57931ddf408ceeeb", "261": "b4fbbd4b7a13369e", "262": "d64c6d160a7faed4", "263": "2d1c86501cdb42dd", "264": "47fc05295105c312", "265": "47e08912fd6cd296", "266": "5eb83040a203bd16", "267": "20a2080eac259e2b", "268": "0598c15fa2a12fad", "269": "88e82bb9fffbe642", "270": "ef2d2abc6e491968", "271": "a1e0a3465632c13a", "272": "e6273a4f9b65952b", "273": "38a03e32ab28113e", "274": "400d2883ce278be7", "275": "a13f9628796dc16a", "276": "6e3ce4714f76f2f9", "277": "de2233c73c628824", "278": "a144dcdc61af17a5", "279": "672ba0ee4d6993c2", "280": "daf108b14eb1d2d5", "281": "a618b7b467aa2c0c", "282": "60a2d42e0373376c", "283": "934bee98555c5f5b", "284": "3a30dd7bf2ececaa", "285": "23c1a365d72c9b86", "286": "3323cd7407922799", "287": "9050a3ebe80326e5", "288": "10d7c8f3898b68e5", "289": "2ce5bbc30db985b5", "290": "2a963843e9a8e153", "291": "28537a0c0fbd566f", "292": "3659ed0b62c213c5", "293": "912cf03978233ef7", "294": "324d8e36c3be5e01", "295": "3a8a257d1f54b2ae", "296": "2ed3af4b96bcf920", "297": "69f2014dab3c4a93", "298": "9372bf2b2a6a0b97", "299": "5a4d1c1ef8bed9bb", "300": "b1d204e97a3c45dc", "301": "7fde599bf90ee0bf", "302": "1c69dcee9405ce47", "303": "65d822bbba496dee", "304": "2b8d338593a71266", "305": "f6ddba6f531d6b96", "306": "959e76250dbacbad", "307": "0bd7ed52b69464bf", "308": "c7de3fe21e2e53b4", "309": "768db8a3a299f590", "310": "321732baccae846b", "311": "d7cad630fb1d1414", "312": "05f1ad1f29e435ff", "313": "7c65a1f3c4f1b858", "314": "578638c4278d00c6", "315": "a0fdc688ac30f227", "316": "c556ac339be4aba5", "317": "31eb2ccb16c5af0f", "318": "2491d05d8bb29ad7", "319": "9a7b4968676954d7", "320": "78aa95566e86b57f", "321": "482dcf1e6b7ebe00", "322": "f622408f14c9177e", "323": "c24925d361d1eb6f", "324": "d2a7888a77082d4c", "325": "4ab8ffab1d51ca61", "326": "bfcc583da029935c", "327": "60ce4fcea460e0a6", "328": "70e62553403661a3", "329": "6c1a09679076ea89", "330": "46606f6daab10d34"}
\ No newline at end of file
+{"0": "b0118f68a3e7f0ad", "1": "6f752db131a13a8a", "2": "b058dd6c78285966", "3": "23d26f12d5b2d420", "4": "c58bb837a72c1d6a", "5": "f34c872571e8a774", "6": "81b67391b0b87cab", "7": "1597e994e0482093", "8": "44789c112c8b4535", "9": "f5e477c98cc1046c", "10": "17d02b55bf422801", "11": "39496e22edc6758a", "12": "0f987d4c17ae1a5e", "13": "85d482ba1c55c7df", "14": "8218bdf378ce0abd", "15": "8215e9152a059d32", "16": "bbaf7539ddd300b0", "17": "690dc63010f5642d", "18": "28658d37f244395d", "19": "94f61b306b735eaf", "20": "67ce5a498e6dcd5c", "21": "c4cf94a77b9eaedd", "22": "94a621126f7ba89f", "23": "b64d81a71800bd4b", "24": "4eda46a5b0695ef6", "25": "90b79d6027d60d30", "26": "6bd6f2633370820c", "27": "7664e56213a29331", "28": "942c4f9928c60a45", "29": "0614b98d9013b5f5", "30": "53ff49b3d54f0fba", "31": "2153ddcd7477dfb7", "32": "57d253df3e52fe5b", "33": "4c3daa7635f2b586", "34": "0f54928759177605", "35": "533f2d32c60dd4b3", "36": "9d8aa1fc12e37b74", "37": "1c9a1f4c72613346", "38": "58fe18c423dae025", "39": "f38c905c9af9edc0", "40": "f07a16ec76520068", "41": "7abb5bc6a0e4f65f", "42": "cbaa20536db72d3e", "43": "7478d6755ca2248a", "44": "b4c82af1f2f566f7", "45": "7dd5c61562c827a8", "46": "bf5a253cc5340107", "47": "65e41c1c22dcd058", "48": "c35e392f1594d14e", "49": "841013681f4e6e8c", "50": "14f7a9ad3f077af0", "51": "91d7f3d12813e4ff", "52": "5b104b2c1853dc56", "53": "cb17af4eb831480f", "54": "11d8babec70bc593", "55": "a256e6165bb321ab", "56": "fd66604fe6af00d0", "57": "0f62727f3b4907c0", "58": "069a70d171440fbf", "59": "7369e85febb97f1a", "60": "4aa8917c55e23d46", "61": "42950d21f20c67b1", "62": "5bd99cf328efd4d4", "63": "2b0ee366d6136717", "64": "3b9521f7d7986eaa", "65": "7c8879ab4d4b8fd8", "66": "f3b3f5c90fbb3fc0", "67": "36260a24d0ef69a3", "68": "742ceb3a8407d971", "69": "31a5a53f1fe77e46", "70": "01d4f9d6d9f3b08a", "71": "f55818051b0f7fa8", "72": "69d0f8b228227690", "73": "22456307ff273d80", "74": "d9e74b032c5b8440", "75": "ca4d94b36734b0d0", "76": "ff70ebff2b3353c4", "77": "62430df45afa65b5", "78": "0273bbf045eb1528", "79": "ba7bc17581366c9a", "80": "0727bb53199085fc", "81": "91393683c97d1773", "82": "36d253e9d0d7547b", "83": "71d2ce6fb684bc0e", "84": "70497658d0e0cea6", "85": "50b677e65d818293", "86": "e3d13e2060945d3f", "87": "59fc058419aa2d03", "88": "c4acedd7472cf7cb", "89": "656f816eb51f2ab1", "90": "e629ab92fda94bfb", "91": "25a6695f5783d2be", "92": "822a0c2f156c24a1", "93": "800f5fcfebc515bf", "94": "f7a706f5fcb260c3", "95": "1d757121ee71ec54", "96": "3fef84a1b6832b0b", "97": "7e224f8e70889ef3", "98": "5bbc8944b2ba2d8f", "99": "9531a7faa4f8e585", "100": "3c1d9844d072bd2a", "101": "b3c5433df880f335", "102": "e036dbd1de0f8b38", "103": "ac7cb5ec7d5c0802", "104": "cb4d9aff34fa7615", "105": "622f83f2eb300a25", "106": "34581929891cefb2", "107": "633086e7a604587e", "108": "2883ce062cdd9a63", "109": "6d16ccde1291c9d4", "110": "d228746e85ead3af", "111": "b55ba9125ffb5729", "112": "5f50a360f18a880b", "113": "50413a4ac6293636", "114": "c6b57d78299a27b3", "115": "431370e69d5e5e6e", "116": "db70db08c00162df", "117": "9a1080686fc7c39b", "118": "77fd76193df9f573", "119": "28355f848c862b6e", "120": "25f77f5455bdc96a", "121": "9141a0ede9461fd5", "122": "f2050804efcda0fb", "123": "1cd8ce60290be4cb", "124": "3ceda88239910d9a", "125": "9409b3b8a334f51d", "126": "ac95a9f152e3d1c4", "127": "a7299f20633c0236", "128": "a466f315705201bc", "129": "989c014f76b74793", "130": "7f405315686459b9", "131": "44c7924c829cc215", "132": "17ecb7325285cf7a", "133": "4487fd85ddc13c93", "134": "73382a9ef9d08673", "135": "c4abf0eb38ef740d", "136": "07d37aeefbe50e21", "137": "70b58e32c2890fdd", "138": "f2c7afb0c277c4b7", "139": "e38672923e0d0be7", "140": "167643bcbbc26244", "141": "dcffd9ad7a1f7df6", "142": "f47469d48b3776b5", "143": "1b0ef1cf87b53de3", "144": "9e7f0729865fc907", "145": "09663419dc14adbd", "146": "c7ddffce8605b65b", "147": "4ece6985263357c4", "148": "ed938bf48ae6ca6c", "149": "acfe5a84eaab81d7", "150": "5910eeefe2f97a20", "151": "b0b81cfb9e11502e", "152": "e9c753a4d8ab2c87", "153": "6cfdd09a6fdd9ff9", "154": "66efafa1e86d8081", "155": "562a328c3cebc9b1", "156": "4a8bdc6821207fa3", "157": "dd5f624dc488c627", "158": "c1015ad9e25cb1a2", "159": "a2fe690317aef2ee", "160": "e30004421d79ffeb", "161": "cd66a5f43cd3407d", "162": "fa2d7dcf52348095", "163": "75efc6457f7fce22", "164": "8375a4fbf0573a52", "165": "edb079558c6f3d59", "166": "1d80b74f885d6716", "167": "3cd15de82f23093a", "168": "7a77349497fcdf37", "169": "85cd9ca1246dc437", "170": "3e93071fc4a80e95", "171": "6114ccb7b9036e33", "172": "f3d92800d756dd79", "173": "2aa85a497fd142d7", "174": "35d3a2679371e9a4", "175": "b8f35a499b36a57a", "176": "634af67d3b759da3", "177": "6ddbf62ac93920e1", "178": "4a0995c91344bedb", "179": "d0fc47de7f8bcf41", "180": "4ac5f9965007617d", "181": "cff999497d56b512", "182": "06b38ffa6f58195d", "183": "ee705c178d6958bb", "184": "bddcc43a56a2787b", "185": "bcccacc80df4b661", "186": "867babdd40f0c3fc", "187": "298144d1548a7dee", "188": "00d275127a7e435e", "189": "2942a9d30dae4a29", "190": "3e21e2fb50e12670", "191": "be62daa7d5bc336a", "192": "47c3e1a9d4bb7e67", "193": "82ff39c105ae3090", "194": "6747ecf936cb0400", "195": "ebc0087e3400009c", "196": "51d4e15c7e10decf", "197": "b35dd5745f25fad6", "199": "fc778d7a22e550eb", "200": "162b36508e5879f3", "201": "6256958a9b817133", "202": "ab06e01c9caa9f90", "203": "204b3a83ef62f360", "204": "176083777cb01eb7", "205": "67b5cef27d55952d", "206": "10b2996179aaaf2e", "207": "39031f751fb2d42f", "208": "54f53e5e0cc8c385", "209": "821696b1ff49347b", "210": "00739b5480732bdc", "211": "2434b1a28b16557f", "212": "cb3fe87c920b0cb3", "213": "ddb9c95db6575999", "214": "e2250667e3a77089", "215": "9069d5dda9013eee", "216": "0077975cffee54dc", "217": "e6fcd0aec85fac92", "218": "9590124db1601a96", "219": "e077f384ad6b18ad", "220": "4436fcb587702ee9", "221": "6d0322fa3d03fa10", "222": "3be2a9ccdc6668cc", "223": "7a7f04630a11cc2b", "225": "703a4a9860d7ed16", "226": "85fd4a84b5393d0e", "227": "97ec841e4f367258", "228": "4654167fd211d027", "229": "8176a164778526f9", "230": "a74925b45b279d6f", "234": "4865e180c0694458", "235": "e24cf60bcf607797", "236": "bbcea5ec9d046ac0", "237": "fd158611e3227271", "238": "c67be0f483e0da2e", "239": "ecfb692b6f7a1014", "240": "8d1aad761b4c839d", "241": "e66a941c60456b44", "242": "a7cf02106e992a23", "243": "88604333ff6aa860", "244": "8365b02889fa6cfc", "245": "6e7b82d0387bf16d", "246": "2eef246ebb269184", "247": "f5edd0761d024ff0", "248": "1e833ee596b5ca23", "249": "9fd8a4abf0eb00a3", "250": "e9728eefddbaed5b", "251": "fe8ad8aaa5b6f652", "252": "be78134816511eaf", "253": "4737624cd139d117", "254": "5fcab665dcd75a7d", "255": "33b1870821fb012a", "256": "f379c891e179d45a", "257": "cef806733796b489", "258": "76578e90353475ed", "259": "04d938f720c1db19", "260": "57931ddf408ceeeb", "261": "b4fbbd4b7a13369e", "262": "d64c6d160a7faed4", "263": "2d1c86501cdb42dd", "264": "47fc05295105c312", "266": "5eb83040a203bd16", "267": "20a2080eac259e2b", "268": "0598c15fa2a12fad", "269": "88e82bb9fffbe642", "270": "ef2d2abc6e491968", "271": "a1e0a3465632c13a", "272": "e6273a4f9b65952b", "273": "38a03e32ab28113e", "274": "400d2883ce278be7", "275": "a13f9628796dc16a", "276": "6e3ce4714f76f2f9", "277": "de2233c73c628824", "278": "a144dcdc61af17a5", "279": "672ba0ee4d6993c2", "280": "daf108b14eb1d2d5", "281": "a618b7b467aa2c0c", "282": "60a2d42e0373376c", "283": "934bee98555c5f5b", "284": "3a30dd7bf2ececaa", "285": "23c1a365d72c9b86", "286": "3323cd7407922799", "287": "9050a3ebe80326e5", "288": "10d7c8f3898b68e5", "289": "2ce5bbc30db985b5", "290": "2a963843e9a8e153", "291": "28537a0c0fbd566f", "292": "3659ed0b62c213c5", "293": "912cf03978233ef7", "294": "324d8e36c3be5e01", "297": "69f2014dab3c4a93", "298": "9372bf2b2a6a0b97", "299": "5a4d1c1ef8bed9bb", "300": "b1d204e97a3c45dc", "302": "1c69dcee9405ce47", "304": "2b8d338593a71266", "305": "f6ddba6f531d6b96", "308": "c7de3fe21e2e53b4", "309": "768db8a3a299f590", "310": "321732baccae846b", "312": "05f1ad1f29e435ff", "313": "7c65a1f3c4f1b858", "315": "a0fdc688ac30f227", "317": "31eb2ccb16c5af0f", "318": "2491d05d8bb29ad7", "321": "482dcf1e6b7ebe00", "322": "f622408f14c9177e", "325": "4ab8ffab1d51ca61", "327": "60ce4fcea460e0a6", "328": "70e62553403661a3", "330": "46606f6daab10d34"}
\ No newline at end of file
diff --git a/graphify-out/2026-09-05/.graphify_labels.json b/graphify-out/2026-09-05/.graphify_labels.json
index cfefae4..3bdec7b 100644
--- a/graphify-out/2026-09-05/.graphify_labels.json
+++ b/graphify-out/2026-09-05/.graphify_labels.json
@@ -1,7 +1,7 @@
{
"0": "Roles",
"1": "app.module.ts",
- "2": "VetGallery.tsx",
+ "2": "BlogsService",
"3": "productService.ts",
"4": "useSettingsStore",
"5": "CmsController",
@@ -17,7 +17,7 @@
"15": "src/services/api.ts",
"16": "DoctorQueryDto",
"17": "schema.ts",
- "18": "JwtAuthGuard",
+ "18": "admin.module.ts",
"19": "admin.controller.ts",
"20": "CreateVideoDto",
"21": "pets/pets.controller.ts",
@@ -33,7 +33,7 @@
"31": "DOC-001",
"32": "adminRoutes.tsx",
"33": "WholesaleApplyDto",
- "34": "B2BController",
+ "34": "B2BService",
"35": "ContactService",
"36": "FaqController",
"37": "راهنمای تست سیستم (Software Testing)",
@@ -42,11 +42,11 @@
"40": "MediaController",
"41": "What You Must Do When Invoked",
"42": "SslController",
- "43": "BannersController",
- "44": "TestimonialsController",
+ "43": "BannersService",
+ "44": "TestimonialsService",
"45": "What You Must Do When Invoked",
"46": "20260526145407_init/migration.sql",
- "47": "IngredientsController",
+ "47": "IngredientsService",
"48": "WikiController",
"49": "devDependencies",
"50": "devDependencies",
@@ -65,8 +65,8 @@
"63": "dependencies",
"64": "compilerOptions",
"65": "admin.service.ts",
- "66": "ApiOperation",
- "67": "admin.module.ts",
+ "66": "AdminQueryDto",
+ "67": "PetsController",
"68": "HomeClient.tsx",
"69": "Required Review Group Closures",
"70": "compilerOptions",
@@ -75,7 +75,7 @@
"73": "Operational Rules & Boundaries",
"74": "WikiController",
"75": "PetsController",
- "76": "ProductsService",
+ "76": "RevalidationService",
"77": "seo.module.ts",
"78": "rss.xml/route.ts",
"79": "🏢 AI Software Agency — Master Orchestration Protocol v3",
@@ -84,17 +84,17 @@
"82": "scripts",
"83": "dependencies",
"84": "Role & Core Objective",
- "85": "auth.service.ts",
+ "85": ".sendOtp",
"86": "zibal.service.ts",
"87": "dependencies",
"88": "CreateEBankCheckoutDto",
"89": "seed-products.ts",
- "90": "cartStore.ts",
+ "90": "lib/services/api.ts",
"91": "Reconciled Audit Roles & Assignments",
"92": "OrdersService",
"93": "components/Skeleton.tsx",
"94": "Phase 3.1 — Human Review Preparation and Master Backlog Critique",
- "95": "getSeoConfig",
+ "95": "wiki/[slug]/page.tsx",
"96": "compilerOptions",
"97": "PaymentService",
"98": "scripts",
@@ -112,7 +112,7 @@
"110": "Operational Rules & Boundaries",
"111": "Operational Rules & Boundaries",
"112": "Operational Rules & Boundaries",
- "113": "MetricsController",
+ "113": "auth.controller.ts",
"114": "AppService",
"115": "Spinner.tsx",
"116": "Vazirmatn Changelog",
@@ -122,12 +122,12 @@
"120": "compilerOptions",
"121": "backend/README.md",
"122": "AdminService",
- "123": "B2BService",
+ "123": "Body",
"124": "Repository Map",
"125": "validate_integrity.js",
"126": "admin-panel/package.json",
"127": "Sahel-Font",
- "128": "zibal-ebank.service.ts",
+ "128": "torob.controller.ts",
"129": "Reports.tsx",
"130": "Sahel-Font",
"131": "Role & Core Objective",
@@ -143,15 +143,15 @@
"141": "application/package.json",
"142": "start-dev.js",
"143": "generate-openapi.js",
- "144": "lib/services/api.ts",
- "145": "trust-seals/page.tsx",
+ "144": "SafeImage.tsx",
+ "145": "auth.service.ts",
"146": "System Discovery",
"147": "HomeController",
"148": "RouteErrorBoundary",
- "149": "wiki/[slug]/page.tsx",
+ "149": "RegisterDto",
"150": "Product Requirement Document (PRD)",
"151": "@nestjs/swagger",
- "152": "RevalidationService",
+ "152": "RedisService",
"153": "exclude",
"154": "Baseline Command Plan & Reconciled Command History",
"155": "seo-backfill.ts",
@@ -178,7 +178,7 @@
"176": "uploads/[...path]/route.ts",
"177": "app/page.tsx",
"178": "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina",
- "179": "app.e2e-spec.js",
+ "179": "WikiService",
"180": "API Contract Specification",
"181": "⚙️ Backend Technical Review (05_dev_backend)",
"182": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)",
@@ -196,14 +196,14 @@
"194": "Raw Finding Verification & Disposition Report",
"195": "React + TypeScript + Vite",
"196": "Select.tsx",
- "197": "toPersian",
+ "197": "AuthModal.tsx",
"198": "@tailwindcss/postcss",
"199": "prisma",
"200": "application/README.md",
"201": "deploy.sh",
"202": "🔒 Security & Performance Review (09_devops_security)",
"203": "👁️ UX & Persona Interface Review (08_visual_qa)",
- "204": "bcrypt",
+ "204": "VerifyOtpDto",
"205": "prisma/scientificTerms.ts",
"206": "seed-blogs.ts",
"207": "seed-custom.ts",
@@ -219,7 +219,7 @@
"217": "sync_honest_manifest.js",
"218": "sync_manifest.js",
"219": "FormField.tsx",
- "220": "eslint-config-next",
+ "220": "AuthController",
"221": "Textarea.tsx",
"222": "admin-panel/tsconfig.json",
"223": "tailwindcss",
@@ -303,8 +303,9 @@
"301": "reflect-metadata",
"302": "typescript-eslint",
"303": "swagger-ui-express",
+ "304": "track/page.tsx",
"305": "eslint-config-prettier",
- "306": "@eslint/js",
+ "306": "class-transformer",
"307": "@eslint/eslintrc",
"308": "jest",
"309": "axios",
@@ -326,5 +327,7 @@
"325": "@types/react-dom",
"326": "@types/supertest",
"327": "eslint-plugin-react-refresh",
- "329": "typescript-eslint"
+ "328": "eslint",
+ "329": "typescript-eslint",
+ "330": "tailwindcss"
}
diff --git a/graphify-out/2026-09-05/GRAPH_REPORT.md b/graphify-out/2026-09-05/GRAPH_REPORT.md
index 7f82409..38a5081 100644
--- a/graphify-out/2026-09-05/GRAPH_REPORT.md
+++ b/graphify-out/2026-09-05/GRAPH_REPORT.md
@@ -1,23 +1,23 @@
# Graph Report - canina (2026-09-05)
## Corpus Check
-- 603 files · ~1,115,636 words
+- 603 files · ~1,115,875 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
-- 4245 nodes · 7776 edges · 328 communities (215 shown, 113 thin omitted)
+- 4249 nodes · 7780 edges · 331 communities (216 shown, 115 thin omitted)
- Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 298 edges (avg confidence: 0.79)
- Token cost: 0 input · 0 output
## Graph Freshness
-- Built from commit: `00cfd1a2`
+- Built from commit: `1d2d1415`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
## Community Hubs (Navigation)
- Roles
- app.module.ts
-- VetGallery.tsx
+- BlogsService
- productService.ts
- useSettingsStore
- CmsController
@@ -33,7 +33,7 @@
- src/services/api.ts
- DoctorQueryDto
- schema.ts
-- JwtAuthGuard
+- admin.module.ts
- admin.controller.ts
- CreateVideoDto
- pets/pets.controller.ts
@@ -49,7 +49,7 @@
- DOC-001
- adminRoutes.tsx
- WholesaleApplyDto
-- B2BController
+- B2BService
- ContactService
- FaqController
- راهنمای تست سیستم (Software Testing)
@@ -58,11 +58,11 @@
- MediaController
- What You Must Do When Invoked
- SslController
-- BannersController
-- TestimonialsController
+- BannersService
+- TestimonialsService
- What You Must Do When Invoked
- 20260526145407_init/migration.sql
-- IngredientsController
+- IngredientsService
- WikiController
- devDependencies
- devDependencies
@@ -81,8 +81,8 @@
- dependencies
- compilerOptions
- admin.service.ts
-- ApiOperation
-- admin.module.ts
+- AdminQueryDto
+- PetsController
- HomeClient.tsx
- Required Review Group Closures
- compilerOptions
@@ -91,7 +91,7 @@
- Operational Rules & Boundaries
- WikiController
- PetsController
-- ProductsService
+- RevalidationService
- seo.module.ts
- rss.xml/route.ts
- 🏢 AI Software Agency — Master Orchestration Protocol v3
@@ -100,17 +100,17 @@
- scripts
- dependencies
- Role & Core Objective
-- auth.service.ts
+- .sendOtp
- zibal.service.ts
- dependencies
- CreateEBankCheckoutDto
- seed-products.ts
-- cartStore.ts
+- lib/services/api.ts
- Reconciled Audit Roles & Assignments
- OrdersService
- components/Skeleton.tsx
- Phase 3.1 — Human Review Preparation and Master Backlog Critique
-- getSeoConfig
+- wiki/[slug]/page.tsx
- compilerOptions
- PaymentService
- scripts
@@ -128,7 +128,7 @@
- Operational Rules & Boundaries
- Operational Rules & Boundaries
- Operational Rules & Boundaries
-- MetricsController
+- auth.controller.ts
- AppService
- Spinner.tsx
- Vazirmatn Changelog
@@ -138,12 +138,12 @@
- compilerOptions
- backend/README.md
- AdminService
-- B2BService
+- Body
- Repository Map
- validate_integrity.js
- admin-panel/package.json
- Sahel-Font
-- zibal-ebank.service.ts
+- torob.controller.ts
- Reports.tsx
- Sahel-Font
- Role & Core Objective
@@ -159,15 +159,15 @@
- application/package.json
- start-dev.js
- generate-openapi.js
-- lib/services/api.ts
-- trust-seals/page.tsx
+- SafeImage.tsx
+- auth.service.ts
- System Discovery
- HomeController
- RouteErrorBoundary
-- wiki/[slug]/page.tsx
+- RegisterDto
- Product Requirement Document (PRD)
- @nestjs/swagger
-- RevalidationService
+- RedisService
- exclude
- Baseline Command Plan & Reconciled Command History
- seo-backfill.ts
@@ -193,7 +193,7 @@
- uploads/[...path]/route.ts
- app/page.tsx
- نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina
-- app.e2e-spec.js
+- WikiService
- API Contract Specification
- ⚙️ Backend Technical Review (05_dev_backend)
- 🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)
@@ -211,14 +211,14 @@
- Raw Finding Verification & Disposition Report
- React + TypeScript + Vite
- Select.tsx
-- toPersian
+- AuthModal.tsx
- @tailwindcss/postcss
- prisma
- application/README.md
- deploy.sh
- 🔒 Security & Performance Review (09_devops_security)
- 👁️ UX & Persona Interface Review (08_visual_qa)
-- bcrypt
+- VerifyOtpDto
- prisma/scientificTerms.ts
- seed-blogs.ts
- seed-custom.ts
@@ -234,7 +234,7 @@
- sync_honest_manifest.js
- sync_manifest.js
- FormField.tsx
-- eslint-config-next
+- AuthController
- Textarea.tsx
- admin-panel/tsconfig.json
- tailwindcss
@@ -303,8 +303,9 @@
- reflect-metadata
- typescript-eslint
- swagger-ui-express
+- track/page.tsx
- eslint-config-prettier
-- @eslint/js
+- class-transformer
- @eslint/eslintrc
- jest
- @nestjs/cli
@@ -322,7 +323,9 @@
- @types/react-dom
- @types/supertest
- eslint-plugin-react-refresh
+- eslint
- typescript-eslint
+- tailwindcss
## God Nodes (most connected - your core abstractions)
1. `Roles()` - 108 edges
@@ -349,31 +352,31 @@
backend/src/orders/orders.controller.ts → frontend/admin-panel/src/types/admin.ts
## Import Cycles
-- 3-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/store/cartStore.ts -> frontend/application/lib/services/api.ts`
- 3-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/services/authService.ts -> frontend/application/lib/services/api.ts`
+- 3-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/store/cartStore.ts -> frontend/application/lib/services/api.ts`
- 4-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/store/cartStore.ts -> frontend/application/lib/services/orderService.ts -> frontend/application/lib/services/api.ts`
-## Communities (328 total, 113 thin omitted)
+## Communities (331 total, 115 thin omitted)
### Community 0 - "Roles"
Cohesion: 0.24
Nodes (13): Roles(), PaymentController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get (+5 more)
### Community 1 - "app.module.ts"
-Cohesion: 0.07
-Nodes (32): BannersModule, Module, CmsModule, Module, SmsModule, Global, Module, ContactModule (+24 more)
+Cohesion: 0.06
+Nodes (39): AdminModule, Module, B2BModule, Module, BannersModule, Module, CmsModule, Module (+31 more)
-### Community 2 - "VetGallery.tsx"
-Cohesion: 0.15
-Nodes (13): BackButton(), BackButtonProps, VideoModalPlayer, DisplayVideoItem, FALLBACK_VIDEOS, TestimonialItem, VetGallery(), PLAYBACK_RATES (+5 more)
+### Community 2 - "BlogsService"
+Cohesion: 0.13
+Nodes (5): BlogsModule, Module, BlogFilterDto, BlogsService, Injectable
### Community 3 - "productService.ts"
Cohesion: 0.06
-Nodes (40): buildTorobProductSpec(), buildTorobProductTitle(), dynamic, GET(), revalidate, dynamic, GET(), revalidate (+32 more)
+Nodes (35): revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate, BlogCategory, BlogPostItem (+27 more)
### Community 4 - "useSettingsStore"
-Cohesion: 0.08
-Nodes (28): AuthModal, B2BPortal, CartDrawer, ClientLayout(), LoginModal, metadata, ArchivePage(), BrandLogo() (+20 more)
+Cohesion: 0.07
+Nodes (31): AuthModal, B2BPortal, CartDrawer, ClientLayout(), metadata, ArchivePage(), B2BLandingClient(), BrandLogo() (+23 more)
### Community 5 - "CmsController"
Cohesion: 0.09
@@ -393,7 +396,7 @@ Nodes (27): SmsEventDefinition, SmsService, Injectable, SmsLogQueryDto, ApiPrope
### Community 9 - "devDependencies"
Cohesion: 0.22
-Nodes (9): devDependencies, eslint, @types/bcryptjs, @types/node, typescript, eslint, @types/node, typescript (+1 more)
+Nodes (9): devDependencies, @eslint/js, @types/bcryptjs, @types/node, typescript, @eslint/js, @types/node, typescript (+1 more)
### Community 10 - "reviews.controller.ts"
Cohesion: 0.07
@@ -408,12 +411,12 @@ Cohesion: 0.06
Nodes (24): backend, frontend, playwright.config.ts, @playwright/test, tests/**/*.ts, authFile, test, compilerOptions (+16 more)
### Community 13 - "app-audit-verification.e2e-spec.js"
-Cohesion: 0.06
-Nodes (28): AppModule, Module, EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter (+20 more)
+Cohesion: 0.07
+Nodes (26): EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter, Catch, PrismaExceptionFilter (+18 more)
### Community 14 - "UserDashboard.tsx"
-Cohesion: 0.13
-Nodes (22): AddressFormData, AddressModal(), AddressModalProps, normalizeDigits(), validateAddressForm(), CheckoutPage(), DeleteConfirmModal(), DeleteConfirmModalProps (+14 more)
+Cohesion: 0.09
+Nodes (32): AddressFormData, AddressModal(), AddressModalProps, normalizeDigits(), validateAddressForm(), BackButton(), BackButtonProps, BlogPreviewSection() (+24 more)
### Community 15 - "src/services/api.ts"
Cohesion: 0.06
@@ -427,12 +430,12 @@ Nodes (24): DoctorsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Contr
Cohesion: 0.14
Nodes (18): B2BPage(), generateMetadata(), ContactPage(), generateMetadata(), generateMetadata(), getInitialVideos(), Videos(), ContactFormClient() (+10 more)
-### Community 18 - "JwtAuthGuard"
-Cohesion: 0.18
-Nodes (7): JwtAuthGuard, Injectable, ROLES_KEY, RequestWithUser, RolesGuard, Injectable, ScientificTermData
+### Community 18 - "admin.module.ts"
+Cohesion: 0.10
+Nodes (12): MediaService, Injectable, SslCertInfo, JwtAuthGuard, Injectable, B2BWholesaleOrderItem, ROLES_KEY, SortOrder (+4 more)
### Community 19 - "admin.controller.ts"
-Cohesion: 0.35
+Cohesion: 0.29
Nodes (12): ApplyGlobalMarginsDto, BulkPriceAdjustmentDto, ApiProperty, ApiPropertyOptional, IsArray, IsBoolean, IsIn, IsNumber (+4 more)
### Community 20 - "CreateVideoDto"
@@ -491,9 +494,9 @@ Nodes (21): App(), ContactInfoItem, ContactSubmission, CategoryDist, DashboardDa
Cohesion: 0.10
Nodes (20): ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, WholesaleApplyDto, ApiBearerAuth, ApiOperation (+12 more)
-### Community 34 - "B2BController"
-Cohesion: 0.14
-Nodes (13): B2BController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+5 more)
+### Community 34 - "B2BService"
+Cohesion: 0.13
+Nodes (15): B2BController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+7 more)
### Community 35 - "ContactService"
Cohesion: 0.13
@@ -527,13 +530,13 @@ Nodes (26): For /graphify add and --watch, For /graphify query, For the commit h
Cohesion: 0.13
Nodes (14): SslController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Post (+6 more)
-### Community 43 - "BannersController"
+### Community 43 - "BannersService"
Cohesion: 0.13
-Nodes (13): BannersController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+5 more)
+Nodes (15): BannersController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+7 more)
-### Community 44 - "TestimonialsController"
+### Community 44 - "TestimonialsService"
Cohesion: 0.13
-Nodes (12): TestimonialsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+4 more)
+Nodes (14): TestimonialsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
### Community 45 - "What You Must Do When Invoked"
Cohesion: 0.07
@@ -543,13 +546,13 @@ Nodes (26): For /graphify add and --watch, For /graphify query, For the commit h
Cohesion: 0.27
Nodes (14): "coupons", "health_logs", "order_items", "orders", "pet_medical_conditions", "pets", "product_ingredients", "product_symptoms" (+6 more)
-### Community 47 - "IngredientsController"
+### Community 47 - "IngredientsService"
Cohesion: 0.13
-Nodes (12): IngredientsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+4 more)
+Nodes (14): IngredientsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
### Community 48 - "WikiController"
-Cohesion: 0.13
-Nodes (13): ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Controller, Get, Param, Query (+5 more)
+Cohesion: 0.21
+Nodes (9): ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Controller, Get, Param, Query (+1 more)
### Community 49 - "devDependencies"
Cohesion: 0.11
@@ -557,7 +560,7 @@ Nodes (19): autoprefixer, devDependencies, autoprefixer, eslint, @eslint/js, glo
### Community 50 - "devDependencies"
Cohesion: 0.12
-Nodes (17): devDependencies, eslint, jsdom, tailwindcss, @testing-library/jest-dom, @testing-library/react, @types/node, @types/react (+9 more)
+Nodes (17): eslint-config-next, devDependencies, eslint, eslint-config-next, jsdom, @testing-library/jest-dom, @testing-library/react, @types/node (+9 more)
### Community 51 - "BlogsController"
Cohesion: 0.07
@@ -587,21 +590,17 @@ Nodes (15): Badge(), BadgeProps, BadgeVariant, variantStyles, Skeleton(), Monito
Cohesion: 0.09
Nodes (22): CREATE MODE — Normal Operation, Expected JSON Output Schema, File Scope Boundary, Forbidden Actions, MODE 1: REVIEW (called during Review Phase), MODE 2: CONTENT CREATION (standalone task from backlog), Operating Modes, Operational Rules & Boundaries (+14 more)
-### Community 58 - "AuthService"
-Cohesion: 0.22
-Nodes (3): AuthService, Injectable, normalizeMobile()
-
### Community 59 - "compilerOptions"
Cohesion: 0.06
Nodes (30): compilerOptions, allowSyntheticDefaultImports, baseUrl, declaration, emitDecoratorMetadata, esModuleInterop, experimentalDecorators, forceConsistentCasingInFileNames (+22 more)
### Community 60 - "CreateUserDto"
-Cohesion: 0.21
-Nodes (10): CreateUserDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty, IsNumber, IsOptional, IsString (+2 more)
+Cohesion: 0.18
+Nodes (11): CreateUserDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty, IsNumber, IsOptional, IsString (+3 more)
### Community 61 - "ProductPage.tsx"
-Cohesion: 0.11
-Nodes (32): ArchiveProductCard(), CATEGORY_MAP, ICON_MAP, FeaturedProducts(), ProductCard(), Header(), OrderSuccess(), OrderTracking() (+24 more)
+Cohesion: 0.12
+Nodes (30): ArchiveProductCard(), CATEGORY_MAP, ICON_MAP, FeaturedProducts(), ProductCard(), OrderSuccess(), PetProfile(), ProductImageZoomModalProps (+22 more)
### Community 62 - "ReportsController"
Cohesion: 0.14
@@ -609,27 +608,27 @@ Nodes (11): ReportsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, C
### Community 63 - "dependencies"
Cohesion: 0.09
-Nodes (23): dependencies, bcryptjs, class-transformer, class-validator, compression, ioredis, @nestjs/common, @nestjs/passport (+15 more)
+Nodes (23): dependencies, bcrypt, bcryptjs, class-validator, compression, ioredis, @nestjs/common, @nestjs/passport (+15 more)
### Community 64 - "compilerOptions"
Cohesion: 0.10
Nodes (20): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, lib, module, moduleDetection, moduleResolution, noEmit (+12 more)
### Community 65 - "admin.service.ts"
-Cohesion: 0.21
+Cohesion: 0.22
Nodes (8): CouponTargetInput, PaginationQuery, applyRounding(), calculateSellingPrice(), DEFAULT_PRICING_SETTINGS, PricingSettings, RoundingMode, CANONICAL_ALIASES
-### Community 66 - "ApiOperation"
-Cohesion: 0.13
-Nodes (9): ApiOperation, ApiQuery, Get, Query, AdminProductQueryDto, AdminQueryDto, ApiPropertyOptional, IsOptional (+1 more)
+### Community 66 - "AdminQueryDto"
+Cohesion: 0.18
+Nodes (8): ApiQuery, Get, Query, AdminProductQueryDto, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString
-### Community 67 - "admin.module.ts"
-Cohesion: 0.06
-Nodes (23): AdminModule, Module, MediaService, Injectable, PetsController, ApiBearerAuth, ApiOperation, ApiQuery (+15 more)
+### Community 67 - "PetsController"
+Cohesion: 0.11
+Nodes (13): PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Delete, Get (+5 more)
### Community 68 - "HomeClient.tsx"
-Cohesion: 0.11
-Nodes (19): HomeClient(), HomeClientProps, BannerPlacement(), BannerPlacementProps, BlogPreviewSection(), FAQSection(), Hero(), StatCounter() (+11 more)
+Cohesion: 0.14
+Nodes (17): HomeClient(), HomeClientProps, BannerPlacement(), BannerPlacementProps, Hero(), StatCounter(), B2BInquiry, Banner (+9 more)
### Community 69 - "Required Review Group Closures"
Cohesion: 0.10
@@ -659,9 +658,9 @@ Nodes (14): ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, De
Cohesion: 0.08
Nodes (32): CreateHealthLogDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, CreateReminderDto, ApiProperty (+24 more)
-### Community 76 - "ProductsService"
+### Community 76 - "RevalidationService"
Cohesion: 0.07
-Nodes (27): GetProductsDto, ApiPropertyOptional, IsEnum, IsOptional, IsString, ProductsController, ApiOperation, ApiTags (+19 more)
+Nodes (24): RevalidationModule, Global, Module, RevalidationService, Injectable, GetProductsDto, ApiPropertyOptional, IsEnum (+16 more)
### Community 77 - "seo.module.ts"
Cohesion: 0.16
@@ -695,9 +694,9 @@ Nodes (21): dependencies, axios, lucide-react, react, react-dom, react-hot-toast
Cohesion: 0.12
Nodes (16): 1. Active Secret Scanning (All Modified Files), 2. Docker Container Verification (if Dockerfile exists), 3. CI/CD Basic Check (if `.github/workflows/` exists), 4. Failure Routing Protocol, 5. Forbidden Actions, ENFORCE MODE — Normal Operation, Expected JSON Output Schema, Operational Rules & Boundaries (+8 more)
-### Community 85 - "auth.service.ts"
-Cohesion: 0.06
-Nodes (46): AuthController, ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+38 more)
+### Community 85 - ".sendOtp"
+Cohesion: 0.32
+Nodes (10): ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, Body, Post, Req, Throttle (+2 more)
### Community 86 - "zibal.service.ts"
Cohesion: 0.16
@@ -715,17 +714,17 @@ Nodes (8): CreateEBankCheckoutDto, ApiProperty, ApiPropertyOptional, IsNotEmpty,
Cohesion: 0.17
Nodes (12): prisma, main(), prisma, determineSuitableFor(), findOrCreateCategory(), getProductImageUrl(), main(), parseSize() (+4 more)
-### Community 90 - "cartStore.ts"
-Cohesion: 0.15
-Nodes (8): ApiErr, Order, OrderItem, OrderService, CartItem, CartStore, Order, mockProduct
+### Community 90 - "lib/services/api.ts"
+Cohesion: 0.09
+Nodes (26): VerifyContent(), B2BPortal(), ContactInfoItem, Header(), MENU_ICONS, PrescriptionUploadModal(), PrescriptionUploadModalProps, UserDashboard() (+18 more)
### Community 91 - "Reconciled Audit Roles & Assignments"
Cohesion: 0.12
Nodes (15): 10. Documentation Engineer, 1. Lead Architect / Orchestrator, 2. React / Vite Storefront Auditor, 3. NestJS Backend Auditor, 4. Admin Features Auditor, 5. Database & Data Integrity Auditor, 6. Security Auditor, 7. TypeScript & Code Quality Auditor (+7 more)
### Community 92 - "OrdersService"
-Cohesion: 0.06
-Nodes (35): CreateOrderDto, OrderItemDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional (+27 more)
+Cohesion: 0.07
+Nodes (29): CreateOrderDto, OrderItemDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional (+21 more)
### Community 93 - "components/Skeleton.tsx"
Cohesion: 0.24
@@ -735,9 +734,9 @@ Nodes (4): OrderRowSkeleton(), PetProfileSkeleton(), Skeleton(), SkeletonProps
Cohesion: 0.13
Nodes (14): 10. Dependency & Wave Adjustments, 11. Acceptance Criteria Refinements, 12. Business and Product Decision Classification, 13. Final Recommended Backlog Summary, 1. Executive Assessment, 2. Findings That Require No Change, 3. Findings Requiring Task Refinements, 4. Tasks Requiring Splitting (+6 more)
-### Community 95 - "getSeoConfig"
-Cohesion: 0.26
-Nodes (11): BlogPostPage(), generateMetadata(), getBlog(), revalidate, safeIso(), safeLocalDate(), generateMetadata(), revalidate (+3 more)
+### Community 95 - "wiki/[slug]/page.tsx"
+Cohesion: 0.24
+Nodes (15): BlogPostPage(), generateMetadata(), getBlog(), revalidate, safeIso(), safeLocalDate(), generateMetadata(), generateMetadata() (+7 more)
### Community 96 - "compilerOptions"
Cohesion: 0.06
@@ -785,11 +784,11 @@ Nodes (7): InitiatePaymentDto, InitiateWalletTopupDto, ApiProperty, ApiPropertyO
### Community 107 - "PaginationDto"
Cohesion: 0.07
-Nodes (19): BlogsModule, Module, BlogFilterDto, BlogsService, Injectable, PaginationDto, SortOrder, ApiPropertyOptional (+11 more)
+Nodes (23): PaginationDto, ApiPropertyOptional, IsEnum, IsInt, IsOptional, IsString, Min, Type (+15 more)
### Community 108 - "PrismaService"
Cohesion: 0.06
-Nodes (27): CategoryQuery, PetQuery, WikiQuery, BannersService, Injectable, DEFAULT_SMS_RULES, SMS_EVENT_DEFINITIONS, SmsEventVariable (+19 more)
+Nodes (25): CategoryQuery, PetQuery, WikiQuery, DEFAULT_SMS_RULES, SMS_EVENT_DEFINITIONS, SmsEventVariable, SmsRule, MeliPayamakPattern (+17 more)
### Community 109 - "1. Summary of Integrity Repairs Performed"
Cohesion: 0.17
@@ -807,9 +806,9 @@ Nodes (10): 1. Mark Active Task as Complete, 2. Documentation Updates, 3. Dynami
Cohesion: 0.18
Nodes (10): 1. Pre-Deployment Checklist, 2. Build Verification, 3. Deployment Strategy (Based on Target), 4. Post-Deployment Health Check, 5. Forbidden Actions, Expected JSON Output Schema, Operational Rules & Boundaries, Required Output Artifacts (What files to write/update) (+2 more)
-### Community 113 - "MetricsController"
-Cohesion: 0.20
-Nodes (5): ApiExcludeController, MetricsController, Controller, Get, Res
+### Community 113 - "auth.controller.ts"
+Cohesion: 0.16
+Nodes (11): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength, LoginDto, ApiProperty (+3 more)
### Community 114 - "AppService"
Cohesion: 0.29
@@ -844,12 +843,12 @@ Cohesion: 0.20
Nodes (9): Compile and run the project, Deployment, Description, License, Project setup, Resources, Run tests, Stay in touch (+1 more)
### Community 122 - "AdminService"
-Cohesion: 0.09
-Nodes (13): AdminController, ApiBearerAuth, ApiTags, Body, Controller, Delete, Param, Post (+5 more)
+Cohesion: 0.10
+Nodes (11): AdminController, ApiBearerAuth, ApiOperation, ApiTags, Controller, Delete, Param, Put (+3 more)
-### Community 123 - "B2BService"
-Cohesion: 0.33
-Nodes (5): B2BModule, Module, B2BService, B2BWholesaleOrderItem, Injectable
+### Community 123 - "Body"
+Cohesion: 0.21
+Nodes (3): Body, Post, CouponInput
### Community 124 - "Repository Map"
Cohesion: 0.20
@@ -867,9 +866,9 @@ Nodes (9): name, private, scripts, build, dev, lint, preview, type (+1 more)
Cohesion: 0.20
Nodes (9): Arch Linux, Contributors, Install, Known problems for variable version, License, Sahel-Font, To Do (variable), طریقه استفاده از نسخه متغیر variable (+1 more)
-### Community 128 - "zibal-ebank.service.ts"
-Cohesion: 0.40
-Nodes (4): EBankCheckoutListFilter, EBankCheckoutOptions, EBankIdentifiedPaymentFilter, EBankStatementFilter
+### Community 128 - "torob.controller.ts"
+Cohesion: 0.22
+Nodes (8): buildTorobProductSpec(), buildTorobProductTitle(), TorobController, ApiOperation, ApiTags, Controller, Get, Query
### Community 129 - "Reports.tsx"
Cohesion: 0.20
@@ -931,9 +930,13 @@ Nodes (7): backend, distMainPath, fs, http, path, { spawn, execSync }, waitForBa
Cohesion: 0.25
Nodes (6): app_module_1, core_1, fs, path, swagger_1, yaml
-### Community 144 - "lib/services/api.ts"
-Cohesion: 0.09
-Nodes (21): B2BLandingClient(), BlogPostClientProps, BlogPost, ContactInfoItem, FAQItem, OrderDetailsModalProps, PLAYBACK_RATES, PodcastInlinePlayer() (+13 more)
+### Community 144 - "SafeImage.tsx"
+Cohesion: 0.06
+Nodes (34): buildTorobProductSpec(), buildTorobProductTitle(), dynamic, GET(), revalidate, dynamic, GET(), revalidate (+26 more)
+
+### Community 145 - "auth.service.ts"
+Cohesion: 0.22
+Nodes (8): AdminLoginInput, LoginInput, RegisterInput, SendOtpDto, ApiProperty, IsNotEmpty, IsString, Matches
### Community 146 - "System Discovery"
Cohesion: 0.25
@@ -947,17 +950,17 @@ Nodes (10): HomeController, ApiOkResponse, ApiOperation, ApiTags, Controller, Ge
Cohesion: 0.22
Nodes (3): Props, RouteErrorBoundary, State
-### Community 149 - "wiki/[slug]/page.tsx"
-Cohesion: 0.60
-Nodes (5): generateMetadata(), getRelatedProducts(), getWikiTerm(), WikiTermPage(), generateMedicalWebPageSchema()
+### Community 149 - "RegisterDto"
+Cohesion: 0.22
+Nodes (8): RegisterDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty, IsOptional, IsString, MinLength
### Community 150 - "Product Requirement Document (PRD)"
Cohesion: 0.29
Nodes (6): 1. Executive Vision, 2. Target Audience, 3. Functional Requirements, 4. Non-Functional Requirements (Performance, Security), 5. Epic / Feature Breakdown, Product Requirement Document (PRD)
-### Community 152 - "RevalidationService"
-Cohesion: 0.12
-Nodes (8): Optional, RevalidationModule, Global, Module, RevalidationService, Injectable, RedisService, Injectable
+### Community 152 - "RedisService"
+Cohesion: 0.08
+Nodes (13): ApiExcludeController, Optional, AppModule, Module, MetricsController, Controller, Get, Res (+5 more)
### Community 153 - "exclude"
Cohesion: 0.22
@@ -1055,10 +1058,6 @@ Nodes (3): generateMetadata(), getHomeData(), Home()
Cohesion: 0.33
Nodes (5): نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina, ۱. معماری و نقشهای کاربری (User Roles), ۲. ماتریس جریانها و قابلیتهای کاربرمحور (Feature & Flow Matrix), ۳. وضعیت پوشش نهایی سوئیت ۱۱گانه (Final 11 Test Suites Status), ۴. راهنمای نگهداری و افزودن فیچرهای جدید بدون شکستن تستها (Developer Maintenance Guide)
-### Community 179 - "app.e2e-spec.js"
-Cohesion: 0.50
-Nodes (3): app_module_1, supertest_1, testing_1
-
### Community 180 - "API Contract Specification"
Cohesion: 0.50
Nodes (3): 1. OpenAPI 3.0 (Swagger) Specification, 2. Endpoint Definitions & Data Types, API Contract Specification
@@ -1076,7 +1075,7 @@ Cohesion: 0.50
Nodes (3): Overview & Content Foundation, SEO & Content Requirements, 🚀 SEO & Content Strategy Review (12_seo_content)
### Community 184 - "FaqService"
-Cohesion: 0.33
+Cohesion: 0.36
Nodes (4): FaqModule, Module, FaqService, Injectable
### Community 185 - "Reviews.tsx"
@@ -1107,9 +1106,9 @@ Nodes (3): Expanding the ESLint configuration, React Compiler, React + TypeScrip
Cohesion: 0.50
Nodes (3): Select, SelectOption, SelectProps
-### Community 197 - "toPersian"
-Cohesion: 0.07
-Nodes (33): VerifyContent(), AuthModal(), AuthModalProps, extractOtpFromText(), otpCooldownExpiries, B2BPortal(), CartDrawer(), HeaderButton() (+25 more)
+### Community 197 - "AuthModal.tsx"
+Cohesion: 0.09
+Nodes (16): LoginModal, AuthModal(), AuthModalProps, extractOtpFromText(), otpCooldownExpiries, NOTE: We intentionally do NOT use navigator.credentials.get (WebOTP API) here, IMPORTANT: only depend on isOpen here — NOT subView. If we depend on subView,, LoginModal() (+8 more)
### Community 200 - "application/README.md"
Cohesion: 0.50
@@ -1119,10 +1118,18 @@ Nodes (3): Deploy on Vercel, Getting Started, Learn More
Cohesion: 0.50
Nodes (3): COMPOSE_DOCKER_CLI_BUILD, DOCKER_BUILDKIT, deploy.sh script
+### Community 204 - "VerifyOtpDto"
+Cohesion: 0.29
+Nodes (6): ApiProperty, IsNotEmpty, IsString, Matches, VerifyOtpDto, Length
+
### Community 211 - "Master Task Backlog (Phase 3.3)"
Cohesion: 0.67
Nodes (3): ADR-AUTH-001: Admin Panel Authentication Architecture & Token Management, Master Task Backlog (Phase 3.3), Phase 3 Master Execution Plan
+### Community 220 - "AuthController"
+Cohesion: 0.40
+Nodes (3): AuthController, ApiTags, Controller
+
### Community 226 - "Shabnam Font README"
Cohesion: 0.67
Nodes (3): Shabnam Font README, Shabnam Font Sample, Vazir Font
@@ -1138,22 +1145,22 @@ Nodes (3): GET(), handleRevalidate(), POST()
## Knowledge Gaps
- **1355 isolated node(s):** `$schema`, `collection`, `sourceRoot`, `deleteOutDir`, `name` (+1350 more)
These have ≤1 connection - possible missing edges or undocumented components.
-- **113 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
+- **115 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
-- **Why does `Roles()` connect `Roles` to `WholesaleApplyDto`, `B2BController`, `ContactService`, `FaqController`, `CmsController`, `tickets.controller.ts`, `SmsService`, `SslController`, `BannersController`, `ProductsService`, `reviews.controller.ts`, `TestimonialsController`, `IngredientsController`, `JwtAuthGuard`, `prescriptions.controller.ts`, `SmartAdvisorService`, `MenuService`, `B2BService`?**
+- **Why does `Roles()` connect `Roles` to `WholesaleApplyDto`, `B2BService`, `ContactService`, `FaqController`, `CmsController`, `tickets.controller.ts`, `SmsService`, `SslController`, `BannersService`, `RevalidationService`, `reviews.controller.ts`, `TestimonialsService`, `IngredientsService`, `admin.module.ts`, `prescriptions.controller.ts`, `SmartAdvisorService`, `MenuService`, `FaqService`?**
_High betweenness centrality (0.093) - this node is a cross-community bridge._
-- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `PetsController`, `ProductsService`, `UsersService`, `WikiController`, `HomeController`, `auth.service.ts`, `OrdersService`?**
+- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `PetsController`, `RevalidationService`, `UsersService`, `OrdersService`, `WikiController`, `HomeController`, `AuthController`?**
_High betweenness centrality (0.066) - this node is a cross-community bridge._
-- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `app.module.ts`, `admin.module.ts`, `CmsController`, `tickets.controller.ts`, `reviews.controller.ts`, `PaginationDto`, `ProductsService`, `UsersService`, `admin.controller.ts`, `prescriptions.controller.ts`, `auth.service.ts`, `pets/pets.controller.ts`, `B2BService`, `OrdersService`?**
+- **Why does `JwtAuthGuard` connect `admin.module.ts` to `CmsController`, `tickets.controller.ts`, `reviews.controller.ts`, `PaginationDto`, `RevalidationService`, `UsersService`, `DoctorQueryDto`, `auth.controller.ts`, `admin.controller.ts`, `prescriptions.controller.ts`, `pets/pets.controller.ts`, `FaqService`?**
_High betweenness centrality (0.030) - this node is a cross-community bridge._
- **What connects `$schema`, `collection`, `sourceRoot` to the rest of the system?**
_1355 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `app.module.ts` be split into smaller, more focused modules?**
- _Cohesion score 0.07137254901960784 - nodes in this community are weakly interconnected._
+ _Cohesion score 0.06140350877192982 - nodes in this community are weakly interconnected._
+- **Should `BlogsService` be split into smaller, more focused modules?**
+ _Cohesion score 0.13333333333333333 - nodes in this community are weakly interconnected._
- **Should `productService.ts` be split into smaller, more focused modules?**
- _Cohesion score 0.05839727195225917 - nodes in this community are weakly interconnected._
-- **Should `useSettingsStore` be split into smaller, more focused modules?**
- _Cohesion score 0.0782608695652174 - nodes in this community are weakly interconnected._
\ No newline at end of file
+ _Cohesion score 0.05961538461538462 - nodes in this community are weakly interconnected._
\ No newline at end of file
diff --git a/graphify-out/2026-09-05/graph.json b/graphify-out/2026-09-05/graph.json
index 6e9879f..8a5b3e3 100644
--- a/graphify-out/2026-09-05/graph.json
+++ b/graphify-out/2026-09-05/graph.json
@@ -16,6 +16,32 @@
"community_name": "Roles",
"norm_label": "paymentcontroller"
},
+ {
+ "label": "AdminModule",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.module.ts",
+ "source_location": "L44",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_module_adminmodule",
+ "community": 1,
+ "community_name": "app.module.ts",
+ "norm_label": "adminmodule"
+ },
+ {
+ "label": "B2BModule",
+ "file_type": "code",
+ "source_file": "backend/src/b2b/b2b.module.ts",
+ "source_location": "L12",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_b2b_b2b_module_b2bmodule",
+ "community": 1,
+ "community_name": "app.module.ts",
+ "norm_label": "b2bmodule"
+ },
{
"label": "BannersModule",
"file_type": "code",
@@ -458,45 +484,6 @@
"community_name": "InitiatePaymentDto",
"norm_label": "initiatewallettopupdto"
},
- {
- "label": "BlogsModule",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.module.ts",
- "source_location": "L9",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_module_blogsmodule",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "blogsmodule"
- },
- {
- "label": "BlogFilterDto",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L6",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogfilterdto",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "blogfilterdto"
- },
- {
- "label": "BlogsService",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L13",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogsservice",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "blogsservice"
- },
{
"label": "PaginationDto",
"file_type": "code",
@@ -511,17 +498,30 @@
"norm_label": "paginationdto"
},
{
- "label": "SortOrder",
+ "label": "ValidateCouponDto",
"file_type": "code",
- "source_file": "backend/src/common/dto/pagination.dto.ts",
- "source_location": "L5",
+ "source_file": "backend/src/orders/orders.controller.ts",
+ "source_location": "L29",
"_callable": true,
"_callable_class": true,
"_origin": "ast",
- "id": "backend_src_common_dto_pagination_dto_sortorder",
+ "id": "backend_src_orders_orders_controller_validatecoupondto",
"community": 107,
"community_name": "PaginationDto",
- "norm_label": "sortorder"
+ "norm_label": "validatecoupondto"
+ },
+ {
+ "label": "OrdersModule",
+ "file_type": "code",
+ "source_file": "backend/src/orders/orders.module.ts",
+ "source_location": "L9",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_orders_orders_module_ordersmodule",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "ordersmodule"
},
{
"label": "GetVideosQueryDto",
@@ -536,6 +536,32 @@
"community_name": "PaginationDto",
"norm_label": "getvideosquerydto"
},
+ {
+ "label": "WikiModule",
+ "file_type": "code",
+ "source_file": "backend/src/wiki/wiki.module.ts",
+ "source_location": "L9",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_wiki_wiki_module_wikimodule",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "wikimodule"
+ },
+ {
+ "label": "WikiService",
+ "file_type": "code",
+ "source_file": "backend/src/wiki/wiki.service.ts",
+ "source_location": "L7",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_wiki_wiki_service_wikiservice",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "wikiservice"
+ },
{
"label": "CategoryQuery",
"file_type": "code",
@@ -575,19 +601,6 @@
"community_name": "PrismaService",
"norm_label": "wikiquery"
},
- {
- "label": "BannersService",
- "file_type": "code",
- "source_file": "backend/src/banners/banners.service.ts",
- "source_location": "L6",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_banners_banners_service_bannersservice",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": "bannersservice"
- },
{
"label": "SmsEventVariable",
"file_type": "code",
@@ -718,19 +731,6 @@
"community_name": "PrismaService",
"norm_label": "updatecontactinfoitemdto"
},
- {
- "label": "IngredientsService",
- "file_type": "code",
- "source_file": "backend/src/ingredients/ingredients.service.ts",
- "source_location": "L6",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_ingredients_ingredients_service_ingredientsservice",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": "ingredientsservice"
- },
{
"label": "MenuType",
"file_type": "code",
@@ -757,6 +757,58 @@
"community_name": "PrismaService",
"norm_label": "clientmetadata"
},
+ {
+ "label": "EBankCheckoutListFilter",
+ "file_type": "code",
+ "source_file": "backend/src/payment/zibal-ebank.service.ts",
+ "source_location": "L16",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_payment_zibal_ebank_service_ebankcheckoutlistfilter",
+ "community": 108,
+ "community_name": "PrismaService",
+ "norm_label": "ebankcheckoutlistfilter"
+ },
+ {
+ "label": "EBankCheckoutOptions",
+ "file_type": "code",
+ "source_file": "backend/src/payment/zibal-ebank.service.ts",
+ "source_location": "L4",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_payment_zibal_ebank_service_ebankcheckoutoptions",
+ "community": 108,
+ "community_name": "PrismaService",
+ "norm_label": "ebankcheckoutoptions"
+ },
+ {
+ "label": "EBankIdentifiedPaymentFilter",
+ "file_type": "code",
+ "source_file": "backend/src/payment/zibal-ebank.service.ts",
+ "source_location": "L34",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_payment_zibal_ebank_service_ebankidentifiedpaymentfilter",
+ "community": 108,
+ "community_name": "PrismaService",
+ "norm_label": "ebankidentifiedpaymentfilter"
+ },
+ {
+ "label": "EBankStatementFilter",
+ "file_type": "code",
+ "source_file": "backend/src/payment/zibal-ebank.service.ts",
+ "source_location": "L25",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_payment_zibal_ebank_service_ebankstatementfilter",
+ "community": 108,
+ "community_name": "PrismaService",
+ "norm_label": "ebankstatementfilter"
+ },
{
"label": "PrismaService",
"file_type": "code",
@@ -770,19 +822,6 @@
"community_name": "PrismaService",
"norm_label": "prismaservice"
},
- {
- "label": "TestimonialsService",
- "file_type": "code",
- "source_file": "backend/src/testimonials/testimonials.service.ts",
- "source_location": "L6",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_testimonials_testimonials_service_testimonialsservice",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": "testimonialsservice"
- },
{
"label": "VideoQuery",
"file_type": "code",
@@ -914,17 +953,30 @@
"norm_label": "usersservice"
},
{
- "label": "MetricsController",
+ "label": "AdminLoginDto",
"file_type": "code",
- "source_file": "backend/src/common/metrics.controller.ts",
- "source_location": "L8",
+ "source_file": "backend/src/auth/dto/admin-login.dto.ts",
+ "source_location": "L4",
"_callable": true,
"_callable_class": true,
"_origin": "ast",
- "id": "backend_src_common_metrics_controller_metricscontroller",
+ "id": "backend_src_auth_dto_admin_login_dto_adminlogindto",
"community": 113,
- "community_name": "MetricsController",
- "norm_label": "metricscontroller"
+ "community_name": "auth.controller.ts",
+ "norm_label": "adminlogindto"
+ },
+ {
+ "label": "LoginDto",
+ "file_type": "code",
+ "source_file": "backend/src/auth/dto/login.dto.ts",
+ "source_location": "L4",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_login_dto_logindto",
+ "community": 113,
+ "community_name": "auth.controller.ts",
+ "norm_label": "logindto"
},
{
"label": "AppController",
@@ -1208,100 +1260,22 @@
"_callable_class": true,
"_origin": "ast",
"id": "backend_src_admin_admin_service_couponinput",
- "community": 122,
- "community_name": "AdminService",
+ "community": 123,
+ "community_name": "Body",
"norm_label": "couponinput"
},
{
- "label": "B2BModule",
+ "label": "TorobController",
"file_type": "code",
- "source_file": "backend/src/b2b/b2b.module.ts",
- "source_location": "L12",
+ "source_file": "backend/src/products/torob.controller.ts",
+ "source_location": "L101",
"_callable": true,
"_callable_class": true,
"_origin": "ast",
- "id": "backend_src_b2b_b2b_module_b2bmodule",
- "community": 123,
- "community_name": "B2BService",
- "norm_label": "b2bmodule"
- },
- {
- "label": "B2BService",
- "file_type": "code",
- "source_file": "backend/src/b2b/b2b.service.ts",
- "source_location": "L14",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_b2b_b2b_service_b2bservice",
- "community": 123,
- "community_name": "B2BService",
- "norm_label": "b2bservice"
- },
- {
- "label": "B2BWholesaleOrderItem",
- "file_type": "code",
- "source_file": "backend/src/b2b/b2b.service.ts",
- "source_location": "L8",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_b2b_b2b_service_b2bwholesaleorderitem",
- "community": 123,
- "community_name": "B2BService",
- "norm_label": "b2bwholesaleorderitem"
- },
- {
- "label": "EBankCheckoutListFilter",
- "file_type": "code",
- "source_file": "backend/src/payment/zibal-ebank.service.ts",
- "source_location": "L16",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_payment_zibal_ebank_service_ebankcheckoutlistfilter",
+ "id": "backend_src_products_torob_controller_torobcontroller",
"community": 128,
- "community_name": "zibal-ebank.service.ts",
- "norm_label": "ebankcheckoutlistfilter"
- },
- {
- "label": "EBankCheckoutOptions",
- "file_type": "code",
- "source_file": "backend/src/payment/zibal-ebank.service.ts",
- "source_location": "L4",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_payment_zibal_ebank_service_ebankcheckoutoptions",
- "community": 128,
- "community_name": "zibal-ebank.service.ts",
- "norm_label": "ebankcheckoutoptions"
- },
- {
- "label": "EBankIdentifiedPaymentFilter",
- "file_type": "code",
- "source_file": "backend/src/payment/zibal-ebank.service.ts",
- "source_location": "L34",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_payment_zibal_ebank_service_ebankidentifiedpaymentfilter",
- "community": 128,
- "community_name": "zibal-ebank.service.ts",
- "norm_label": "ebankidentifiedpaymentfilter"
- },
- {
- "label": "EBankStatementFilter",
- "file_type": "code",
- "source_file": "backend/src/payment/zibal-ebank.service.ts",
- "source_location": "L25",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_payment_zibal_ebank_service_ebankstatementfilter",
- "community": 128,
- "community_name": "zibal-ebank.service.ts",
- "norm_label": "ebankstatementfilter"
+ "community_name": "torob.controller.ts",
+ "norm_label": "torobcontroller"
},
{
"label": "BestSellerItem",
@@ -1368,19 +1342,6 @@
"community_name": "Reports.tsx",
"norm_label": "topcouponitem"
},
- {
- "label": "AppModule",
- "file_type": "code",
- "source_file": "backend/src/app.module.ts",
- "source_location": "L89",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_app_module_appmodule",
- "community": 13,
- "community_name": "app-audit-verification.e2e-spec.js",
- "norm_label": "appmodule"
- },
{
"label": "EnvironmentVariables",
"file_type": "code",
@@ -1511,6 +1472,19 @@
"community_name": "UserDashboard.tsx",
"norm_label": "addressmodalprops"
},
+ {
+ "label": "BackButtonProps",
+ "file_type": "code",
+ "source_file": "frontend/application/components/BackButton.tsx",
+ "source_location": "L8",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_backbutton_backbuttonprops",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "backbuttonprops"
+ },
{
"label": "DeleteConfirmModalProps",
"file_type": "code",
@@ -1524,6 +1498,45 @@
"community_name": "UserDashboard.tsx",
"norm_label": "deleteconfirmmodalprops"
},
+ {
+ "label": "HeaderButtonProps",
+ "file_type": "code",
+ "source_file": "frontend/application/components/HeaderButton.tsx",
+ "source_location": "L6",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_headerbutton_headerbuttonprops",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "headerbuttonprops"
+ },
+ {
+ "label": "ProductReviewsProps",
+ "file_type": "code",
+ "source_file": "frontend/application/components/ProductReviews.tsx",
+ "source_location": "L28",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_productreviews_productreviewsprops",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "productreviewsprops"
+ },
+ {
+ "label": "ReviewItem",
+ "file_type": "code",
+ "source_file": "frontend/application/components/ProductReviews.tsx",
+ "source_location": "L19",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_productreviews_reviewitem",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "reviewitem"
+ },
{
"label": "SearchableSelectProps",
"file_type": "code",
@@ -1651,7 +1664,7 @@
"_origin": "ast",
"id": "frontend_application_components_blogpostclient_blogpostclientprops",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "blogpostclientprops"
},
{
@@ -1664,35 +1677,9 @@
"_origin": "ast",
"id": "frontend_application_components_blogpreviewsection_blogpost",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "blogpost"
},
- {
- "label": "ContactInfoItem",
- "file_type": "code",
- "source_file": "frontend/application/components/ContactFormClient.tsx",
- "source_location": "L7",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_components_contactformclient_contactinfoitem",
- "community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "contactinfoitem"
- },
- {
- "label": "FAQItem",
- "file_type": "code",
- "source_file": "frontend/application/components/FAQSection.tsx",
- "source_location": "L8",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_components_faqsection_faqitem",
- "community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "faqitem"
- },
{
"label": "OrderDetailsModalProps",
"file_type": "code",
@@ -1703,7 +1690,7 @@
"_origin": "ast",
"id": "frontend_application_components_orderdetailsmodal_orderdetailsmodalprops",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "orderdetailsmodalprops"
},
{
@@ -1716,7 +1703,7 @@
"_origin": "ast",
"id": "frontend_application_components_podcastinlineplayer_podcastinlineplayerprops",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "podcastinlineplayerprops"
},
{
@@ -1729,7 +1716,7 @@
"_origin": "ast",
"id": "frontend_application_components_podcastplayermodal_podcastplayermodalprops",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "podcastplayermodalprops"
},
{
@@ -1742,7 +1729,7 @@
"_origin": "ast",
"id": "frontend_application_components_safeimage_safeimageprops",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "safeimageprops"
},
{
@@ -1755,47 +1742,112 @@
"_origin": "ast",
"id": "frontend_application_components_testimonialssection_testimonial",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "testimonial"
},
{
- "label": "ApiErrorPayload",
+ "label": "DisplayVideoItem",
"file_type": "code",
- "source_file": "frontend/application/lib/services/api.ts",
- "source_location": "L16",
+ "source_file": "frontend/application/components/VetGallery.tsx",
+ "source_location": "L58",
"_callable": true,
"_callable_class": true,
"_origin": "ast",
- "id": "frontend_application_lib_services_api_apierrorpayload",
+ "id": "frontend_application_components_vetgallery_displayvideoitem",
"community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "apierrorpayload"
+ "community_name": "SafeImage.tsx",
+ "norm_label": "displayvideoitem"
},
{
- "label": "ScientificTerm",
+ "label": "TestimonialItem",
"file_type": "code",
- "source_file": "frontend/application/lib/store/settingsStore.ts",
- "source_location": "L5",
+ "source_file": "frontend/application/components/VetGallery.tsx",
+ "source_location": "L11",
"_callable": true,
"_callable_class": true,
"_origin": "ast",
- "id": "frontend_application_lib_store_settingsstore_scientificterm",
+ "id": "frontend_application_components_vetgallery_testimonialitem",
"community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "scientificterm"
+ "community_name": "SafeImage.tsx",
+ "norm_label": "testimonialitem"
},
{
- "label": "SettingsStore",
+ "label": "VideoModalPlayerProps",
"file_type": "code",
- "source_file": "frontend/application/lib/store/settingsStore.ts",
- "source_location": "L12",
+ "source_file": "frontend/application/components/VideoModalPlayer.tsx",
+ "source_location": "L24",
"_callable": true,
"_callable_class": true,
"_origin": "ast",
- "id": "frontend_application_lib_store_settingsstore_settingsstore",
+ "id": "frontend_application_components_videomodalplayer_videomodalplayerprops",
"community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "settingsstore"
+ "community_name": "SafeImage.tsx",
+ "norm_label": "videomodalplayerprops"
+ },
+ {
+ "label": "Video",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/videoService.ts",
+ "source_location": "L4",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_videoservice_video",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "video"
+ },
+ {
+ "label": "AdminLoginInput",
+ "file_type": "code",
+ "source_file": "backend/src/auth/auth.service.ts",
+ "source_location": "L30",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_auth_auth_service_adminlogininput",
+ "community": 145,
+ "community_name": "auth.service.ts",
+ "norm_label": "adminlogininput"
+ },
+ {
+ "label": "LoginInput",
+ "file_type": "code",
+ "source_file": "backend/src/auth/auth.service.ts",
+ "source_location": "L25",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_auth_auth_service_logininput",
+ "community": 145,
+ "community_name": "auth.service.ts",
+ "norm_label": "logininput"
+ },
+ {
+ "label": "RegisterInput",
+ "file_type": "code",
+ "source_file": "backend/src/auth/auth.service.ts",
+ "source_location": "L17",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_auth_auth_service_registerinput",
+ "community": 145,
+ "community_name": "auth.service.ts",
+ "norm_label": "registerinput"
+ },
+ {
+ "label": "SendOtpDto",
+ "file_type": "code",
+ "source_file": "backend/src/auth/dto/send-otp.dto.ts",
+ "source_location": "L4",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_send_otp_dto_sendotpdto",
+ "community": 145,
+ "community_name": "auth.service.ts",
+ "norm_label": "sendotpdto"
},
{
"label": "HomeController",
@@ -1875,6 +1927,19 @@
"community_name": "RouteErrorBoundary",
"norm_label": "state"
},
+ {
+ "label": "RegisterDto",
+ "file_type": "code",
+ "source_file": "backend/src/auth/dto/register.dto.ts",
+ "source_location": "L10",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_register_dto_registerdto",
+ "community": 149,
+ "community_name": "RegisterDto",
+ "norm_label": "registerdto"
+ },
{
"label": "MenuGroup",
"file_type": "code",
@@ -2175,30 +2240,43 @@
"norm_label": "verifyotppayload"
},
{
- "label": "RevalidationModule",
+ "label": "AppModule",
"file_type": "code",
- "source_file": "backend/src/common/revalidation/revalidation.module.ts",
+ "source_file": "backend/src/app.module.ts",
+ "source_location": "L89",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_app_module_appmodule",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": "appmodule"
+ },
+ {
+ "label": "MetricsController",
+ "file_type": "code",
+ "source_file": "backend/src/common/metrics.controller.ts",
+ "source_location": "L8",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_common_metrics_controller_metricscontroller",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": "metricscontroller"
+ },
+ {
+ "label": "RedisModule",
+ "file_type": "code",
+ "source_file": "backend/src/redis/redis.module.ts",
"source_location": "L9",
"_callable": true,
"_callable_class": true,
"_origin": "ast",
- "id": "backend_src_common_revalidation_revalidation_module_revalidationmodule",
+ "id": "backend_src_redis_redis_module_redismodule",
"community": 152,
- "community_name": "RevalidationService",
- "norm_label": "revalidationmodule"
- },
- {
- "label": "RevalidationService",
- "file_type": "code",
- "source_file": "backend/src/common/revalidation/revalidation.service.ts",
- "source_location": "L4",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_common_revalidation_revalidation_service_revalidationservice",
- "community": 152,
- "community_name": "RevalidationService",
- "norm_label": "revalidationservice"
+ "community_name": "RedisService",
+ "norm_label": "redismodule"
},
{
"label": "RedisService",
@@ -2210,7 +2288,7 @@
"_origin": "ast",
"id": "backend_src_redis_redis_service_redisservice",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": "redisservice"
},
{
@@ -2343,6 +2421,45 @@
"community_name": "schema.ts",
"norm_label": "videoobjectschemaoptions"
},
+ {
+ "label": "WikiService",
+ "file_type": "code",
+ "source_file": "backend/src/admin/wiki.service.ts",
+ "source_location": "L12",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_wiki_service_wikiservice",
+ "community": 179,
+ "community_name": "WikiService",
+ "norm_label": "wikiservice"
+ },
+ {
+ "label": "MediaService",
+ "file_type": "code",
+ "source_file": "backend/src/admin/media.service.ts",
+ "source_location": "L7",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_media_service_mediaservice",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "mediaservice"
+ },
+ {
+ "label": "SslCertInfo",
+ "file_type": "code",
+ "source_file": "backend/src/admin/ssl.service.ts",
+ "source_location": "L7",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_ssl_service_sslcertinfo",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "sslcertinfo"
+ },
{
"label": "JwtAuthGuard",
"file_type": "code",
@@ -2353,9 +2470,35 @@
"_origin": "ast",
"id": "backend_src_auth_jwt_auth_guard_jwtauthguard",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "jwtauthguard"
},
+ {
+ "label": "B2BWholesaleOrderItem",
+ "file_type": "code",
+ "source_file": "backend/src/b2b/b2b.service.ts",
+ "source_location": "L8",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_b2b_b2b_service_b2bwholesaleorderitem",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "b2bwholesaleorderitem"
+ },
+ {
+ "label": "SortOrder",
+ "file_type": "code",
+ "source_file": "backend/src/common/dto/pagination.dto.ts",
+ "source_location": "L5",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_common_dto_pagination_dto_sortorder",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "sortorder"
+ },
{
"label": "RequestWithUser",
"file_type": "code",
@@ -2366,7 +2509,7 @@
"_origin": "ast",
"id": "backend_src_common_guards_roles_guard_requestwithuser",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "requestwithuser"
},
{
@@ -2379,7 +2522,7 @@
"_origin": "ast",
"id": "backend_src_common_guards_roles_guard_rolesguard",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "rolesguard"
},
{
@@ -2392,7 +2535,7 @@
"_origin": "ast",
"id": "backend_src_settings_settings_service_scientifictermdata",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "scientifictermdata"
},
{
@@ -2600,22 +2743,9 @@
"_origin": "ast",
"id": "frontend_application_components_authmodal_authmodalprops",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "authmodalprops"
},
- {
- "label": "HeaderButtonProps",
- "file_type": "code",
- "source_file": "frontend/application/components/HeaderButton.tsx",
- "source_location": "L6",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_components_headerbutton_headerbuttonprops",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "headerbuttonprops"
- },
{
"label": "LoginModalProps",
"file_type": "code",
@@ -2626,7 +2756,7 @@
"_origin": "ast",
"id": "frontend_application_components_loginmodal_loginmodalprops",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "loginmodalprops"
},
{
@@ -2639,74 +2769,9 @@
"_origin": "ast",
"id": "frontend_application_components_otpinput5_otpinput5props",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "otpinput5props"
},
- {
- "label": "PrescriptionUploadModalProps",
- "file_type": "code",
- "source_file": "frontend/application/components/PrescriptionUploadModal.tsx",
- "source_location": "L9",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_components_prescriptionuploadmodal_prescriptionuploadmodalprops",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "prescriptionuploadmodalprops"
- },
- {
- "label": "ProductReviewsProps",
- "file_type": "code",
- "source_file": "frontend/application/components/ProductReviews.tsx",
- "source_location": "L28",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_components_productreviews_productreviewsprops",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "productreviewsprops"
- },
- {
- "label": "ReviewItem",
- "file_type": "code",
- "source_file": "frontend/application/components/ProductReviews.tsx",
- "source_location": "L19",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_components_productreviews_reviewitem",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "reviewitem"
- },
- {
- "label": "ApiErr",
- "file_type": "code",
- "source_file": "frontend/application/lib/services/authService.ts",
- "source_location": "L29",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_lib_services_authservice_apierr",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "apierr"
- },
- {
- "label": "AuthResponse",
- "file_type": "code",
- "source_file": "frontend/application/lib/services/authService.ts",
- "source_location": "L21",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_lib_services_authservice_authresponse",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "authresponse"
- },
{
"label": "AuthService",
"file_type": "code",
@@ -2717,138 +2782,47 @@
"_origin": "ast",
"id": "frontend_application_lib_services_authservice_authservice",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "authservice"
},
{
- "label": "User",
+ "label": "BlogsModule",
"file_type": "code",
- "source_file": "frontend/application/lib/services/authService.ts",
- "source_location": "L3",
+ "source_file": "backend/src/blogs/blogs.module.ts",
+ "source_location": "L9",
"_callable": true,
"_callable_class": true,
"_origin": "ast",
- "id": "frontend_application_lib_services_authservice_user",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "user"
- },
- {
- "label": "Transaction",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/userStore.ts",
- "source_location": "L25",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_lib_store_userstore_transaction",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "transaction"
- },
- {
- "label": "UserProfile",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/userStore.ts",
- "source_location": "L35",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_lib_store_userstore_userprofile",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "userprofile"
- },
- {
- "label": "UserRole",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/userStore.ts",
- "source_location": "L11",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_lib_store_userstore_userrole",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "userrole"
- },
- {
- "label": "UserStore",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/userStore.ts",
- "source_location": "L47",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_lib_store_userstore_userstore",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "userstore"
- },
- {
- "label": "BackButtonProps",
- "file_type": "code",
- "source_file": "frontend/application/components/BackButton.tsx",
- "source_location": "L8",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_components_backbutton_backbuttonprops",
+ "id": "backend_src_blogs_blogs_module_blogsmodule",
"community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "backbuttonprops"
+ "community_name": "BlogsService",
+ "norm_label": "blogsmodule"
},
{
- "label": "DisplayVideoItem",
+ "label": "BlogFilterDto",
"file_type": "code",
- "source_file": "frontend/application/components/VetGallery.tsx",
- "source_location": "L58",
+ "source_file": "backend/src/blogs/blogs.service.ts",
+ "source_location": "L6",
"_callable": true,
"_callable_class": true,
"_origin": "ast",
- "id": "frontend_application_components_vetgallery_displayvideoitem",
+ "id": "backend_src_blogs_blogs_service_blogfilterdto",
"community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "displayvideoitem"
+ "community_name": "BlogsService",
+ "norm_label": "blogfilterdto"
},
{
- "label": "TestimonialItem",
+ "label": "BlogsService",
"file_type": "code",
- "source_file": "frontend/application/components/VetGallery.tsx",
- "source_location": "L11",
+ "source_file": "backend/src/blogs/blogs.service.ts",
+ "source_location": "L13",
"_callable": true,
"_callable_class": true,
"_origin": "ast",
- "id": "frontend_application_components_vetgallery_testimonialitem",
+ "id": "backend_src_blogs_blogs_service_blogsservice",
"community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "testimonialitem"
- },
- {
- "label": "VideoModalPlayerProps",
- "file_type": "code",
- "source_file": "frontend/application/components/VideoModalPlayer.tsx",
- "source_location": "L24",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_components_videomodalplayer_videomodalplayerprops",
- "community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "videomodalplayerprops"
- },
- {
- "label": "Video",
- "file_type": "code",
- "source_file": "frontend/application/lib/services/videoService.ts",
- "source_location": "L4",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_lib_services_videoservice_video",
- "community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "video"
+ "community_name": "BlogsService",
+ "norm_label": "blogsservice"
},
{
"label": "CreateVideoDto",
@@ -2902,6 +2876,19 @@
"community_name": "CreateVideoDto",
"norm_label": "videosservice"
},
+ {
+ "label": "VerifyOtpDto",
+ "file_type": "code",
+ "source_file": "backend/src/auth/dto/verify-otp.dto.ts",
+ "source_location": "L4",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_verify_otp_dto_verifyotpdto",
+ "community": 204,
+ "community_name": "VerifyOtpDto",
+ "norm_label": "verifyotpdto"
+ },
{
"label": "ScientificTerm",
"file_type": "code",
@@ -3019,6 +3006,19 @@
"community_name": "ProductDto",
"norm_label": "productdto"
},
+ {
+ "label": "AuthController",
+ "file_type": "code",
+ "source_file": "backend/src/auth/auth.controller.ts",
+ "source_location": "L42",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_auth_auth_controller_authcontroller",
+ "community": 220,
+ "community_name": "AuthController",
+ "norm_label": "authcontroller"
+ },
{
"label": "TextareaProps",
"file_type": "code",
@@ -3331,6 +3331,32 @@
"community_name": "productService.ts",
"norm_label": "productservice"
},
+ {
+ "label": "CartItem",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/cartStore.ts",
+ "source_location": "L9",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_cartstore_cartitem",
+ "community": 3,
+ "community_name": "productService.ts",
+ "norm_label": "cartitem"
+ },
+ {
+ "label": "CartStore",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/cartStore.ts",
+ "source_location": "L32",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_cartstore_cartstore",
+ "community": 3,
+ "community_name": "productService.ts",
+ "norm_label": "cartstore"
+ },
{
"label": "MaskableFieldProps",
"file_type": "code",
@@ -3497,9 +3523,22 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_b2bcontroller",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "b2bcontroller"
},
+ {
+ "label": "B2BService",
+ "file_type": "code",
+ "source_file": "backend/src/b2b/b2b.service.ts",
+ "source_location": "L14",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_b2b_b2b_service_b2bservice",
+ "community": 34,
+ "community_name": "B2BService",
+ "norm_label": "b2bservice"
+ },
{
"label": "ContactController",
"file_type": "code",
@@ -3669,6 +3708,19 @@
"community_name": "useSettingsStore",
"norm_label": "brandlogoprops"
},
+ {
+ "label": "FAQItem",
+ "file_type": "code",
+ "source_file": "frontend/application/components/FAQSection.tsx",
+ "source_location": "L8",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_faqsection_faqitem",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "faqitem"
+ },
{
"label": "SmartAdvisorProps",
"file_type": "code",
@@ -3708,6 +3760,32 @@
"community_name": "useSettingsStore",
"norm_label": "scientificterm"
},
+ {
+ "label": "ScientificTerm",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/settingsStore.ts",
+ "source_location": "L5",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_settingsstore_scientificterm",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "scientificterm"
+ },
+ {
+ "label": "SettingsStore",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/settingsStore.ts",
+ "source_location": "L12",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_settingsstore_settingsstore",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "settingsstore"
+ },
{
"label": "UIState",
"file_type": "code",
@@ -3721,19 +3799,6 @@
"community_name": "useSettingsStore",
"norm_label": "uistate"
},
- {
- "label": "NavigationTarget",
- "file_type": "code",
- "source_file": "frontend/application/lib/types.ts",
- "source_location": "L110",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_lib_types_navigationtarget",
- "community": 4,
- "community_name": "useSettingsStore",
- "norm_label": "navigationtarget"
- },
{
"label": "MediaController",
"file_type": "code",
@@ -3783,9 +3848,22 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_bannerscontroller",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "bannerscontroller"
},
+ {
+ "label": "BannersService",
+ "file_type": "code",
+ "source_file": "backend/src/banners/banners.service.ts",
+ "source_location": "L6",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_banners_banners_service_bannersservice",
+ "community": 43,
+ "community_name": "BannersService",
+ "norm_label": "bannersservice"
+ },
{
"label": "TestimonialsController",
"file_type": "code",
@@ -3796,9 +3874,22 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_testimonialscontroller",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "testimonialscontroller"
},
+ {
+ "label": "TestimonialsService",
+ "file_type": "code",
+ "source_file": "backend/src/testimonials/testimonials.service.ts",
+ "source_location": "L6",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_testimonials_testimonials_service_testimonialsservice",
+ "community": 44,
+ "community_name": "TestimonialsService",
+ "norm_label": "testimonialsservice"
+ },
{
"label": "IngredientsController",
"file_type": "code",
@@ -3809,9 +3900,22 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ingredientscontroller",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "ingredientscontroller"
},
+ {
+ "label": "IngredientsService",
+ "file_type": "code",
+ "source_file": "backend/src/ingredients/ingredients.service.ts",
+ "source_location": "L6",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_ingredients_ingredients_service_ingredientsservice",
+ "community": 47,
+ "community_name": "IngredientsService",
+ "norm_label": "ingredientsservice"
+ },
{
"label": "WikiController",
"file_type": "code",
@@ -3825,32 +3929,6 @@
"community_name": "WikiController",
"norm_label": "wikicontroller"
},
- {
- "label": "WikiModule",
- "file_type": "code",
- "source_file": "backend/src/wiki/wiki.module.ts",
- "source_location": "L9",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_wiki_wiki_module_wikimodule",
- "community": 48,
- "community_name": "WikiController",
- "norm_label": "wikimodule"
- },
- {
- "label": "WikiService",
- "file_type": "code",
- "source_file": "backend/src/wiki/wiki.service.ts",
- "source_location": "L7",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_wiki_wiki_service_wikiservice",
- "community": 48,
- "community_name": "WikiController",
- "norm_label": "wikiservice"
- },
{
"label": "CmsController",
"file_type": "code",
@@ -4693,7 +4771,7 @@
"_origin": "ast",
"id": "backend_src_admin_dto_admin_query_dto_adminproductquerydto",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": "adminproductquerydto"
},
{
@@ -4706,35 +4784,9 @@
"_origin": "ast",
"id": "backend_src_admin_dto_admin_query_dto_adminquerydto",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": "adminquerydto"
},
- {
- "label": "AdminModule",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.module.ts",
- "source_location": "L44",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_module_adminmodule",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "adminmodule"
- },
- {
- "label": "MediaService",
- "file_type": "code",
- "source_file": "backend/src/admin/media.service.ts",
- "source_location": "L7",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_admin_media_service_mediaservice",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "mediaservice"
- },
{
"label": "PetsController",
"file_type": "code",
@@ -4745,7 +4797,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_petscontroller",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "petscontroller"
},
{
@@ -4758,48 +4810,9 @@
"_origin": "ast",
"id": "backend_src_admin_pets_service_petsservice",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "petsservice"
},
- {
- "label": "SslCertInfo",
- "file_type": "code",
- "source_file": "backend/src/admin/ssl.service.ts",
- "source_location": "L7",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_admin_ssl_service_sslcertinfo",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "sslcertinfo"
- },
- {
- "label": "WikiService",
- "file_type": "code",
- "source_file": "backend/src/admin/wiki.service.ts",
- "source_location": "L12",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_admin_wiki_service_wikiservice",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "wikiservice"
- },
- {
- "label": "RedisModule",
- "file_type": "code",
- "source_file": "backend/src/redis/redis.module.ts",
- "source_location": "L9",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_redis_redis_module_redismodule",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "redismodule"
- },
{
"label": "HomeClientProps",
"file_type": "code",
@@ -4904,6 +4917,19 @@
"community_name": "HomeClient.tsx",
"norm_label": "navigationhandler"
},
+ {
+ "label": "NavigationTarget",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/types.ts",
+ "source_location": "L110",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_types_navigationtarget",
+ "community": 68,
+ "community_name": "HomeClient.tsx",
+ "norm_label": "navigationtarget"
+ },
{
"label": "PartnerAccount",
"file_type": "code",
@@ -5125,6 +5151,32 @@
"community_name": "PetsController",
"norm_label": "petscontroller"
},
+ {
+ "label": "RevalidationModule",
+ "file_type": "code",
+ "source_file": "backend/src/common/revalidation/revalidation.module.ts",
+ "source_location": "L9",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_common_revalidation_revalidation_module_revalidationmodule",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": "revalidationmodule"
+ },
+ {
+ "label": "RevalidationService",
+ "file_type": "code",
+ "source_file": "backend/src/common/revalidation/revalidation.service.ts",
+ "source_location": "L4",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "backend_src_common_revalidation_revalidation_service_revalidationservice",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": "revalidationservice"
+ },
{
"label": "GetProductsDto",
"file_type": "code",
@@ -5135,7 +5187,7 @@
"_origin": "ast",
"id": "backend_src_products_dto_get_products_dto_getproductsdto",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "getproductsdto"
},
{
@@ -5148,7 +5200,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_productscontroller",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "productscontroller"
},
{
@@ -5161,7 +5213,7 @@
"_origin": "ast",
"id": "backend_src_products_products_module_productsmodule",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "productsmodule"
},
{
@@ -5174,22 +5226,9 @@
"_origin": "ast",
"id": "backend_src_products_products_service_productsservice",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "productsservice"
},
- {
- "label": "TorobController",
- "file_type": "code",
- "source_file": "backend/src/products/torob.controller.ts",
- "source_location": "L101",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_products_torob_controller_torobcontroller",
- "community": 76,
- "community_name": "ProductsService",
- "norm_label": "torobcontroller"
- },
{
"label": "SeoController",
"file_type": "code",
@@ -5294,123 +5333,6 @@
"community_name": "SmsService",
"norm_label": "settingsservice"
},
- {
- "label": "AuthController",
- "file_type": "code",
- "source_file": "backend/src/auth/auth.controller.ts",
- "source_location": "L42",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_auth_auth_controller_authcontroller",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "authcontroller"
- },
- {
- "label": "AdminLoginInput",
- "file_type": "code",
- "source_file": "backend/src/auth/auth.service.ts",
- "source_location": "L30",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_auth_auth_service_adminlogininput",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "adminlogininput"
- },
- {
- "label": "LoginInput",
- "file_type": "code",
- "source_file": "backend/src/auth/auth.service.ts",
- "source_location": "L25",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_auth_auth_service_logininput",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "logininput"
- },
- {
- "label": "RegisterInput",
- "file_type": "code",
- "source_file": "backend/src/auth/auth.service.ts",
- "source_location": "L17",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_auth_auth_service_registerinput",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "registerinput"
- },
- {
- "label": "AdminLoginDto",
- "file_type": "code",
- "source_file": "backend/src/auth/dto/admin-login.dto.ts",
- "source_location": "L4",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_auth_dto_admin_login_dto_adminlogindto",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "adminlogindto"
- },
- {
- "label": "LoginDto",
- "file_type": "code",
- "source_file": "backend/src/auth/dto/login.dto.ts",
- "source_location": "L4",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_auth_dto_login_dto_logindto",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "logindto"
- },
- {
- "label": "RegisterDto",
- "file_type": "code",
- "source_file": "backend/src/auth/dto/register.dto.ts",
- "source_location": "L10",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_auth_dto_register_dto_registerdto",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "registerdto"
- },
- {
- "label": "SendOtpDto",
- "file_type": "code",
- "source_file": "backend/src/auth/dto/send-otp.dto.ts",
- "source_location": "L4",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_auth_dto_send_otp_dto_sendotpdto",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "sendotpdto"
- },
- {
- "label": "VerifyOtpDto",
- "file_type": "code",
- "source_file": "backend/src/auth/dto/verify-otp.dto.ts",
- "source_location": "L4",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_auth_dto_verify_otp_dto_verifyotpdto",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "verifyotpdto"
- },
{
"label": "GatewayHealthResult",
"file_type": "code",
@@ -5541,6 +5463,84 @@
"community_name": "CreateEBankCheckoutDto",
"norm_label": "createebankcheckoutdto"
},
+ {
+ "label": "ContactInfoItem",
+ "file_type": "code",
+ "source_file": "frontend/application/components/ContactFormClient.tsx",
+ "source_location": "L7",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_contactformclient_contactinfoitem",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "contactinfoitem"
+ },
+ {
+ "label": "PrescriptionUploadModalProps",
+ "file_type": "code",
+ "source_file": "frontend/application/components/PrescriptionUploadModal.tsx",
+ "source_location": "L9",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_prescriptionuploadmodal_prescriptionuploadmodalprops",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "prescriptionuploadmodalprops"
+ },
+ {
+ "label": "ApiErrorPayload",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/api.ts",
+ "source_location": "L16",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_api_apierrorpayload",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "apierrorpayload"
+ },
+ {
+ "label": "ApiErr",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/authService.ts",
+ "source_location": "L29",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_authservice_apierr",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "apierr"
+ },
+ {
+ "label": "AuthResponse",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/authService.ts",
+ "source_location": "L21",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_authservice_authresponse",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "authresponse"
+ },
+ {
+ "label": "User",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/authService.ts",
+ "source_location": "L3",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_authservice_user",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "user"
+ },
{
"label": "ApiErr",
"file_type": "code",
@@ -5551,7 +5551,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_orderservice_apierr",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": "apierr"
},
{
@@ -5564,7 +5564,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_orderservice_order",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": "order"
},
{
@@ -5577,7 +5577,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_orderservice_orderitem",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": "orderitem"
},
{
@@ -5590,35 +5590,9 @@
"_origin": "ast",
"id": "frontend_application_lib_services_orderservice_orderservice",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": "orderservice"
},
- {
- "label": "CartItem",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/cartStore.ts",
- "source_location": "L9",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_lib_store_cartstore_cartitem",
- "community": 90,
- "community_name": "cartStore.ts",
- "norm_label": "cartitem"
- },
- {
- "label": "CartStore",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/cartStore.ts",
- "source_location": "L32",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "frontend_application_lib_store_cartstore_cartstore",
- "community": 90,
- "community_name": "cartStore.ts",
- "norm_label": "cartstore"
- },
{
"label": "Order",
"file_type": "code",
@@ -5629,9 +5603,61 @@
"_origin": "ast",
"id": "frontend_application_lib_store_cartstore_order",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": "order"
},
+ {
+ "label": "Transaction",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/userStore.ts",
+ "source_location": "L25",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_userstore_transaction",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "transaction"
+ },
+ {
+ "label": "UserProfile",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/userStore.ts",
+ "source_location": "L35",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_userstore_userprofile",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "userprofile"
+ },
+ {
+ "label": "UserRole",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/userStore.ts",
+ "source_location": "L11",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_userstore_userrole",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "userrole"
+ },
+ {
+ "label": "UserStore",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/userStore.ts",
+ "source_location": "L47",
+ "_callable": true,
+ "_callable_class": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_userstore_userstore",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "userstore"
+ },
{
"label": "CreateOrderDto",
"file_type": "code",
@@ -5671,32 +5697,6 @@
"community_name": "OrdersService",
"norm_label": "orderscontroller"
},
- {
- "label": "ValidateCouponDto",
- "file_type": "code",
- "source_file": "backend/src/orders/orders.controller.ts",
- "source_location": "L29",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_orders_orders_controller_validatecoupondto",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "validatecoupondto"
- },
- {
- "label": "OrdersModule",
- "file_type": "code",
- "source_file": "backend/src/orders/orders.module.ts",
- "source_location": "L9",
- "_callable": true,
- "_callable_class": true,
- "_origin": "ast",
- "id": "backend_src_orders_orders_module_ordersmodule",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "ordersmodule"
- },
{
"label": "OrdersService",
"file_type": "code",
@@ -6338,114 +6338,6 @@
"community_name": "Products.tsx",
"norm_label": "calculatesellingprice()"
},
- {
- "label": ".addComment()",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L358",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogsservice_addcomment",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": ".addcomment()"
- },
- {
- "label": ".constructor()",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L14",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogsservice_constructor",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": ".constructor()"
- },
- {
- "label": ".findAll()",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L16",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogsservice_findall",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": ".findall()"
- },
- {
- "label": ".findCommentsBySlug()",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L345",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogsservice_findcommentsbyslug",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": ".findcommentsbyslug()"
- },
- {
- "label": ".findHomepage()",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L99",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogsservice_findhomepage",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": ".findhomepage()"
- },
- {
- "label": ".findOneBySlug()",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L140",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogsservice_findonebyslug",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": ".findonebyslug()"
- },
- {
- "label": ".getCategories()",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L302",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogsservice_getcategories",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": ".getcategories()"
- },
- {
- "label": ".getTags()",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L316",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogsservice_gettags",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": ".gettags()"
- },
- {
- "label": ".incrementView()",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L329",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_blogsservice_incrementview",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": ".incrementview()"
- },
{
"label": ".findAllAdmin()",
"file_type": "code",
@@ -6473,26 +6365,38 @@
{
"label": ".constructor()",
"file_type": "code",
- "source_file": "backend/src/banners/banners.service.ts",
- "source_location": "L7",
+ "source_file": "backend/src/wiki/wiki.service.ts",
+ "source_location": "L8",
"_callable": true,
"_origin": "ast",
- "id": "backend_src_banners_banners_service_bannersservice_constructor",
- "community": 108,
- "community_name": "PrismaService",
+ "id": "backend_src_wiki_wiki_service_wikiservice_constructor",
+ "community": 107,
+ "community_name": "PaginationDto",
"norm_label": ".constructor()"
},
{
- "label": ".constructor()",
+ "label": ".findAll()",
"file_type": "code",
- "source_file": "backend/src/ingredients/ingredients.service.ts",
- "source_location": "L7",
+ "source_file": "backend/src/wiki/wiki.service.ts",
+ "source_location": "L10",
"_callable": true,
"_origin": "ast",
- "id": "backend_src_ingredients_ingredients_service_ingredientsservice_constructor",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": ".constructor()"
+ "id": "backend_src_wiki_wiki_service_wikiservice_findall",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": ".findall()"
+ },
+ {
+ "label": ".findOneByKey()",
+ "file_type": "code",
+ "source_file": "backend/src/wiki/wiki.service.ts",
+ "source_location": "L52",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_wiki_wiki_service_wikiservice_findonebykey",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": ".findonebykey()"
},
{
"label": ".ensureTablesExist()",
@@ -6530,18 +6434,6 @@
"community_name": "PrismaService",
"norm_label": ".onmoduleinit()"
},
- {
- "label": ".constructor()",
- "file_type": "code",
- "source_file": "backend/src/testimonials/testimonials.service.ts",
- "source_location": "L7",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_testimonials_testimonials_service_testimonialsservice_constructor",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": ".constructor()"
- },
{
"label": "getJwtRefreshSecret()",
"file_type": "code",
@@ -6794,66 +6686,6 @@
"community_name": "UsersService",
"norm_label": ".updateaddress()"
},
- {
- "label": ".configure()",
- "file_type": "code",
- "source_file": "backend/src/app.module.ts",
- "source_location": "L92",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_app_module_appmodule_configure",
- "community": 113,
- "community_name": "MetricsController",
- "norm_label": ".configure()"
- },
- {
- "label": ".constructor()",
- "file_type": "code",
- "source_file": "backend/src/common/metrics.controller.ts",
- "source_location": "L11",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_common_metrics_controller_metricscontroller_constructor",
- "community": 113,
- "community_name": "MetricsController",
- "norm_label": ".constructor()"
- },
- {
- "label": ".getMetrics()",
- "file_type": "code",
- "source_file": "backend/src/common/metrics.controller.ts",
- "source_location": "L18",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_common_metrics_controller_metricscontroller_getmetrics",
- "community": 113,
- "community_name": "MetricsController",
- "norm_label": ".getmetrics()"
- },
- {
- "label": ".incrementRequestCount()",
- "file_type": "code",
- "source_file": "backend/src/common/metrics.controller.ts",
- "source_location": "L13",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_common_metrics_controller_metricscontroller_incrementrequestcount",
- "community": 113,
- "community_name": "MetricsController",
- "norm_label": ".incrementrequestcount()"
- },
- {
- "label": ".incr()",
- "file_type": "code",
- "source_file": "backend/src/redis/redis.service.ts",
- "source_location": "L35",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_redis_redis_service_redisservice_incr",
- "community": 113,
- "community_name": "MetricsController",
- "norm_label": ".incr()"
- },
{
"label": ".constructor()",
"file_type": "code",
@@ -7118,30 +6950,6 @@
"community_name": "index.ts",
"norm_label": "parsepersianprice()"
},
- {
- "label": ".adjustWallet()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.controller.ts",
- "source_location": "L102",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_admincontroller_adjustwallet",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": ".adjustwallet()"
- },
- {
- "label": ".applyGlobalMargins()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.controller.ts",
- "source_location": "L170",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_admincontroller_applyglobalmargins",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": ".applyglobalmargins()"
- },
{
"label": ".constructor()",
"file_type": "code",
@@ -7154,30 +6962,6 @@
"community_name": "AdminService",
"norm_label": ".constructor()"
},
- {
- "label": ".createCoupon()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.controller.ts",
- "source_location": "L244",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_admincontroller_createcoupon",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": ".createcoupon()"
- },
- {
- "label": ".createDoctor()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.controller.ts",
- "source_location": "L282",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_admincontroller_createdoctor",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": ".createdoctor()"
- },
{
"label": ".deleteCoupon()",
"file_type": "code",
@@ -7227,16 +7011,52 @@
"norm_label": ".deleteuser()"
},
{
- "label": ".refundOrderToWallet()",
+ "label": ".getDoctors()",
"file_type": "code",
"source_file": "backend/src/admin/admin.controller.ts",
- "source_location": "L219",
+ "source_location": "L275",
"_callable": true,
"_origin": "ast",
- "id": "backend_src_admin_admin_controller_admincontroller_refundordertowallet",
+ "id": "backend_src_admin_admin_controller_admincontroller_getdoctors",
"community": 122,
"community_name": "AdminService",
- "norm_label": ".refundordertowallet()"
+ "norm_label": ".getdoctors()"
+ },
+ {
+ "label": ".getOrderById()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.controller.ts",
+ "source_location": "L194",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_controller_admincontroller_getorderbyid",
+ "community": 122,
+ "community_name": "AdminService",
+ "norm_label": ".getorderbyid()"
+ },
+ {
+ "label": ".getSettings()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.controller.ts",
+ "source_location": "L322",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_controller_admincontroller_getsettings",
+ "community": 122,
+ "community_name": "AdminService",
+ "norm_label": ".getsettings()"
+ },
+ {
+ "label": ".getUserDetails()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.controller.ts",
+ "source_location": "L67",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_controller_admincontroller_getuserdetails",
+ "community": 122,
+ "community_name": "AdminService",
+ "norm_label": ".getuserdetails()"
},
{
"label": ".toggleCoupon()",
@@ -7286,18 +7106,6 @@
"community_name": "AdminService",
"norm_label": ".updateorderstatus()"
},
- {
- "label": ".updatePricingSettings()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.controller.ts",
- "source_location": "L164",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_admincontroller_updatepricingsettings",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": ".updatepricingsettings()"
- },
{
"label": ".updateSettings()",
"file_type": "code",
@@ -7322,42 +7130,6 @@
"community_name": "AdminService",
"norm_label": ".updateuserrole()"
},
- {
- "label": ".adjustUserWallet()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.service.ts",
- "source_location": "L1282",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_service_adminservice_adjustuserwallet",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": ".adjustuserwallet()"
- },
- {
- "label": ".createCoupon()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.service.ts",
- "source_location": "L1084",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_service_adminservice_createcoupon",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": ".createcoupon()"
- },
- {
- "label": ".createDoctor()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.service.ts",
- "source_location": "L1255",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_service_adminservice_createdoctor",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": ".createdoctor()"
- },
{
"label": ".deleteCoupon()",
"file_type": "code",
@@ -7406,6 +7178,30 @@
"community_name": "AdminService",
"norm_label": ".deleteuser()"
},
+ {
+ "label": ".getDoctors()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.service.ts",
+ "source_location": "L1249",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_service_adminservice_getdoctors",
+ "community": 122,
+ "community_name": "AdminService",
+ "norm_label": ".getdoctors()"
+ },
+ {
+ "label": ".getOrderById()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.service.ts",
+ "source_location": "L802",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_service_adminservice_getorderbyid",
+ "community": 122,
+ "community_name": "AdminService",
+ "norm_label": ".getorderbyid()"
+ },
{
"label": ".getPets()",
"file_type": "code",
@@ -7431,16 +7227,16 @@
"norm_label": ".getsettings()"
},
{
- "label": ".refundOrderToWallet()",
+ "label": ".getUserDetails()",
"file_type": "code",
"source_file": "backend/src/admin/admin.service.ts",
- "source_location": "L946",
+ "source_location": "L206",
"_callable": true,
"_origin": "ast",
- "id": "backend_src_admin_admin_service_adminservice_refundordertowallet",
+ "id": "backend_src_admin_admin_service_adminservice_getuserdetails",
"community": 122,
"community_name": "AdminService",
- "norm_label": ".refundordertowallet()"
+ "norm_label": ".getuserdetails()"
},
{
"label": ".toggleCoupon()",
@@ -7490,18 +7286,6 @@
"community_name": "AdminService",
"norm_label": ".updateorderstatus()"
},
- {
- "label": ".updatePricingSettings()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.service.ts",
- "source_location": "L1372",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_service_adminservice_updatepricingsettings",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": ".updatepricingsettings()"
- },
{
"label": ".updateSettings()",
"file_type": "code",
@@ -7527,17 +7311,173 @@
"norm_label": ".updateuserrole()"
},
{
- "label": ".constructor()",
+ "label": ".adjustWallet()",
"file_type": "code",
- "source_file": "backend/src/b2b/b2b.service.ts",
- "source_location": "L15",
+ "source_file": "backend/src/admin/admin.controller.ts",
+ "source_location": "L102",
"_callable": true,
"_origin": "ast",
- "id": "backend_src_b2b_b2b_service_b2bservice_constructor",
+ "id": "backend_src_admin_admin_controller_admincontroller_adjustwallet",
"community": 123,
- "community_name": "B2BService",
+ "community_name": "Body",
+ "norm_label": ".adjustwallet()"
+ },
+ {
+ "label": ".applyGlobalMargins()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.controller.ts",
+ "source_location": "L170",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_controller_admincontroller_applyglobalmargins",
+ "community": 123,
+ "community_name": "Body",
+ "norm_label": ".applyglobalmargins()"
+ },
+ {
+ "label": ".createCoupon()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.controller.ts",
+ "source_location": "L244",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_controller_admincontroller_createcoupon",
+ "community": 123,
+ "community_name": "Body",
+ "norm_label": ".createcoupon()"
+ },
+ {
+ "label": ".createDoctor()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.controller.ts",
+ "source_location": "L282",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_controller_admincontroller_createdoctor",
+ "community": 123,
+ "community_name": "Body",
+ "norm_label": ".createdoctor()"
+ },
+ {
+ "label": ".refundOrderToWallet()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.controller.ts",
+ "source_location": "L219",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_controller_admincontroller_refundordertowallet",
+ "community": 123,
+ "community_name": "Body",
+ "norm_label": ".refundordertowallet()"
+ },
+ {
+ "label": ".adjustUserWallet()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.service.ts",
+ "source_location": "L1282",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_service_adminservice_adjustuserwallet",
+ "community": 123,
+ "community_name": "Body",
+ "norm_label": ".adjustuserwallet()"
+ },
+ {
+ "label": ".applyGlobalMargins()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.service.ts",
+ "source_location": "L1457",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_service_adminservice_applyglobalmargins",
+ "community": 123,
+ "community_name": "Body",
+ "norm_label": ".applyglobalmargins()"
+ },
+ {
+ "label": ".createCoupon()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.service.ts",
+ "source_location": "L1084",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_service_adminservice_createcoupon",
+ "community": 123,
+ "community_name": "Body",
+ "norm_label": ".createcoupon()"
+ },
+ {
+ "label": ".createDoctor()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.service.ts",
+ "source_location": "L1255",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_service_adminservice_createdoctor",
+ "community": 123,
+ "community_name": "Body",
+ "norm_label": ".createdoctor()"
+ },
+ {
+ "label": ".refundOrderToWallet()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.service.ts",
+ "source_location": "L946",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_service_adminservice_refundordertowallet",
+ "community": 123,
+ "community_name": "Body",
+ "norm_label": ".refundordertowallet()"
+ },
+ {
+ "label": "buildTorobProductSpec()",
+ "file_type": "code",
+ "source_file": "backend/src/products/torob.controller.ts",
+ "source_location": "L64",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_products_torob_controller_buildtorobproductspec",
+ "community": 128,
+ "community_name": "torob.controller.ts",
+ "norm_label": "buildtorobproductspec()"
+ },
+ {
+ "label": "buildTorobProductTitle()",
+ "file_type": "code",
+ "source_file": "backend/src/products/torob.controller.ts",
+ "source_location": "L5",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_products_torob_controller_buildtorobproducttitle",
+ "community": 128,
+ "community_name": "torob.controller.ts",
+ "norm_label": "buildtorobproducttitle()"
+ },
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/products/torob.controller.ts",
+ "source_location": "L102",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_products_torob_controller_torobcontroller_constructor",
+ "community": 128,
+ "community_name": "torob.controller.ts",
"norm_label": ".constructor()"
},
+ {
+ "label": ".getTorobProducts()",
+ "file_type": "code",
+ "source_file": "backend/src/products/torob.controller.ts",
+ "source_location": "L108",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_products_torob_controller_torobcontroller_gettorobproducts",
+ "community": 128,
+ "community_name": "torob.controller.ts",
+ "norm_label": ".gettorobproducts()"
+ },
{
"label": "CustomTooltip()",
"file_type": "code",
@@ -7562,30 +7502,6 @@
"community_name": "Reports.tsx",
"norm_label": "reports()"
},
- {
- "label": "generateOpenApi()",
- "file_type": "code",
- "source_file": "backend/scripts/generate-openapi.ts",
- "source_location": "L9",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_scripts_generate_openapi_ts_backend_scripts_generate_openapi_generateopenapi",
- "community": 13,
- "community_name": "app-audit-verification.e2e-spec.js",
- "norm_label": "generateopenapi()"
- },
- {
- "label": ".constructor()",
- "file_type": "code",
- "source_file": "backend/src/app.module.ts",
- "source_location": "L90",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_app_module_appmodule_constructor",
- "community": 13,
- "community_name": "app-audit-verification.e2e-spec.js",
- "norm_label": ".constructor()"
- },
{
"label": "validateEnv()",
"file_type": "code",
@@ -7934,6 +7850,42 @@
"community_name": "UserDashboard.tsx",
"norm_label": "validateaddressform()"
},
+ {
+ "label": "BackButton()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/BackButton.tsx",
+ "source_location": "L13",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_backbutton_backbutton",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "backbutton()"
+ },
+ {
+ "label": "BlogPreviewSection()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/BlogPreviewSection.tsx",
+ "source_location": "L28",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_blogpreviewsection_blogpreviewsection",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "blogpreviewsection()"
+ },
+ {
+ "label": "loadBlogs()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/BlogPreviewSection.tsx",
+ "source_location": "L34",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_blogpreviewsection_blogpreviewsection_loadblogs",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "loadblogs()"
+ },
{
"label": "CheckoutPage()",
"file_type": "code",
@@ -7958,6 +7910,18 @@
"community_name": "UserDashboard.tsx",
"norm_label": "deleteconfirmmodal()"
},
+ {
+ "label": "HeaderButton()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/HeaderButton.tsx",
+ "source_location": "L16",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_headerbutton_headerbutton",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "headerbutton()"
+ },
{
"label": "OrderDetailsModal()",
"file_type": "code",
@@ -7994,6 +7958,18 @@
"community_name": "UserDashboard.tsx",
"norm_label": "getstatuslabel()"
},
+ {
+ "label": "ProductReviews()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/ProductReviews.tsx",
+ "source_location": "L33",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_productreviews_productreviews",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "productreviews()"
+ },
{
"label": "SearchableSelect()",
"file_type": "code",
@@ -8030,6 +8006,18 @@
"community_name": "UserDashboard.tsx",
"norm_label": "cn()"
},
+ {
+ "label": "toPersian()",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/utils.ts",
+ "source_location": "L1",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_utils_topersian",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "topersian()"
+ },
{
"label": ".componentDidCatch()",
"file_type": "code",
@@ -8127,16 +8115,52 @@
"norm_label": "generateopenapi()"
},
{
- "label": "B2BLandingClient()",
+ "label": "buildTorobProductSpec()",
"file_type": "code",
- "source_file": "frontend/application/components/B2BLandingClient.tsx",
- "source_location": "L25",
+ "source_file": "frontend/application/app/api/torob/products/route.ts",
+ "source_location": "L69",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_components_b2blandingclient_b2blandingclient",
+ "id": "frontend_application_app_api_torob_products_route_buildtorobproductspec",
"community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "b2blandingclient()"
+ "community_name": "SafeImage.tsx",
+ "norm_label": "buildtorobproductspec()"
+ },
+ {
+ "label": "buildTorobProductTitle()",
+ "file_type": "code",
+ "source_file": "frontend/application/app/api/torob/products/route.ts",
+ "source_location": "L9",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_app_api_torob_products_route_buildtorobproducttitle",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "buildtorobproducttitle()"
+ },
+ {
+ "label": "GET()",
+ "file_type": "code",
+ "source_file": "frontend/application/app/api/torob/products/route.ts",
+ "source_location": "L104",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_app_api_torob_products_route_get",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "get()"
+ },
+ {
+ "label": "GET()",
+ "file_type": "code",
+ "source_file": "frontend/application/app/shop/feed.xml/route.ts",
+ "source_location": "L9",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_app_shop_feed_xml_route_get",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "get()"
},
{
"label": "PodcastInlinePlayer()",
@@ -8147,7 +8171,7 @@
"_origin": "ast",
"id": "frontend_application_components_podcastinlineplayer_podcastinlineplayer",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "podcastinlineplayer()"
},
{
@@ -8159,7 +8183,7 @@
"_origin": "ast",
"id": "frontend_application_components_podcastinlineplayer_podcastinlineplayer_handleclickoutside",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "handleclickoutside()"
},
{
@@ -8171,7 +8195,7 @@
"_origin": "ast",
"id": "frontend_application_components_podcastplayermodal_podcastplayermodal",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "podcastplayermodal()"
},
{
@@ -8183,7 +8207,7 @@
"_origin": "ast",
"id": "frontend_application_components_podcastplayermodal_podcastplayermodal_handleclickoutside",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "handleclickoutside()"
},
{
@@ -8195,56 +8219,92 @@
"_origin": "ast",
"id": "frontend_application_components_safeimage_safeimage",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "safeimage()"
},
{
- "label": "getBaseURL()",
+ "label": "TestimonialsSection()",
"file_type": "code",
- "source_file": "frontend/application/lib/services/api.ts",
- "source_location": "L5",
+ "source_file": "frontend/application/components/TestimonialsSection.tsx",
+ "source_location": "L20",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_lib_services_api_getbaseurl",
+ "id": "frontend_application_components_testimonialssection_testimonialssection",
"community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "getbaseurl()"
+ "community_name": "SafeImage.tsx",
+ "norm_label": "testimonialssection()"
},
{
- "label": "generateMetadata()",
+ "label": "loadTestimonials()",
"file_type": "code",
- "source_file": "frontend/application/app/trust-seals/page.tsx",
- "source_location": "L7",
+ "source_file": "frontend/application/components/TestimonialsSection.tsx",
+ "source_location": "L26",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_app_trust_seals_page_generatemetadata",
- "community": 145,
- "community_name": "trust-seals/page.tsx",
- "norm_label": "generatemetadata()"
+ "id": "frontend_application_components_testimonialssection_testimonialssection_loadtestimonials",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "loadtestimonials()"
},
{
- "label": "TrustSealsPage()",
+ "label": "VetGallery()",
"file_type": "code",
- "source_file": "frontend/application/app/trust-seals/page.tsx",
- "source_location": "L15",
+ "source_file": "frontend/application/components/VetGallery.tsx",
+ "source_location": "L71",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_app_trust_seals_page_trustsealspage",
- "community": 145,
- "community_name": "trust-seals/page.tsx",
- "norm_label": "trustsealspage()"
+ "id": "frontend_application_components_vetgallery_vetgallery",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "vetgallery()"
},
{
- "label": "EnamadBadge()",
+ "label": "VideoModalPlayer()",
"file_type": "code",
- "source_file": "frontend/application/components/EnamadBadge.tsx",
- "source_location": "L9",
+ "source_file": "frontend/application/components/VideoModalPlayer.tsx",
+ "source_location": "L40",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_components_enamadbadge_enamadbadge",
- "community": 145,
- "community_name": "trust-seals/page.tsx",
- "norm_label": "enamadbadge()"
+ "id": "frontend_application_components_videomodalplayer_videomodalplayer",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "videomodalplayer()"
+ },
+ {
+ "label": "handleClickOutside()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/VideoModalPlayer.tsx",
+ "source_location": "L62",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_videomodalplayer_videomodalplayer_handleclickoutside",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "handleclickoutside()"
+ },
+ {
+ "label": "getMediaUrl()",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/media.ts",
+ "source_location": "L10",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_media_getmediaurl",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "getmediaurl()"
+ },
+ {
+ "label": "normalizeVideo()",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/videoService.ts",
+ "source_location": "L16",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_videoservice_normalizevideo",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "normalizevideo()"
},
{
"label": ".constructor()",
@@ -8354,66 +8414,6 @@
"community_name": "RouteErrorBoundary",
"norm_label": ".render()"
},
- {
- "label": "generateMetadata()",
- "file_type": "code",
- "source_file": "frontend/application/app/wiki/[slug]/page.tsx",
- "source_location": "L38",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_app_wiki_slug_page_generatemetadata",
- "community": 149,
- "community_name": "wiki/[slug]/page.tsx",
- "norm_label": "generatemetadata()"
- },
- {
- "label": "getRelatedProducts()",
- "file_type": "code",
- "source_file": "frontend/application/app/wiki/[slug]/page.tsx",
- "source_location": "L24",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_app_wiki_slug_page_getrelatedproducts",
- "community": 149,
- "community_name": "wiki/[slug]/page.tsx",
- "norm_label": "getrelatedproducts()"
- },
- {
- "label": "getWikiTerm()",
- "file_type": "code",
- "source_file": "frontend/application/app/wiki/[slug]/page.tsx",
- "source_location": "L11",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_app_wiki_slug_page_getwikiterm",
- "community": 149,
- "community_name": "wiki/[slug]/page.tsx",
- "norm_label": "getwikiterm()"
- },
- {
- "label": "WikiTermPage()",
- "file_type": "code",
- "source_file": "frontend/application/app/wiki/[slug]/page.tsx",
- "source_location": "L78",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_app_wiki_slug_page_wikitermpage",
- "community": 149,
- "community_name": "wiki/[slug]/page.tsx",
- "norm_label": "wikitermpage()"
- },
- {
- "label": "generateMedicalWebPageSchema()",
- "file_type": "code",
- "source_file": "frontend/application/lib/schema.ts",
- "source_location": "L159",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_lib_schema_generatemedicalwebpageschema",
- "community": 149,
- "community_name": "wiki/[slug]/page.tsx",
- "norm_label": "generatemedicalwebpageschema()"
- },
{
"label": "Layout()",
"file_type": "code",
@@ -8546,6 +8546,18 @@
"community_name": "src/services/api.ts",
"norm_label": "processqueue()"
},
+ {
+ "label": "generateOpenApi()",
+ "file_type": "code",
+ "source_file": "backend/scripts/generate-openapi.ts",
+ "source_location": "L9",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_scripts_generate_openapi_ts_backend_scripts_generate_openapi_generateopenapi",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": "generateopenapi()"
+ },
{
"label": ".constructor()",
"file_type": "code",
@@ -8555,45 +8567,81 @@
"_origin": "ast",
"id": "backend_src_admin_admin_service_adminservice_constructor",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": ".constructor()"
},
{
- "label": ".frontendUrl()",
+ "label": ".configure()",
"file_type": "code",
- "source_file": "backend/src/common/revalidation/revalidation.service.ts",
- "source_location": "L7",
+ "source_file": "backend/src/app.module.ts",
+ "source_location": "L92",
"_callable": true,
"_origin": "ast",
- "id": "backend_src_common_revalidation_revalidation_service_revalidationservice_frontendurl",
+ "id": "backend_src_app_module_appmodule_configure",
"community": 152,
- "community_name": "RevalidationService",
- "norm_label": ".frontendurl()"
- },
- {
- "label": ".secret()",
- "file_type": "code",
- "source_file": "backend/src/common/revalidation/revalidation.service.ts",
- "source_location": "L15",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_common_revalidation_revalidation_service_revalidationservice_secret",
- "community": 152,
- "community_name": "RevalidationService",
- "norm_label": ".secret()"
+ "community_name": "RedisService",
+ "norm_label": ".configure()"
},
{
"label": ".constructor()",
"file_type": "code",
- "source_file": "backend/src/products/products.service.ts",
- "source_location": "L9",
+ "source_file": "backend/src/app.module.ts",
+ "source_location": "L90",
"_callable": true,
"_origin": "ast",
- "id": "backend_src_products_products_service_productsservice_constructor",
+ "id": "backend_src_app_module_appmodule_constructor",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": ".constructor()"
},
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/common/metrics.controller.ts",
+ "source_location": "L11",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_common_metrics_controller_metricscontroller_constructor",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": ".constructor()"
+ },
+ {
+ "label": ".getMetrics()",
+ "file_type": "code",
+ "source_file": "backend/src/common/metrics.controller.ts",
+ "source_location": "L18",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_common_metrics_controller_metricscontroller_getmetrics",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": ".getmetrics()"
+ },
+ {
+ "label": ".incrementRequestCount()",
+ "file_type": "code",
+ "source_file": "backend/src/common/metrics.controller.ts",
+ "source_location": "L13",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_common_metrics_controller_metricscontroller_incrementrequestcount",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": ".incrementrequestcount()"
+ },
+ {
+ "label": ".incr()",
+ "file_type": "code",
+ "source_file": "backend/src/redis/redis.service.ts",
+ "source_location": "L35",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_redis_redis_service_redisservice_incr",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": ".incr()"
+ },
{
"label": ".onModuleDestroy()",
"file_type": "code",
@@ -8603,7 +8651,7 @@
"_origin": "ast",
"id": "backend_src_redis_redis_service_redisservice_onmoduledestroy",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": ".onmoduledestroy()"
},
{
@@ -8615,7 +8663,7 @@
"_origin": "ast",
"id": "backend_src_redis_redis_service_redisservice_onmoduleinit",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": ".onmoduleinit()"
},
{
@@ -8627,21 +8675,9 @@
"_origin": "ast",
"id": "backend_src_redis_redis_service_redisservice_set",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": ".set()"
},
- {
- "label": ".constructor()",
- "file_type": "code",
- "source_file": "backend/src/reviews/reviews.service.ts",
- "source_location": "L16",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_reviews_reviews_service_reviewsservice_constructor",
- "community": 152,
- "community_name": "RevalidationService",
- "norm_label": ".constructor()"
- },
{
"label": "runSeoBackfill()",
"file_type": "code",
@@ -9230,6 +9266,78 @@
"community_name": "app/page.tsx",
"norm_label": "home()"
},
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/wiki.service.ts",
+ "source_location": "L13",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_wiki_service_wikiservice_constructor",
+ "community": 179,
+ "community_name": "WikiService",
+ "norm_label": ".constructor()"
+ },
+ {
+ "label": ".createTerm()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/wiki.service.ts",
+ "source_location": "L45",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_wiki_service_wikiservice_createterm",
+ "community": 179,
+ "community_name": "WikiService",
+ "norm_label": ".createterm()"
+ },
+ {
+ "label": ".deleteTerm()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/wiki.service.ts",
+ "source_location": "L57",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_wiki_service_wikiservice_deleteterm",
+ "community": 179,
+ "community_name": "WikiService",
+ "norm_label": ".deleteterm()"
+ },
+ {
+ "label": ".getTerms()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/wiki.service.ts",
+ "source_location": "L15",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_wiki_service_wikiservice_getterms",
+ "community": 179,
+ "community_name": "WikiService",
+ "norm_label": ".getterms()"
+ },
+ {
+ "label": ".updateTerm()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/wiki.service.ts",
+ "source_location": "L49",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_wiki_service_wikiservice_updateterm",
+ "community": 179,
+ "community_name": "WikiService",
+ "norm_label": ".updateterm()"
+ },
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/media.service.ts",
+ "source_location": "L8",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_media_service_mediaservice_constructor",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": ".constructor()"
+ },
{
"label": ".handleRequest()",
"file_type": "code",
@@ -9239,7 +9347,7 @@
"_origin": "ast",
"id": "backend_src_auth_jwt_auth_guard_jwtauthguard_handlerequest",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": ".handlerequest()"
},
{
@@ -9251,7 +9359,7 @@
"_origin": "ast",
"id": "backend_src_common_guards_roles_guard_rolesguard_canactivate",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": ".canactivate()"
},
{
@@ -9263,7 +9371,7 @@
"_origin": "ast",
"id": "backend_src_common_guards_roles_guard_rolesguard_constructor",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": ".constructor()"
},
{
@@ -9327,28 +9435,28 @@
"norm_label": "main()"
},
{
- "label": "PaymentVerifyPage()",
+ "label": ".updatePricingSettings()",
"file_type": "code",
- "source_file": "frontend/application/app/payment/verify/page.tsx",
- "source_location": "L319",
+ "source_file": "backend/src/admin/admin.controller.ts",
+ "source_location": "L164",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_app_payment_verify_page_paymentverifypage",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "paymentverifypage()"
+ "id": "backend_src_admin_admin_controller_admincontroller_updatepricingsettings",
+ "community": 19,
+ "community_name": "admin.controller.ts",
+ "norm_label": ".updatepricingsettings()"
},
{
- "label": "VerifyContent()",
+ "label": ".updatePricingSettings()",
"file_type": "code",
- "source_file": "frontend/application/app/payment/verify/page.tsx",
- "source_location": "L23",
+ "source_file": "backend/src/admin/admin.service.ts",
+ "source_location": "L1372",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_app_payment_verify_page_verifycontent",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "verifycontent()"
+ "id": "backend_src_admin_admin_service_adminservice_updatepricingsettings",
+ "community": 19,
+ "community_name": "admin.controller.ts",
+ "norm_label": ".updatepricingsettings()"
},
{
"label": "AuthModal()",
@@ -9359,7 +9467,7 @@
"_origin": "ast",
"id": "frontend_application_components_authmodal_authmodal",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "authmodal()"
},
{
@@ -9371,45 +9479,9 @@
"_origin": "ast",
"id": "frontend_application_components_authmodal_extractotpfromtext",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "extractotpfromtext()"
},
- {
- "label": "B2BPortal()",
- "file_type": "code",
- "source_file": "frontend/application/components/B2BPortal.tsx",
- "source_location": "L23",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_b2bportal_b2bportal",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "b2bportal()"
- },
- {
- "label": "CartDrawer()",
- "file_type": "code",
- "source_file": "frontend/application/components/CartDrawer.tsx",
- "source_location": "L16",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_cartdrawer_cartdrawer",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "cartdrawer()"
- },
- {
- "label": "HeaderButton()",
- "file_type": "code",
- "source_file": "frontend/application/components/HeaderButton.tsx",
- "source_location": "L16",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_headerbutton_headerbutton",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "headerbutton()"
- },
{
"label": "LoginModal()",
"file_type": "code",
@@ -9419,7 +9491,7 @@
"_origin": "ast",
"id": "frontend_application_components_loginmodal_loginmodal",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "loginmodal()"
},
{
@@ -9431,45 +9503,9 @@
"_origin": "ast",
"id": "frontend_application_components_otpinput5_otpinput5",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "otpinput5()"
},
- {
- "label": "PrescriptionUploadModal()",
- "file_type": "code",
- "source_file": "frontend/application/components/PrescriptionUploadModal.tsx",
- "source_location": "L14",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_prescriptionuploadmodal_prescriptionuploadmodal",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "prescriptionuploadmodal()"
- },
- {
- "label": "ProductReviews()",
- "file_type": "code",
- "source_file": "frontend/application/components/ProductReviews.tsx",
- "source_location": "L33",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_productreviews_productreviews",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "productreviews()"
- },
- {
- "label": "UserDashboard()",
- "file_type": "code",
- "source_file": "frontend/application/components/UserDashboard.tsx",
- "source_location": "L22",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_userdashboard_userdashboard",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "userdashboard()"
- },
{
"label": ".constructor()",
"file_type": "code",
@@ -9479,7 +9515,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_authservice_authservice_constructor",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": ".constructor()"
},
{
@@ -9491,7 +9527,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_authservice_authservice_getinstance",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": ".getinstance()"
},
{
@@ -9503,7 +9539,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_authservice_authservice_getprofile",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": ".getprofile()"
},
{
@@ -9515,7 +9551,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_authservice_authservice_login",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": ".login()"
},
{
@@ -9527,7 +9563,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_authservice_authservice_logout",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": ".logout()"
},
{
@@ -9539,7 +9575,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_authservice_authservice_register",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": ".register()"
},
{
@@ -9551,7 +9587,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_authservice_authservice_sendotp",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": ".sendotp()"
},
{
@@ -9563,7 +9599,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_authservice_authservice_updateprofile",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": ".updateprofile()"
},
{
@@ -9575,7 +9611,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_authservice_authservice_verifyotp",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": ".verifyotp()"
},
{
@@ -9587,80 +9623,116 @@
"_origin": "ast",
"id": "frontend_application_lib_utils_toenglishdigits",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "toenglishdigits()"
},
{
- "label": "toPersian()",
+ "label": ".addComment()",
"file_type": "code",
- "source_file": "frontend/application/lib/utils.ts",
- "source_location": "L1",
+ "source_file": "backend/src/blogs/blogs.service.ts",
+ "source_location": "L358",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_lib_utils_topersian",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "topersian()"
- },
- {
- "label": "BackButton()",
- "file_type": "code",
- "source_file": "frontend/application/components/BackButton.tsx",
- "source_location": "L13",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_backbutton_backbutton",
+ "id": "backend_src_blogs_blogs_service_blogsservice_addcomment",
"community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "backbutton()"
+ "community_name": "BlogsService",
+ "norm_label": ".addcomment()"
},
{
- "label": "VetGallery()",
+ "label": ".constructor()",
"file_type": "code",
- "source_file": "frontend/application/components/VetGallery.tsx",
- "source_location": "L71",
+ "source_file": "backend/src/blogs/blogs.service.ts",
+ "source_location": "L14",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_components_vetgallery_vetgallery",
+ "id": "backend_src_blogs_blogs_service_blogsservice_constructor",
"community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "vetgallery()"
+ "community_name": "BlogsService",
+ "norm_label": ".constructor()"
},
{
- "label": "VideoModalPlayer()",
+ "label": ".findAll()",
"file_type": "code",
- "source_file": "frontend/application/components/VideoModalPlayer.tsx",
- "source_location": "L40",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_videomodalplayer_videomodalplayer",
- "community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "videomodalplayer()"
- },
- {
- "label": "handleClickOutside()",
- "file_type": "code",
- "source_file": "frontend/application/components/VideoModalPlayer.tsx",
- "source_location": "L62",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_videomodalplayer_videomodalplayer_handleclickoutside",
- "community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "handleclickoutside()"
- },
- {
- "label": "normalizeVideo()",
- "file_type": "code",
- "source_file": "frontend/application/lib/services/videoService.ts",
+ "source_file": "backend/src/blogs/blogs.service.ts",
"source_location": "L16",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_lib_services_videoservice_normalizevideo",
+ "id": "backend_src_blogs_blogs_service_blogsservice_findall",
"community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "normalizevideo()"
+ "community_name": "BlogsService",
+ "norm_label": ".findall()"
+ },
+ {
+ "label": ".findCommentsBySlug()",
+ "file_type": "code",
+ "source_file": "backend/src/blogs/blogs.service.ts",
+ "source_location": "L345",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_blogs_blogs_service_blogsservice_findcommentsbyslug",
+ "community": 2,
+ "community_name": "BlogsService",
+ "norm_label": ".findcommentsbyslug()"
+ },
+ {
+ "label": ".findHomepage()",
+ "file_type": "code",
+ "source_file": "backend/src/blogs/blogs.service.ts",
+ "source_location": "L99",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_blogs_blogs_service_blogsservice_findhomepage",
+ "community": 2,
+ "community_name": "BlogsService",
+ "norm_label": ".findhomepage()"
+ },
+ {
+ "label": ".findOneBySlug()",
+ "file_type": "code",
+ "source_file": "backend/src/blogs/blogs.service.ts",
+ "source_location": "L140",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_blogs_blogs_service_blogsservice_findonebyslug",
+ "community": 2,
+ "community_name": "BlogsService",
+ "norm_label": ".findonebyslug()"
+ },
+ {
+ "label": ".getCategories()",
+ "file_type": "code",
+ "source_file": "backend/src/blogs/blogs.service.ts",
+ "source_location": "L302",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_blogs_blogs_service_blogsservice_getcategories",
+ "community": 2,
+ "community_name": "BlogsService",
+ "norm_label": ".getcategories()"
+ },
+ {
+ "label": ".getTags()",
+ "file_type": "code",
+ "source_file": "backend/src/blogs/blogs.service.ts",
+ "source_location": "L316",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_blogs_blogs_service_blogsservice_gettags",
+ "community": 2,
+ "community_name": "BlogsService",
+ "norm_label": ".gettags()"
+ },
+ {
+ "label": ".incrementView()",
+ "file_type": "code",
+ "source_file": "backend/src/blogs/blogs.service.ts",
+ "source_location": "L329",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_blogs_blogs_service_blogsservice_incrementview",
+ "community": 2,
+ "community_name": "BlogsService",
+ "norm_label": ".incrementview()"
},
{
"label": ".constructor()",
@@ -10034,6 +10106,18 @@
"community_name": "ProductDto",
"norm_label": ".revalidatetag()"
},
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/auth/auth.controller.ts",
+ "source_location": "L43",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_auth_auth_controller_authcontroller_constructor",
+ "community": 220,
+ "community_name": "AuthController",
+ "norm_label": ".constructor()"
+ },
{
"label": ".constructor()",
"file_type": "code",
@@ -10827,52 +10911,16 @@
"norm_label": ".verifypaymentdirect()"
},
{
- "label": "buildTorobProductSpec()",
+ "label": "ShopProductPage()",
"file_type": "code",
- "source_file": "frontend/application/app/api/torob/products/route.ts",
- "source_location": "L69",
+ "source_file": "frontend/application/app/shop/[slug]/page.tsx",
+ "source_location": "L102",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_app_api_torob_products_route_buildtorobproductspec",
+ "id": "frontend_application_app_shop_slug_page_shopproductpage",
"community": 3,
"community_name": "productService.ts",
- "norm_label": "buildtorobproductspec()"
- },
- {
- "label": "buildTorobProductTitle()",
- "file_type": "code",
- "source_file": "frontend/application/app/api/torob/products/route.ts",
- "source_location": "L9",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_app_api_torob_products_route_buildtorobproducttitle",
- "community": 3,
- "community_name": "productService.ts",
- "norm_label": "buildtorobproducttitle()"
- },
- {
- "label": "GET()",
- "file_type": "code",
- "source_file": "frontend/application/app/api/torob/products/route.ts",
- "source_location": "L104",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_app_api_torob_products_route_get",
- "community": 3,
- "community_name": "productService.ts",
- "norm_label": "get()"
- },
- {
- "label": "GET()",
- "file_type": "code",
- "source_file": "frontend/application/app/shop/feed.xml/route.ts",
- "source_location": "L9",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_app_shop_feed_xml_route_get",
- "community": 3,
- "community_name": "productService.ts",
- "norm_label": "get()"
+ "norm_label": "shopproductpage()"
},
{
"label": "GET()",
@@ -10910,6 +10958,18 @@
"community_name": "productService.ts",
"norm_label": "sitemap()"
},
+ {
+ "label": "CartDrawer()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/CartDrawer.tsx",
+ "source_location": "L16",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_cartdrawer_cartdrawer",
+ "community": 3,
+ "community_name": "productService.ts",
+ "norm_label": "cartdrawer()"
+ },
{
"label": "CatalogPageSpread()",
"file_type": "code",
@@ -11006,30 +11066,6 @@
"community_name": "productService.ts",
"norm_label": "ingredientwiki()"
},
- {
- "label": "SearchResultsPage()",
- "file_type": "code",
- "source_file": "frontend/application/components/SearchResultsPage.tsx",
- "source_location": "L13",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_searchresultspage_searchresultspage",
- "community": 3,
- "community_name": "productService.ts",
- "norm_label": "searchresultspage()"
- },
- {
- "label": "getMediaUrl()",
- "file_type": "code",
- "source_file": "frontend/application/lib/media.ts",
- "source_location": "L10",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_lib_media_getmediaurl",
- "community": 3,
- "community_name": "productService.ts",
- "norm_label": "getmediaurl()"
- },
{
"label": ".constructor()",
"file_type": "code",
@@ -11150,6 +11186,42 @@
"community_name": "productService.ts",
"norm_label": ".serverfetch()"
},
+ {
+ "label": "generateMetadata()",
+ "file_type": "code",
+ "source_file": "frontend/application/app/track/page.tsx",
+ "source_location": "L5",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_app_track_page_generatemetadata",
+ "community": 304,
+ "community_name": "track/page.tsx",
+ "norm_label": "generatemetadata()"
+ },
+ {
+ "label": "TrackPage()",
+ "file_type": "code",
+ "source_file": "frontend/application/app/track/page.tsx",
+ "source_location": "L13",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_app_track_page_trackpage",
+ "community": 304,
+ "community_name": "track/page.tsx",
+ "norm_label": "trackpage()"
+ },
+ {
+ "label": "OrderTracking()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/OrderTracking.tsx",
+ "source_location": "L18",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_ordertracking_ordertracking",
+ "community": 304,
+ "community_name": "track/page.tsx",
+ "norm_label": "ordertracking()"
+ },
{
"label": "GET()",
"file_type": "code",
@@ -11471,7 +11543,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_b2bcontroller_constructor",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".constructor()"
},
{
@@ -11483,7 +11555,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_b2bcontroller_createinquiry",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".createinquiry()"
},
{
@@ -11495,7 +11567,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_b2bcontroller_createwholesaleorder",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".createwholesaleorder()"
},
{
@@ -11507,7 +11579,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_b2bcontroller_findallinquiries",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".findallinquiries()"
},
{
@@ -11519,7 +11591,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_b2bcontroller_getallpartneraccounts",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".getallpartneraccounts()"
},
{
@@ -11531,7 +11603,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_b2bcontroller_getpartnerprofile",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".getpartnerprofile()"
},
{
@@ -11543,9 +11615,21 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_b2bcontroller_updateinquirystatus",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".updateinquirystatus()"
},
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/b2b/b2b.service.ts",
+ "source_location": "L15",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_b2b_b2b_service_b2bservice_constructor",
+ "community": 34,
+ "community_name": "B2BService",
+ "norm_label": ".constructor()"
+ },
{
"label": ".createInquiry()",
"file_type": "code",
@@ -11555,7 +11639,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_service_b2bservice_createinquiry",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".createinquiry()"
},
{
@@ -11567,7 +11651,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_service_b2bservice_createwholesaleorder",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".createwholesaleorder()"
},
{
@@ -11579,7 +11663,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_service_b2bservice_findallinquiries",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".findallinquiries()"
},
{
@@ -11591,7 +11675,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_service_b2bservice_getallpartneraccounts",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".getallpartneraccounts()"
},
{
@@ -11603,7 +11687,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_service_b2bservice_getpartnerprofile",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".getpartnerprofile()"
},
{
@@ -11615,7 +11699,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_service_b2bservice_updateinquirystatus",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": ".updateinquirystatus()"
},
{
@@ -12126,7 +12210,7 @@
"label": "ClientLayout()",
"file_type": "code",
"source_file": "frontend/application/app/ClientLayout.tsx",
- "source_location": "L24",
+ "source_location": "L30",
"_callable": true,
"_origin": "ast",
"id": "frontend_application_app_clientlayout_clientlayout",
@@ -12158,6 +12242,18 @@
"community_name": "useSettingsStore",
"norm_label": "archivepage()"
},
+ {
+ "label": "B2BLandingClient()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/B2BLandingClient.tsx",
+ "source_location": "L25",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_b2blandingclient_b2blandingclient",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "b2blandingclient()"
+ },
{
"label": "BrandLogo()",
"file_type": "code",
@@ -12170,6 +12266,42 @@
"community_name": "useSettingsStore",
"norm_label": "brandlogo()"
},
+ {
+ "label": "EnamadBadge()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/EnamadBadge.tsx",
+ "source_location": "L9",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_enamadbadge_enamadbadge",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "enamadbadge()"
+ },
+ {
+ "label": "FAQSection()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/FAQSection.tsx",
+ "source_location": "L15",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_faqsection_faqsection",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "faqsection()"
+ },
+ {
+ "label": "loadFaqs()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/FAQSection.tsx",
+ "source_location": "L22",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_faqsection_faqsection_loadfaqs",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "loadfaqs()"
+ },
{
"label": "Footer()",
"file_type": "code",
@@ -12563,7 +12695,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_bannerscontroller_constructor",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".constructor()"
},
{
@@ -12575,7 +12707,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_bannerscontroller_create",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".create()"
},
{
@@ -12587,7 +12719,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_bannerscontroller_findall",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".findall()"
},
{
@@ -12599,7 +12731,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_bannerscontroller_remove",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".remove()"
},
{
@@ -12611,7 +12743,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_bannerscontroller_reorder",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".reorder()"
},
{
@@ -12623,9 +12755,21 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_bannerscontroller_update",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".update()"
},
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/banners/banners.service.ts",
+ "source_location": "L7",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_banners_banners_service_bannersservice_constructor",
+ "community": 43,
+ "community_name": "BannersService",
+ "norm_label": ".constructor()"
+ },
{
"label": ".create()",
"file_type": "code",
@@ -12635,7 +12779,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_service_bannersservice_create",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".create()"
},
{
@@ -12647,7 +12791,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_service_bannersservice_findall",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".findall()"
},
{
@@ -12659,7 +12803,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_service_bannersservice_remove",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".remove()"
},
{
@@ -12671,7 +12815,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_service_bannersservice_reorder",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".reorder()"
},
{
@@ -12683,7 +12827,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_service_bannersservice_update",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": ".update()"
},
{
@@ -12695,7 +12839,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_testimonialscontroller_constructor",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".constructor()"
},
{
@@ -12707,7 +12851,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_testimonialscontroller_create",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".create()"
},
{
@@ -12719,7 +12863,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_testimonialscontroller_findall",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".findall()"
},
{
@@ -12731,7 +12875,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_testimonialscontroller_findhomepage",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".findhomepage()"
},
{
@@ -12743,7 +12887,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_testimonialscontroller_remove",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".remove()"
},
{
@@ -12755,9 +12899,21 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_testimonialscontroller_update",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".update()"
},
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/testimonials/testimonials.service.ts",
+ "source_location": "L7",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_testimonials_testimonials_service_testimonialsservice_constructor",
+ "community": 44,
+ "community_name": "TestimonialsService",
+ "norm_label": ".constructor()"
+ },
{
"label": ".create()",
"file_type": "code",
@@ -12767,7 +12923,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_service_testimonialsservice_create",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".create()"
},
{
@@ -12779,7 +12935,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_service_testimonialsservice_findall",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".findall()"
},
{
@@ -12791,7 +12947,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_service_testimonialsservice_findhomepage",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".findhomepage()"
},
{
@@ -12803,7 +12959,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_service_testimonialsservice_remove",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".remove()"
},
{
@@ -12815,7 +12971,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_service_testimonialsservice_update",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": ".update()"
},
{
@@ -12827,7 +12983,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ingredientscontroller_constructor",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".constructor()"
},
{
@@ -12839,7 +12995,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ingredientscontroller_create",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".create()"
},
{
@@ -12851,7 +13007,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ingredientscontroller_findall",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".findall()"
},
{
@@ -12863,7 +13019,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ingredientscontroller_findone",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".findone()"
},
{
@@ -12875,7 +13031,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ingredientscontroller_remove",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".remove()"
},
{
@@ -12887,9 +13043,21 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ingredientscontroller_update",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".update()"
},
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/ingredients/ingredients.service.ts",
+ "source_location": "L7",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_ingredients_ingredients_service_ingredientsservice_constructor",
+ "community": 47,
+ "community_name": "IngredientsService",
+ "norm_label": ".constructor()"
+ },
{
"label": ".create()",
"file_type": "code",
@@ -12899,7 +13067,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_service_ingredientsservice_create",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".create()"
},
{
@@ -12911,7 +13079,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_service_ingredientsservice_findall",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".findall()"
},
{
@@ -12923,7 +13091,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_service_ingredientsservice_findone",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".findone()"
},
{
@@ -12935,7 +13103,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_service_ingredientsservice_remove",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".remove()"
},
{
@@ -12947,7 +13115,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_service_ingredientsservice_update",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": ".update()"
},
{
@@ -12986,42 +13154,6 @@
"community_name": "WikiController",
"norm_label": ".findone()"
},
- {
- "label": ".constructor()",
- "file_type": "code",
- "source_file": "backend/src/wiki/wiki.service.ts",
- "source_location": "L8",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_wiki_wiki_service_wikiservice_constructor",
- "community": 48,
- "community_name": "WikiController",
- "norm_label": ".constructor()"
- },
- {
- "label": ".findAll()",
- "file_type": "code",
- "source_file": "backend/src/wiki/wiki.service.ts",
- "source_location": "L10",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_wiki_wiki_service_wikiservice_findall",
- "community": 48,
- "community_name": "WikiController",
- "norm_label": ".findall()"
- },
- {
- "label": ".findOneByKey()",
- "file_type": "code",
- "source_file": "backend/src/wiki/wiki.service.ts",
- "source_location": "L52",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_wiki_wiki_service_wikiservice_findonebykey",
- "community": 48,
- "community_name": "WikiController",
- "norm_label": ".findonebykey()"
- },
{
"label": ".constructor()",
"file_type": "code",
@@ -13538,18 +13670,6 @@
"community_name": "BlogsController",
"norm_label": ".updatecommentstatus()"
},
- {
- "label": ".constructor()",
- "file_type": "code",
- "source_file": "backend/src/admin/blogs.service.ts",
- "source_location": "L9",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_blogs_service_blogsservice_constructor",
- "community": 51,
- "community_name": "BlogsController",
- "norm_label": ".constructor()"
- },
{
"label": ".createBlog()",
"file_type": "code",
@@ -14222,6 +14342,18 @@
"community_name": "Orders.tsx",
"norm_label": "topersiandigits()"
},
+ {
+ "label": ".getDashboardStats()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/admin.service.ts",
+ "source_location": "L73",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_service_adminservice_getdashboardstats",
+ "community": 58,
+ "community_name": "AuthService",
+ "norm_label": ".getdashboardstats()"
+ },
{
"label": ".adminLogin()",
"file_type": "code",
@@ -14306,18 +14438,6 @@
"community_name": "AuthService",
"norm_label": ".verifyotp()"
},
- {
- "label": "normalizeMobile()",
- "file_type": "code",
- "source_file": "backend/src/common/utils/phone.utils.ts",
- "source_location": "L7",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_common_utils_phone_utils_normalizemobile",
- "community": 58,
- "community_name": "AuthService",
- "norm_label": "normalizemobile()"
- },
{
"label": ".del()",
"file_type": "code",
@@ -14582,6 +14702,18 @@
"community_name": "CreateUserDto",
"norm_label": ".updateuser()"
},
+ {
+ "label": "normalizeMobile()",
+ "file_type": "code",
+ "source_file": "backend/src/common/utils/phone.utils.ts",
+ "source_location": "L7",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_common_utils_phone_utils_normalizemobile",
+ "community": 60,
+ "community_name": "CreateUserDto",
+ "norm_label": "normalizemobile()"
+ },
{
"label": "SuccessPage()",
"file_type": "code",
@@ -14630,30 +14762,6 @@
"community_name": "ProductPage.tsx",
"norm_label": "productcard()"
},
- {
- "label": "Header()",
- "file_type": "code",
- "source_file": "frontend/application/components/Header.tsx",
- "source_location": "L28",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_header_header",
- "community": 61,
- "community_name": "ProductPage.tsx",
- "norm_label": "header()"
- },
- {
- "label": "handleClickOutside()",
- "file_type": "code",
- "source_file": "frontend/application/components/Header.tsx",
- "source_location": "L183",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_header_header_handleclickoutside",
- "community": 61,
- "community_name": "ProductPage.tsx",
- "norm_label": "handleclickoutside()"
- },
{
"label": "OrderSuccess()",
"file_type": "code",
@@ -14666,18 +14774,6 @@
"community_name": "ProductPage.tsx",
"norm_label": "ordersuccess()"
},
- {
- "label": "OrderTracking()",
- "file_type": "code",
- "source_file": "frontend/application/components/OrderTracking.tsx",
- "source_location": "L18",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_ordertracking_ordertracking",
- "community": 61,
- "community_name": "ProductPage.tsx",
- "norm_label": "ordertracking()"
- },
{
"label": "PetProfile()",
"file_type": "code",
@@ -14726,6 +14822,18 @@
"community_name": "ProductPage.tsx",
"norm_label": "productpage()"
},
+ {
+ "label": "SearchResultsPage()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/SearchResultsPage.tsx",
+ "source_location": "L13",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_searchresultspage_searchresultspage",
+ "community": 61,
+ "community_name": "ProductPage.tsx",
+ "norm_label": "searchresultspage()"
+ },
{
"label": "ProductCardSkeleton()",
"file_type": "code",
@@ -14870,18 +14978,6 @@
"community_name": "admin.service.ts",
"norm_label": ".getpricingsettings()"
},
- {
- "label": ".applyGlobalMargins()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.service.ts",
- "source_location": "L1457",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_service_adminservice_applyglobalmargins",
- "community": 65,
- "community_name": "admin.service.ts",
- "norm_label": ".applyglobalmargins()"
- },
{
"label": ".bulkPriceAdjustment()",
"file_type": "code",
@@ -14939,7 +15035,7 @@
"_origin": "ast",
"id": "backend_src_admin_admin_controller_admincontroller_getcoupons",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": ".getcoupons()"
},
{
@@ -14951,33 +15047,9 @@
"_origin": "ast",
"id": "backend_src_admin_admin_controller_admincontroller_getdashboardstats",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": ".getdashboardstats()"
},
- {
- "label": ".getDoctors()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.controller.ts",
- "source_location": "L275",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_admincontroller_getdoctors",
- "community": 66,
- "community_name": "ApiOperation",
- "norm_label": ".getdoctors()"
- },
- {
- "label": ".getOrderById()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.controller.ts",
- "source_location": "L194",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_admincontroller_getorderbyid",
- "community": 66,
- "community_name": "ApiOperation",
- "norm_label": ".getorderbyid()"
- },
{
"label": ".getOrders()",
"file_type": "code",
@@ -14987,7 +15059,7 @@
"_origin": "ast",
"id": "backend_src_admin_admin_controller_admincontroller_getorders",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": ".getorders()"
},
{
@@ -14999,33 +15071,9 @@
"_origin": "ast",
"id": "backend_src_admin_admin_controller_admincontroller_getproducts",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": ".getproducts()"
},
- {
- "label": ".getSettings()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.controller.ts",
- "source_location": "L322",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_admincontroller_getsettings",
- "community": 66,
- "community_name": "ApiOperation",
- "norm_label": ".getsettings()"
- },
- {
- "label": ".getUserDetails()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.controller.ts",
- "source_location": "L67",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_admincontroller_getuserdetails",
- "community": 66,
- "community_name": "ApiOperation",
- "norm_label": ".getuserdetails()"
- },
{
"label": ".getUsers()",
"file_type": "code",
@@ -15035,7 +15083,7 @@
"_origin": "ast",
"id": "backend_src_admin_admin_controller_admincontroller_getusers",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": ".getusers()"
},
{
@@ -15047,45 +15095,9 @@
"_origin": "ast",
"id": "backend_src_admin_admin_service_adminservice_getcoupons",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": ".getcoupons()"
},
- {
- "label": ".getDashboardStats()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.service.ts",
- "source_location": "L73",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_service_adminservice_getdashboardstats",
- "community": 66,
- "community_name": "ApiOperation",
- "norm_label": ".getdashboardstats()"
- },
- {
- "label": ".getDoctors()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.service.ts",
- "source_location": "L1249",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_service_adminservice_getdoctors",
- "community": 66,
- "community_name": "ApiOperation",
- "norm_label": ".getdoctors()"
- },
- {
- "label": ".getOrderById()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.service.ts",
- "source_location": "L802",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_service_adminservice_getorderbyid",
- "community": 66,
- "community_name": "ApiOperation",
- "norm_label": ".getorderbyid()"
- },
{
"label": ".getOrders()",
"file_type": "code",
@@ -15095,7 +15107,7 @@
"_origin": "ast",
"id": "backend_src_admin_admin_service_adminservice_getorders",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": ".getorders()"
},
{
@@ -15107,21 +15119,9 @@
"_origin": "ast",
"id": "backend_src_admin_admin_service_adminservice_getproducts",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": ".getproducts()"
},
- {
- "label": ".getUserDetails()",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.service.ts",
- "source_location": "L206",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_admin_service_adminservice_getuserdetails",
- "community": 66,
- "community_name": "ApiOperation",
- "norm_label": ".getuserdetails()"
- },
{
"label": ".getUsers()",
"file_type": "code",
@@ -15131,21 +15131,9 @@
"_origin": "ast",
"id": "backend_src_admin_admin_service_adminservice_getusers",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": ".getusers()"
},
- {
- "label": ".constructor()",
- "file_type": "code",
- "source_file": "backend/src/admin/media.service.ts",
- "source_location": "L8",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_media_service_mediaservice_constructor",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": ".constructor()"
- },
{
"label": ".constructor()",
"file_type": "code",
@@ -15155,7 +15143,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_petscontroller_constructor",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": ".constructor()"
},
{
@@ -15167,7 +15155,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_petscontroller_deletepet",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": ".deletepet()"
},
{
@@ -15179,7 +15167,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_petscontroller_getpets",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": ".getpets()"
},
{
@@ -15191,7 +15179,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_service_petsservice_constructor",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": ".constructor()"
},
{
@@ -15203,7 +15191,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_service_petsservice_deletepet",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": ".deletepet()"
},
{
@@ -15215,69 +15203,9 @@
"_origin": "ast",
"id": "backend_src_admin_pets_service_petsservice_getpets",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": ".getpets()"
},
- {
- "label": ".constructor()",
- "file_type": "code",
- "source_file": "backend/src/admin/wiki.service.ts",
- "source_location": "L13",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_wiki_service_wikiservice_constructor",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": ".constructor()"
- },
- {
- "label": ".createTerm()",
- "file_type": "code",
- "source_file": "backend/src/admin/wiki.service.ts",
- "source_location": "L45",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_wiki_service_wikiservice_createterm",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": ".createterm()"
- },
- {
- "label": ".deleteTerm()",
- "file_type": "code",
- "source_file": "backend/src/admin/wiki.service.ts",
- "source_location": "L57",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_wiki_service_wikiservice_deleteterm",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": ".deleteterm()"
- },
- {
- "label": ".getTerms()",
- "file_type": "code",
- "source_file": "backend/src/admin/wiki.service.ts",
- "source_location": "L15",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_wiki_service_wikiservice_getterms",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": ".getterms()"
- },
- {
- "label": ".updateTerm()",
- "file_type": "code",
- "source_file": "backend/src/admin/wiki.service.ts",
- "source_location": "L49",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_admin_wiki_service_wikiservice_updateterm",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": ".updateterm()"
- },
{
"label": "HomeClient()",
"file_type": "code",
@@ -15302,54 +15230,6 @@
"community_name": "HomeClient.tsx",
"norm_label": "bannerplacement()"
},
- {
- "label": "BlogPreviewSection()",
- "file_type": "code",
- "source_file": "frontend/application/components/BlogPreviewSection.tsx",
- "source_location": "L28",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_blogpreviewsection_blogpreviewsection",
- "community": 68,
- "community_name": "HomeClient.tsx",
- "norm_label": "blogpreviewsection()"
- },
- {
- "label": "loadBlogs()",
- "file_type": "code",
- "source_file": "frontend/application/components/BlogPreviewSection.tsx",
- "source_location": "L34",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_blogpreviewsection_blogpreviewsection_loadblogs",
- "community": 68,
- "community_name": "HomeClient.tsx",
- "norm_label": "loadblogs()"
- },
- {
- "label": "FAQSection()",
- "file_type": "code",
- "source_file": "frontend/application/components/FAQSection.tsx",
- "source_location": "L15",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_faqsection_faqsection",
- "community": 68,
- "community_name": "HomeClient.tsx",
- "norm_label": "faqsection()"
- },
- {
- "label": "loadFaqs()",
- "file_type": "code",
- "source_file": "frontend/application/components/FAQSection.tsx",
- "source_location": "L22",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_faqsection_faqsection_loadfaqs",
- "community": 68,
- "community_name": "HomeClient.tsx",
- "norm_label": "loadfaqs()"
- },
{
"label": "Hero()",
"file_type": "code",
@@ -15374,30 +15254,6 @@
"community_name": "HomeClient.tsx",
"norm_label": "statcounter()"
},
- {
- "label": "TestimonialsSection()",
- "file_type": "code",
- "source_file": "frontend/application/components/TestimonialsSection.tsx",
- "source_location": "L20",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_testimonialssection_testimonialssection",
- "community": 68,
- "community_name": "HomeClient.tsx",
- "norm_label": "testimonialssection()"
- },
- {
- "label": "loadTestimonials()",
- "file_type": "code",
- "source_file": "frontend/application/components/TestimonialsSection.tsx",
- "source_location": "L26",
- "_callable": true,
- "_origin": "ast",
- "id": "frontend_application_components_testimonialssection_testimonialssection_loadtestimonials",
- "community": 68,
- "community_name": "HomeClient.tsx",
- "norm_label": "loadtestimonials()"
- },
{
"label": ".getBanners()",
"file_type": "code",
@@ -15641,26 +15497,26 @@
{
"label": "generateMetadata()",
"file_type": "code",
- "source_file": "frontend/application/app/track/page.tsx",
- "source_location": "L5",
+ "source_file": "frontend/application/app/trust-seals/page.tsx",
+ "source_location": "L7",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_app_track_page_generatemetadata",
+ "id": "frontend_application_app_trust_seals_page_generatemetadata",
"community": 71,
"community_name": "getPageMetadata",
"norm_label": "generatemetadata()"
},
{
- "label": "TrackPage()",
+ "label": "TrustSealsPage()",
"file_type": "code",
- "source_file": "frontend/application/app/track/page.tsx",
- "source_location": "L13",
+ "source_file": "frontend/application/app/trust-seals/page.tsx",
+ "source_location": "L15",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_app_track_page_trackpage",
+ "id": "frontend_application_app_trust_seals_page_trustsealspage",
"community": 71,
"community_name": "getPageMetadata",
- "norm_label": "trackpage()"
+ "norm_label": "trustsealspage()"
},
{
"label": "generateMetadata()",
@@ -15878,6 +15734,42 @@
"community_name": "PetsController",
"norm_label": ".uploadpetimage()"
},
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/admin/blogs.service.ts",
+ "source_location": "L9",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_admin_blogs_service_blogsservice_constructor",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": ".constructor()"
+ },
+ {
+ "label": ".frontendUrl()",
+ "file_type": "code",
+ "source_file": "backend/src/common/revalidation/revalidation.service.ts",
+ "source_location": "L7",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_common_revalidation_revalidation_service_revalidationservice_frontendurl",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": ".frontendurl()"
+ },
+ {
+ "label": ".secret()",
+ "file_type": "code",
+ "source_file": "backend/src/common/revalidation/revalidation.service.ts",
+ "source_location": "L15",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_common_revalidation_revalidation_service_revalidationservice_secret",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": ".secret()"
+ },
{
"label": ".constructor()",
"file_type": "code",
@@ -15887,7 +15779,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_productscontroller_constructor",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".constructor()"
},
{
@@ -15899,7 +15791,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_productscontroller_findall",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".findall()"
},
{
@@ -15911,7 +15803,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_productscontroller_findone",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".findone()"
},
{
@@ -15923,7 +15815,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_productscontroller_getactivefilters",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".getactivefilters()"
},
{
@@ -15935,7 +15827,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_productscontroller_getdosageconfig",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".getdosageconfig()"
},
{
@@ -15947,7 +15839,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_productscontroller_getnavigationfilters",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".getnavigationfilters()"
},
{
@@ -15959,9 +15851,21 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_productscontroller_updatedosageconfig",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".updatedosageconfig()"
},
+ {
+ "label": ".constructor()",
+ "file_type": "code",
+ "source_file": "backend/src/products/products.service.ts",
+ "source_location": "L9",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "backend_src_products_products_service_productsservice_constructor",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": ".constructor()"
+ },
{
"label": ".findAll()",
"file_type": "code",
@@ -15971,7 +15875,7 @@
"_origin": "ast",
"id": "backend_src_products_products_service_productsservice_findall",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".findall()"
},
{
@@ -15983,7 +15887,7 @@
"_origin": "ast",
"id": "backend_src_products_products_service_productsservice_findone",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".findone()"
},
{
@@ -15995,7 +15899,7 @@
"_origin": "ast",
"id": "backend_src_products_products_service_productsservice_getactivefilters",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".getactivefilters()"
},
{
@@ -16007,7 +15911,7 @@
"_origin": "ast",
"id": "backend_src_products_products_service_productsservice_getdosageconfig",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".getdosageconfig()"
},
{
@@ -16019,7 +15923,7 @@
"_origin": "ast",
"id": "backend_src_products_products_service_productsservice_getnavigationfilters",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".getnavigationfilters()"
},
{
@@ -16031,57 +15935,21 @@
"_origin": "ast",
"id": "backend_src_products_products_service_productsservice_updatedosageconfig",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".updatedosageconfig()"
},
- {
- "label": "buildTorobProductSpec()",
- "file_type": "code",
- "source_file": "backend/src/products/torob.controller.ts",
- "source_location": "L64",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_products_torob_controller_buildtorobproductspec",
- "community": 76,
- "community_name": "ProductsService",
- "norm_label": "buildtorobproductspec()"
- },
- {
- "label": "buildTorobProductTitle()",
- "file_type": "code",
- "source_file": "backend/src/products/torob.controller.ts",
- "source_location": "L5",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_products_torob_controller_buildtorobproducttitle",
- "community": 76,
- "community_name": "ProductsService",
- "norm_label": "buildtorobproducttitle()"
- },
{
"label": ".constructor()",
"file_type": "code",
- "source_file": "backend/src/products/torob.controller.ts",
- "source_location": "L102",
+ "source_file": "backend/src/reviews/reviews.service.ts",
+ "source_location": "L16",
"_callable": true,
"_origin": "ast",
- "id": "backend_src_products_torob_controller_torobcontroller_constructor",
+ "id": "backend_src_reviews_reviews_service_reviewsservice_constructor",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": ".constructor()"
},
- {
- "label": ".getTorobProducts()",
- "file_type": "code",
- "source_file": "backend/src/products/torob.controller.ts",
- "source_location": "L108",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_products_torob_controller_torobcontroller_gettorobproducts",
- "community": 76,
- "community_name": "ProductsService",
- "norm_label": ".gettorobproducts()"
- },
{
"label": ".constructor()",
"file_type": "code",
@@ -17135,21 +17003,9 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_authcontroller_adminlogin",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": ".adminlogin()"
},
- {
- "label": ".constructor()",
- "file_type": "code",
- "source_file": "backend/src/auth/auth.controller.ts",
- "source_location": "L43",
- "_callable": true,
- "_origin": "ast",
- "id": "backend_src_auth_auth_controller_authcontroller_constructor",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": ".constructor()"
- },
{
"label": ".login()",
"file_type": "code",
@@ -17159,7 +17015,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_authcontroller_login",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": ".login()"
},
{
@@ -17171,7 +17027,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_authcontroller_logout",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": ".logout()"
},
{
@@ -17183,7 +17039,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_authcontroller_refresh",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": ".refresh()"
},
{
@@ -17195,7 +17051,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_authcontroller_register",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": ".register()"
},
{
@@ -17207,7 +17063,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_authcontroller_sendotp",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": ".sendotp()"
},
{
@@ -17219,7 +17075,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_authcontroller_verifyotp",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": ".verifyotp()"
},
{
@@ -17390,6 +17246,102 @@
"community_name": "seed-products.ts",
"norm_label": "slugify()"
},
+ {
+ "label": "PaymentVerifyPage()",
+ "file_type": "code",
+ "source_file": "frontend/application/app/payment/verify/page.tsx",
+ "source_location": "L319",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_app_payment_verify_page_paymentverifypage",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "paymentverifypage()"
+ },
+ {
+ "label": "VerifyContent()",
+ "file_type": "code",
+ "source_file": "frontend/application/app/payment/verify/page.tsx",
+ "source_location": "L23",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_app_payment_verify_page_verifycontent",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "verifycontent()"
+ },
+ {
+ "label": "B2BPortal()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/B2BPortal.tsx",
+ "source_location": "L23",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_b2bportal_b2bportal",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "b2bportal()"
+ },
+ {
+ "label": "Header()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/Header.tsx",
+ "source_location": "L28",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_header_header",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "header()"
+ },
+ {
+ "label": "handleClickOutside()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/Header.tsx",
+ "source_location": "L183",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_header_header_handleclickoutside",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "handleclickoutside()"
+ },
+ {
+ "label": "PrescriptionUploadModal()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/PrescriptionUploadModal.tsx",
+ "source_location": "L14",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_prescriptionuploadmodal_prescriptionuploadmodal",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "prescriptionuploadmodal()"
+ },
+ {
+ "label": "UserDashboard()",
+ "file_type": "code",
+ "source_file": "frontend/application/components/UserDashboard.tsx",
+ "source_location": "L22",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_components_userdashboard_userdashboard",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "userdashboard()"
+ },
+ {
+ "label": "getBaseURL()",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/api.ts",
+ "source_location": "L5",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_api_getbaseurl",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "getbaseurl()"
+ },
{
"label": ".constructor()",
"file_type": "code",
@@ -17399,7 +17351,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_orderservice_orderservice_constructor",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": ".constructor()"
},
{
@@ -17411,7 +17363,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_orderservice_orderservice_createorder",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": ".createorder()"
},
{
@@ -17423,7 +17375,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_orderservice_orderservice_getinstance",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": ".getinstance()"
},
{
@@ -17435,7 +17387,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_orderservice_orderservice_getorderbyid",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": ".getorderbyid()"
},
{
@@ -17447,7 +17399,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_orderservice_orderservice_getuserorders",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": ".getuserorders()"
},
{
@@ -17735,7 +17687,7 @@
"_origin": "ast",
"id": "frontend_application_app_blog_slug_page_blogpostpage",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "blogpostpage()"
},
{
@@ -17747,7 +17699,7 @@
"_origin": "ast",
"id": "frontend_application_app_blog_slug_page_generatemetadata",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "generatemetadata()"
},
{
@@ -17759,7 +17711,7 @@
"_origin": "ast",
"id": "frontend_application_app_blog_slug_page_getblog",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "getblog()"
},
{
@@ -17771,7 +17723,7 @@
"_origin": "ast",
"id": "frontend_application_app_blog_slug_page_safeiso",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "safeiso()"
},
{
@@ -17783,7 +17735,7 @@
"_origin": "ast",
"id": "frontend_application_app_blog_slug_page_safelocaldate",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "safelocaldate()"
},
{
@@ -17795,20 +17747,56 @@
"_origin": "ast",
"id": "frontend_application_app_shop_slug_page_generatemetadata",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "generatemetadata()"
},
{
- "label": "ShopProductPage()",
+ "label": "generateMetadata()",
"file_type": "code",
- "source_file": "frontend/application/app/shop/[slug]/page.tsx",
- "source_location": "L102",
+ "source_file": "frontend/application/app/wiki/[slug]/page.tsx",
+ "source_location": "L38",
"_callable": true,
"_origin": "ast",
- "id": "frontend_application_app_shop_slug_page_shopproductpage",
+ "id": "frontend_application_app_wiki_slug_page_generatemetadata",
"community": 95,
- "community_name": "getSeoConfig",
- "norm_label": "shopproductpage()"
+ "community_name": "wiki/[slug]/page.tsx",
+ "norm_label": "generatemetadata()"
+ },
+ {
+ "label": "getRelatedProducts()",
+ "file_type": "code",
+ "source_file": "frontend/application/app/wiki/[slug]/page.tsx",
+ "source_location": "L24",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_app_wiki_slug_page_getrelatedproducts",
+ "community": 95,
+ "community_name": "wiki/[slug]/page.tsx",
+ "norm_label": "getrelatedproducts()"
+ },
+ {
+ "label": "getWikiTerm()",
+ "file_type": "code",
+ "source_file": "frontend/application/app/wiki/[slug]/page.tsx",
+ "source_location": "L11",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_app_wiki_slug_page_getwikiterm",
+ "community": 95,
+ "community_name": "wiki/[slug]/page.tsx",
+ "norm_label": "getwikiterm()"
+ },
+ {
+ "label": "WikiTermPage()",
+ "file_type": "code",
+ "source_file": "frontend/application/app/wiki/[slug]/page.tsx",
+ "source_location": "L78",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_app_wiki_slug_page_wikitermpage",
+ "community": 95,
+ "community_name": "wiki/[slug]/page.tsx",
+ "norm_label": "wikitermpage()"
},
{
"label": "BlogPostClient()",
@@ -17819,9 +17807,21 @@
"_origin": "ast",
"id": "frontend_application_components_blogpostclient_blogpostclient",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "blogpostclient()"
},
+ {
+ "label": "generateMedicalWebPageSchema()",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/schema.ts",
+ "source_location": "L159",
+ "_callable": true,
+ "_origin": "ast",
+ "id": "frontend_application_lib_schema_generatemedicalwebpageschema",
+ "community": 95,
+ "community_name": "wiki/[slug]/page.tsx",
+ "norm_label": "generatemedicalwebpageschema()"
+ },
{
"label": "formatPageTitle()",
"file_type": "code",
@@ -17831,7 +17831,7 @@
"_origin": "ast",
"id": "frontend_application_lib_seo_formatpagetitle",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "formatpagetitle()"
},
{
@@ -17843,7 +17843,7 @@
"_origin": "ast",
"id": "frontend_application_lib_seo_getseoconfig",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "getseoconfig()"
},
{
@@ -18279,6 +18279,17 @@
"community_name": "Roles",
"norm_label": "useguards"
},
+ {
+ "label": "Module",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_module_ts_module",
+ "community": 1,
+ "community_name": "app.module.ts",
+ "norm_label": "module"
+ },
{
"label": "app.module.ts",
"file_type": "code",
@@ -18290,6 +18301,28 @@
"community_name": "app.module.ts",
"norm_label": "app.module.ts"
},
+ {
+ "label": "b2b.module.ts",
+ "file_type": "code",
+ "source_file": "backend/src/b2b/b2b.module.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_b2b_b2b_module",
+ "community": 1,
+ "community_name": "app.module.ts",
+ "norm_label": "b2b.module.ts"
+ },
+ {
+ "label": "Module",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_b2b_b2b_module_ts_module",
+ "community": 1,
+ "community_name": "app.module.ts",
+ "norm_label": "module"
+ },
{
"label": "banners.module.ts",
"file_type": "code",
@@ -18389,17 +18422,6 @@
"community_name": "app.module.ts",
"norm_label": "module"
},
- {
- "label": "doctors.controller.ts",
- "file_type": "code",
- "source_file": "backend/src/doctors/doctors.controller.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_doctors_doctors_controller",
- "community": 1,
- "community_name": "app.module.ts",
- "norm_label": "doctors.controller.ts"
- },
{
"label": "doctors.module.ts",
"file_type": "code",
@@ -18422,28 +18444,6 @@
"community_name": "app.module.ts",
"norm_label": "module"
},
- {
- "label": "doctors.service.ts",
- "file_type": "code",
- "source_file": "backend/src/doctors/doctors.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_doctors_doctors_service",
- "community": 1,
- "community_name": "app.module.ts",
- "norm_label": "doctors.service.ts"
- },
- {
- "label": "doctor-query.dto.ts",
- "file_type": "code",
- "source_file": "backend/src/doctors/dto/doctor-query.dto.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_doctors_dto_doctor_query_dto",
- "community": 1,
- "community_name": "app.module.ts",
- "norm_label": "doctor-query.dto.ts"
- },
{
"label": "ingredients.module.ts",
"file_type": "code",
@@ -18675,6 +18675,50 @@
"community_name": "app.module.ts",
"norm_label": "module"
},
+ {
+ "label": "app_module_1",
+ "file_type": "code",
+ "source_file": "backend/test/app.e2e-spec.js",
+ "source_location": "L8",
+ "_origin": "ast",
+ "id": "backend_test_app_e2e_spec_app_module_1",
+ "community": 1,
+ "community_name": "app.module.ts",
+ "norm_label": "app_module_1"
+ },
+ {
+ "label": "app.e2e-spec.js",
+ "file_type": "code",
+ "source_file": "backend/test/app.e2e-spec.js",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_test_app_e2e_spec_js_backend_test_app_e2e_spec",
+ "community": 1,
+ "community_name": "app.module.ts",
+ "norm_label": "app.e2e-spec.js"
+ },
+ {
+ "label": "supertest_1",
+ "file_type": "code",
+ "source_file": "backend/test/app.e2e-spec.js",
+ "source_location": "L7",
+ "_origin": "ast",
+ "id": "backend_test_app_e2e_spec_supertest_1",
+ "community": 1,
+ "community_name": "app.module.ts",
+ "norm_label": "supertest_1"
+ },
+ {
+ "label": "testing_1",
+ "file_type": "code",
+ "source_file": "backend/test/app.e2e-spec.js",
+ "source_location": "L6",
+ "_origin": "ast",
+ "id": "backend_test_app_e2e_spec_testing_1",
+ "community": 1,
+ "community_name": "app.module.ts",
+ "norm_label": "testing_1"
+ },
{
"label": "create-review.dto.ts",
"file_type": "code",
@@ -19929,94 +19973,6 @@
"community_name": "InitiatePaymentDto",
"norm_label": "isstring"
},
- {
- "label": "admin/blogs.controller.ts",
- "file_type": "code",
- "source_file": "backend/src/admin/blogs.controller.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_admin_blogs_controller",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "admin/blogs.controller.ts"
- },
- {
- "label": "admin/blogs.service.ts",
- "file_type": "code",
- "source_file": "backend/src/admin/blogs.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_admin_blogs_service",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "admin/blogs.service.ts"
- },
- {
- "label": "blogs/blogs.controller.ts",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.controller.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_controller",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "blogs/blogs.controller.ts"
- },
- {
- "label": "blogs.module.ts",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.module.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_module",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "blogs.module.ts"
- },
- {
- "label": "Module",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_module_ts_module",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "module"
- },
- {
- "label": "blogs/blogs.service.ts",
- "file_type": "code",
- "source_file": "backend/src/blogs/blogs.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "blogs/blogs.service.ts"
- },
- {
- "label": "Injectable",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_blogs_blogs_service_ts_injectable",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "injectable"
- },
- {
- "label": "pagination.dto.ts",
- "file_type": "code",
- "source_file": "backend/src/common/dto/pagination.dto.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_common_dto_pagination_dto",
- "community": 107,
- "community_name": "PaginationDto",
- "norm_label": "pagination.dto.ts"
- },
{
"label": "ApiPropertyOptional",
"file_type": "code",
@@ -20094,6 +20050,105 @@
"community_name": "PaginationDto",
"norm_label": "type"
},
+ {
+ "label": "create-order.dto.ts",
+ "file_type": "code",
+ "source_file": "backend/src/orders/dto/create-order.dto.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_orders_dto_create_order_dto",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "create-order.dto.ts"
+ },
+ {
+ "label": "orders.controller.ts",
+ "file_type": "code",
+ "source_file": "backend/src/orders/orders.controller.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_orders_orders_controller",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "orders.controller.ts"
+ },
+ {
+ "label": "orders.controller.spec.ts",
+ "file_type": "code",
+ "source_file": "backend/src/orders/orders.controller.spec.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_orders_orders_controller_spec",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "orders.controller.spec.ts"
+ },
+ {
+ "label": "IsNotEmpty",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_orders_orders_controller_ts_isnotempty",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "isnotempty"
+ },
+ {
+ "label": "IsNumber",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_orders_orders_controller_ts_isnumber",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "isnumber"
+ },
+ {
+ "label": "IsString",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_orders_orders_controller_ts_isstring",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "isstring"
+ },
+ {
+ "label": "orders.module.ts",
+ "file_type": "code",
+ "source_file": "backend/src/orders/orders.module.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_orders_orders_module",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "orders.module.ts"
+ },
+ {
+ "label": "Module",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_orders_orders_module_ts_module",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "module"
+ },
+ {
+ "label": "orders.service.ts",
+ "file_type": "code",
+ "source_file": "backend/src/orders/orders.service.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_orders_orders_service",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "orders.service.ts"
+ },
{
"label": "get-videos-query.dto.ts",
"file_type": "code",
@@ -20160,6 +20215,61 @@
"community_name": "PaginationDto",
"norm_label": "videos.controller.ts"
},
+ {
+ "label": "wiki/wiki.controller.ts",
+ "file_type": "code",
+ "source_file": "backend/src/wiki/wiki.controller.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_wiki_wiki_controller",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "wiki/wiki.controller.ts"
+ },
+ {
+ "label": "wiki.module.ts",
+ "file_type": "code",
+ "source_file": "backend/src/wiki/wiki.module.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_wiki_wiki_module",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "wiki.module.ts"
+ },
+ {
+ "label": "Module",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_wiki_wiki_module_ts_module",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "module"
+ },
+ {
+ "label": "wiki/wiki.service.ts",
+ "file_type": "code",
+ "source_file": "backend/src/wiki/wiki.service.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_wiki_wiki_service",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "wiki/wiki.service.ts"
+ },
+ {
+ "label": "Injectable",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_wiki_wiki_service_ts_injectable",
+ "community": 107,
+ "community_name": "PaginationDto",
+ "norm_label": "injectable"
+ },
{
"label": "categories.service.ts",
"file_type": "code",
@@ -20182,17 +20292,6 @@
"community_name": "PrismaService",
"norm_label": "admin/pets.service.ts"
},
- {
- "label": "reports.service.ts",
- "file_type": "code",
- "source_file": "backend/src/admin/reports.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_admin_reports_service",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": "reports.service.ts"
- },
{
"label": "admin/wiki.service.ts",
"file_type": "code",
@@ -20226,17 +20325,6 @@
"community_name": "PrismaService",
"norm_label": "banners.service.ts"
},
- {
- "label": "Injectable",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_banners_banners_service_ts_injectable",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": "injectable"
- },
{
"label": "metrics.controller.ts",
"file_type": "code",
@@ -20314,17 +20402,6 @@
"community_name": "PrismaService",
"norm_label": "ingredients.service.ts"
},
- {
- "label": "Injectable",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_ingredients_ingredients_service_ts_injectable",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": "injectable"
- },
{
"label": "menu.service.ts",
"file_type": "code",
@@ -20347,17 +20424,6 @@
"community_name": "PrismaService",
"norm_label": "orders.service.spec.ts"
},
- {
- "label": "admin-transaction-filter.dto.ts",
- "file_type": "code",
- "source_file": "backend/src/payment/dto/admin-transaction-filter.dto.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_payment_dto_admin_transaction_filter_dto",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": "admin-transaction-filter.dto.ts"
- },
{
"label": "payment.service.ts",
"file_type": "code",
@@ -20369,6 +20435,17 @@
"community_name": "PrismaService",
"norm_label": "payment.service.ts"
},
+ {
+ "label": "zibal-ebank.service.ts",
+ "file_type": "code",
+ "source_file": "backend/src/payment/zibal-ebank.service.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_payment_zibal_ebank_service",
+ "community": 108,
+ "community_name": "PrismaService",
+ "norm_label": "zibal-ebank.service.ts"
+ },
{
"label": "pets.service.spec.ts",
"file_type": "code",
@@ -20402,17 +20479,6 @@
"community_name": "PrismaService",
"norm_label": "injectable"
},
- {
- "label": "products.service.spec.ts",
- "file_type": "code",
- "source_file": "backend/src/products/products.service.spec.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_products_products_service_spec",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": "products.service.spec.ts"
- },
{
"label": "default-ui-texts.ts",
"file_type": "code",
@@ -20479,17 +20545,6 @@
"community_name": "PrismaService",
"norm_label": "testimonials.service.ts"
},
- {
- "label": "Injectable",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_testimonials_testimonials_service_ts_injectable",
- "community": 108,
- "community_name": "PrismaService",
- "norm_label": "injectable"
- },
{
"label": "users.service.spec.ts",
"file_type": "code",
@@ -20732,17 +20787,6 @@
"community_name": "UsersService",
"norm_label": "injectable"
},
- {
- "label": "phone.utils.ts",
- "file_type": "code",
- "source_file": "backend/src/common/utils/phone.utils.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_common_utils_phone_utils",
- "community": 11,
- "community_name": "UsersService",
- "norm_label": "phone.utils.ts"
- },
{
"label": "address.dto.ts",
"file_type": "code",
@@ -21492,48 +21536,136 @@
"norm_label": "strict input specifications (what files to read)"
},
{
- "label": "ApiExcludeController",
+ "label": "auth.controller.ts",
"file_type": "code",
- "source_file": "",
- "source_location": "",
+ "source_file": "backend/src/auth/auth.controller.ts",
+ "source_location": "L1",
"_origin": "ast",
- "id": "apiexcludecontroller",
+ "id": "backend_src_auth_auth_controller",
"community": 113,
- "community_name": "MetricsController",
- "norm_label": "apiexcludecontroller"
+ "community_name": "auth.controller.ts",
+ "norm_label": "auth.controller.ts"
},
{
- "label": "Controller",
+ "label": "admin-login.dto.ts",
"file_type": "code",
- "source_file": "",
- "source_location": "",
+ "source_file": "backend/src/auth/dto/admin-login.dto.ts",
+ "source_location": "L1",
"_origin": "ast",
- "id": "backend_src_common_metrics_controller_ts_controller",
+ "id": "backend_src_auth_dto_admin_login_dto",
"community": 113,
- "community_name": "MetricsController",
- "norm_label": "controller"
+ "community_name": "auth.controller.ts",
+ "norm_label": "admin-login.dto.ts"
},
{
- "label": "Get",
+ "label": "ApiProperty",
"file_type": "code",
"source_file": "",
"source_location": "",
"_origin": "ast",
- "id": "backend_src_common_metrics_controller_ts_get",
+ "id": "backend_src_auth_dto_admin_login_dto_ts_apiproperty",
"community": 113,
- "community_name": "MetricsController",
- "norm_label": "get"
+ "community_name": "auth.controller.ts",
+ "norm_label": "apiproperty"
},
{
- "label": "Res",
+ "label": "IsEmail",
"file_type": "code",
"source_file": "",
"source_location": "",
"_origin": "ast",
- "id": "backend_src_common_metrics_controller_ts_res",
+ "id": "backend_src_auth_dto_admin_login_dto_ts_isemail",
"community": 113,
- "community_name": "MetricsController",
- "norm_label": "res"
+ "community_name": "auth.controller.ts",
+ "norm_label": "isemail"
+ },
+ {
+ "label": "IsNotEmpty",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_admin_login_dto_ts_isnotempty",
+ "community": 113,
+ "community_name": "auth.controller.ts",
+ "norm_label": "isnotempty"
+ },
+ {
+ "label": "IsString",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_admin_login_dto_ts_isstring",
+ "community": 113,
+ "community_name": "auth.controller.ts",
+ "norm_label": "isstring"
+ },
+ {
+ "label": "MinLength",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_admin_login_dto_ts_minlength",
+ "community": 113,
+ "community_name": "auth.controller.ts",
+ "norm_label": "minlength"
+ },
+ {
+ "label": "login.dto.ts",
+ "file_type": "code",
+ "source_file": "backend/src/auth/dto/login.dto.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_login_dto",
+ "community": 113,
+ "community_name": "auth.controller.ts",
+ "norm_label": "login.dto.ts"
+ },
+ {
+ "label": "ApiProperty",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_login_dto_ts_apiproperty",
+ "community": 113,
+ "community_name": "auth.controller.ts",
+ "norm_label": "apiproperty"
+ },
+ {
+ "label": "IsNotEmpty",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_login_dto_ts_isnotempty",
+ "community": 113,
+ "community_name": "auth.controller.ts",
+ "norm_label": "isnotempty"
+ },
+ {
+ "label": "IsString",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_login_dto_ts_isstring",
+ "community": 113,
+ "community_name": "auth.controller.ts",
+ "norm_label": "isstring"
+ },
+ {
+ "label": "MinLength",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_login_dto_ts_minlength",
+ "community": 113,
+ "community_name": "auth.controller.ts",
+ "norm_label": "minlength"
},
{
"label": "app.controller.ts",
@@ -23086,6 +23218,17 @@
"community_name": "AdminService",
"norm_label": "apibearerauth"
},
+ {
+ "label": "ApiOperation",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_admin_admin_controller_ts_apioperation",
+ "community": 122,
+ "community_name": "AdminService",
+ "norm_label": "apioperation"
+ },
{
"label": "ApiTags",
"file_type": "code",
@@ -23097,17 +23240,6 @@
"community_name": "AdminService",
"norm_label": "apitags"
},
- {
- "label": "Body",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_ts_body",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": "body"
- },
{
"label": "Controller",
"file_type": "code",
@@ -23141,17 +23273,6 @@
"community_name": "AdminService",
"norm_label": "param"
},
- {
- "label": "Post",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_ts_post",
- "community": 122,
- "community_name": "AdminService",
- "norm_label": "post"
- },
{
"label": "Put",
"file_type": "code",
@@ -23186,59 +23307,26 @@
"norm_label": "injectable"
},
{
- "label": "b2b.controller.ts",
- "file_type": "code",
- "source_file": "backend/src/b2b/b2b.controller.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_b2b_b2b_controller",
- "community": 123,
- "community_name": "B2BService",
- "norm_label": "b2b.controller.ts"
- },
- {
- "label": "b2b.module.ts",
- "file_type": "code",
- "source_file": "backend/src/b2b/b2b.module.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_b2b_b2b_module",
- "community": 123,
- "community_name": "B2BService",
- "norm_label": "b2b.module.ts"
- },
- {
- "label": "Module",
+ "label": "Body",
"file_type": "code",
"source_file": "",
"source_location": "",
"_origin": "ast",
- "id": "backend_src_b2b_b2b_module_ts_module",
+ "id": "backend_src_admin_admin_controller_ts_body",
"community": 123,
- "community_name": "B2BService",
- "norm_label": "module"
+ "community_name": "Body",
+ "norm_label": "body"
},
{
- "label": "b2b.service.ts",
- "file_type": "code",
- "source_file": "backend/src/b2b/b2b.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_b2b_b2b_service",
- "community": 123,
- "community_name": "B2BService",
- "norm_label": "b2b.service.ts"
- },
- {
- "label": "Injectable",
+ "label": "Post",
"file_type": "code",
"source_file": "",
"source_location": "",
"_origin": "ast",
- "id": "backend_src_b2b_b2b_service_ts_injectable",
+ "id": "backend_src_admin_admin_controller_ts_post",
"community": 123,
- "community_name": "B2BService",
- "norm_label": "injectable"
+ "community_name": "Body",
+ "norm_label": "post"
},
{
"label": "00-repository-map.md",
@@ -23681,15 +23769,70 @@
"norm_label": "\u0637\u0631\u06cc\u0642\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062f\u0631 \u0635\u0641\u062d\u0627\u062a \u0648\u0628"
},
{
- "label": "zibal-ebank.service.ts",
+ "label": "torob.controller.ts",
"file_type": "code",
- "source_file": "backend/src/payment/zibal-ebank.service.ts",
+ "source_file": "backend/src/products/torob.controller.ts",
"source_location": "L1",
"_origin": "ast",
- "id": "backend_src_payment_zibal_ebank_service",
+ "id": "backend_src_products_torob_controller",
"community": 128,
- "community_name": "zibal-ebank.service.ts",
- "norm_label": "zibal-ebank.service.ts"
+ "community_name": "torob.controller.ts",
+ "norm_label": "torob.controller.ts"
+ },
+ {
+ "label": "ApiOperation",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_products_torob_controller_ts_apioperation",
+ "community": 128,
+ "community_name": "torob.controller.ts",
+ "norm_label": "apioperation"
+ },
+ {
+ "label": "ApiTags",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_products_torob_controller_ts_apitags",
+ "community": 128,
+ "community_name": "torob.controller.ts",
+ "norm_label": "apitags"
+ },
+ {
+ "label": "Controller",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_products_torob_controller_ts_controller",
+ "community": 128,
+ "community_name": "torob.controller.ts",
+ "norm_label": "controller"
+ },
+ {
+ "label": "Get",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_products_torob_controller_ts_get",
+ "community": 128,
+ "community_name": "torob.controller.ts",
+ "norm_label": "get"
+ },
+ {
+ "label": "Query",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_products_torob_controller_ts_query",
+ "community": 128,
+ "community_name": "torob.controller.ts",
+ "norm_label": "query"
},
{
"label": "Reports.tsx",
@@ -23724,28 +23867,6 @@
"community_name": "Reports.tsx",
"norm_label": "reports"
},
- {
- "label": "generate-openapi.ts",
- "file_type": "code",
- "source_file": "backend/scripts/generate-openapi.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_scripts_generate_openapi_ts_backend_scripts_generate_openapi",
- "community": 13,
- "community_name": "app-audit-verification.e2e-spec.js",
- "norm_label": "generate-openapi.ts"
- },
- {
- "label": "Module",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_app_module_ts_module",
- "community": 13,
- "community_name": "app-audit-verification.e2e-spec.js",
- "norm_label": "module"
- },
{
"label": "env.validation.ts",
"file_type": "code",
@@ -24043,17 +24164,6 @@
"community_name": "app-audit-verification.e2e-spec.js",
"norm_label": "app-audit-verification.e2e-spec.ts"
},
- {
- "label": "app.e2e-spec.ts",
- "file_type": "code",
- "source_file": "backend/test/app.e2e-spec.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_test_app_e2e_spec_ts_backend_test_app_e2e_spec",
- "community": 13,
- "community_name": "app-audit-verification.e2e-spec.js",
- "norm_label": "app.e2e-spec.ts"
- },
{
"label": "application/public/fonts/sahel-font-v3.4.0/README.md",
"file_type": "document",
@@ -24857,6 +24967,17 @@
"community_name": "UserDashboard.tsx",
"norm_label": "addressmodal.tsx"
},
+ {
+ "label": "BackButton.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/BackButton.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_backbutton",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "backbutton.tsx"
+ },
{
"label": "CheckoutPage.tsx",
"file_type": "code",
@@ -24879,6 +25000,39 @@
"community_name": "UserDashboard.tsx",
"norm_label": "deleteconfirmmodal.tsx"
},
+ {
+ "label": "HeaderButton.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/HeaderButton.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_headerbutton",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "headerbutton.tsx"
+ },
+ {
+ "label": "ProductReviews",
+ "file_type": "code",
+ "source_file": "frontend/application/components/ProductPage.tsx",
+ "source_location": "L82",
+ "_origin": "ast",
+ "id": "frontend_application_components_productpage_productreviews",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "productreviews"
+ },
+ {
+ "label": "ProductReviews.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/ProductReviews.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_productreviews",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "productreviews.tsx"
+ },
{
"label": "SearchableSelect.tsx",
"file_type": "code",
@@ -24978,6 +25132,17 @@
"community_name": "UserDashboard.tsx",
"norm_label": "ticketservice"
},
+ {
+ "label": "utils.ts",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/utils.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_lib_utils",
+ "community": 14,
+ "community_name": "UserDashboard.tsx",
+ "norm_label": "utils.ts"
+ },
{
"label": "ErrorBoundary.tsx",
"file_type": "code",
@@ -25243,15 +25408,70 @@
"norm_label": "yaml"
},
{
- "label": "B2BLandingClient.tsx",
+ "label": "products/route.ts",
"file_type": "code",
- "source_file": "frontend/application/components/B2BLandingClient.tsx",
+ "source_file": "frontend/application/app/api/torob/products/route.ts",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_components_b2blandingclient",
+ "id": "frontend_application_app_api_torob_products_route",
"community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "b2blandingclient.tsx"
+ "community_name": "SafeImage.tsx",
+ "norm_label": "products/route.ts"
+ },
+ {
+ "label": "dynamic",
+ "file_type": "code",
+ "source_file": "frontend/application/app/api/torob/products/route.ts",
+ "source_location": "L6",
+ "_origin": "ast",
+ "id": "frontend_application_app_api_torob_products_route_dynamic",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "dynamic"
+ },
+ {
+ "label": "revalidate",
+ "file_type": "code",
+ "source_file": "frontend/application/app/api/torob/products/route.ts",
+ "source_location": "L7",
+ "_origin": "ast",
+ "id": "frontend_application_app_api_torob_products_route_revalidate",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "revalidate"
+ },
+ {
+ "label": "feed.xml/route.ts",
+ "file_type": "code",
+ "source_file": "frontend/application/app/shop/feed.xml/route.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_app_shop_feed_xml_route",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "feed.xml/route.ts"
+ },
+ {
+ "label": "dynamic",
+ "file_type": "code",
+ "source_file": "frontend/application/app/shop/feed.xml/route.ts",
+ "source_location": "L6",
+ "_origin": "ast",
+ "id": "frontend_application_app_shop_feed_xml_route_dynamic",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "dynamic"
+ },
+ {
+ "label": "revalidate",
+ "file_type": "code",
+ "source_file": "frontend/application/app/shop/feed.xml/route.ts",
+ "source_location": "L7",
+ "_origin": "ast",
+ "id": "frontend_application_app_shop_feed_xml_route_revalidate",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "revalidate"
},
{
"label": "BlogPostClient.tsx",
@@ -25261,7 +25481,7 @@
"_origin": "ast",
"id": "frontend_application_components_blogpostclient",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "blogpostclient.tsx"
},
{
@@ -25272,31 +25492,9 @@
"_origin": "ast",
"id": "frontend_application_components_blogpreviewsection",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "blogpreviewsection.tsx"
},
- {
- "label": "ContactFormClient.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/ContactFormClient.tsx",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_components_contactformclient",
- "community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "contactformclient.tsx"
- },
- {
- "label": "FAQSection.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/FAQSection.tsx",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_components_faqsection",
- "community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "faqsection.tsx"
- },
{
"label": "OrderDetailsModal.tsx",
"file_type": "code",
@@ -25305,7 +25503,7 @@
"_origin": "ast",
"id": "frontend_application_components_orderdetailsmodal",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "orderdetailsmodal.tsx"
},
{
@@ -25316,7 +25514,7 @@
"_origin": "ast",
"id": "frontend_application_components_podcastinlineplayer",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "podcastinlineplayer.tsx"
},
{
@@ -25327,7 +25525,7 @@
"_origin": "ast",
"id": "frontend_application_components_podcastinlineplayer_playback_rates",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "playback_rates"
},
{
@@ -25338,7 +25536,7 @@
"_origin": "ast",
"id": "frontend_application_components_podcastplayermodal",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "podcastplayermodal.tsx"
},
{
@@ -25349,9 +25547,20 @@
"_origin": "ast",
"id": "frontend_application_components_podcastplayermodal_playback_rates",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "playback_rates"
},
+ {
+ "label": "VideoModalPlayer",
+ "file_type": "code",
+ "source_file": "frontend/application/components/ProductPage.tsx",
+ "source_location": "L81",
+ "_origin": "ast",
+ "id": "frontend_application_components_productpage_videomodalplayer",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "videomodalplayer"
+ },
{
"label": "SafeImage.tsx",
"file_type": "code",
@@ -25360,7 +25569,7 @@
"_origin": "ast",
"id": "frontend_application_components_safeimage",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "safeimage.tsx"
},
{
@@ -25371,30 +25580,74 @@
"_origin": "ast",
"id": "frontend_application_components_testimonialssection",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "testimonialssection.tsx"
},
{
- "label": "lib/services/api.ts",
+ "label": "VetGallery.tsx",
"file_type": "code",
- "source_file": "frontend/application/lib/services/api.ts",
+ "source_file": "frontend/application/components/VetGallery.tsx",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_lib_services_api",
+ "id": "frontend_application_components_vetgallery",
"community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "lib/services/api.ts"
+ "community_name": "SafeImage.tsx",
+ "norm_label": "vetgallery.tsx"
},
{
- "label": "api",
+ "label": "FALLBACK_VIDEOS",
"file_type": "code",
- "source_file": "frontend/application/lib/services/api.ts",
- "source_location": "L26",
+ "source_file": "frontend/application/components/VetGallery.tsx",
+ "source_location": "L28",
"_origin": "ast",
- "id": "frontend_application_lib_services_api_api",
+ "id": "frontend_application_components_vetgallery_fallback_videos",
"community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "api"
+ "community_name": "SafeImage.tsx",
+ "norm_label": "fallback_videos"
+ },
+ {
+ "label": "VideoModalPlayer.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/VideoModalPlayer.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_videomodalplayer",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "videomodalplayer.tsx"
+ },
+ {
+ "label": "PLAYBACK_RATES",
+ "file_type": "code",
+ "source_file": "frontend/application/components/VideoModalPlayer.tsx",
+ "source_location": "L38",
+ "_origin": "ast",
+ "id": "frontend_application_components_videomodalplayer_playback_rates",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "playback_rates"
+ },
+ {
+ "label": "VideosPage.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/VideosPage.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_videospage",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "videospage.tsx"
+ },
+ {
+ "label": "media.ts",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/media.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_lib_media",
+ "community": 144,
+ "community_name": "SafeImage.tsx",
+ "norm_label": "media.ts"
},
{
"label": "BASE_DOMAIN",
@@ -25404,63 +25657,96 @@
"_origin": "ast",
"id": "frontend_application_lib_services_api_base_domain",
"community": 144,
- "community_name": "lib/services/api.ts",
+ "community_name": "SafeImage.tsx",
"norm_label": "base_domain"
},
{
- "label": "baseURL",
+ "label": "videoService.ts",
"file_type": "code",
- "source_file": "frontend/application/lib/services/api.ts",
- "source_location": "L13",
- "_origin": "ast",
- "id": "frontend_application_lib_services_api_baseurl",
- "community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "baseurl"
- },
- {
- "label": "settingsStore.ts",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/settingsStore.ts",
+ "source_file": "frontend/application/lib/services/videoService.ts",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_lib_store_settingsstore",
+ "id": "frontend_application_lib_services_videoservice",
"community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "settingsstore.ts"
+ "community_name": "SafeImage.tsx",
+ "norm_label": "videoservice.ts"
},
{
- "label": "settingsStore.test.ts",
+ "label": "videoService",
"file_type": "code",
- "source_file": "frontend/application/lib/store/__tests__/settingsStore.test.ts",
- "source_location": "L1",
+ "source_file": "frontend/application/lib/services/videoService.ts",
+ "source_location": "L30",
"_origin": "ast",
- "id": "frontend_application_lib_store_tests_settingsstore_test",
+ "id": "frontend_application_lib_services_videoservice_videoservice",
"community": 144,
- "community_name": "lib/services/api.ts",
- "norm_label": "settingsstore.test.ts"
+ "community_name": "SafeImage.tsx",
+ "norm_label": "videoservice"
},
{
- "label": "trust-seals/page.tsx",
+ "label": "auth.service.ts",
"file_type": "code",
- "source_file": "frontend/application/app/trust-seals/page.tsx",
+ "source_file": "backend/src/auth/auth.service.ts",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_app_trust_seals_page",
+ "id": "backend_src_auth_auth_service",
"community": 145,
- "community_name": "trust-seals/page.tsx",
- "norm_label": "trust-seals/page.tsx"
+ "community_name": "auth.service.ts",
+ "norm_label": "auth.service.ts"
},
{
- "label": "EnamadBadge.tsx",
+ "label": "send-otp.dto.ts",
"file_type": "code",
- "source_file": "frontend/application/components/EnamadBadge.tsx",
+ "source_file": "backend/src/auth/dto/send-otp.dto.ts",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_components_enamadbadge",
+ "id": "backend_src_auth_dto_send_otp_dto",
"community": 145,
- "community_name": "trust-seals/page.tsx",
- "norm_label": "enamadbadge.tsx"
+ "community_name": "auth.service.ts",
+ "norm_label": "send-otp.dto.ts"
+ },
+ {
+ "label": "ApiProperty",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_send_otp_dto_ts_apiproperty",
+ "community": 145,
+ "community_name": "auth.service.ts",
+ "norm_label": "apiproperty"
+ },
+ {
+ "label": "IsNotEmpty",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_send_otp_dto_ts_isnotempty",
+ "community": 145,
+ "community_name": "auth.service.ts",
+ "norm_label": "isnotempty"
+ },
+ {
+ "label": "IsString",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_send_otp_dto_ts_isstring",
+ "community": 145,
+ "community_name": "auth.service.ts",
+ "norm_label": "isstring"
+ },
+ {
+ "label": "Matches",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_send_otp_dto_ts_matches",
+ "community": 145,
+ "community_name": "auth.service.ts",
+ "norm_label": "matches"
},
{
"label": "01-system-discovery.md",
@@ -25672,15 +25958,92 @@
"norm_label": "routeerrorboundary.tsx"
},
{
- "label": "wiki/[slug]/page.tsx",
+ "label": "register.dto.ts",
"file_type": "code",
- "source_file": "frontend/application/app/wiki/[slug]/page.tsx",
+ "source_file": "backend/src/auth/dto/register.dto.ts",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_app_wiki_slug_page",
+ "id": "backend_src_auth_dto_register_dto",
"community": 149,
- "community_name": "wiki/[slug]/page.tsx",
- "norm_label": "wiki/[slug]/page.tsx"
+ "community_name": "RegisterDto",
+ "norm_label": "register.dto.ts"
+ },
+ {
+ "label": "ApiProperty",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_register_dto_ts_apiproperty",
+ "community": 149,
+ "community_name": "RegisterDto",
+ "norm_label": "apiproperty"
+ },
+ {
+ "label": "ApiPropertyOptional",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_register_dto_ts_apipropertyoptional",
+ "community": 149,
+ "community_name": "RegisterDto",
+ "norm_label": "apipropertyoptional"
+ },
+ {
+ "label": "IsEmail",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_register_dto_ts_isemail",
+ "community": 149,
+ "community_name": "RegisterDto",
+ "norm_label": "isemail"
+ },
+ {
+ "label": "IsNotEmpty",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_register_dto_ts_isnotempty",
+ "community": 149,
+ "community_name": "RegisterDto",
+ "norm_label": "isnotempty"
+ },
+ {
+ "label": "IsOptional",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_register_dto_ts_isoptional",
+ "community": 149,
+ "community_name": "RegisterDto",
+ "norm_label": "isoptional"
+ },
+ {
+ "label": "IsString",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_register_dto_ts_isstring",
+ "community": 149,
+ "community_name": "RegisterDto",
+ "norm_label": "isstring"
+ },
+ {
+ "label": "MinLength",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_register_dto_ts_minlength",
+ "community": 149,
+ "community_name": "RegisterDto",
+ "norm_label": "minlength"
},
{
"label": "Layout.tsx",
@@ -26012,6 +26375,28 @@
"community_name": "@nestjs/swagger",
"norm_label": "@nestjs/swagger"
},
+ {
+ "label": "ApiExcludeController",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "apiexcludecontroller",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": "apiexcludecontroller"
+ },
+ {
+ "label": "generate-openapi.ts",
+ "file_type": "code",
+ "source_file": "backend/scripts/generate-openapi.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_scripts_generate_openapi_ts_backend_scripts_generate_openapi",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": "generate-openapi.ts"
+ },
{
"label": "admin.service.spec.ts",
"file_type": "code",
@@ -26020,7 +26405,7 @@
"_origin": "ast",
"id": "backend_src_admin_admin_service_spec",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": "admin.service.spec.ts"
},
{
@@ -26031,63 +26416,52 @@
"_origin": "ast",
"id": "backend_src_admin_admin_service_ts_optional",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": "optional"
},
- {
- "label": "revalidation.module.ts",
- "file_type": "code",
- "source_file": "backend/src/common/revalidation/revalidation.module.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_common_revalidation_revalidation_module",
- "community": 152,
- "community_name": "RevalidationService",
- "norm_label": "revalidation.module.ts"
- },
- {
- "label": "Global",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_common_revalidation_revalidation_module_ts_global",
- "community": 152,
- "community_name": "RevalidationService",
- "norm_label": "global"
- },
{
"label": "Module",
"file_type": "code",
"source_file": "",
"source_location": "",
"_origin": "ast",
- "id": "backend_src_common_revalidation_revalidation_module_ts_module",
+ "id": "backend_src_app_module_ts_module",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": "module"
},
{
- "label": "revalidation.service.ts",
- "file_type": "code",
- "source_file": "backend/src/common/revalidation/revalidation.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_common_revalidation_revalidation_service",
- "community": 152,
- "community_name": "RevalidationService",
- "norm_label": "revalidation.service.ts"
- },
- {
- "label": "Injectable",
+ "label": "Controller",
"file_type": "code",
"source_file": "",
"source_location": "",
"_origin": "ast",
- "id": "backend_src_common_revalidation_revalidation_service_ts_injectable",
+ "id": "backend_src_common_metrics_controller_ts_controller",
"community": 152,
- "community_name": "RevalidationService",
- "norm_label": "injectable"
+ "community_name": "RedisService",
+ "norm_label": "controller"
+ },
+ {
+ "label": "Get",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_common_metrics_controller_ts_get",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": "get"
+ },
+ {
+ "label": "Res",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_common_metrics_controller_ts_res",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": "res"
},
{
"label": "redis.module.ts",
@@ -26097,9 +26471,31 @@
"_origin": "ast",
"id": "backend_src_redis_redis_module",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": "redis.module.ts"
},
+ {
+ "label": "Global",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_redis_redis_module_ts_global",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": "global"
+ },
+ {
+ "label": "Module",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_redis_redis_module_ts_module",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": "module"
+ },
{
"label": "redis.service.ts",
"file_type": "code",
@@ -26108,7 +26504,7 @@
"_origin": "ast",
"id": "backend_src_redis_redis_service",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": "redis.service.ts"
},
{
@@ -26119,7 +26515,7 @@
"_origin": "ast",
"id": "backend_src_redis_redis_service_spec",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": "redis.service.spec.ts"
},
{
@@ -26130,9 +26526,20 @@
"_origin": "ast",
"id": "backend_src_redis_redis_service_ts_injectable",
"community": 152,
- "community_name": "RevalidationService",
+ "community_name": "RedisService",
"norm_label": "injectable"
},
+ {
+ "label": "app.e2e-spec.ts",
+ "file_type": "code",
+ "source_file": "backend/test/app.e2e-spec.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_test_app_e2e_spec_ts_backend_test_app_e2e_spec",
+ "community": 152,
+ "community_name": "RedisService",
+ "norm_label": "app.e2e-spec.ts"
+ },
{
"label": "tsconfig.build.json",
"file_type": "code",
@@ -26535,6 +26942,17 @@
"community_name": "with-vpn.sh",
"norm_label": "vpn_is_up()"
},
+ {
+ "label": "doctors.controller.ts",
+ "file_type": "code",
+ "source_file": "backend/src/doctors/doctors.controller.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_doctors_doctors_controller",
+ "community": 16,
+ "community_name": "DoctorQueryDto",
+ "norm_label": "doctors.controller.ts"
+ },
{
"label": "ApiBearerAuth",
"file_type": "code",
@@ -26667,6 +27085,17 @@
"community_name": "DoctorQueryDto",
"norm_label": "useguards"
},
+ {
+ "label": "doctors.service.ts",
+ "file_type": "code",
+ "source_file": "backend/src/doctors/doctors.service.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_doctors_doctors_service",
+ "community": 16,
+ "community_name": "DoctorQueryDto",
+ "norm_label": "doctors.service.ts"
+ },
{
"label": "Injectable",
"file_type": "code",
@@ -26678,6 +27107,17 @@
"community_name": "DoctorQueryDto",
"norm_label": "injectable"
},
+ {
+ "label": "doctor-query.dto.ts",
+ "file_type": "code",
+ "source_file": "backend/src/doctors/dto/doctor-query.dto.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_doctors_dto_doctor_query_dto",
+ "community": 16,
+ "community_name": "DoctorQueryDto",
+ "norm_label": "doctor-query.dto.ts"
+ },
{
"label": "ApiPropertyOptional",
"file_type": "code",
@@ -27757,48 +28197,48 @@
"norm_label": "\u06f4. \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0648 \u0627\u0641\u0632\u0648\u062f\u0646 \u0641\u06cc\u0686\u0631\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u062f\u0648\u0646 \u0634\u06a9\u0633\u062a\u0646 \u062a\u0633\u062a\u200c\u0647\u0627 (developer maintenance guide)"
},
{
- "label": "app_module_1",
+ "label": "Injectable",
"file_type": "code",
- "source_file": "backend/test/app.e2e-spec.js",
- "source_location": "L8",
+ "source_file": "",
+ "source_location": "",
"_origin": "ast",
- "id": "backend_test_app_e2e_spec_app_module_1",
+ "id": "backend_src_admin_wiki_service_ts_injectable",
"community": 179,
- "community_name": "app.e2e-spec.js",
- "norm_label": "app_module_1"
+ "community_name": "WikiService",
+ "norm_label": "injectable"
},
{
- "label": "app.e2e-spec.js",
+ "label": "admin.module.ts",
"file_type": "code",
- "source_file": "backend/test/app.e2e-spec.js",
+ "source_file": "backend/src/admin/admin.module.ts",
"source_location": "L1",
"_origin": "ast",
- "id": "backend_test_app_e2e_spec_js_backend_test_app_e2e_spec",
- "community": 179,
- "community_name": "app.e2e-spec.js",
- "norm_label": "app.e2e-spec.js"
+ "id": "backend_src_admin_admin_module",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "admin.module.ts"
},
{
- "label": "supertest_1",
+ "label": "admin/blogs.controller.ts",
"file_type": "code",
- "source_file": "backend/test/app.e2e-spec.js",
- "source_location": "L7",
+ "source_file": "backend/src/admin/blogs.controller.ts",
+ "source_location": "L1",
"_origin": "ast",
- "id": "backend_test_app_e2e_spec_supertest_1",
- "community": 179,
- "community_name": "app.e2e-spec.js",
- "norm_label": "supertest_1"
+ "id": "backend_src_admin_blogs_controller",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "admin/blogs.controller.ts"
},
{
- "label": "testing_1",
+ "label": "admin/blogs.service.ts",
"file_type": "code",
- "source_file": "backend/test/app.e2e-spec.js",
- "source_location": "L6",
+ "source_file": "backend/src/admin/blogs.service.ts",
+ "source_location": "L1",
"_origin": "ast",
- "id": "backend_test_app_e2e_spec_testing_1",
- "community": 179,
- "community_name": "app.e2e-spec.js",
- "norm_label": "testing_1"
+ "id": "backend_src_admin_blogs_service",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "admin/blogs.service.ts"
},
{
"label": "categories.controller.ts",
@@ -27808,9 +28248,53 @@
"_origin": "ast",
"id": "backend_src_admin_categories_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "categories.controller.ts"
},
+ {
+ "label": "media.controller.ts",
+ "file_type": "code",
+ "source_file": "backend/src/admin/media.controller.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_admin_media_controller",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "media.controller.ts"
+ },
+ {
+ "label": "media.service.ts",
+ "file_type": "code",
+ "source_file": "backend/src/admin/media.service.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_admin_media_service",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "media.service.ts"
+ },
+ {
+ "label": "Injectable",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_admin_media_service_ts_injectable",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "injectable"
+ },
+ {
+ "label": "admin/pets.controller.ts",
+ "file_type": "code",
+ "source_file": "backend/src/admin/pets.controller.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_admin_pets_controller",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "admin/pets.controller.ts"
+ },
{
"label": "reports.controller.ts",
"file_type": "code",
@@ -27819,9 +28303,20 @@
"_origin": "ast",
"id": "backend_src_admin_reports_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "reports.controller.ts"
},
+ {
+ "label": "reports.service.ts",
+ "file_type": "code",
+ "source_file": "backend/src/admin/reports.service.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_admin_reports_service",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "reports.service.ts"
+ },
{
"label": "ssl.controller.ts",
"file_type": "code",
@@ -27830,9 +28325,20 @@
"_origin": "ast",
"id": "backend_src_admin_ssl_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "ssl.controller.ts"
},
+ {
+ "label": "ssl.service.ts",
+ "file_type": "code",
+ "source_file": "backend/src/admin/ssl.service.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_admin_ssl_service",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "ssl.service.ts"
+ },
{
"label": "admin/wiki.controller.ts",
"file_type": "code",
@@ -27841,7 +28347,7 @@
"_origin": "ast",
"id": "backend_src_admin_wiki_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "admin/wiki.controller.ts"
},
{
@@ -27852,7 +28358,7 @@
"_origin": "ast",
"id": "backend_src_auth_jwt_auth_guard",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "jwt-auth.guard.ts"
},
{
@@ -27863,7 +28369,7 @@
"_origin": "ast",
"id": "backend_src_auth_jwt_auth_guard_ts_injectable",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "injectable"
},
{
@@ -27874,7 +28380,7 @@
"_origin": "ast",
"id": "backend_src_auth_roles_decorator",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "auth/roles.decorator.ts"
},
{
@@ -27885,9 +28391,31 @@
"_origin": "ast",
"id": "backend_src_auth_roles_guard",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "auth/roles.guard.ts"
},
+ {
+ "label": "b2b.controller.ts",
+ "file_type": "code",
+ "source_file": "backend/src/b2b/b2b.controller.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_b2b_b2b_controller",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "b2b.controller.ts"
+ },
+ {
+ "label": "b2b.service.ts",
+ "file_type": "code",
+ "source_file": "backend/src/b2b/b2b.service.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_b2b_b2b_service",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "b2b.service.ts"
+ },
{
"label": "banners.controller.ts",
"file_type": "code",
@@ -27896,9 +28424,20 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "banners.controller.ts"
},
+ {
+ "label": "blogs/blogs.controller.ts",
+ "file_type": "code",
+ "source_file": "backend/src/blogs/blogs.controller.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_blogs_blogs_controller",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "blogs/blogs.controller.ts"
+ },
{
"label": "decorators/roles.decorator.ts",
"file_type": "code",
@@ -27907,7 +28446,7 @@
"_origin": "ast",
"id": "backend_src_common_decorators_roles_decorator",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "decorators/roles.decorator.ts"
},
{
@@ -27918,9 +28457,20 @@
"_origin": "ast",
"id": "backend_src_common_decorators_roles_decorator_roles_key",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "roles_key"
},
+ {
+ "label": "pagination.dto.ts",
+ "file_type": "code",
+ "source_file": "backend/src/common/dto/pagination.dto.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_common_dto_pagination_dto",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "pagination.dto.ts"
+ },
{
"label": "guards/roles.guard.ts",
"file_type": "code",
@@ -27929,7 +28479,7 @@
"_origin": "ast",
"id": "backend_src_common_guards_roles_guard",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "guards/roles.guard.ts"
},
{
@@ -27940,7 +28490,7 @@
"_origin": "ast",
"id": "backend_src_common_guards_roles_guard_spec",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "roles.guard.spec.ts"
},
{
@@ -27951,7 +28501,7 @@
"_origin": "ast",
"id": "backend_src_common_guards_roles_guard_ts_injectable",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "injectable"
},
{
@@ -27962,20 +28512,9 @@
"_origin": "ast",
"id": "backend_src_contact_contact_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "contact.controller.ts"
},
- {
- "label": "faq.controller.ts",
- "file_type": "code",
- "source_file": "backend/src/faq/faq.controller.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_faq_faq_controller",
- "community": 18,
- "community_name": "JwtAuthGuard",
- "norm_label": "faq.controller.ts"
- },
{
"label": "ingredients.controller.ts",
"file_type": "code",
@@ -27984,7 +28523,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "ingredients.controller.ts"
},
{
@@ -27995,9 +28534,20 @@
"_origin": "ast",
"id": "backend_src_menu_menu_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "menu.controller.ts"
},
+ {
+ "label": "admin-transaction-filter.dto.ts",
+ "file_type": "code",
+ "source_file": "backend/src/payment/dto/admin-transaction-filter.dto.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_payment_dto_admin_transaction_filter_dto",
+ "community": 18,
+ "community_name": "admin.module.ts",
+ "norm_label": "admin-transaction-filter.dto.ts"
+ },
{
"label": "payment.controller.ts",
"file_type": "code",
@@ -28006,7 +28556,7 @@
"_origin": "ast",
"id": "backend_src_payment_payment_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "payment.controller.ts"
},
{
@@ -28017,7 +28567,7 @@
"_origin": "ast",
"id": "backend_src_settings_settings_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "settings.controller.ts"
},
{
@@ -28028,7 +28578,7 @@
"_origin": "ast",
"id": "backend_src_settings_settings_controller_spec",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "settings.controller.spec.ts"
},
{
@@ -28039,7 +28589,7 @@
"_origin": "ast",
"id": "backend_src_smart_advisor_smart_advisor_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "smart-advisor.controller.ts"
},
{
@@ -28050,7 +28600,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "testimonials.controller.ts"
},
{
@@ -28061,7 +28611,7 @@
"_origin": "ast",
"id": "backend_src_wholesale_dto_wholesale_apply_dto",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "wholesale-apply.dto.ts"
},
{
@@ -28072,7 +28622,7 @@
"_origin": "ast",
"id": "backend_src_wholesale_wholesale_controller",
"community": 18,
- "community_name": "JwtAuthGuard",
+ "community_name": "admin.module.ts",
"norm_label": "wholesale.controller.ts"
},
{
@@ -28251,6 +28801,17 @@
"community_name": "\ud83d\ude80 SEO & Content Strategy Review (12_seo_content)",
"norm_label": "\ud83d\ude80 seo & content strategy review (12_seo_content)"
},
+ {
+ "label": "faq.controller.ts",
+ "file_type": "code",
+ "source_file": "backend/src/faq/faq.controller.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_faq_faq_controller",
+ "community": 184,
+ "community_name": "FaqService",
+ "norm_label": "faq.controller.ts"
+ },
{
"label": "faq.module.ts",
"file_type": "code",
@@ -28813,15 +29374,15 @@
"norm_label": "select"
},
{
- "label": "verify/page.tsx",
+ "label": "LoginModal",
"file_type": "code",
- "source_file": "frontend/application/app/payment/verify/page.tsx",
- "source_location": "L1",
+ "source_file": "frontend/application/app/ClientLayout.tsx",
+ "source_location": "L13",
"_origin": "ast",
- "id": "frontend_application_app_payment_verify_page",
+ "id": "frontend_application_app_clientlayout_loginmodal",
"community": 197,
- "community_name": "toPersian",
- "norm_label": "verify/page.tsx"
+ "community_name": "AuthModal.tsx",
+ "norm_label": "loginmodal"
},
{
"label": "AuthModal.tsx",
@@ -28831,7 +29392,7 @@
"_origin": "ast",
"id": "frontend_application_components_authmodal",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "authmodal.tsx"
},
{
@@ -28842,42 +29403,9 @@
"_origin": "ast",
"id": "frontend_application_components_authmodal_otpcooldownexpiries",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "otpcooldownexpiries"
},
- {
- "label": "B2BPortal.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/B2BPortal.tsx",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_components_b2bportal",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "b2bportal.tsx"
- },
- {
- "label": "CartDrawer.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/CartDrawer.tsx",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_components_cartdrawer",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "cartdrawer.tsx"
- },
- {
- "label": "HeaderButton.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/HeaderButton.tsx",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_components_headerbutton",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "headerbutton.tsx"
- },
{
"label": "LoginModal.tsx",
"file_type": "code",
@@ -28886,7 +29414,7 @@
"_origin": "ast",
"id": "frontend_application_components_loginmodal",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "loginmodal.tsx"
},
{
@@ -28897,7 +29425,7 @@
"_origin": "ast",
"id": "frontend_application_components_loginmodal_loginotpcooldownexpiries",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "loginotpcooldownexpiries"
},
{
@@ -28908,118 +29436,52 @@
"_origin": "ast",
"id": "frontend_application_components_otpinput5",
"community": 197,
- "community_name": "toPersian",
+ "community_name": "AuthModal.tsx",
"norm_label": "otpinput5.tsx"
},
{
- "label": "PrescriptionUploadModal.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/PrescriptionUploadModal.tsx",
- "source_location": "L1",
+ "label": "NOTE: We intentionally do NOT use navigator.credentials.get (WebOTP API) here",
+ "file_type": "rationale",
+ "source_file": "frontend/application/components/AuthModal.tsx",
+ "source_location": "L192",
"_origin": "ast",
- "id": "frontend_application_components_prescriptionuploadmodal",
+ "id": "frontend_application_components_authmodal_rationale_192",
"community": 197,
- "community_name": "toPersian",
- "norm_label": "prescriptionuploadmodal.tsx"
+ "community_name": "AuthModal.tsx",
+ "norm_label": "note: we intentionally do not use navigator.credentials.get (webotp api) here"
},
{
- "label": "ProductReviews",
- "file_type": "code",
- "source_file": "frontend/application/components/ProductPage.tsx",
- "source_location": "L82",
+ "label": "IMPORTANT: only depend on isOpen here \u2014 NOT subView. If we depend on subView,",
+ "file_type": "rationale",
+ "source_file": "frontend/application/components/AuthModal.tsx",
+ "source_location": "L97",
"_origin": "ast",
- "id": "frontend_application_components_productpage_productreviews",
+ "id": "frontend_application_components_authmodal_rationale_97",
"community": 197,
- "community_name": "toPersian",
- "norm_label": "productreviews"
+ "community_name": "AuthModal.tsx",
+ "norm_label": "important: only depend on isopen here \u2014 not subview. if we depend on subview,"
},
{
- "label": "ProductReviews.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/ProductReviews.tsx",
- "source_location": "L1",
+ "label": "IMPORTANT: only depend on isOpen \u2014 NOT step, to avoid stacking extra history\u2026",
+ "file_type": "rationale",
+ "source_file": "frontend/application/components/LoginModal.tsx",
+ "source_location": "L38",
"_origin": "ast",
- "id": "frontend_application_components_productreviews",
+ "id": "frontend_application_components_loginmodal_rationale_38",
"community": 197,
- "community_name": "toPersian",
- "norm_label": "productreviews.tsx"
+ "community_name": "AuthModal.tsx",
+ "norm_label": "important: only depend on isopen \u2014 not step, to avoid stacking extra history..."
},
{
- "label": "CartDrawer.test.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/__tests__/CartDrawer.test.tsx",
- "source_location": "L1",
+ "label": "NOTE: We intentionally do NOT use navigator.credentials.get (WebOTP API) here.",
+ "file_type": "rationale",
+ "source_file": "frontend/application/components/LoginModal.tsx",
+ "source_location": "L91",
"_origin": "ast",
- "id": "frontend_application_components_tests_cartdrawer_test",
+ "id": "frontend_application_components_loginmodal_rationale_91",
"community": 197,
- "community_name": "toPersian",
- "norm_label": "cartdrawer.test.tsx"
- },
- {
- "label": "mockProduct",
- "file_type": "code",
- "source_file": "frontend/application/components/__tests__/CartDrawer.test.tsx",
- "source_location": "L19",
- "_origin": "ast",
- "id": "frontend_application_components_tests_cartdrawer_test_mockproduct",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "mockproduct"
- },
- {
- "label": "authService.ts",
- "file_type": "code",
- "source_file": "frontend/application/lib/services/authService.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_lib_services_authservice",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "authservice.ts"
- },
- {
- "label": "userStore.test.ts",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/__tests__/userStore.test.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_lib_store_tests_userstore_test",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "userstore.test.ts"
- },
- {
- "label": "userStore.ts",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/userStore.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_lib_store_userstore",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "userstore.ts"
- },
- {
- "label": "useUserStore",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/userStore.ts",
- "source_location": "L65",
- "_origin": "ast",
- "id": "frontend_application_lib_store_userstore_useuserstore",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "useuserstore"
- },
- {
- "label": "utils.ts",
- "file_type": "code",
- "source_file": "frontend/application/lib/utils.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_lib_utils",
- "community": 197,
- "community_name": "toPersian",
- "norm_label": "utils.ts"
+ "community_name": "AuthModal.tsx",
+ "norm_label": "note: we intentionally do not use navigator.credentials.get (webotp api) here."
},
{
"label": "@tailwindcss/postcss",
@@ -29066,103 +29528,48 @@
"norm_label": "prisma"
},
{
- "label": "BackButton.tsx",
+ "label": "blogs.module.ts",
"file_type": "code",
- "source_file": "frontend/application/components/BackButton.tsx",
+ "source_file": "backend/src/blogs/blogs.module.ts",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_components_backbutton",
+ "id": "backend_src_blogs_blogs_module",
"community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "backbutton.tsx"
+ "community_name": "BlogsService",
+ "norm_label": "blogs.module.ts"
},
{
- "label": "VideoModalPlayer",
+ "label": "Module",
"file_type": "code",
- "source_file": "frontend/application/components/ProductPage.tsx",
- "source_location": "L81",
+ "source_file": "",
+ "source_location": "",
"_origin": "ast",
- "id": "frontend_application_components_productpage_videomodalplayer",
+ "id": "backend_src_blogs_blogs_module_ts_module",
"community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "videomodalplayer"
+ "community_name": "BlogsService",
+ "norm_label": "module"
},
{
- "label": "VetGallery.tsx",
+ "label": "blogs/blogs.service.ts",
"file_type": "code",
- "source_file": "frontend/application/components/VetGallery.tsx",
+ "source_file": "backend/src/blogs/blogs.service.ts",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_components_vetgallery",
+ "id": "backend_src_blogs_blogs_service",
"community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "vetgallery.tsx"
+ "community_name": "BlogsService",
+ "norm_label": "blogs/blogs.service.ts"
},
{
- "label": "FALLBACK_VIDEOS",
+ "label": "Injectable",
"file_type": "code",
- "source_file": "frontend/application/components/VetGallery.tsx",
- "source_location": "L28",
+ "source_file": "",
+ "source_location": "",
"_origin": "ast",
- "id": "frontend_application_components_vetgallery_fallback_videos",
+ "id": "backend_src_blogs_blogs_service_ts_injectable",
"community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "fallback_videos"
- },
- {
- "label": "VideoModalPlayer.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/VideoModalPlayer.tsx",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_components_videomodalplayer",
- "community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "videomodalplayer.tsx"
- },
- {
- "label": "PLAYBACK_RATES",
- "file_type": "code",
- "source_file": "frontend/application/components/VideoModalPlayer.tsx",
- "source_location": "L38",
- "_origin": "ast",
- "id": "frontend_application_components_videomodalplayer_playback_rates",
- "community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "playback_rates"
- },
- {
- "label": "VideosPage.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/VideosPage.tsx",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_components_videospage",
- "community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "videospage.tsx"
- },
- {
- "label": "videoService.ts",
- "file_type": "code",
- "source_file": "frontend/application/lib/services/videoService.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_lib_services_videoservice",
- "community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "videoservice.ts"
- },
- {
- "label": "videoService",
- "file_type": "code",
- "source_file": "frontend/application/lib/services/videoService.ts",
- "source_location": "L30",
- "_origin": "ast",
- "id": "frontend_application_lib_services_videoservice_videoservice",
- "community": 2,
- "community_name": "VetGallery.tsx",
- "norm_label": "videoservice"
+ "community_name": "BlogsService",
+ "norm_label": "injectable"
},
{
"label": "create-video.dto.ts",
@@ -29566,26 +29973,70 @@
"norm_label": "\ud83d\udc41\ufe0f ux & persona interface review (08_visual_qa)"
},
{
- "label": "bcrypt",
+ "label": "verify-otp.dto.ts",
"file_type": "code",
- "source_file": "backend/package.json",
- "source_location": "L33",
+ "source_file": "backend/src/auth/dto/verify-otp.dto.ts",
+ "source_location": "L1",
"_origin": "ast",
- "id": "backend_package_dependencies_bcrypt",
+ "id": "backend_src_auth_dto_verify_otp_dto",
"community": 204,
- "community_name": "bcrypt",
- "norm_label": "bcrypt"
+ "community_name": "VerifyOtpDto",
+ "norm_label": "verify-otp.dto.ts"
},
{
- "label": "bcrypt",
- "file_type": "concept",
- "source_file": "backend/package.json",
- "source_location": "L33",
+ "label": "ApiProperty",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
"_origin": "ast",
- "id": "bcrypt",
+ "id": "backend_src_auth_dto_verify_otp_dto_ts_apiproperty",
"community": 204,
- "community_name": "bcrypt",
- "norm_label": "bcrypt"
+ "community_name": "VerifyOtpDto",
+ "norm_label": "apiproperty"
+ },
+ {
+ "label": "IsNotEmpty",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_verify_otp_dto_ts_isnotempty",
+ "community": 204,
+ "community_name": "VerifyOtpDto",
+ "norm_label": "isnotempty"
+ },
+ {
+ "label": "IsString",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_verify_otp_dto_ts_isstring",
+ "community": 204,
+ "community_name": "VerifyOtpDto",
+ "norm_label": "isstring"
+ },
+ {
+ "label": "Matches",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_dto_verify_otp_dto_ts_matches",
+ "community": 204,
+ "community_name": "VerifyOtpDto",
+ "norm_label": "matches"
+ },
+ {
+ "label": "Length",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "length",
+ "community": 204,
+ "community_name": "VerifyOtpDto",
+ "norm_label": "length"
},
{
"label": "prisma/scientificTerms.ts",
@@ -30237,26 +30688,37 @@
"norm_label": "isstring"
},
{
- "label": "eslint-config-next",
+ "label": "auth.controller.spec.ts",
"file_type": "code",
- "source_file": "frontend/application/package.json",
- "source_location": "L31",
+ "source_file": "backend/src/auth/auth.controller.spec.ts",
+ "source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_package_devdependencies_eslint_config_next",
+ "id": "backend_src_auth_auth_controller_spec",
"community": 220,
- "community_name": "eslint-config-next",
- "norm_label": "eslint-config-next"
+ "community_name": "AuthController",
+ "norm_label": "auth.controller.spec.ts"
},
{
- "label": "eslint-config-next",
- "file_type": "concept",
- "source_file": "frontend/application/package.json",
- "source_location": "L31",
+ "label": "ApiTags",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
"_origin": "ast",
- "id": "eslint_config_next",
+ "id": "backend_src_auth_auth_controller_ts_apitags",
"community": 220,
- "community_name": "eslint-config-next",
- "norm_label": "eslint-config-next"
+ "community_name": "AuthController",
+ "norm_label": "apitags"
+ },
+ {
+ "label": "Controller",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_auth_auth_controller_ts_controller",
+ "community": 220,
+ "community_name": "AuthController",
+ "norm_label": "controller"
},
{
"label": "Textarea.tsx",
@@ -33695,39 +34157,6 @@
"community_name": "@tailwindcss/postcss",
"norm_label": "@tailwindcss/postcss"
},
- {
- "label": "products/route.ts",
- "file_type": "code",
- "source_file": "frontend/application/app/api/torob/products/route.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_app_api_torob_products_route",
- "community": 3,
- "community_name": "productService.ts",
- "norm_label": "products/route.ts"
- },
- {
- "label": "dynamic",
- "file_type": "code",
- "source_file": "frontend/application/app/api/torob/products/route.ts",
- "source_location": "L6",
- "_origin": "ast",
- "id": "frontend_application_app_api_torob_products_route_dynamic",
- "community": 3,
- "community_name": "productService.ts",
- "norm_label": "dynamic"
- },
- {
- "label": "revalidate",
- "file_type": "code",
- "source_file": "frontend/application/app/api/torob/products/route.ts",
- "source_location": "L7",
- "_origin": "ast",
- "id": "frontend_application_app_api_torob_products_route_revalidate",
- "community": 3,
- "community_name": "productService.ts",
- "norm_label": "revalidate"
- },
{
"label": "CatalogClient.tsx",
"file_type": "code",
@@ -33740,34 +34169,23 @@
"norm_label": "catalogclient.tsx"
},
{
- "label": "feed.xml/route.ts",
+ "label": "shop/[slug]/page.tsx",
"file_type": "code",
- "source_file": "frontend/application/app/shop/feed.xml/route.ts",
+ "source_file": "frontend/application/app/shop/[slug]/page.tsx",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_app_shop_feed_xml_route",
+ "id": "frontend_application_app_shop_slug_page",
"community": 3,
"community_name": "productService.ts",
- "norm_label": "feed.xml/route.ts"
- },
- {
- "label": "dynamic",
- "file_type": "code",
- "source_file": "frontend/application/app/shop/feed.xml/route.ts",
- "source_location": "L6",
- "_origin": "ast",
- "id": "frontend_application_app_shop_feed_xml_route_dynamic",
- "community": 3,
- "community_name": "productService.ts",
- "norm_label": "dynamic"
+ "norm_label": "shop/[slug]/page.tsx"
},
{
"label": "revalidate",
"file_type": "code",
- "source_file": "frontend/application/app/shop/feed.xml/route.ts",
+ "source_file": "frontend/application/app/shop/[slug]/page.tsx",
"source_location": "L7",
"_origin": "ast",
- "id": "frontend_application_app_shop_feed_xml_route_revalidate",
+ "id": "frontend_application_app_shop_slug_page_revalidate",
"community": 3,
"community_name": "productService.ts",
"norm_label": "revalidate"
@@ -33871,6 +34289,17 @@
"community_name": "productService.ts",
"norm_label": "blogpage.tsx"
},
+ {
+ "label": "CartDrawer.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/CartDrawer.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_cartdrawer",
+ "community": 3,
+ "community_name": "productService.ts",
+ "norm_label": "cartdrawer.tsx"
+ },
{
"label": "CatalogPageSpread.tsx",
"file_type": "code",
@@ -33937,6 +34366,28 @@
"community_name": "productService.ts",
"norm_label": "searchresultspage.tsx"
},
+ {
+ "label": "CartDrawer.test.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/__tests__/CartDrawer.test.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_tests_cartdrawer_test",
+ "community": 3,
+ "community_name": "productService.ts",
+ "norm_label": "cartdrawer.test.tsx"
+ },
+ {
+ "label": "mockProduct",
+ "file_type": "code",
+ "source_file": "frontend/application/components/__tests__/CartDrawer.test.tsx",
+ "source_location": "L19",
+ "_origin": "ast",
+ "id": "frontend_application_components_tests_cartdrawer_test_mockproduct",
+ "community": 3,
+ "community_name": "productService.ts",
+ "norm_label": "mockproduct"
+ },
{
"label": "products.ts",
"file_type": "code",
@@ -33970,17 +34421,6 @@
"community_name": "productService.ts",
"norm_label": "products"
},
- {
- "label": "media.ts",
- "file_type": "code",
- "source_file": "frontend/application/lib/media.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_lib_media",
- "community": 3,
- "community_name": "productService.ts",
- "norm_label": "media.ts"
- },
{
"label": "productService.ts",
"file_type": "code",
@@ -34443,6 +34883,28 @@
"community_name": "swagger-ui-express",
"norm_label": "swagger-ui-express"
},
+ {
+ "label": "track/page.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/app/track/page.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_app_track_page",
+ "community": 304,
+ "community_name": "track/page.tsx",
+ "norm_label": "track/page.tsx"
+ },
+ {
+ "label": "OrderTracking.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/OrderTracking.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_ordertracking",
+ "community": 304,
+ "community_name": "track/page.tsx",
+ "norm_label": "ordertracking.tsx"
+ },
{
"label": "eslint-config-prettier",
"file_type": "code",
@@ -34466,26 +34928,26 @@
"norm_label": "eslint-config-prettier"
},
{
- "label": "@eslint/js",
+ "label": "class-transformer",
"file_type": "code",
"source_file": "backend/package.json",
- "source_location": "L49",
+ "source_location": "L35",
"_origin": "ast",
- "id": "backend_package_devdependencies_eslint_js",
+ "id": "backend_package_dependencies_class_transformer",
"community": 306,
- "community_name": "@eslint/js",
- "norm_label": "@eslint/js"
+ "community_name": "class-transformer",
+ "norm_label": "class-transformer"
},
{
- "label": "@eslint/js",
+ "label": "class-transformer",
"file_type": "concept",
"source_file": "backend/package.json",
- "source_location": "L49",
+ "source_location": "L35",
"_origin": "ast",
- "id": "backend_package_json_eslint_js",
+ "id": "class_transformer",
"community": 306,
- "community_name": "@eslint/js",
- "norm_label": "@eslint/js"
+ "community_name": "class-transformer",
+ "norm_label": "class-transformer"
},
{
"label": "@eslint/eslintrc",
@@ -35488,6 +35950,28 @@
"community_name": "eslint-plugin-react-refresh",
"norm_label": "eslint-plugin-react-refresh"
},
+ {
+ "label": "eslint",
+ "file_type": "code",
+ "source_file": "backend/package.json",
+ "source_location": "L63",
+ "_origin": "ast",
+ "id": "backend_package_devdependencies_eslint",
+ "community": 328,
+ "community_name": "eslint",
+ "norm_label": "eslint"
+ },
+ {
+ "label": "eslint",
+ "file_type": "concept",
+ "source_file": "backend/package.json",
+ "source_location": "L63",
+ "_origin": "ast",
+ "id": "backend_package_json_eslint",
+ "community": 328,
+ "community_name": "eslint",
+ "norm_label": "eslint"
+ },
{
"label": "typescript-eslint",
"file_type": "code",
@@ -35697,6 +36181,28 @@
"community_name": "WholesaleApplyDto",
"norm_label": "injectable"
},
+ {
+ "label": "tailwindcss",
+ "file_type": "code",
+ "source_file": "frontend/application/package.json",
+ "source_location": "L33",
+ "_origin": "ast",
+ "id": "frontend_application_package_devdependencies_tailwindcss",
+ "community": 330,
+ "community_name": "tailwindcss",
+ "norm_label": "tailwindcss"
+ },
+ {
+ "label": "tailwindcss",
+ "file_type": "concept",
+ "source_file": "frontend/application/package.json",
+ "source_location": "L33",
+ "_origin": "ast",
+ "id": "frontend_application_package_json_tailwindcss",
+ "community": 330,
+ "community_name": "tailwindcss",
+ "norm_label": "tailwindcss"
+ },
{
"label": "ApiBearerAuth",
"file_type": "code",
@@ -35705,7 +36211,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_apibearerauth",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "apibearerauth"
},
{
@@ -35716,7 +36222,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_apioperation",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "apioperation"
},
{
@@ -35727,7 +36233,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_apitags",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "apitags"
},
{
@@ -35738,7 +36244,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_body",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "body"
},
{
@@ -35749,7 +36255,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_controller",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "controller"
},
{
@@ -35760,7 +36266,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_get",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "get"
},
{
@@ -35771,7 +36277,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_param",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "param"
},
{
@@ -35782,7 +36288,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_post",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "post"
},
{
@@ -35793,7 +36299,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_put",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "put"
},
{
@@ -35804,7 +36310,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_req",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "req"
},
{
@@ -35815,7 +36321,7 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_throttle",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "throttle"
},
{
@@ -35826,9 +36332,20 @@
"_origin": "ast",
"id": "backend_src_b2b_b2b_controller_ts_useguards",
"community": 34,
- "community_name": "B2BController",
+ "community_name": "B2BService",
"norm_label": "useguards"
},
+ {
+ "label": "Injectable",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_b2b_b2b_service_ts_injectable",
+ "community": 34,
+ "community_name": "B2BService",
+ "norm_label": "injectable"
+ },
{
"label": "Body",
"file_type": "code",
@@ -36632,17 +37149,6 @@
"community_name": "useSettingsStore",
"norm_label": "cartdrawer"
},
- {
- "label": "LoginModal",
- "file_type": "code",
- "source_file": "frontend/application/app/ClientLayout.tsx",
- "source_location": "L13",
- "_origin": "ast",
- "id": "frontend_application_app_clientlayout_loginmodal",
- "community": 4,
- "community_name": "useSettingsStore",
- "norm_label": "loginmodal"
- },
{
"label": "smart-advisor/page.tsx",
"file_type": "code",
@@ -36665,6 +37171,17 @@
"community_name": "useSettingsStore",
"norm_label": "metadata"
},
+ {
+ "label": "B2BLandingClient.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/B2BLandingClient.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_b2blandingclient",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "b2blandingclient.tsx"
+ },
{
"label": "BrandLogo.tsx",
"file_type": "code",
@@ -36676,6 +37193,28 @@
"community_name": "useSettingsStore",
"norm_label": "brandlogo.tsx"
},
+ {
+ "label": "EnamadBadge.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/EnamadBadge.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_enamadbadge",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "enamadbadge.tsx"
+ },
+ {
+ "label": "FAQSection.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/FAQSection.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_faqsection",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "faqsection.tsx"
+ },
{
"label": "Footer.tsx",
"file_type": "code",
@@ -36687,28 +37226,6 @@
"community_name": "useSettingsStore",
"norm_label": "footer.tsx"
},
- {
- "label": "Header.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/Header.tsx",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_components_header",
- "community": 4,
- "community_name": "useSettingsStore",
- "norm_label": "header.tsx"
- },
- {
- "label": "MENU_ICONS",
- "file_type": "code",
- "source_file": "frontend/application/components/Header.tsx",
- "source_location": "L19",
- "_origin": "ast",
- "id": "frontend_application_components_header_menu_icons",
- "community": 4,
- "community_name": "useSettingsStore",
- "norm_label": "menu_icons"
- },
{
"label": "MaintenancePage.tsx",
"file_type": "code",
@@ -36852,6 +37369,17 @@
"community_name": "useSettingsStore",
"norm_label": "usenetworkstatus.ts"
},
+ {
+ "label": "settingsStore.ts",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/settingsStore.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_settingsstore",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "settingsstore.ts"
+ },
{
"label": "useSettingsStore",
"file_type": "code",
@@ -36863,6 +37391,17 @@
"community_name": "useSettingsStore",
"norm_label": "usesettingsstore"
},
+ {
+ "label": "settingsStore.test.ts",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/__tests__/settingsStore.test.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_tests_settingsstore_test",
+ "community": 4,
+ "community_name": "useSettingsStore",
+ "norm_label": "settingsstore.test.ts"
+ },
{
"label": "uiStore.ts",
"file_type": "code",
@@ -37465,7 +38004,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_apibearerauth",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "apibearerauth"
},
{
@@ -37476,7 +38015,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_apioperation",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "apioperation"
},
{
@@ -37487,7 +38026,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_apitags",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "apitags"
},
{
@@ -37498,7 +38037,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_body",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "body"
},
{
@@ -37509,7 +38048,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_controller",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "controller"
},
{
@@ -37520,7 +38059,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_delete",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "delete"
},
{
@@ -37531,7 +38070,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_get",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "get"
},
{
@@ -37542,7 +38081,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_param",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "param"
},
{
@@ -37553,7 +38092,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_patch",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "patch"
},
{
@@ -37564,7 +38103,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_post",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "post"
},
{
@@ -37575,7 +38114,7 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_put",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "put"
},
{
@@ -37586,9 +38125,20 @@
"_origin": "ast",
"id": "backend_src_banners_banners_controller_ts_useguards",
"community": 43,
- "community_name": "BannersController",
+ "community_name": "BannersService",
"norm_label": "useguards"
},
+ {
+ "label": "Injectable",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_banners_banners_service_ts_injectable",
+ "community": 43,
+ "community_name": "BannersService",
+ "norm_label": "injectable"
+ },
{
"label": "ApiBearerAuth",
"file_type": "code",
@@ -37597,7 +38147,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_apibearerauth",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "apibearerauth"
},
{
@@ -37608,7 +38158,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_apioperation",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "apioperation"
},
{
@@ -37619,7 +38169,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_apitags",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "apitags"
},
{
@@ -37630,7 +38180,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_body",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "body"
},
{
@@ -37641,7 +38191,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_controller",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "controller"
},
{
@@ -37652,7 +38202,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_delete",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "delete"
},
{
@@ -37663,7 +38213,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_get",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "get"
},
{
@@ -37674,7 +38224,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_param",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "param"
},
{
@@ -37685,7 +38235,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_patch",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "patch"
},
{
@@ -37696,7 +38246,7 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_post",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "post"
},
{
@@ -37707,9 +38257,20 @@
"_origin": "ast",
"id": "backend_src_testimonials_testimonials_controller_ts_useguards",
"community": 44,
- "community_name": "TestimonialsController",
+ "community_name": "TestimonialsService",
"norm_label": "useguards"
},
+ {
+ "label": "Injectable",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_testimonials_testimonials_service_ts_injectable",
+ "community": 44,
+ "community_name": "TestimonialsService",
+ "norm_label": "injectable"
+ },
{
"label": "SKILL.md",
"file_type": "document",
@@ -38180,7 +38741,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_apibearerauth",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "apibearerauth"
},
{
@@ -38191,7 +38752,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_apioperation",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "apioperation"
},
{
@@ -38202,7 +38763,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_apitags",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "apitags"
},
{
@@ -38213,7 +38774,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_body",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "body"
},
{
@@ -38224,7 +38785,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_controller",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "controller"
},
{
@@ -38235,7 +38796,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_delete",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "delete"
},
{
@@ -38246,7 +38807,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_get",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "get"
},
{
@@ -38257,7 +38818,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_param",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "param"
},
{
@@ -38268,7 +38829,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_patch",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "patch"
},
{
@@ -38279,7 +38840,7 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_post",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "post"
},
{
@@ -38290,19 +38851,19 @@
"_origin": "ast",
"id": "backend_src_ingredients_ingredients_controller_ts_useguards",
"community": 47,
- "community_name": "IngredientsController",
+ "community_name": "IngredientsService",
"norm_label": "useguards"
},
{
- "label": "wiki/wiki.controller.ts",
+ "label": "Injectable",
"file_type": "code",
- "source_file": "backend/src/wiki/wiki.controller.ts",
- "source_location": "L1",
+ "source_file": "",
+ "source_location": "",
"_origin": "ast",
- "id": "backend_src_wiki_wiki_controller",
- "community": 48,
- "community_name": "WikiController",
- "norm_label": "wiki/wiki.controller.ts"
+ "id": "backend_src_ingredients_ingredients_service_ts_injectable",
+ "community": 47,
+ "community_name": "IngredientsService",
+ "norm_label": "injectable"
},
{
"label": "ApiNotFoundResponse",
@@ -38392,50 +38953,6 @@
"community_name": "WikiController",
"norm_label": "query"
},
- {
- "label": "wiki.module.ts",
- "file_type": "code",
- "source_file": "backend/src/wiki/wiki.module.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_wiki_wiki_module",
- "community": 48,
- "community_name": "WikiController",
- "norm_label": "wiki.module.ts"
- },
- {
- "label": "Module",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_wiki_wiki_module_ts_module",
- "community": 48,
- "community_name": "WikiController",
- "norm_label": "module"
- },
- {
- "label": "wiki/wiki.service.ts",
- "file_type": "code",
- "source_file": "backend/src/wiki/wiki.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_wiki_wiki_service",
- "community": 48,
- "community_name": "WikiController",
- "norm_label": "wiki/wiki.service.ts"
- },
- {
- "label": "Injectable",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_wiki_wiki_service_ts_injectable",
- "community": 48,
- "community_name": "WikiController",
- "norm_label": "injectable"
- },
{
"label": "devDependencies",
"file_type": "code",
@@ -38909,6 +39426,17 @@
"community_name": "devDependencies",
"norm_label": "eslint"
},
+ {
+ "label": "eslint-config-next",
+ "file_type": "code",
+ "source_file": "frontend/application/package.json",
+ "source_location": "L31",
+ "_origin": "ast",
+ "id": "frontend_application_package_devdependencies_eslint_config_next",
+ "community": 50,
+ "community_name": "devDependencies",
+ "norm_label": "eslint-config-next"
+ },
{
"label": "jsdom",
"file_type": "code",
@@ -38920,17 +39448,6 @@
"community_name": "devDependencies",
"norm_label": "jsdom"
},
- {
- "label": "tailwindcss",
- "file_type": "code",
- "source_file": "frontend/application/package.json",
- "source_location": "L33",
- "_origin": "ast",
- "id": "frontend_application_package_devdependencies_tailwindcss",
- "community": 50,
- "community_name": "devDependencies",
- "norm_label": "tailwindcss"
- },
{
"label": "@testing-library/jest-dom",
"file_type": "code",
@@ -38986,6 +39503,17 @@
"community_name": "devDependencies",
"norm_label": "vitest"
},
+ {
+ "label": "eslint-config-next",
+ "file_type": "concept",
+ "source_file": "frontend/application/package.json",
+ "source_location": "L31",
+ "_origin": "ast",
+ "id": "eslint_config_next",
+ "community": 50,
+ "community_name": "devDependencies",
+ "norm_label": "eslint-config-next"
+ },
{
"label": "eslint",
"file_type": "concept",
@@ -38997,17 +39525,6 @@
"community_name": "devDependencies",
"norm_label": "eslint"
},
- {
- "label": "tailwindcss",
- "file_type": "concept",
- "source_file": "frontend/application/package.json",
- "source_location": "L33",
- "_origin": "ast",
- "id": "frontend_application_package_json_tailwindcss",
- "community": 50,
- "community_name": "devDependencies",
- "norm_label": "tailwindcss"
- },
{
"label": "@types/node",
"file_type": "concept",
@@ -40911,6 +41428,17 @@
"community_name": "CreateUserDto",
"norm_label": "minlength"
},
+ {
+ "label": "phone.utils.ts",
+ "file_type": "code",
+ "source_file": "backend/src/common/utils/phone.utils.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_common_utils_phone_utils",
+ "community": 60,
+ "community_name": "CreateUserDto",
+ "norm_label": "phone.utils.ts"
+ },
{
"label": "[id]/page.tsx",
"file_type": "code",
@@ -40977,17 +41505,6 @@
"community_name": "ProductPage.tsx",
"norm_label": "ordersuccess.tsx"
},
- {
- "label": "OrderTracking.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/OrderTracking.tsx",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_components_ordertracking",
- "community": 61,
- "community_name": "ProductPage.tsx",
- "norm_label": "ordertracking.tsx"
- },
{
"label": "PetProfile.tsx",
"file_type": "code",
@@ -41087,17 +41604,6 @@
"community_name": "ProductPage.tsx",
"norm_label": "mockpush"
},
- {
- "label": "Header.test.tsx",
- "file_type": "code",
- "source_file": "frontend/application/components/__tests__/Header.test.tsx",
- "source_location": "L1",
- "_origin": "ast",
- "id": "frontend_application_components_tests_header_test",
- "community": 61,
- "community_name": "ProductPage.tsx",
- "norm_label": "header.test.tsx"
- },
{
"label": "petCompatibility.ts",
"file_type": "code",
@@ -41109,17 +41615,6 @@
"community_name": "ProductPage.tsx",
"norm_label": "petcompatibility.ts"
},
- {
- "label": "useCartStore",
- "file_type": "code",
- "source_file": "frontend/application/lib/store/cartStore.ts",
- "source_location": "L54",
- "_origin": "ast",
- "id": "frontend_application_lib_store_cartstore_usecartstore",
- "community": 61,
- "community_name": "ProductPage.tsx",
- "norm_label": "usecartstore"
- },
{
"label": "usePetStore.ts",
"file_type": "code",
@@ -41252,6 +41747,17 @@
"community_name": "dependencies",
"norm_label": "dependencies"
},
+ {
+ "label": "bcrypt",
+ "file_type": "code",
+ "source_file": "backend/package.json",
+ "source_location": "L33",
+ "_origin": "ast",
+ "id": "backend_package_dependencies_bcrypt",
+ "community": 63,
+ "community_name": "dependencies",
+ "norm_label": "bcrypt"
+ },
{
"label": "bcryptjs",
"file_type": "code",
@@ -41263,17 +41769,6 @@
"community_name": "dependencies",
"norm_label": "bcryptjs"
},
- {
- "label": "class-transformer",
- "file_type": "code",
- "source_file": "backend/package.json",
- "source_location": "L35",
- "_origin": "ast",
- "id": "backend_package_dependencies_class_transformer",
- "community": 63,
- "community_name": "dependencies",
- "norm_label": "class-transformer"
- },
{
"label": "class-validator",
"file_type": "code",
@@ -41373,6 +41868,17 @@
"community_name": "dependencies",
"norm_label": "rxjs"
},
+ {
+ "label": "bcrypt",
+ "file_type": "concept",
+ "source_file": "backend/package.json",
+ "source_location": "L33",
+ "_origin": "ast",
+ "id": "bcrypt",
+ "community": 63,
+ "community_name": "dependencies",
+ "norm_label": "bcrypt"
+ },
{
"label": "bcryptjs",
"file_type": "concept",
@@ -41384,17 +41890,6 @@
"community_name": "dependencies",
"norm_label": "bcryptjs"
},
- {
- "label": "class-transformer",
- "file_type": "concept",
- "source_file": "backend/package.json",
- "source_location": "L35",
- "_origin": "ast",
- "id": "class_transformer",
- "community": 63,
- "community_name": "dependencies",
- "norm_label": "class-transformer"
- },
{
"label": "class-validator",
"file_type": "concept",
@@ -41769,17 +42264,6 @@
"community_name": "admin.service.ts",
"norm_label": "canonical_aliases"
},
- {
- "label": "ApiOperation",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_admin_admin_controller_ts_apioperation",
- "community": 66,
- "community_name": "ApiOperation",
- "norm_label": "apioperation"
- },
{
"label": "ApiQuery",
"file_type": "code",
@@ -41788,7 +42272,7 @@
"_origin": "ast",
"id": "backend_src_admin_admin_controller_ts_apiquery",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": "apiquery"
},
{
@@ -41799,7 +42283,7 @@
"_origin": "ast",
"id": "backend_src_admin_admin_controller_ts_get",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": "get"
},
{
@@ -41810,7 +42294,7 @@
"_origin": "ast",
"id": "backend_src_admin_admin_controller_ts_query",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": "query"
},
{
@@ -41821,7 +42305,7 @@
"_origin": "ast",
"id": "backend_src_admin_dto_admin_query_dto",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": "admin-query.dto.ts"
},
{
@@ -41832,7 +42316,7 @@
"_origin": "ast",
"id": "backend_src_admin_dto_admin_query_dto_ts_apipropertyoptional",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": "apipropertyoptional"
},
{
@@ -41843,7 +42327,7 @@
"_origin": "ast",
"id": "backend_src_admin_dto_admin_query_dto_ts_isoptional",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": "isoptional"
},
{
@@ -41854,75 +42338,9 @@
"_origin": "ast",
"id": "backend_src_admin_dto_admin_query_dto_ts_isstring",
"community": 66,
- "community_name": "ApiOperation",
+ "community_name": "AdminQueryDto",
"norm_label": "isstring"
},
- {
- "label": "admin.module.ts",
- "file_type": "code",
- "source_file": "backend/src/admin/admin.module.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_admin_admin_module",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "admin.module.ts"
- },
- {
- "label": "Module",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_admin_admin_module_ts_module",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "module"
- },
- {
- "label": "media.controller.ts",
- "file_type": "code",
- "source_file": "backend/src/admin/media.controller.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_admin_media_controller",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "media.controller.ts"
- },
- {
- "label": "media.service.ts",
- "file_type": "code",
- "source_file": "backend/src/admin/media.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_admin_media_service",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "media.service.ts"
- },
- {
- "label": "Injectable",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_admin_media_service_ts_injectable",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "injectable"
- },
- {
- "label": "admin/pets.controller.ts",
- "file_type": "code",
- "source_file": "backend/src/admin/pets.controller.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_admin_pets_controller",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "admin/pets.controller.ts"
- },
{
"label": "ApiBearerAuth",
"file_type": "code",
@@ -41931,7 +42349,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_ts_apibearerauth",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "apibearerauth"
},
{
@@ -41942,7 +42360,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_ts_apioperation",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "apioperation"
},
{
@@ -41953,7 +42371,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_ts_apiquery",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "apiquery"
},
{
@@ -41964,7 +42382,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_ts_apitags",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "apitags"
},
{
@@ -41975,7 +42393,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_ts_controller",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "controller"
},
{
@@ -41986,7 +42404,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_ts_delete",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "delete"
},
{
@@ -41997,7 +42415,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_ts_get",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "get"
},
{
@@ -42008,7 +42426,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_ts_param",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "param"
},
{
@@ -42019,7 +42437,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_ts_query",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "query"
},
{
@@ -42030,7 +42448,7 @@
"_origin": "ast",
"id": "backend_src_admin_pets_controller_ts_useguards",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "useguards"
},
{
@@ -42041,53 +42459,9 @@
"_origin": "ast",
"id": "backend_src_admin_pets_service_ts_injectable",
"community": 67,
- "community_name": "admin.module.ts",
+ "community_name": "PetsController",
"norm_label": "injectable"
},
- {
- "label": "ssl.service.ts",
- "file_type": "code",
- "source_file": "backend/src/admin/ssl.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_admin_ssl_service",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "ssl.service.ts"
- },
- {
- "label": "Injectable",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_admin_wiki_service_ts_injectable",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "injectable"
- },
- {
- "label": "Global",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_redis_redis_module_ts_global",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "global"
- },
- {
- "label": "Module",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_redis_redis_module_ts_module",
- "community": 67,
- "community_name": "admin.module.ts",
- "norm_label": "module"
- },
{
"label": "HomeClient.tsx",
"file_type": "code",
@@ -42738,15 +43112,15 @@
"norm_label": "shop/page.tsx"
},
{
- "label": "track/page.tsx",
+ "label": "trust-seals/page.tsx",
"file_type": "code",
- "source_file": "frontend/application/app/track/page.tsx",
+ "source_file": "frontend/application/app/trust-seals/page.tsx",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_app_track_page",
+ "id": "frontend_application_app_trust_seals_page",
"community": 71,
"community_name": "getPageMetadata",
- "norm_label": "track/page.tsx"
+ "norm_label": "trust-seals/page.tsx"
},
{
"label": "wiki/page.tsx",
@@ -43683,6 +44057,61 @@
"community_name": "PetsController",
"norm_label": "useinterceptors"
},
+ {
+ "label": "revalidation.module.ts",
+ "file_type": "code",
+ "source_file": "backend/src/common/revalidation/revalidation.module.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_common_revalidation_revalidation_module",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": "revalidation.module.ts"
+ },
+ {
+ "label": "Global",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_common_revalidation_revalidation_module_ts_global",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": "global"
+ },
+ {
+ "label": "Module",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_common_revalidation_revalidation_module_ts_module",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": "module"
+ },
+ {
+ "label": "revalidation.service.ts",
+ "file_type": "code",
+ "source_file": "backend/src/common/revalidation/revalidation.service.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_common_revalidation_revalidation_service",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": "revalidation.service.ts"
+ },
+ {
+ "label": "Injectable",
+ "file_type": "code",
+ "source_file": "",
+ "source_location": "",
+ "_origin": "ast",
+ "id": "backend_src_common_revalidation_revalidation_service_ts_injectable",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": "injectable"
+ },
{
"label": "get-products.dto.ts",
"file_type": "code",
@@ -43691,7 +44120,7 @@
"_origin": "ast",
"id": "backend_src_products_dto_get_products_dto",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "get-products.dto.ts"
},
{
@@ -43702,7 +44131,7 @@
"_origin": "ast",
"id": "backend_src_products_dto_get_products_dto_ts_apipropertyoptional",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "apipropertyoptional"
},
{
@@ -43713,7 +44142,7 @@
"_origin": "ast",
"id": "backend_src_products_dto_get_products_dto_ts_isenum",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "isenum"
},
{
@@ -43724,7 +44153,7 @@
"_origin": "ast",
"id": "backend_src_products_dto_get_products_dto_ts_isoptional",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "isoptional"
},
{
@@ -43735,7 +44164,7 @@
"_origin": "ast",
"id": "backend_src_products_dto_get_products_dto_ts_isstring",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "isstring"
},
{
@@ -43746,7 +44175,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "products.controller.ts"
},
{
@@ -43757,7 +44186,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_spec",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "products.controller.spec.ts"
},
{
@@ -43768,7 +44197,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_ts_apioperation",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "apioperation"
},
{
@@ -43779,7 +44208,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_ts_apitags",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "apitags"
},
{
@@ -43790,7 +44219,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_ts_body",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "body"
},
{
@@ -43801,7 +44230,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_ts_controller",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "controller"
},
{
@@ -43812,7 +44241,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_ts_get",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "get"
},
{
@@ -43823,7 +44252,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_ts_param",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "param"
},
{
@@ -43834,7 +44263,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_ts_patch",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "patch"
},
{
@@ -43845,7 +44274,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_ts_query",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "query"
},
{
@@ -43856,7 +44285,7 @@
"_origin": "ast",
"id": "backend_src_products_products_controller_ts_useguards",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "useguards"
},
{
@@ -43867,7 +44296,7 @@
"_origin": "ast",
"id": "backend_src_products_products_module",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "products.module.ts"
},
{
@@ -43878,7 +44307,7 @@
"_origin": "ast",
"id": "backend_src_products_products_module_ts_module",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "module"
},
{
@@ -43889,9 +44318,20 @@
"_origin": "ast",
"id": "backend_src_products_products_service",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "products.service.ts"
},
+ {
+ "label": "products.service.spec.ts",
+ "file_type": "code",
+ "source_file": "backend/src/products/products.service.spec.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "backend_src_products_products_service_spec",
+ "community": 76,
+ "community_name": "RevalidationService",
+ "norm_label": "products.service.spec.ts"
+ },
{
"label": "Injectable",
"file_type": "code",
@@ -43900,75 +44340,9 @@
"_origin": "ast",
"id": "backend_src_products_products_service_ts_injectable",
"community": 76,
- "community_name": "ProductsService",
+ "community_name": "RevalidationService",
"norm_label": "injectable"
},
- {
- "label": "torob.controller.ts",
- "file_type": "code",
- "source_file": "backend/src/products/torob.controller.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_products_torob_controller",
- "community": 76,
- "community_name": "ProductsService",
- "norm_label": "torob.controller.ts"
- },
- {
- "label": "ApiOperation",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_products_torob_controller_ts_apioperation",
- "community": 76,
- "community_name": "ProductsService",
- "norm_label": "apioperation"
- },
- {
- "label": "ApiTags",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_products_torob_controller_ts_apitags",
- "community": 76,
- "community_name": "ProductsService",
- "norm_label": "apitags"
- },
- {
- "label": "Controller",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_products_torob_controller_ts_controller",
- "community": 76,
- "community_name": "ProductsService",
- "norm_label": "controller"
- },
- {
- "label": "Get",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_products_torob_controller_ts_get",
- "community": 76,
- "community_name": "ProductsService",
- "norm_label": "get"
- },
- {
- "label": "Query",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_products_torob_controller_ts_query",
- "community": 76,
- "community_name": "ProductsService",
- "norm_label": "query"
- },
{
"label": "seo.controller.ts",
"file_type": "code",
@@ -45685,28 +46059,6 @@
"community_name": "Role & Core Objective",
"norm_label": "your domain \u2014 what you review (only these areas)"
},
- {
- "label": "auth.controller.ts",
- "file_type": "code",
- "source_file": "backend/src/auth/auth.controller.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_auth_auth_controller",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "auth.controller.ts"
- },
- {
- "label": "auth.controller.spec.ts",
- "file_type": "code",
- "source_file": "backend/src/auth/auth.controller.spec.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_auth_auth_controller_spec",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "auth.controller.spec.ts"
- },
{
"label": "ApiBadRequestResponse",
"file_type": "code",
@@ -45715,7 +46067,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_ts_apibadrequestresponse",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": "apibadrequestresponse"
},
{
@@ -45726,7 +46078,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_ts_apibearerauth",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": "apibearerauth"
},
{
@@ -45737,7 +46089,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_ts_apiokresponse",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": "apiokresponse"
},
{
@@ -45748,20 +46100,9 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_ts_apioperation",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": "apioperation"
},
- {
- "label": "ApiTags",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_auth_controller_ts_apitags",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "apitags"
- },
{
"label": "Body",
"file_type": "code",
@@ -45770,20 +46111,9 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_ts_body",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": "body"
},
- {
- "label": "Controller",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_auth_controller_ts_controller",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "controller"
- },
{
"label": "Post",
"file_type": "code",
@@ -45792,7 +46122,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_ts_post",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": "post"
},
{
@@ -45803,7 +46133,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_ts_req",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": "req"
},
{
@@ -45814,7 +46144,7 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_ts_throttle",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": "throttle"
},
{
@@ -45825,339 +46155,9 @@
"_origin": "ast",
"id": "backend_src_auth_auth_controller_ts_useguards",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": "useguards"
},
- {
- "label": "auth.service.ts",
- "file_type": "code",
- "source_file": "backend/src/auth/auth.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_auth_auth_service",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "auth.service.ts"
- },
- {
- "label": "admin-login.dto.ts",
- "file_type": "code",
- "source_file": "backend/src/auth/dto/admin-login.dto.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_auth_dto_admin_login_dto",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "admin-login.dto.ts"
- },
- {
- "label": "ApiProperty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_admin_login_dto_ts_apiproperty",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "apiproperty"
- },
- {
- "label": "IsEmail",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_admin_login_dto_ts_isemail",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isemail"
- },
- {
- "label": "IsNotEmpty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_admin_login_dto_ts_isnotempty",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isnotempty"
- },
- {
- "label": "IsString",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_admin_login_dto_ts_isstring",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isstring"
- },
- {
- "label": "MinLength",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_admin_login_dto_ts_minlength",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "minlength"
- },
- {
- "label": "login.dto.ts",
- "file_type": "code",
- "source_file": "backend/src/auth/dto/login.dto.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_auth_dto_login_dto",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "login.dto.ts"
- },
- {
- "label": "ApiProperty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_login_dto_ts_apiproperty",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "apiproperty"
- },
- {
- "label": "IsNotEmpty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_login_dto_ts_isnotempty",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isnotempty"
- },
- {
- "label": "IsString",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_login_dto_ts_isstring",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isstring"
- },
- {
- "label": "MinLength",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_login_dto_ts_minlength",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "minlength"
- },
- {
- "label": "register.dto.ts",
- "file_type": "code",
- "source_file": "backend/src/auth/dto/register.dto.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_auth_dto_register_dto",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "register.dto.ts"
- },
- {
- "label": "ApiProperty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_register_dto_ts_apiproperty",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "apiproperty"
- },
- {
- "label": "ApiPropertyOptional",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_register_dto_ts_apipropertyoptional",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "apipropertyoptional"
- },
- {
- "label": "IsEmail",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_register_dto_ts_isemail",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isemail"
- },
- {
- "label": "IsNotEmpty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_register_dto_ts_isnotempty",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isnotempty"
- },
- {
- "label": "IsOptional",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_register_dto_ts_isoptional",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isoptional"
- },
- {
- "label": "IsString",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_register_dto_ts_isstring",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isstring"
- },
- {
- "label": "MinLength",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_register_dto_ts_minlength",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "minlength"
- },
- {
- "label": "send-otp.dto.ts",
- "file_type": "code",
- "source_file": "backend/src/auth/dto/send-otp.dto.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_auth_dto_send_otp_dto",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "send-otp.dto.ts"
- },
- {
- "label": "ApiProperty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_send_otp_dto_ts_apiproperty",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "apiproperty"
- },
- {
- "label": "IsNotEmpty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_send_otp_dto_ts_isnotempty",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isnotempty"
- },
- {
- "label": "IsString",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_send_otp_dto_ts_isstring",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isstring"
- },
- {
- "label": "Matches",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_send_otp_dto_ts_matches",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "matches"
- },
- {
- "label": "verify-otp.dto.ts",
- "file_type": "code",
- "source_file": "backend/src/auth/dto/verify-otp.dto.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_auth_dto_verify_otp_dto",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "verify-otp.dto.ts"
- },
- {
- "label": "ApiProperty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_verify_otp_dto_ts_apiproperty",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "apiproperty"
- },
- {
- "label": "IsNotEmpty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_verify_otp_dto_ts_isnotempty",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isnotempty"
- },
- {
- "label": "IsString",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_verify_otp_dto_ts_isstring",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "isstring"
- },
- {
- "label": "Matches",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_auth_dto_verify_otp_dto_ts_matches",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "matches"
- },
{
"label": "HttpCode",
"file_type": "code",
@@ -46166,20 +46166,9 @@
"_origin": "ast",
"id": "httpcode",
"community": 85,
- "community_name": "auth.service.ts",
+ "community_name": ".sendOtp",
"norm_label": "httpcode"
},
- {
- "label": "Length",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "length",
- "community": 85,
- "community_name": "auth.service.ts",
- "norm_label": "length"
- },
{
"label": "payment-gateway.interface.ts",
"file_type": "code",
@@ -46599,15 +46588,15 @@
"norm_label": "devdependencies"
},
{
- "label": "eslint",
+ "label": "@eslint/js",
"file_type": "code",
"source_file": "backend/package.json",
- "source_location": "L63",
+ "source_location": "L49",
"_origin": "ast",
- "id": "backend_package_devdependencies_eslint",
+ "id": "backend_package_devdependencies_eslint_js",
"community": 9,
"community_name": "devDependencies",
- "norm_label": "eslint"
+ "norm_label": "@eslint/js"
},
{
"label": "@types/bcryptjs",
@@ -46643,15 +46632,15 @@
"norm_label": "typescript"
},
{
- "label": "eslint",
+ "label": "@eslint/js",
"file_type": "concept",
"source_file": "backend/package.json",
- "source_location": "L63",
+ "source_location": "L49",
"_origin": "ast",
- "id": "backend_package_json_eslint",
+ "id": "backend_package_json_eslint_js",
"community": 9,
"community_name": "devDependencies",
- "norm_label": "eslint"
+ "norm_label": "@eslint/js"
},
{
"label": "@types/node",
@@ -46686,6 +46675,127 @@
"community_name": "devDependencies",
"norm_label": "@types/bcryptjs"
},
+ {
+ "label": "verify/page.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/app/payment/verify/page.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_app_payment_verify_page",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "verify/page.tsx"
+ },
+ {
+ "label": "B2BPortal.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/B2BPortal.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_b2bportal",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "b2bportal.tsx"
+ },
+ {
+ "label": "ContactFormClient.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/ContactFormClient.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_contactformclient",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "contactformclient.tsx"
+ },
+ {
+ "label": "Header.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/Header.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_header",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "header.tsx"
+ },
+ {
+ "label": "MENU_ICONS",
+ "file_type": "code",
+ "source_file": "frontend/application/components/Header.tsx",
+ "source_location": "L19",
+ "_origin": "ast",
+ "id": "frontend_application_components_header_menu_icons",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "menu_icons"
+ },
+ {
+ "label": "PrescriptionUploadModal.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/PrescriptionUploadModal.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_prescriptionuploadmodal",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "prescriptionuploadmodal.tsx"
+ },
+ {
+ "label": "Header.test.tsx",
+ "file_type": "code",
+ "source_file": "frontend/application/components/__tests__/Header.test.tsx",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_components_tests_header_test",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "header.test.tsx"
+ },
+ {
+ "label": "lib/services/api.ts",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/api.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_api",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "lib/services/api.ts"
+ },
+ {
+ "label": "api",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/api.ts",
+ "source_location": "L26",
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_api_api",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "api"
+ },
+ {
+ "label": "baseURL",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/api.ts",
+ "source_location": "L13",
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_api_baseurl",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "baseurl"
+ },
+ {
+ "label": "authService.ts",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/services/authService.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_lib_services_authservice",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "authservice.ts"
+ },
{
"label": "orderService.ts",
"file_type": "code",
@@ -46694,7 +46804,7 @@
"_origin": "ast",
"id": "frontend_application_lib_services_orderservice",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": "orderservice.ts"
},
{
@@ -46705,9 +46815,20 @@
"_origin": "ast",
"id": "frontend_application_lib_store_cartstore",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": "cartstore.ts"
},
+ {
+ "label": "useCartStore",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/cartStore.ts",
+ "source_location": "L54",
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_cartstore_usecartstore",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "usecartstore"
+ },
{
"label": "cartStore.test.ts",
"file_type": "code",
@@ -46716,7 +46837,7 @@
"_origin": "ast",
"id": "frontend_application_lib_store_tests_cartstore_test",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": "cartstore.test.ts"
},
{
@@ -46727,9 +46848,42 @@
"_origin": "ast",
"id": "frontend_application_lib_store_tests_cartstore_test_mockproduct",
"community": 90,
- "community_name": "cartStore.ts",
+ "community_name": "lib/services/api.ts",
"norm_label": "mockproduct"
},
+ {
+ "label": "userStore.test.ts",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/__tests__/userStore.test.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_tests_userstore_test",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "userstore.test.ts"
+ },
+ {
+ "label": "userStore.ts",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/userStore.ts",
+ "source_location": "L1",
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_userstore",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "userstore.ts"
+ },
+ {
+ "label": "useUserStore",
+ "file_type": "code",
+ "source_file": "frontend/application/lib/store/userStore.ts",
+ "source_location": "L65",
+ "_origin": "ast",
+ "id": "frontend_application_lib_store_userstore_useuserstore",
+ "community": 90,
+ "community_name": "lib/services/api.ts",
+ "norm_label": "useuserstore"
+ },
{
"label": "02-audit-plan.md",
"file_type": "document",
@@ -46906,17 +47060,6 @@
"community_name": "Reconciled Audit Roles & Assignments",
"norm_label": "subagent execution mode"
},
- {
- "label": "create-order.dto.ts",
- "file_type": "code",
- "source_file": "backend/src/orders/dto/create-order.dto.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_orders_dto_create_order_dto",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "create-order.dto.ts"
- },
{
"label": "ApiProperty",
"file_type": "code",
@@ -47005,28 +47148,6 @@
"community_name": "OrdersService",
"norm_label": "type"
},
- {
- "label": "orders.controller.ts",
- "file_type": "code",
- "source_file": "backend/src/orders/orders.controller.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_orders_orders_controller",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "orders.controller.ts"
- },
- {
- "label": "orders.controller.spec.ts",
- "file_type": "code",
- "source_file": "backend/src/orders/orders.controller.spec.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_orders_orders_controller_spec",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "orders.controller.spec.ts"
- },
{
"label": "ApiBadRequestResponse",
"file_type": "code",
@@ -47137,39 +47258,6 @@
"community_name": "OrdersService",
"norm_label": "get"
},
- {
- "label": "IsNotEmpty",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_orders_orders_controller_ts_isnotempty",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "isnotempty"
- },
- {
- "label": "IsNumber",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_orders_orders_controller_ts_isnumber",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "isnumber"
- },
- {
- "label": "IsString",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_orders_orders_controller_ts_isstring",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "isstring"
- },
{
"label": "Param",
"file_type": "code",
@@ -47225,39 +47313,6 @@
"community_name": "OrdersService",
"norm_label": "useguards"
},
- {
- "label": "orders.module.ts",
- "file_type": "code",
- "source_file": "backend/src/orders/orders.module.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_orders_orders_module",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "orders.module.ts"
- },
- {
- "label": "Module",
- "file_type": "code",
- "source_file": "",
- "source_location": "",
- "_origin": "ast",
- "id": "backend_src_orders_orders_module_ts_module",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "module"
- },
- {
- "label": "orders.service.ts",
- "file_type": "code",
- "source_file": "backend/src/orders/orders.service.ts",
- "source_location": "L1",
- "_origin": "ast",
- "id": "backend_src_orders_orders_service",
- "community": 92,
- "community_name": "OrdersService",
- "norm_label": "orders.service.ts"
- },
{
"label": "Injectable",
"file_type": "code",
@@ -47497,7 +47552,7 @@
"_origin": "ast",
"id": "frontend_application_app_blog_slug_page",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "blog/[slug]/page.tsx"
},
{
@@ -47508,30 +47563,19 @@
"_origin": "ast",
"id": "frontend_application_app_blog_slug_page_revalidate",
"community": 95,
- "community_name": "getSeoConfig",
+ "community_name": "wiki/[slug]/page.tsx",
"norm_label": "revalidate"
},
{
- "label": "shop/[slug]/page.tsx",
+ "label": "wiki/[slug]/page.tsx",
"file_type": "code",
- "source_file": "frontend/application/app/shop/[slug]/page.tsx",
+ "source_file": "frontend/application/app/wiki/[slug]/page.tsx",
"source_location": "L1",
"_origin": "ast",
- "id": "frontend_application_app_shop_slug_page",
+ "id": "frontend_application_app_wiki_slug_page",
"community": 95,
- "community_name": "getSeoConfig",
- "norm_label": "shop/[slug]/page.tsx"
- },
- {
- "label": "revalidate",
- "file_type": "code",
- "source_file": "frontend/application/app/shop/[slug]/page.tsx",
- "source_location": "L7",
- "_origin": "ast",
- "id": "frontend_application_app_shop_slug_page_revalidate",
- "community": 95,
- "community_name": "getSeoConfig",
- "norm_label": "revalidate"
+ "community_name": "wiki/[slug]/page.tsx",
+ "norm_label": "wiki/[slug]/page.tsx"
},
{
"label": "application/tsconfig.json",
@@ -51316,7 +51360,7 @@
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "frontend/application/app/ClientLayout.tsx",
- "source_location": "L25",
+ "source_location": "L31",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_app_clientlayout_clientlayout",
@@ -51328,7 +51372,7 @@
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "frontend/application/app/ClientLayout.tsx",
- "source_location": "L37",
+ "source_location": "L43",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_app_clientlayout_clientlayout",
@@ -51340,7 +51384,7 @@
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "frontend/application/app/ClientLayout.tsx",
- "source_location": "L42",
+ "source_location": "L48",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_app_clientlayout_clientlayout",
@@ -51939,7 +51983,7 @@
"context": "call",
"confidence": "EXTRACTED",
"source_file": "frontend/application/components/AuthModal.tsx",
- "source_location": "L160",
+ "source_location": "L165",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_components_authmodal_authmodal",
@@ -51952,7 +51996,7 @@
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "frontend/application/components/AuthModal.tsx",
- "source_location": "L161",
+ "source_location": "L166",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_components_authmodal_authmodal",
@@ -51964,7 +52008,7 @@
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "frontend/application/components/AuthModal.tsx",
- "source_location": "L460",
+ "source_location": "L441",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_components_authmodal_authmodal",
@@ -51988,7 +52032,7 @@
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "frontend/application/components/AuthModal.tsx",
- "source_location": "L778",
+ "source_location": "L759",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_components_authmodal_authmodal",
@@ -52000,7 +52044,7 @@
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "frontend/application/components/AuthModal.tsx",
- "source_location": "L80",
+ "source_location": "L82",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_components_authmodal_authmodal",
@@ -52600,7 +52644,7 @@
"confidence": "EXTRACTED",
"confidence_score": 1.0,
"source_file": "frontend/application/components/LoginModal.tsx",
- "source_location": "L310",
+ "source_location": "L299",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_components_loginmodal_loginmodal",
@@ -74050,7 +74094,7 @@
"deferred": true,
"confidence": "EXTRACTED",
"source_file": "frontend/application/app/ClientLayout.tsx",
- "source_location": "L161",
+ "source_location": "L199",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_app_clientlayout_clientlayout",
@@ -122135,7 +122179,7 @@
"relation": "contains",
"confidence": "EXTRACTED",
"source_file": "frontend/application/app/ClientLayout.tsx",
- "source_location": "L24",
+ "source_location": "L30",
"weight": 1.0,
"_origin": "ast",
"source": "frontend_application_app_clientlayout",
@@ -135202,6 +135246,50 @@
"target": "frontend_application_lib_services_productservice_productservice_mapbackendtofrontend",
"confidence_score": 1.0
},
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "frontend/application/components/AuthModal.tsx",
+ "source_location": "L192",
+ "weight": 1.0,
+ "_origin": "ast",
+ "source": "frontend_application_components_authmodal_rationale_192",
+ "target": "frontend_application_components_authmodal",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "frontend/application/components/AuthModal.tsx",
+ "source_location": "L97",
+ "weight": 1.0,
+ "_origin": "ast",
+ "source": "frontend_application_components_authmodal_rationale_97",
+ "target": "frontend_application_components_authmodal",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "frontend/application/components/LoginModal.tsx",
+ "source_location": "L38",
+ "weight": 1.0,
+ "_origin": "ast",
+ "source": "frontend_application_components_loginmodal_rationale_38",
+ "target": "frontend_application_components_loginmodal",
+ "confidence_score": 1.0
+ },
+ {
+ "relation": "rationale_for",
+ "confidence": "EXTRACTED",
+ "source_file": "frontend/application/components/LoginModal.tsx",
+ "source_location": "L91",
+ "weight": 1.0,
+ "_origin": "ast",
+ "source": "frontend_application_components_loginmodal_rationale_91",
+ "target": "frontend_application_components_loginmodal",
+ "confidence_score": 1.0
+ },
{
"relation": "references",
"confidence": "EXTRACTED",
@@ -139035,5 +139123,5 @@
}
],
"hyperedges": [],
- "built_at_commit": "00cfd1a2a0b98c20ca5916c247b0aafc997ec826"
+ "built_at_commit": "1d2d1415140d3a4819ee2bcaba6b7647bd6edc90"
}
\ No newline at end of file
diff --git a/graphify-out/2026-09-05/manifest.json b/graphify-out/2026-09-05/manifest.json
index 8a45afb..760565a 100644
--- a/graphify-out/2026-09-05/manifest.json
+++ b/graphify-out/2026-09-05/manifest.json
@@ -1,3770 +1,3770 @@
{
".ai_agency/orchestrate.py": {
"mtime": 1785148022.0726626,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "43b4b40901868f1bdfd470cf58f40760",
"semantic_hash": ""
},
".gitea/scripts/with-vpn.sh": {
"mtime": 1786799852.1263163,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "451f307a9e42d2240949e7bf39de6667",
"semantic_hash": ""
},
"backend/eslint.config.mjs": {
"mtime": 1787073059.1053617,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "54fb00fe78776d07db9dae804aced0d1",
"semantic_hash": ""
},
"backend/nest-cli.json": {
"mtime": 1787072106.3705614,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "718a59f7d90dbf49fdda2843d72172c4",
"semantic_hash": ""
},
"backend/package.json": {
"mtime": 1787644197.1371043,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "4f466b887ff858a0d2890c9ca9727285",
"semantic_hash": ""
},
"backend/prisma/scientificTerms.ts": {
"mtime": 1785325924.6348126,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "4c449cfeea573afd27cdfd1cdc72d4f3",
"semantic_hash": ""
},
"backend/prisma/seed-blogs.ts": {
"mtime": 1786885876.777374,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "be491715958e8f9473913bdfe9cf5638",
"semantic_hash": ""
},
"backend/prisma/seed-custom.ts": {
"mtime": 1786799852.144902,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "23cefb1ea3fc60be141520fd50e3f9f9",
"semantic_hash": ""
},
"backend/prisma/seed-home.ts": {
"mtime": 1786885876.779371,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "3fd438d66d0b1174b885a9065e43b569",
"semantic_hash": ""
},
"backend/prisma/seed-products.ts": {
"mtime": 1787127978.2192707,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "62ab15adef06163ac0d7c93efa357e66",
"semantic_hash": ""
},
"backend/prisma/seed-ui-texts.ts": {
"mtime": 1787999006.317919,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "5d2d9aa6fcac8fd188f509a618601464",
"semantic_hash": ""
},
"backend/prisma/seed-wiki.ts": {
"mtime": 1786961195.297596,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "4734726498e97501b3f8c6c8bc022bb8",
"semantic_hash": ""
},
"backend/prisma/seed.ts": {
"mtime": 1787127978.2255876,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "7e9527a378a7a25a0a673c80a420739f",
"semantic_hash": ""
},
"backend/prisma/tsconfig.json": {
"mtime": 1786961195.3002362,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "a12c81b60c5e9fdb3c1aba03ac7ecb27",
"semantic_hash": ""
},
"backend/prisma/tsconfig.seed.json": {
"mtime": 1786955870.751259,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "a12c81b60c5e9fdb3c1aba03ac7ecb27",
"semantic_hash": ""
},
"backend/scripts/generate-openapi.d.ts": {
"mtime": 1786883225.7774837,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "e2ebd7ddedcadeeadbf819c35985c768",
"semantic_hash": ""
},
"backend/scripts/generate-openapi.js": {
"mtime": 1786883225.77912,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "f7c2607fc067b04e7cb7716490ea1169",
"semantic_hash": ""
},
"backend/scripts/generate-openapi.ts": {
"mtime": 1787729527.925392,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "561983534164723c0f073bcd98f22be9",
"semantic_hash": ""
},
"backend/scripts/seo-backfill.ts": {
"mtime": 1787729527.925392,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "fc6da532f40c339058c682a352378027",
"semantic_hash": ""
},
"backend/src/admin/admin.controller.spec.ts": {
"mtime": 1786799852.1573997,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "05370741c60e581754191c00baf87596",
"semantic_hash": ""
},
"backend/src/admin/admin.controller.ts": {
"mtime": 1788609394.315789,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "8bb6cf3bd91e8695b0ebdbb50110c4fa",
"semantic_hash": ""
},
"backend/src/admin/admin.module.ts": {
"mtime": 1786877667.0050085,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "2c08f0bdcbeb87979024730e39c7a6ce",
"semantic_hash": ""
},
"backend/src/admin/admin.service.spec.ts": {
"mtime": 1787729523.4348526,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "fd18f82573faa70207c62b2b4f336385",
"semantic_hash": ""
},
"backend/src/admin/admin.service.ts": {
"mtime": 1788609394.3169081,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "a8dd77d9146a61d7278af3d1cbd29271",
"semantic_hash": ""
},
"backend/src/admin/blogs.controller.ts": {
"mtime": 1787579631.7581778,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "ddeda17e05fee4b7ce49a44c89c0f1bb",
"semantic_hash": ""
},
"backend/src/admin/blogs.service.ts": {
"mtime": 1787579631.7601776,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "cb13d9df89955a1f5145abc300225fb8",
"semantic_hash": ""
},
"backend/src/admin/categories.controller.ts": {
"mtime": 1786799852.1741924,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "e6322c19042382028966e6eb8dce7c62",
"semantic_hash": ""
},
"backend/src/admin/categories.service.ts": {
"mtime": 1786799852.1751943,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "7c6b626454aa53d5a3458b5ca738a97c",
"semantic_hash": ""
},
"backend/src/admin/dto/admin-query.dto.ts": {
"mtime": 1788332757.6380293,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "1e92d96dfc1c0bf377596e540ddc58b0",
"semantic_hash": ""
},
"backend/src/admin/dto/product.dto.ts": {
"mtime": 1788609394.3179998,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "774e92a46de0ac4f1463590133551375",
"semantic_hash": ""
},
"backend/src/admin/dto/user.dto.ts": {
"mtime": 1787072106.3819897,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "7f8b670a02bb9f6f52123a8e289f866a",
"semantic_hash": ""
},
"backend/src/admin/media.controller.ts": {
"mtime": 1786876983.6488664,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "02fa16bdaf1363f117f7200f590b13c4",
"semantic_hash": ""
},
"backend/src/admin/media.service.ts": {
"mtime": 1787748438.7015336,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "53b0f8a000202bad6359f987cdf0865e",
"semantic_hash": ""
},
"backend/src/admin/pets.controller.ts": {
"mtime": 1786799852.1862173,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "8734d47651b112f7f1682f629dc4c7b1",
"semantic_hash": ""
},
"backend/src/admin/pets.service.ts": {
"mtime": 1786954681.814243,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "67ef020c49eb8334a2bac643941678ac",
"semantic_hash": ""
},
"backend/src/admin/reports.controller.ts": {
"mtime": 1787729523.4348526,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "d8557eb2c8b2e0e5272bc5eee2530080",
"semantic_hash": ""
},
"backend/src/admin/reports.service.ts": {
"mtime": 1787729523.4348526,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "37233e7d62592c9d74c0c6ce5eb7096f",
"semantic_hash": ""
},
"backend/src/admin/ssl.controller.ts": {
"mtime": 1787072106.382979,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "460506a236a330ba614aae15a2659b2b",
"semantic_hash": ""
},
"backend/src/admin/ssl.service.ts": {
"mtime": 1787072106.3839788,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "dc7ba9e922c1e3d80dae4f1593297fa7",
"semantic_hash": ""
},
"backend/src/admin/wiki.controller.ts": {
"mtime": 1786799852.1917324,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "8b7c8559d6ed6bb2c220d9abd4f622b1",
"semantic_hash": ""
},
"backend/src/admin/wiki.service.ts": {
"mtime": 1786799852.193324,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "ed627a21f3b767e9855511afefa5273c",
"semantic_hash": ""
},
"backend/src/app.controller.spec.ts": {
"mtime": 1783764561.6448398,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "4a1c0e1133dbda6f6e8f3e60d984eddf",
"semantic_hash": ""
},
"backend/src/app.controller.ts": {
"mtime": 1783764561.645849,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "3ab0e83b7d93b85ea489ab994ec79ea1",
"semantic_hash": ""
},
"backend/src/app.module.ts": {
"mtime": 1787579631.7646954,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "5b326fa2dc121d0b55648e7530304f4f",
"semantic_hash": ""
},
"backend/src/app.service.ts": {
"mtime": 1783764561.6488404,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "cd3fb7836f10de08a725ee1fd4ab36fe",
"semantic_hash": ""
},
"backend/src/auth/auth.constants.ts": {
"mtime": 1787072106.3859801,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "382adefba83246badeae8701ef6335cd",
"semantic_hash": ""
},
"backend/src/auth/auth.controller.spec.ts": {
"mtime": 1785327951.179468,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "7531d00aaa85a80f27e175071ce21c89",
"semantic_hash": ""
},
"backend/src/auth/auth.controller.ts": {
"mtime": 1787645037.3680255,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "e0360966564df6fe0650699160f24f57",
"semantic_hash": ""
},
"backend/src/auth/auth.module.ts": {
"mtime": 1787072106.3885016,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "3bd9f559e5d43ee9c8cae151954c8356",
"semantic_hash": ""
},
"backend/src/auth/auth.service.spec.ts": {
"mtime": 1787729523.4368768,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "9bf084557cffdb7f7f36b192ef746071",
"semantic_hash": ""
},
"backend/src/auth/auth.service.ts": {
"mtime": 1787127978.2285898,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "b38c558251bdbadb7ab1b5f690c5c387",
"semantic_hash": ""
},
"backend/src/auth/dto/admin-login.dto.ts": {
"mtime": 1787127978.2295873,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "c1a7d3d5babba82ff11b04ae7dcaabca",
"semantic_hash": ""
},
"backend/src/auth/dto/login.dto.ts": {
"mtime": 1783764561.659109,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "9941767ad430851531a9f049c2b65ed5",
"semantic_hash": ""
},
"backend/src/auth/dto/register.dto.ts": {
"mtime": 1785327951.186477,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "6165fdad9219dee4390732a7f6504e4a",
"semantic_hash": ""
},
"backend/src/auth/dto/send-otp.dto.ts": {
"mtime": 1783764561.6611066,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "a99015984cd1320cbd36719809f69d3b",
"semantic_hash": ""
},
"backend/src/auth/dto/verify-otp.dto.ts": {
"mtime": 1783764561.662112,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "8bc250f7ca73e6cbe4cfa01a99a3c032",
"semantic_hash": ""
},
"backend/src/auth/jwt-auth.guard.ts": {
"mtime": 1786799852.2058628,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "f98f32eaf66499355a5e61632ac82aa5",
"semantic_hash": ""
},
"backend/src/auth/jwt.strategy.ts": {
"mtime": 1786883225.7943432,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "f815b9f719678a154ebf50090b801c62",
"semantic_hash": ""
},
"backend/src/auth/roles.decorator.ts": {
"mtime": 1786799852.2083795,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "0d86f61ddaab0d2f4d5f9b331a5e2541",
"semantic_hash": ""
},
"backend/src/auth/roles.guard.ts": {
"mtime": 1786799852.2090034,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "10b31496903f54383d35b90a55c3e84a",
"semantic_hash": ""
},
"backend/src/b2b/b2b.controller.ts": {
"mtime": 1787645037.3690653,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "7a18bd2c1df187a504e15a2a9f93f41b",
"semantic_hash": ""
},
"backend/src/b2b/b2b.module.ts": {
"mtime": 1786799852.2120132,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "b1777d0004a54e8f89328879a20aa171",
"semantic_hash": ""
},
"backend/src/b2b/b2b.service.ts": {
"mtime": 1786799852.2140093,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "d025e172746789d44802755b8bb441bf",
"semantic_hash": ""
},
"backend/src/banners/banners.controller.ts": {
"mtime": 1786799852.2150102,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "30e1fba8ef3e98e127cf400aac0f71e8",
"semantic_hash": ""
},
"backend/src/banners/banners.module.ts": {
"mtime": 1786799852.2160103,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "3dca61f7cf64dfb5f827469c7f14c655",
"semantic_hash": ""
},
"backend/src/banners/banners.service.ts": {
"mtime": 1786799852.2160103,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "777061ff84dc642fee69803ce9ac2de9",
"semantic_hash": ""
},
"backend/src/blogs/blogs.controller.ts": {
"mtime": 1788334048.8032355,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "5b6e7dbc06729f7d326df40341512e88",
"semantic_hash": ""
},
"backend/src/blogs/blogs.module.ts": {
"mtime": 1783764561.665678,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "3fc38d55e03319844c6c8cbb3017364b",
"semantic_hash": ""
},
"backend/src/blogs/blogs.service.ts": {
"mtime": 1788334048.8043733,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "1a7f889d892dabac779154c0935032dd",
"semantic_hash": ""
},
"backend/src/blogs/dto/create-blog.dto.ts": {
"mtime": 1783764561.671557,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "a1938b347011dd71bfd99801b7453305",
"semantic_hash": ""
},
"backend/src/blogs/dto/update-blog.dto.ts": {
"mtime": 1783764561.6737125,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "15612098d2a3cac84249518465104370",
"semantic_hash": ""
},
"backend/src/blogs/entities/blog.entity.ts": {
"mtime": 1783764561.675101,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "7fadae161e6d38110bdc8ce71f9f1bdd",
"semantic_hash": ""
},
"backend/src/cms/cms.controller.ts": {
"mtime": 1785327951.196913,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "72482ba30a017f8ed1ef26b423eb83d1",
"semantic_hash": ""
},
"backend/src/cms/cms.module.ts": {
"mtime": 1785148022.206298,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "831ca7e3ee288322e05ddeeb1b02229d",
"semantic_hash": ""
},
"backend/src/cms/cms.service.ts": {
"mtime": 1785327951.1979403,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "f9da5085411e9fe60ab0c35fb852ef56",
"semantic_hash": ""
},
"backend/src/cms/dto/cms.dto.ts": {
"mtime": 1785327951.1999955,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "b91b502820b503e4ca63dd36028608d5",
"semantic_hash": ""
},
"backend/src/common/decorators/roles.decorator.ts": {
"mtime": 1786799852.2205224,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "155f61ea03e3ef7d3d5e2fee554f8428",
"semantic_hash": ""
},
"backend/src/common/dto/pagination.dto.ts": {
"mtime": 1785327951.201989,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "6e66fdace411feba9d947fe0f678c900",
"semantic_hash": ""
},
"backend/src/common/env.validation.ts": {
"mtime": 1787645037.3706467,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "0c5617db25ad4a82310a4d57954f9148",
"semantic_hash": ""
},
"backend/src/common/filters/http-exception.filter.ts": {
"mtime": 1787645037.3717394,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "bbc06910a686ac6fffe7093cfac25247",
"semantic_hash": ""
},
"backend/src/common/filters/prisma-exception.filter.ts": {
"mtime": 1787645037.3722546,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "ea9516e198b828d217e871db50bfd020",
"semantic_hash": ""
},
"backend/src/common/guards/roles.guard.spec.ts": {
"mtime": 1786799852.2255569,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "0ee2661808205a0bb03a45d4cbca4472",
"semantic_hash": ""
},
"backend/src/common/guards/roles.guard.ts": {
"mtime": 1786799852.2265651,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "72eadcd106153ccaad697234d8c0d281",
"semantic_hash": ""
},
"backend/src/common/interceptors/decimal.interceptor.spec.ts": {
"mtime": 1786799852.2275658,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "bbf53de234b9963923c3163a10cd8e17",
"semantic_hash": ""
},
"backend/src/common/interceptors/decimal.interceptor.ts": {
"mtime": 1786799852.2275658,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "71f8f0bfa748a8cbeb5f4627f972261d",
"semantic_hash": ""
},
"backend/src/common/metrics.controller.ts": {
"mtime": 1786799852.229073,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "6380f2c18000ac46235e7adde60329dc",
"semantic_hash": ""
},
"backend/src/common/revalidation/revalidation.module.ts": {
"mtime": 1787579631.7695823,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "9902f11ce5669722083f76ba239749ca",
"semantic_hash": ""
},
"backend/src/common/revalidation/revalidation.service.ts": {
"mtime": 1787579631.7705874,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "d1d36ecad18a71db13e14330c70aa137",
"semantic_hash": ""
},
"backend/src/common/schemas/error-response.schema.ts": {
"mtime": 1785330913.1447015,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "e2d4a690aa006a63ad617d2c21c7d11d",
"semantic_hash": ""
},
"backend/src/common/schemas/paginated-response.schema.ts": {
"mtime": 1786799852.2300823,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "6ea7e2edc0ab662b3f244e0ffb8e5f19",
"semantic_hash": ""
},
"backend/src/common/services/sms.service.ts": {
"mtime": 1788609394.3206415,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "bf87e0477d4b47bcd74395b4a43f34ad",
"semantic_hash": ""
},
"backend/src/common/sms.module.ts": {
"mtime": 1785330750.996125,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "c2621fbe872597ca7fbc23fc7e261665",
"semantic_hash": ""
},
"backend/src/common/utils/phone.utils.ts": {
"mtime": 1786883225.801396,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "a4c682b767823a624163b9430f1db7d1",
"semantic_hash": ""
},
"backend/src/contact/contact.controller.ts": {
"mtime": 1787645037.373264,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "96c41a8993b5a047db2f7ab33b3140fc",
"semantic_hash": ""
},
"backend/src/contact/contact.module.ts": {
"mtime": 1786799852.236599,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "3522066b9bc0d12c79ee13138ec94a23",
"semantic_hash": ""
},
"backend/src/contact/contact.service.ts": {
"mtime": 1788584193.7061484,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "fa62ffa6995fe20f004387a36c0ada57",
"semantic_hash": ""
},
"backend/src/doctors/doctors.controller.ts": {
"mtime": 1787148092.311693,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "a552f2b9fa5f186871234fa7ffc0c849",
"semantic_hash": ""
},
"backend/src/doctors/doctors.module.ts": {
"mtime": 1786971396.0355752,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "6850f9203296ff749b5d7de975d3c6f7",
"semantic_hash": ""
},
"backend/src/doctors/doctors.service.ts": {
"mtime": 1787148092.312693,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "b7473f48fc2a077328d9d054c075bf46",
"semantic_hash": ""
},
"backend/src/doctors/dto/doctor-query.dto.ts": {
"mtime": 1787148092.3146994,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "9c9b8e83bb5b207eb88d5da473562843",
"semantic_hash": ""
},
"backend/src/faq/faq.controller.ts": {
"mtime": 1787148092.3166947,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "09e34477f9322954d856b496009ba0d5",
"semantic_hash": ""
},
"backend/src/faq/faq.module.ts": {
"mtime": 1787148092.3166947,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "eb0d0be8c8742a787d205ef121b50ee7",
"semantic_hash": ""
},
"backend/src/faq/faq.service.ts": {
"mtime": 1787148092.3199117,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "76c44314a43aa61ca7ba02e6cce871be",
"semantic_hash": ""
},
"backend/src/home/dto/create-home.dto.ts": {
"mtime": 1783764561.6823654,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "b20293c0606e764e43e19412e8b94e58",
"semantic_hash": ""
},
"backend/src/home/dto/update-home.dto.ts": {
"mtime": 1783764561.6823654,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "fdbec5105f68e9ef5edca26c91c2a01b",
"semantic_hash": ""
},
"backend/src/home/entities/home.entity.ts": {
"mtime": 1783764561.6848848,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "f7e5b57b1dbb4fa28600ebdd5c86a73c",
"semantic_hash": ""
},
"backend/src/home/home.controller.ts": {
"mtime": 1785327951.2120874,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "3474997a729a3a47f1872f489c28e70e",
"semantic_hash": ""
},
"backend/src/home/home.module.ts": {
"mtime": 1783764561.687108,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "b8671f0d293617cf95cc2e9aef8ab11a",
"semantic_hash": ""
},
"backend/src/home/home.service.ts": {
"mtime": 1785327951.2140872,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "20073496a83b447238b4e8ab793573ec",
"semantic_hash": ""
},
"backend/src/ingredients/ingredients.controller.ts": {
"mtime": 1786799852.2375965,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "b591e9eeddc544d5224bbf8dc747f71e",
"semantic_hash": ""
},
"backend/src/ingredients/ingredients.module.ts": {
"mtime": 1786799852.2385964,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "928f762b562c624011ca6c7e72543d0d",
"semantic_hash": ""
},
"backend/src/ingredients/ingredients.service.ts": {
"mtime": 1786799852.2401083,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "7d07a0fb1cdebe81d9ecef7604701bed",
"semantic_hash": ""
},
"backend/src/main.ts": {
"mtime": 1787999006.3195474,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "98f9d78377269e43ae17bb2c694607a4",
"semantic_hash": ""
},
"backend/src/menu/menu.controller.ts": {
"mtime": 1787564348.681949,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "091e15205d159cebb946d545a9cec92a",
"semantic_hash": ""
},
"backend/src/menu/menu.module.ts": {
"mtime": 1787148092.3238695,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "57340cf9c9a8c0562995738bac8efc7b",
"semantic_hash": ""
},
"backend/src/menu/menu.service.ts": {
"mtime": 1787564362.2621727,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "50a88c362e71338570fa3aee831bb0ba",
"semantic_hash": ""
},
"backend/src/orders/dto/create-order.dto.ts": {
"mtime": 1785327951.218626,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "de9e39544ff4cfbbc8233318b2b71c67",
"semantic_hash": ""
},
"backend/src/orders/orders.controller.spec.ts": {
"mtime": 1785327951.2196276,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "03aae30c09648646afbd6f8862d2d12b",
"semantic_hash": ""
},
"backend/src/orders/orders.controller.ts": {
"mtime": 1787072106.3980772,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "58b8b3790952f51c625e31f5eed09d3b",
"semantic_hash": ""
},
"backend/src/orders/orders.module.ts": {
"mtime": 1783764561.6975982,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "10e4c03ae468f0412d882306bdb20401",
"semantic_hash": ""
},
"backend/src/orders/orders.service.spec.ts": {
"mtime": 1787729523.4368768,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "a080730dc8c8abe4ab58ddb86ef7a5ef",
"semantic_hash": ""
},
"backend/src/orders/orders.service.ts": {
"mtime": 1788609394.3227692,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "20f6b2b1c1b0d3842f48de147d34e36b",
"semantic_hash": ""
},
"backend/src/payment/dto/admin-transaction-filter.dto.ts": {
"mtime": 1787072106.4015906,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "afa18a9b091f326229902f10477bb1c1",
"semantic_hash": ""
},
"backend/src/payment/dto/ebank-checkout.dto.ts": {
"mtime": 1787394001.6034613,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "420fb2e706c51e65cac8615d130993fe",
"semantic_hash": ""
},
"backend/src/payment/dto/initiate-payment.dto.ts": {
"mtime": 1786870552.8742464,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "a097fcbb5846e7cd00e7cb2cefc060bb",
"semantic_hash": ""
},
"backend/src/payment/dto/verify-payment.dto.ts": {
"mtime": 1786894580.126858,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "f6db4b79ca261e36334ef84f39b8e87c",
"semantic_hash": ""
},
"backend/src/payment/interfaces/payment-gateway.interface.ts": {
"mtime": 1786870552.8767512,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "930a5f06cdec431d842bf9b12618eed5",
"semantic_hash": ""
},
"backend/src/payment/payment.controller.ts": {
"mtime": 1788609394.3238719,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "b35704ec411060d7ee165feec8f9e783",
"semantic_hash": ""
},
"backend/src/payment/payment.module.ts": {
"mtime": 1787394001.605618,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "7ee5887f04915d1bd1471705a8f941ad",
"semantic_hash": ""
},
"backend/src/payment/payment.service.ts": {
"mtime": 1788609394.3251019,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "cf9adecd794e7fa2aded96f7f6c64e2a",
"semantic_hash": ""
},
"backend/src/payment/zibal-ebank.service.ts": {
"mtime": 1787461919.4523065,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "7075a9caf96d6f38e0a8b0208dbd0ab5",
"semantic_hash": ""
},
"backend/src/payment/zibal.service.ts": {
"mtime": 1787461919.453309,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "0c7c645422cf2a3ba406390802ee365d",
"semantic_hash": ""
},
"backend/src/pets/dto/create-health-log.dto.ts": {
"mtime": 1785327951.2294433,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "da823d24eecce83c17760374fbc99131",
"semantic_hash": ""
},
"backend/src/pets/dto/create-pet.dto.ts": {
"mtime": 1785327951.2309487,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "22e442118c4b4c44d887a9e72bf416e2",
"semantic_hash": ""
},
"backend/src/pets/dto/create-reminder.dto.ts": {
"mtime": 1785327951.2319582,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "61e74b013460e406bd10197b3d3a95df",
"semantic_hash": ""
},
"backend/src/pets/dto/update-pet.dto.ts": {
"mtime": 1783764561.7095575,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "a2086bbebe7ca2718d4933b9828b456d",
"semantic_hash": ""
},
"backend/src/pets/pets.controller.spec.ts": {
"mtime": 1786799852.2481189,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "ea25cbbc55569e44ea0ceaf8c7af5111",
"semantic_hash": ""
},
"backend/src/pets/pets.controller.ts": {
"mtime": 1787461919.454309,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "20c1ead48262a81ff538fedae048d784",
"semantic_hash": ""
},
"backend/src/pets/pets.module.ts": {
"mtime": 1783764561.71447,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "1e30ca9c5823c33d4f3266d5b48fee01",
"semantic_hash": ""
},
"backend/src/pets/pets.service.spec.ts": {
"mtime": 1785327951.238208,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "49e5e2df9d623a5510db8d9c3eefdbd5",
"semantic_hash": ""
},
"backend/src/pets/pets.service.ts": {
"mtime": 1786799852.2501173,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "f34775f4106e2ac19efff3a9b140db3f",
"semantic_hash": ""
},
"backend/src/prescriptions/prescriptions.controller.ts": {
"mtime": 1786799852.2537484,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "3b657f5cac989600c165b8eac3a6a2af",
"semantic_hash": ""
},
"backend/src/prescriptions/prescriptions.module.ts": {
"mtime": 1786954681.8158092,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "0f9ea31fa7fa71f4ec87e461ce7d444f",
"semantic_hash": ""
},
"backend/src/prescriptions/prescriptions.service.ts": {
"mtime": 1787072106.408779,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "6b018d33377fdfcba9e4512e50da48a0",
"semantic_hash": ""
},
"backend/src/prisma/prisma.module.ts": {
"mtime": 1783764561.7181997,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "3505a1831c78f0a9475e4ce0f0092410",
"semantic_hash": ""
},
"backend/src/prisma/prisma.service.ts": {
"mtime": 1787640806.107781,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "1a6d7ac4a114351a0a3deb1835481a59",
"semantic_hash": ""
},
"backend/src/products/dto/get-products.dto.ts": {
"mtime": 1786799852.2602715,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "bed3d5bd69f866349bfc408bfea60e78",
"semantic_hash": ""
},
"backend/src/products/products.controller.spec.ts": {
"mtime": 1785327951.243281,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "6fde28604e799d5c5c0d2c6c2fcb4372",
"semantic_hash": ""
},
"backend/src/products/products.controller.ts": {
"mtime": 1786799852.2612817,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "db015311d34c7985c1c4ab818070b297",
"semantic_hash": ""
},
"backend/src/products/products.module.ts": {
"mtime": 1787999968.301265,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "78164f32e0b7c035a16c29e70b11b26c",
"semantic_hash": ""
},
"backend/src/products/products.service.spec.ts": {
"mtime": 1787729523.4384463,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "1f1e441d2138fefdd717b553f42d3ca0",
"semantic_hash": ""
},
"backend/src/products/products.service.ts": {
"mtime": 1788334048.80538,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "cb126dda614f8a675d2f6a78f5eddf37",
"semantic_hash": ""
},
"backend/src/redis/redis.module.ts": {
"mtime": 1783764561.727662,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "0856864a521a862369a89de9b2d3c9f0",
"semantic_hash": ""
},
"backend/src/redis/redis.service.spec.ts": {
"mtime": 1783764561.7286723,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "f3a16f7f1721be9e6ddb7ddd2949ea6c",
"semantic_hash": ""
},
"backend/src/redis/redis.service.ts": {
"mtime": 1786895436.2118347,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "4f5e58ffc36bbaed17ee669e5a7394b7",
"semantic_hash": ""
},
"backend/src/reviews/dto/create-review.dto.ts": {
"mtime": 1787072106.4143064,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "2ae6e4616eaeeafd56d4c74bbfe79f12",
"semantic_hash": ""
},
"backend/src/reviews/dto/update-review.dto.ts": {
"mtime": 1787072106.4158058,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "1c989ea4d1dd9c3fcf8b442e61a2d2e3",
"semantic_hash": ""
},
"backend/src/reviews/reviews.controller.ts": {
"mtime": 1787645037.3752687,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "afebaeead6edc0c9618daa1a3b16ac42",
"semantic_hash": ""
},
"backend/src/reviews/reviews.module.ts": {
"mtime": 1786944769.5173109,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "7f5cb88dda0a902c24c48edb34647428",
"semantic_hash": ""
},
"backend/src/reviews/reviews.service.ts": {
"mtime": 1787579631.7755866,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "fc9f239f7b233fd9549aaaaa226bd9f3",
"semantic_hash": ""
},
"backend/src/seo/seo.controller.ts": {
"mtime": 1785327951.2472832,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "4c11a3beaa94a769acf206bf9ff279b0",
"semantic_hash": ""
},
"backend/src/seo/seo.module.ts": {
"mtime": 1785148022.268581,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "4160982445b855a6406e8713e95bf91b",
"semantic_hash": ""
},
"backend/src/seo/seo.service.ts": {
"mtime": 1787127978.249385,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "c104390de2fa710428b6d69c6201f4d8",
"semantic_hash": ""
},
"backend/src/settings/default-ui-texts.ts": {
"mtime": 1787999006.3205469,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "1191c2d0ac410905fb53f847e83c1a7d",
"semantic_hash": ""
},
"backend/src/settings/dto/sms-log-query.dto.ts": {
"mtime": 1787072106.4213393,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "d1b143222dc6ecfcff03180de1a23e9e",
"semantic_hash": ""
},
"backend/src/settings/settings.controller.spec.ts": {
"mtime": 1787729523.4384463,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "bc268d693685c78c407142ecd0e58afe",
"semantic_hash": ""
},
"backend/src/settings/settings.controller.ts": {
"mtime": 1788609394.3261118,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "d4f57b7f9ef20926ace9e8af65c8638b",
"semantic_hash": ""
},
"backend/src/settings/settings.module.ts": {
"mtime": 1783764561.7355156,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "b84a45f92537de41c7c3821847271004",
"semantic_hash": ""
},
"backend/src/settings/settings.service.spec.ts": {
"mtime": 1787729523.4394524,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "8a15891a088d3c0e69639ac19dbe8f40",
"semantic_hash": ""
},
"backend/src/settings/settings.service.ts": {
"mtime": 1788609394.3271115,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "31ff7c28adf61097700d3a9fd076f601",
"semantic_hash": ""
},
"backend/src/smart-advisor/smart-advisor.controller.ts": {
"mtime": 1786799852.2754414,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "eacb4fc2f3d82eb3833f4b04d851d4c3",
"semantic_hash": ""
},
"backend/src/smart-advisor/smart-advisor.module.ts": {
"mtime": 1786799852.2764418,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "40d2882f5f8a0733c940c754631be24b",
"semantic_hash": ""
},
"backend/src/smart-advisor/smart-advisor.service.ts": {
"mtime": 1786799852.2774403,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "1824f7151599e310cd2de7435e345afe",
"semantic_hash": ""
},
"backend/src/testimonials/testimonials.controller.ts": {
"mtime": 1787148092.3297865,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "077ac1d08fbec205f030f3cc6b7f357c",
"semantic_hash": ""
},
"backend/src/testimonials/testimonials.module.ts": {
"mtime": 1786799852.2794418,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "e2778d19b65d66f61d35f1a98333c873",
"semantic_hash": ""
},
"backend/src/testimonials/testimonials.service.ts": {
"mtime": 1787148092.3325016,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "7c108b6bdfc5625fc3c058f1db527bbe",
"semantic_hash": ""
},
"backend/src/tickets/dto/create-ticket.dto.ts": {
"mtime": 1787072106.4308748,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "cb6ad48fdfa6c9c24158b32c4882a38f",
"semantic_hash": ""
},
"backend/src/tickets/dto/ticket-query.dto.ts": {
"mtime": 1787072106.4318714,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "f7c6a4165ac086ba6de6fb111c75c2e9",
"semantic_hash": ""
},
"backend/src/tickets/tickets.controller.ts": {
"mtime": 1787072106.433878,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "6eb0b4d21421f9f5aa1831b0402257e8",
"semantic_hash": ""
},
"backend/src/tickets/tickets.module.ts": {
"mtime": 1786890779.3222969,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "0b3e226a18679b4bf37016c27b874ae9",
"semantic_hash": ""
},
"backend/src/tickets/tickets.service.ts": {
"mtime": 1787072106.4348743,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "16b88701d7cc2a14f47e99f55882e67a",
"semantic_hash": ""
},
"backend/src/users/dto/address.dto.ts": {
"mtime": 1783764561.7398715,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "d42a8da106b862f8934b4268e5974025",
"semantic_hash": ""
},
"backend/src/users/dto/update-profile.dto.ts": {
"mtime": 1786885876.8054721,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "7c5b2601ea43f7045a5691ed1fde7840",
"semantic_hash": ""
},
"backend/src/users/users.controller.spec.ts": {
"mtime": 1785327951.2537966,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "8879233da361926bf496aa33fc24a0a4",
"semantic_hash": ""
},
"backend/src/users/users.controller.ts": {
"mtime": 1786799852.2824814,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "0c14b005ce0dddc5c6be9fb33672c659",
"semantic_hash": ""
},
"backend/src/users/users.module.ts": {
"mtime": 1783764561.7481544,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "6a22d47a72af32e6726ff5025c1d6f0b",
"semantic_hash": ""
},
"backend/src/users/users.service.spec.ts": {
"mtime": 1787729523.4404535,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "c85c82974e9889c38cbca862f0c659f0",
"semantic_hash": ""
},
"backend/src/users/users.service.ts": {
"mtime": 1788609394.3291135,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "760dfebdbc239c63c33d31344d41cc0b",
"semantic_hash": ""
},
"backend/src/videos/dto/create-video.dto.ts": {
"mtime": 1786971396.042094,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "292c465ed02d974fc16c674ca6f7caf5",
"semantic_hash": ""
},
"backend/src/videos/dto/get-videos-query.dto.ts": {
"mtime": 1786799852.2876434,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "22029a395d4906dec82a0472af9827a2",
"semantic_hash": ""
},
"backend/src/videos/videos.controller.ts": {
"mtime": 1786799852.2911532,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "64de50207aa54dc4d9866fb41a3cf11e",
"semantic_hash": ""
},
"backend/src/videos/videos.module.ts": {
"mtime": 1785148022.3065836,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "79c989585f2c5da29199d914ca54abdf",
"semantic_hash": ""
},
"backend/src/videos/videos.service.ts": {
"mtime": 1788334048.8073807,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "c50bb5b2acaa77a353f9aa8a39a9cde3",
"semantic_hash": ""
},
"backend/src/wholesale/dto/wholesale-apply.dto.ts": {
"mtime": 1785148022.3176222,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "dda43ea50daed66d9ddf56ff14c2ac31",
"semantic_hash": ""
},
"backend/src/wholesale/wholesale.controller.ts": {
"mtime": 1786799852.294177,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "85347767e9b0508aa27c8fc2ada57403",
"semantic_hash": ""
},
"backend/src/wholesale/wholesale.module.ts": {
"mtime": 1785148022.3287463,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "431fcacfcaaf5ee3872869c796581db3",
"semantic_hash": ""
},
"backend/src/wholesale/wholesale.service.ts": {
"mtime": 1788584193.713367,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "2afc8a11f11eee317b8fc291b05108c2",
"semantic_hash": ""
},
"backend/src/wiki/dto/create-wiki.dto.ts": {
"mtime": 1783764561.7529333,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bff0bff5978c808b3f6c7c0471ecc09f",
"semantic_hash": ""
},
"backend/src/wiki/dto/update-wiki.dto.ts": {
"mtime": 1783764561.753945,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "aafeafc832089a9d47f2b09c15f5166c",
"semantic_hash": ""
},
"backend/src/wiki/entities/wiki.entity.ts": {
"mtime": 1783764561.7550395,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0babba8c13baba4a2ad2fd70395060f2",
"semantic_hash": ""
},
"backend/src/wiki/wiki.controller.ts": {
"mtime": 1785327951.2728505,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ca3a7279ecce06e6747e4b5d1b83f042",
"semantic_hash": ""
},
"backend/src/wiki/wiki.module.ts": {
"mtime": 1783764561.756925,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "22c999c57982f13d0526d25d7990b745",
"semantic_hash": ""
},
"backend/src/wiki/wiki.service.ts": {
"mtime": 1786799852.295173,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "4f9a02a302512579c6eaed6e06da679e",
"semantic_hash": ""
},
"backend/test/app-audit-verification.e2e-spec.d.ts": {
"mtime": 1787073059.1090057,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e2ebd7ddedcadeeadbf819c35985c768",
"semantic_hash": ""
},
"backend/test/app-audit-verification.e2e-spec.js": {
"mtime": 1787073059.1105163,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3906e1e6a6fe48f74cd15f9b81b8775a",
"semantic_hash": ""
},
"backend/test/app-audit-verification.e2e-spec.ts": {
"mtime": 1786799852.2961748,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5df6593dd9fd1f88f2b1e13f44b7b350",
"semantic_hash": ""
},
"backend/test/app.e2e-spec.d.ts": {
"mtime": 1787073059.1125634,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e2ebd7ddedcadeeadbf819c35985c768",
"semantic_hash": ""
},
"backend/test/app.e2e-spec.js": {
"mtime": 1787073059.1135726,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "4ff6e84fd1b500597f4cc40d5877ad1b",
"semantic_hash": ""
},
"backend/test/app.e2e-spec.ts": {
"mtime": 1786799852.297175,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8373bf2ee758abe47f5681e898cde506",
"semantic_hash": ""
},
"backend/tsconfig.build.json": {
"mtime": 1783764561.763447,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d3d6c627ed113034e4138ae830ca9221",
"semantic_hash": ""
},
"backend/tsconfig.json": {
"mtime": 1787073059.1161675,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bc2ddace3dc933b714ebc21504c43b62",
"semantic_hash": ""
},
"docs/audit/build_manifest.js": {
"mtime": 1786799852.3383932,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5865147d3b17e6ddad0be4f4b9dc00d0",
"semantic_hash": ""
},
"docs/audit/generate_classification.js": {
"mtime": 1786799852.3393898,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "01cdce5da0cdc41b49a7e9560a0b8ae9",
"semantic_hash": ""
},
"docs/audit/generate_evidence.js": {
"mtime": 1786799852.3403902,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f31d1dafad3e771e9602776460c04761",
"semantic_hash": ""
},
"docs/audit/generate_ledger.js": {
"mtime": 1786799852.3418972,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c502805af184c8efe08a66030ff0203b",
"semantic_hash": ""
},
"docs/audit/generate_manifest.js": {
"mtime": 1786799852.3418972,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d9ead302d1023a72718e60261725e429",
"semantic_hash": ""
},
"docs/audit/rebuild_honest_ledger.js": {
"mtime": 1786799852.348953,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5a505fbc55dbabd0557377ce8de0643a",
"semantic_hash": ""
},
"docs/audit/sync_honest_manifest.js": {
"mtime": 1786799852.3499532,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3f2ec3b689e720b6e50fe4666a9b8bb0",
"semantic_hash": ""
},
"docs/audit/sync_manifest.js": {
"mtime": 1786799852.3509533,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7315ba82c162ad4c2a0cec307966c580",
"semantic_hash": ""
},
"docs/audit/validate_evidence_grade.js": {
"mtime": 1786799852.351954,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5f68ed3e8236ececf82e5da4ac47d93b",
"semantic_hash": ""
},
"docs/audit/validate_integrity.js": {
"mtime": 1786799852.3529525,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7bd05a71bd8c0c23db65db5201d3c030",
"semantic_hash": ""
},
"frontend/admin-panel/eslint.config.js": {
"mtime": 1787148092.3345017,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b204828b41a3391dd9ab65a1087e197f",
"semantic_hash": ""
},
"frontend/admin-panel/package.json": {
"mtime": 1788000055.991496,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "47352c4b2e63cedd7b30d24f93b1ae9e",
"semantic_hash": ""
},
"frontend/admin-panel/postcss.config.js": {
"mtime": 1783764561.7962818,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c1ee9ce6a4fe04105dbf8e619390df5e",
"semantic_hash": ""
},
"frontend/admin-panel/src/App.tsx": {
"mtime": 1786799852.3654811,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "140226fcd94080d00f56e2f8b65f95e5",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/Layout.tsx": {
"mtime": 1784621786.9585948,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e2192f9b6c86f07ff6c6ec9bf9d1cb71",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ProtectedRoute.tsx": {
"mtime": 1786799852.369164,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bcb0329847fb25e9fe1e990a30609210",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/RouteErrorBoundary.tsx": {
"mtime": 1787062174.623011,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bede52b77e6efe56c4f710279fdbcfbd",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/Sidebar.tsx": {
"mtime": 1787461920.8420844,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0020921da1b729dd663979b02a39e91f",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/Topbar.tsx": {
"mtime": 1787466234.9643857,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ffa50e46783a27f148b41212e5810b46",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/TransactionReceiptModal.tsx": {
"mtime": 1787405554.8046184,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8931b7ade86ad779579db166eb148469",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/Badge.tsx": {
"mtime": 1787461920.844094,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3b93789328a250499e58378552881527",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/Button.tsx": {
"mtime": 1787467799.871536,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8d920444901883ddb6e7b4745d28c0a7",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/ConfirmModal.tsx": {
"mtime": 1786972191.3590996,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "982712b3d0130cbc66035a9caa4dc173",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/FormField.tsx": {
"mtime": 1786954681.823527,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "265c887af876e10153f2ac32844194c2",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/IconPickerModal.tsx": {
"mtime": 1787071159.9599283,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d4676fe2b24132bbfeb1b53f2b314ed7",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/ImagePreviewModal.tsx": {
"mtime": 1786954681.824535,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ada78d41f18a3dcce5e806a2ab252d30",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/Input.tsx": {
"mtime": 1788332598.5399468,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7eba87963d6f6875b445f5be6645bb3a",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/MaskableField.tsx": {
"mtime": 1787405554.805712,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b97dc137463327fd294e929cfa65545c",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/MediaSelector.tsx": {
"mtime": 1787038450.536697,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ed6a6da6e5929bf77a82b5cda0fb3eeb",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/Modal.tsx": {
"mtime": 1787461920.8450942,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e11f7ea28068c2a268db4d032c3fc9f5",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/Pagination.tsx": {
"mtime": 1786799852.387442,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8ab314264c858bcd6cb53fc4c9985cf0",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/PriceInput.tsx": {
"mtime": 1786948119.7711625,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "09a84a9f29f735448d05e4327c0304b3",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/RichTextEditor.tsx": {
"mtime": 1787980615.5635426,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "af8af048bb77473565ae93c941d6f71d",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/Select.tsx": {
"mtime": 1786954681.8285375,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a06e97672e210fdff460252966d2ab09",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/Skeleton.tsx": {
"mtime": 1783856792.9775357,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "dd6a1fca8a8db341521aa315829143e0",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/Spinner.tsx": {
"mtime": 1783856792.9790492,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "32a95c9dc25ac088596fdccd17d7284a",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/Textarea.tsx": {
"mtime": 1786954681.8285375,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bbbdbaa3a2aeb68e7e406d555129fb79",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/ThSort.tsx": {
"mtime": 1787461920.8450942,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "421faa21b7189758f65616964f288b0c",
"semantic_hash": ""
},
"frontend/admin-panel/src/components/ui/ToggleSwitch.tsx": {
"mtime": 1786954681.830045,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f212eaa6017ac07b37356612883b2884",
"semantic_hash": ""
},
"frontend/admin-panel/src/main.tsx": {
"mtime": 1787062325.3950386,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e9195a72ddf4287e9eac6200a579623c",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/B2BManager.tsx": {
"mtime": 1787729527.9273918,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "1c0145c22fcc3261e7c783a4c3d098ff",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/BannersManager.tsx": {
"mtime": 1787467799.8741717,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d567c9ad3dcbf316b5622aeaa1b8e71d",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Blogs.tsx": {
"mtime": 1787729527.9283917,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "2f2312e9d916f845c5ffa512522e5684",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/CMS.tsx": {
"mtime": 1787467933.66426,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7c60aa58d334f1ffbaba2bf881492999",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Categories.tsx": {
"mtime": 1787469989.1415117,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "db0c156eff28f6adb66eeebf37f0cd0c",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/ContactSubmissions.tsx": {
"mtime": 1787467799.877344,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b636f5f1432d4e2842d4bcea297ad4b8",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Coupons.tsx": {
"mtime": 1788332598.5434518,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "34ea4dfa90815560f40d11d8a5586601",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Dashboard.tsx": {
"mtime": 1786885876.82951,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "025cbf432db0594426593332e01d5924",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/DoctorsManager.tsx": {
"mtime": 1787467799.8799238,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5671cef0d264dc92d9540058a929633e",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/FAQManager.tsx": {
"mtime": 1787467799.8819249,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3024a02175a185553d0fe7bef61ba293",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/FinancialSettingsPage.tsx": {
"mtime": 1788333161.5201325,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "27ee079dd99882e7f26beeccc00b6a7a",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/IngredientsManager.tsx": {
"mtime": 1787467933.6699345,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ff90e4e00c59efc1decad824ccd74f2f",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Login.tsx": {
"mtime": 1788587906.733886,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c6965079abd3ea2fe94d68fe8f206e54",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Media.tsx": {
"mtime": 1787467799.8859253,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "82bca4823f75ac46b5c99010d90406c0",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/MenuManager.tsx": {
"mtime": 1787469989.146215,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "22996483f9cfdd91ac8b003e0c88bf02",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/MonitoringPage.tsx": {
"mtime": 1787466234.9659803,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0b2ef8e74d5b5c1cc7f1587445080cc1",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Orders.tsx": {
"mtime": 1788609394.3301117,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ce45d268345c66ef099b5c439fade26e",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/PaymentGatewaysPage.tsx": {
"mtime": 1787467799.8899395,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3f56b1c5ba2b01fae9ed51faf870cb8d",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Pets.tsx": {
"mtime": 1787467799.8919382,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d7193caca6127917bb62d9303859c55f",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/PrescriptionsManager.tsx": {
"mtime": 1787467799.8929358,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "da18bacd672ffa7453f1a0dd00a0c1e5",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Products.tsx": {
"mtime": 1788351605.8018837,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a31f43fcaf5aaee1ec22f4a36fe73275",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Reports.tsx": {
"mtime": 1787729523.4424512,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "aece92a46fa9602c4f1c2312d1654c0d",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Reviews.tsx": {
"mtime": 1787740536.6709485,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6dd3c72f62f2d7d26a6300b577f3829d",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/SeoSettingsPage.tsx": {
"mtime": 1788343360.494036,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a28a3222444028118a019a9fdf97a880",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Settings.tsx": {
"mtime": 1787468615.4578195,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "48d2a21e7213783f8fded696ef514d40",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/ShippingSettingsPage.tsx": {
"mtime": 1787467799.9019353,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "329ce7c2b153a8d4f0ca26374759938e",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/SmartAdvisorManager.tsx": {
"mtime": 1787467799.9029336,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c7581c0ab40797e55144e588e75741de",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/SmsSettingsPage.tsx": {
"mtime": 1788610217.5631428,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "92ceddfb4906ef8f96f1dbf09d3b19a2",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/SslSettingsPage.tsx": {
"mtime": 1787467799.9054468,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a989703bb87076f3c9c3c4a26012a5cb",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/SystemSettingsPage.tsx": {
"mtime": 1787742160.542544,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3b0e55c4e54c7f6ac70bb563db4396e2",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/TestimonialsManager.tsx": {
"mtime": 1787467799.9089553,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "4efa3f2d1fe0f23974fa880da26e6768",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Tickets.tsx": {
"mtime": 1787467799.909963,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0a9562f28e15b5af8acc8c15fc130729",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Transactions.tsx": {
"mtime": 1787471434.8721883,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "50d95775caf9b786ee9dba4c5558d49e",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/UITexts.tsx": {
"mtime": 1788587906.7386765,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "93699ef02449ad5056de8ff6df332ea3",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Users.tsx": {
"mtime": 1788587906.7396712,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "2fd3fcf90d47cff5bec6992d09887acb",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Videos.tsx": {
"mtime": 1787740536.6756897,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "af075ac9e261faafbbc76de807fe2824",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/WholesaleApplications.tsx": {
"mtime": 1787467799.9168525,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "706933237e883550fbb7cdb6dd379815",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/Wiki.tsx": {
"mtime": 1787469989.158213,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c563794e3da6d723f67834eed032495a",
"semantic_hash": ""
},
"frontend/admin-panel/src/pages/ZibalPortalPage.tsx": {
"mtime": 1787570438.155805,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7411a269c9220ed427aced022e858504",
"semantic_hash": ""
},
"frontend/admin-panel/src/routes/adminRoutes.tsx": {
"mtime": 1787461920.8540971,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "50755a1d58935bf5b70406d2e83564f3",
"semantic_hash": ""
},
"frontend/admin-panel/src/services/api.ts": {
"mtime": 1787997670.262225,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3fb217f4a2e3e3dfc0f8e5494f1eabac",
"semantic_hash": ""
},
"frontend/admin-panel/src/store/adminAuthStore.ts": {
"mtime": 1786799852.469037,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a2ca7b287d2c7efe08802b6187d95d67",
"semantic_hash": ""
},
"frontend/admin-panel/src/types/admin.ts": {
"mtime": 1788336258.608452,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b5bc0b4cf10f27f864761e07008eca91",
"semantic_hash": ""
},
"frontend/admin-panel/src/utils/lazyWithRetry.ts": {
"mtime": 1787062174.6262279,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8fd1116250eef64a64411d9dd8322c18",
"semantic_hash": ""
},
"frontend/admin-panel/src/utils/useTableParams.ts": {
"mtime": 1787461920.855096,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "beda95a77f5cf930e48d9d5dc365aa12",
"semantic_hash": ""
},
"frontend/admin-panel/tailwind.config.js": {
"mtime": 1783764561.8617213,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3346df3fd0a1ea3f84440703bf8fd2cb",
"semantic_hash": ""
},
"frontend/admin-panel/tsconfig.app.json": {
"mtime": 1787055476.7795663,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b885d5f97cf6fc2c1e7997d4b8abfb88",
"semantic_hash": ""
},
"frontend/admin-panel/tsconfig.json": {
"mtime": 1783764561.8633935,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a3d39fa780ebff65444de257f291ce6c",
"semantic_hash": ""
},
"frontend/admin-panel/tsconfig.node.json": {
"mtime": 1783764561.863923,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "70bdd0a673bcfc0e828080b306e7c680",
"semantic_hash": ""
},
"frontend/admin-panel/vite.config.ts": {
"mtime": 1783764561.864455,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "88439104b3c207f17d33ef3160e3b080",
"semantic_hash": ""
},
"frontend/application/app/ClientLayout.tsx": {
- "mtime": 1788617668.8862534,
- "seen": 1788618194.8808596,
- "ast_hash": "0b3a42ef43f0b4c661b1a9ae448b822b",
+ "mtime": 1788619472.6565077,
+ "seen": 1788619723.634347,
+ "ast_hash": "3baf1eca6f0c10fab2b946e8591f6f2d",
"semantic_hash": ""
},
"frontend/application/app/HomeClient.tsx": {
"mtime": 1788587906.7416725,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a352241a61613887f615f7c51807a195",
"semantic_hash": ""
},
"frontend/application/app/about/page.tsx": {
"mtime": 1787139270.9594126,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "dea769499f3e4d950e310655b5b9b455",
"semantic_hash": ""
},
"frontend/application/app/api/revalidate/route.ts": {
"mtime": 1787579631.7801068,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "23184adf61db300179c0776b6a61ab0a",
"semantic_hash": ""
},
"frontend/application/app/b2b/error.tsx": {
"mtime": 1787645037.377262,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d1311a94b33f2e302704576e2543fe10",
"semantic_hash": ""
},
"frontend/application/app/b2b/page.tsx": {
"mtime": 1787644197.1416183,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "06efdc27aa409ef9001b99f03603c645",
"semantic_hash": ""
},
"frontend/application/app/blog/[slug]/page.tsx": {
"mtime": 1787641161.057694,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "1d3634d4395f48acdfe8e322f306ec3d",
"semantic_hash": ""
},
"frontend/application/app/blog/error.tsx": {
"mtime": 1787645037.3782682,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "47fda48f69163db4c3e7ce7e13a1aef8",
"semantic_hash": ""
},
"frontend/application/app/blog/loading.tsx": {
"mtime": 1787645037.3792627,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3ac7dcd4e891cc77e6a9a61f980c64e0",
"semantic_hash": ""
},
"frontend/application/app/blog/page.tsx": {
"mtime": 1787993003.7725687,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "674cb6f16d90e8ca9023ba3db194667a",
"semantic_hash": ""
},
"frontend/application/app/blog/rss.xml/route.ts": {
"mtime": 1787577523.7103512,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0f825c41a5e5c9ce9193e7ac98246f2d",
"semantic_hash": ""
},
"frontend/application/app/catalog/CatalogClient.tsx": {
"mtime": 1788351605.8038838,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "95130bff6b4c8888d1bd1036cbce1fc6",
"semantic_hash": ""
},
"frontend/application/app/catalog/page.tsx": {
"mtime": 1787139270.9655254,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a3df5895707ba1f0809841320a2b7dff",
"semantic_hash": ""
},
"frontend/application/app/checkout/page.tsx": {
"mtime": 1787139270.9675355,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3f670c85242a956b39b07dbada3e11d0",
"semantic_hash": ""
},
"frontend/application/app/checkout/success/[id]/page.tsx": {
"mtime": 1783764561.8786683,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0e0899f968c15078ee01116c3e34d4a4",
"semantic_hash": ""
},
"frontend/application/app/contact/page.tsx": {
"mtime": 1787644197.1431985,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d2c5d581794a3db28e310d33cdef4ef1",
"semantic_hash": ""
},
"frontend/application/app/dashboard/page.tsx": {
"mtime": 1787394935.3182175,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "82cfc707ac8e663e34c742ee14b11a4e",
"semantic_hash": ""
},
"frontend/application/app/error.tsx": {
"mtime": 1785148022.478709,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "aea86a6d5b21cbff7bb38f382d1dd82d",
"semantic_hash": ""
},
"frontend/application/app/layout.tsx": {
"mtime": 1788354488.2377124,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5496ba898a02ae6d6b9f8304eeeac8df",
"semantic_hash": ""
},
"frontend/application/app/loading.tsx": {
"mtime": 1785148022.48765,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "daf62321fecabcbf8379d39f84a07c03",
"semantic_hash": ""
},
"frontend/application/app/not-found.tsx": {
"mtime": 1783764561.8914113,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6cada341f40f65b06a39f2a3020d7b96",
"semantic_hash": ""
},
"frontend/application/app/page.tsx": {
"mtime": 1788587906.7456717,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3dd57e5d031d0833051e12dfdff80cd8",
"semantic_hash": ""
},
"frontend/application/app/payment/verify/page.tsx": {
"mtime": 1786891855.3560786,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "68d1923f04a3300b7b6dca6023ab357e",
"semantic_hash": ""
},
"frontend/application/app/privacy/page.tsx": {
"mtime": 1787139270.9765637,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "54bf1a02ddfd06de2d9ec536a04ba97f",
"semantic_hash": ""
},
"frontend/application/app/profile/page.tsx": {
"mtime": 1787139270.9788032,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "1a4283a6fb6b3120519acbd35cb5282e",
"semantic_hash": ""
},
"frontend/application/app/robots.ts": {
"mtime": 1787578481.501464,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c0e38b88b84ac47f4400128cfbc87987",
"semantic_hash": ""
},
"frontend/application/app/search/page.tsx": {
"mtime": 1787139270.9799466,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "27d03ec9568875b47bb7d5bad3632085",
"semantic_hash": ""
},
"frontend/application/app/shop/[slug]/page.tsx": {
"mtime": 1788337303.7560215,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ab59c93695dc39656ccc95d56562aa1a",
"semantic_hash": ""
},
"frontend/application/app/shop/error.tsx": {
"mtime": 1787645037.3802679,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "23789b3ca79c69763d31dbf356e76a4b",
"semantic_hash": ""
},
"frontend/application/app/shop/feed.xml/route.ts": {
"mtime": 1788000526.323437,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "edd9288fd9d55c9b945cc235e4880ce8",
"semantic_hash": ""
},
"frontend/application/app/shop/loading.tsx": {
"mtime": 1787645037.3802679,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e7bc5c6479b8906b5f8fb19bfcf289f2",
"semantic_hash": ""
},
"frontend/application/app/shop/page.tsx": {
"mtime": 1787644197.146199,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "746a67c82411b1d01b564dc0838cf26c",
"semantic_hash": ""
},
"frontend/application/app/sitemap-categories.xml/route.ts": {
"mtime": 1787578481.507462,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "906c6270f0c13612729f42c1e7630cc2",
"semantic_hash": ""
},
"frontend/application/app/sitemap-products.xml/route.ts": {
"mtime": 1787578481.5084643,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e07cfe74793cf294eace564bf881bf6f",
"semantic_hash": ""
},
"frontend/application/app/sitemap.ts": {
"mtime": 1787578481.5104632,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5ce17876bf57c30d753801930423e32c",
"semantic_hash": ""
},
"frontend/application/app/track/page.tsx": {
"mtime": 1787139270.9842136,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ead1a36ba8de0ddbc98d68c77fcd0c68",
"semantic_hash": ""
},
"frontend/application/app/trust-seals/page.tsx": {
"mtime": 1787394001.6093068,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8dca9a0847bedf92637fc07ed89e39b3",
"semantic_hash": ""
},
"frontend/application/app/videos/page.tsx": {
"mtime": 1787644197.1471968,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "54232e77a222f6de008a9709b2975274",
"semantic_hash": ""
},
"frontend/application/app/wiki/[slug]/page.tsx": {
"mtime": 1787644197.1491973,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "198d84f897be0d678ec7f4c3d9aeb25d",
"semantic_hash": ""
},
"frontend/application/app/wiki/page.tsx": {
"mtime": 1787139270.9878309,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "79fec8952ae04bb5c7c9a1fc753da583",
"semantic_hash": ""
},
"frontend/application/components/AddressModal.tsx": {
"mtime": 1787739535.190384,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bcc4eb00c43d561308575389d6e21fb8",
"semantic_hash": ""
},
"frontend/application/components/ArchivePage.tsx": {
"mtime": 1788613668.2559054,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d9a9fd1d78cc6e2a0851323003f35089",
"semantic_hash": ""
},
"frontend/application/components/AuthModal.tsx": {
- "mtime": 1788618018.8130574,
- "seen": 1788618194.8808596,
- "ast_hash": "7239f14246e3c009a79eeae2ff8eabb9",
+ "mtime": 1788619234.6897388,
+ "seen": 1788619723.634347,
+ "ast_hash": "39ecd206e06a130f68844a1537ff9189",
"semantic_hash": ""
},
"frontend/application/components/B2BLandingClient.tsx": {
"mtime": 1787645037.3812675,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "795114ff03d5a13c4ac8b675cdadbe13",
"semantic_hash": ""
},
"frontend/application/components/B2BPortal.tsx": {
"mtime": 1786894580.1568575,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "cd073e8a2de7b93496df2310de77f41a",
"semantic_hash": ""
},
"frontend/application/components/BackButton.tsx": {
"mtime": 1786965281.3572779,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9537791a36d9fc0245ab1edd523bad9e",
"semantic_hash": ""
},
"frontend/application/components/BannerPlacement.tsx": {
"mtime": 1788346274.8411756,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bd5f67bf444ea351014f6349bb7a728c",
"semantic_hash": ""
},
"frontend/application/components/BlogPage.tsx": {
"mtime": 1787729523.4464538,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7644b237cf768e9da2111e9c8908be4f",
"semantic_hash": ""
},
"frontend/application/components/BlogPostClient.tsx": {
"mtime": 1787740536.6796968,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "de5822c944a797063075431f03a6bbb5",
"semantic_hash": ""
},
"frontend/application/components/BlogPreviewSection.tsx": {
"mtime": 1788345971.0934725,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8656a7e7f973a7f4990083dae172a8aa",
"semantic_hash": ""
},
"frontend/application/components/BrandLogo.tsx": {
"mtime": 1787564348.6908622,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "2a31c72d7a8773622e7c898ce6d366ca",
"semantic_hash": ""
},
"frontend/application/components/CartDrawer.tsx": {
"mtime": 1787733215.5489805,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "443487f1ee72272176431bd42ca89809",
"semantic_hash": ""
},
"frontend/application/components/CheckoutPage.tsx": {
"mtime": 1788595515.8410053,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7e2c5be980bacdcd8e6a499d3c7f9952",
"semantic_hash": ""
},
"frontend/application/components/ContactFormClient.tsx": {
"mtime": 1787729527.9353964,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "1facfb3e0741d874546b3e76c6fd9bcd",
"semantic_hash": ""
},
"frontend/application/components/DeleteConfirmModal.tsx": {
"mtime": 1786799852.6087523,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "831b2bddd3e6d156abdac216577e3c4c",
"semantic_hash": ""
},
"frontend/application/components/EnamadBadge.tsx": {
"mtime": 1786799852.612362,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "37c7d2eaa27905307e5b2b147849519c",
"semantic_hash": ""
},
"frontend/application/components/ErrorBoundary.tsx": {
"mtime": 1786799852.6145496,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "21b1cf87a9176b9f7902e5fc4f8b6482",
"semantic_hash": ""
},
"frontend/application/components/ErrorPages.tsx": {
"mtime": 1787661485.9450746,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d367c117edee2e91bfaa263a9514b93c",
"semantic_hash": ""
},
"frontend/application/components/FAQSection.tsx": {
"mtime": 1787729995.2396145,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5db489a17a6648b7eba83a4c5ae0bc5f",
"semantic_hash": ""
},
"frontend/application/components/FeaturedProducts.tsx": {
"mtime": 1788613668.257483,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8ced15a4c0cc38a97577867c13123982",
"semantic_hash": ""
},
"frontend/application/components/Footer.tsx": {
"mtime": 1788349370.9858317,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5ad4d4d8ac510c6e3a0c9b55b24e9451",
"semantic_hash": ""
},
"frontend/application/components/Header.tsx": {
"mtime": 1788346274.842183,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "07ae152c3013d15694dd3ee0b545248e",
"semantic_hash": ""
},
"frontend/application/components/HeaderButton.tsx": {
"mtime": 1786799852.637156,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5e4679ee49ad04e753de83a405255e44",
"semantic_hash": ""
},
"frontend/application/components/Hero.tsx": {
"mtime": 1788354488.2413068,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "829a6422106e385f026d08e19a237c16",
"semantic_hash": ""
},
"frontend/application/components/IngredientWiki.tsx": {
"mtime": 1786965281.3742068,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5a656dd2b9fd9e8f8c83544b706da19a",
"semantic_hash": ""
},
"frontend/application/components/LoginModal.tsx": {
- "mtime": 1788618058.496184,
- "seen": 1788618194.8808596,
- "ast_hash": "2683b940632e8c00711b29c7f483175c",
+ "mtime": 1788619261.368147,
+ "seen": 1788619723.634347,
+ "ast_hash": "88c28c9ba67258ab57276ff189ca5209",
"semantic_hash": ""
},
"frontend/application/components/MaintenancePage.tsx": {
"mtime": 1786946249.984693,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ddff8dfe25db6a3b4667f52a92ffbd12",
"semantic_hash": ""
},
"frontend/application/components/NetworkBanner.tsx": {
"mtime": 1786799852.662139,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "17a159f769af90f446309ca321c86805",
"semantic_hash": ""
},
"frontend/application/components/OrderDetailsModal.tsx": {
"mtime": 1788609394.3331895,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0994ce712f3d877633467262e68d01c4",
"semantic_hash": ""
},
"frontend/application/components/OrderSuccess.tsx": {
"mtime": 1786799852.6655424,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "1af189b677cfa054b76f3a1b518113f8",
"semantic_hash": ""
},
"frontend/application/components/OrderTracking.tsx": {
"mtime": 1787729527.937447,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "93ce4adc177efe4a3b2aadc4ede6f0bc",
"semantic_hash": ""
},
"frontend/application/components/PetProfile.tsx": {
"mtime": 1788613668.259056,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "86cdfc2246fdf52e3d3d309649d70618",
"semantic_hash": ""
},
"frontend/application/components/PodcastInlinePlayer.tsx": {
"mtime": 1787993003.7742205,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "712a8696b965a733de2b5b6e2c6ab0ed",
"semantic_hash": ""
},
"frontend/application/components/PodcastPlayerModal.tsx": {
"mtime": 1787748657.1551368,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a3a83583f1b826aa0c27e316f2cb8907",
"semantic_hash": ""
},
"frontend/application/components/PrescriptionUploadModal.tsx": {
"mtime": 1787741735.2679474,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ecd337bd55277c67016bee2f1662d46d",
"semantic_hash": ""
},
"frontend/application/components/ProductPage.tsx": {
- "mtime": 1788617792.0579207,
- "seen": 1788618194.8808596,
- "ast_hash": "07ea49f30d57e2305805693917a27a18",
+ "mtime": 1788619515.8764484,
+ "seen": 1788619723.634347,
+ "ast_hash": "508e8191a6bd310bfa16a35e2540607e",
"semantic_hash": ""
},
"frontend/application/components/ProductReviews.tsx": {
"mtime": 1788333723.5928628,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3b16f870e9c379368f6ce1e2daf0472e",
"semantic_hash": ""
},
"frontend/application/components/SafeImage.tsx": {
"mtime": 1788354488.2429116,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9962814ada6822c7380f1502a6e8d2c8",
"semantic_hash": ""
},
"frontend/application/components/SearchResultsPage.tsx": {
"mtime": 1786799852.7015781,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a5418e889a76fa054734277bd9a77a3d",
"semantic_hash": ""
},
"frontend/application/components/SearchableSelect.tsx": {
"mtime": 1785575516.1555548,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9a5010afe35da7c9584bf60e69e47002",
"semantic_hash": ""
},
"frontend/application/components/Skeleton.tsx": {
"mtime": 1783764561.943997,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3df12c74c99d1d9ac25dfe620cf2b2c5",
"semantic_hash": ""
},
"frontend/application/components/SmartAdvisor.tsx": {
"mtime": 1788587906.7476697,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ec90a8eb74a8d42b9d39002aa0346c3f",
"semantic_hash": ""
},
"frontend/application/components/TestimonialsSection.tsx": {
"mtime": 1788346274.8432086,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "4830d674874d810dc7ccbbb740810d64",
"semantic_hash": ""
},
"frontend/application/components/TickerBanner.tsx": {
"mtime": 1786885876.9608357,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e00022d0f2300ac98510a6f8c040598b",
"semantic_hash": ""
},
"frontend/application/components/Tooltip.tsx": {
"mtime": 1788333306.9236298,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "4d43304399818614a9ed6bb15edc7448",
"semantic_hash": ""
},
"frontend/application/components/TopUpModal.tsx": {
"mtime": 1787406597.3033493,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "178766a9fff90dd0b233dc958a2f79b8",
"semantic_hash": ""
},
"frontend/application/components/UserDashboard.tsx": {
"mtime": 1788613668.2616508,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9be338899bc8a66210d13a16264a2875",
"semantic_hash": ""
},
"frontend/application/components/VetGallery.tsx": {
"mtime": 1788346274.8443553,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b9c7fe5cc607f24ec9076c52c10da385",
"semantic_hash": ""
},
"frontend/application/components/VideoModalPlayer.tsx": {
"mtime": 1787993003.7758553,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "43171a7865e98b7763e76b418e3fe9cd",
"semantic_hash": ""
},
"frontend/application/components/VideosPage.tsx": {
"mtime": 1787729523.4504526,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e0025493d5aaab06e5ccc669781a4a90",
"semantic_hash": ""
},
"frontend/application/components/__tests__/CartDrawer.test.tsx": {
"mtime": 1786799852.7618258,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6840b24eb0f28d8120a320f0fd466154",
"semantic_hash": ""
},
"frontend/application/components/__tests__/FeaturedProducts.test.tsx": {
"mtime": 1787729523.4514546,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "317f5de841a35b6881d7a637d8cc921d",
"semantic_hash": ""
},
"frontend/application/components/__tests__/Footer.test.tsx": {
"mtime": 1787729523.4524536,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8d06abc7e8f0b6bf8bb8f28e1b16e7de",
"semantic_hash": ""
},
"frontend/application/components/__tests__/Header.test.tsx": {
"mtime": 1787729523.4524536,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a1786feed0dda8b2e95b4dc0493b5d10",
"semantic_hash": ""
},
"frontend/application/components/__tests__/Hero.test.tsx": {
"mtime": 1786799852.7760108,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "cba126955eaf2edc40fe24ce0c42d850",
"semantic_hash": ""
},
"frontend/application/components/__tests__/Tooltip.test.tsx": {
"mtime": 1786799852.784349,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a43df52896070e694d06a2d1ae89a99a",
"semantic_hash": ""
},
"frontend/application/components/catalog/CatalogPageSpread.tsx": {
"mtime": 1788616028.6248634,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e099c0bf65d92b92995b90331c485fc2",
"semantic_hash": ""
},
"frontend/application/components/catalog/FlipbookCatalog.tsx": {
"mtime": 1788616028.62773,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "2669df0c9ac276d582046a97777c9453",
"semantic_hash": ""
},
"frontend/application/components/catalog/ProductDetailModal.tsx": {
"mtime": 1787981163.2477274,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6c83f9d093866626428ee2a5cf841e70",
"semantic_hash": ""
},
"frontend/application/eslint.config.mjs": {
"mtime": 1787148092.3580558,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b4917d5d92dcb4fe98715b5625b397e2",
"semantic_hash": ""
},
"frontend/application/lib/data/products.ts": {
"mtime": 1788351605.8063908,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c3c2a38c43f0a1ca17ff71d206662764",
"semantic_hash": ""
},
"frontend/application/lib/data/provinces.ts": {
"mtime": 1785571725.610676,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "cd814c89c40909d1da24ac1e01fd99c0",
"semantic_hash": ""
},
"frontend/application/lib/data/scientificTerms.ts": {
"mtime": 1786958978.7430973,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b469da9f5c2d6e81279c853211bc197f",
"semantic_hash": ""
},
"frontend/application/lib/fonts.ts": {
"mtime": 1788351855.94342,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "267c387996720f9fa259381359469d76",
"semantic_hash": ""
},
"frontend/application/lib/hooks/useNetworkStatus.ts": {
"mtime": 1786799852.793488,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d6ece33f5f0149a299c49366f0e314d0",
"semantic_hash": ""
},
"frontend/application/lib/schema.ts": {
"mtime": 1787644197.1562054,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "78f0ccf9385189aa65639774e6feb3ad",
"semantic_hash": ""
},
"frontend/application/lib/seo.ts": {
"mtime": 1788587906.749775,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "81b565bcb2fdf41b51283f9c23bb5c6c",
"semantic_hash": ""
},
"frontend/application/lib/services/api.ts": {
"mtime": 1787997670.2654707,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "636bbe92bb95d7a02bd30d3c12ac70ab",
"semantic_hash": ""
},
"frontend/application/lib/services/authService.ts": {
"mtime": 1786885876.9861848,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "497045bd75576ee0cb6f37fc0ad831da",
"semantic_hash": ""
},
"frontend/application/lib/services/orderService.ts": {
"mtime": 1786799852.8107264,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5b8b9c867e3db50a9ed5e6b3f765e3b5",
"semantic_hash": ""
},
"frontend/application/lib/services/productService.ts": {
"mtime": 1788354488.2444441,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "55a328d01e76f69e5161a0eb6930d711",
"semantic_hash": ""
},
"frontend/application/lib/services/ticketService.ts": {
"mtime": 1786890779.3409019,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6fcf9ed78ca9194e01333602a1989947",
"semantic_hash": ""
},
"frontend/application/lib/services/videoService.ts": {
"mtime": 1787993003.7794602,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f562a056b1c9a34e4fd37793caadb47a",
"semantic_hash": ""
},
"frontend/application/lib/store/__tests__/cartStore.test.ts": {
"mtime": 1786799852.822037,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "741d154ab7044aa24c39b1694dbd9a32",
"semantic_hash": ""
},
"frontend/application/lib/store/__tests__/settingsStore.test.ts": {
"mtime": 1783856793.0438032,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9ca2a69a162e64abce0658a348454d97",
"semantic_hash": ""
},
"frontend/application/lib/store/__tests__/userStore.test.ts": {
"mtime": 1786799852.8255477,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9133574a4b0a49423dadbdc1d8d373b6",
"semantic_hash": ""
},
"frontend/application/lib/store/cartStore.ts": {
"mtime": 1787660831.2202897,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bca90351f647e0cbd364a37d7e193d8e",
"semantic_hash": ""
},
"frontend/application/lib/store/settingsStore.ts": {
"mtime": 1786948119.7870967,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ad4252536324b30028b5e4844fbd959b",
"semantic_hash": ""
},
"frontend/application/lib/store/uiStore.ts": {
"mtime": 1786799852.833588,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5b78ec13363f2456a9efa6189473f93b",
"semantic_hash": ""
},
"frontend/application/lib/store/usePetStore.ts": {
"mtime": 1786954681.8453007,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ad7e988e8e7561ed1c39db9964710806",
"semantic_hash": ""
},
"frontend/application/lib/store/userStore.ts": {
"mtime": 1788609394.3371892,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8c27c65e336fab9d05253abc5734ab1d",
"semantic_hash": ""
},
"frontend/application/lib/types.ts": {
"mtime": 1787729527.940444,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "1f5d62944be8572c5e09c5bdb2cd9333",
"semantic_hash": ""
},
"frontend/application/lib/utils.ts": {
"mtime": 1786799852.847284,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "13d70256fc31437c6a1d3c3450c0d5c6",
"semantic_hash": ""
},
"frontend/application/next.config.ts": {
"mtime": 1788353540.7615273,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "eb045f4d14a66bb9242cf95a78469152",
"semantic_hash": ""
},
"frontend/application/package.json": {
"mtime": 1788000055.9924972,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6d6a5d4a3735231fe5085a5fb5c5df3a",
"semantic_hash": ""
},
"frontend/application/postcss.config.mjs": {
"mtime": 1783764561.9882522,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "239f3ebf717465dc636818a1a619398d",
"semantic_hash": ""
},
"frontend/application/tsconfig.json": {
"mtime": 1786799852.86564,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "09df7544350f3ee3b4fe33841d294a86",
"semantic_hash": ""
},
"frontend/application/vitest.config.ts": {
"mtime": 1786799852.8686528,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ee482d93c3e5c516e021b7a68c5fb60b",
"semantic_hash": ""
},
"frontend/application/vitest.setup.ts": {
"mtime": 1787729523.454452,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "dc75e4763efd0d28d78fc3d91fdcf1c1",
"semantic_hash": ""
},
"package.json": {
"mtime": 1787729528.0760052,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c5535a73e39b3c14baebd00970f86081",
"semantic_hash": ""
},
"playwright.config.ts": {
"mtime": 1787729528.0770054,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "61f1ddbe19ecdc3f2aab3547a8e4e469",
"semantic_hash": ""
},
"scripts/backup_db.sh": {
"mtime": 1786799852.8767846,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "82cb31279bdfacde5efe978a55256436",
"semantic_hash": ""
},
"scripts/deploy.sh": {
"mtime": 1787136904.5590942,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ad310d4368d2fe68ff5f902c248fcc22",
"semantic_hash": ""
},
"scripts/open-browsers.js": {
"mtime": 1788000056.0091808,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ac5a7c859c872c5b21c264583ac7b6a4",
"semantic_hash": ""
},
"scripts/start-dev.js": {
"mtime": 1787997670.3350558,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "cc8ebf221860d50c5e461ed3c4b46570",
"semantic_hash": ""
},
"start.sh": {
"mtime": 1784033954.8130803,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "de3176806eab0abd69c6a8ea420b2095",
"semantic_hash": ""
},
"tests/e2e/admin/admin-b2b-submissions.spec.ts": {
"mtime": 1787729528.080006,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "63deec2d4bccd47c87eaadbf1f8fb31b",
"semantic_hash": ""
},
"tests/e2e/admin/admin-blogs-crud.spec.ts": {
"mtime": 1787729528.080006,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d42eff5d8bc8a2faf14bfd9de683c7fa",
"semantic_hash": ""
},
"tests/e2e/admin/admin-crud.spec.ts": {
"mtime": 1787729528.0810058,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "82a34c05711c1890596e3c00db05d089",
"semantic_hash": ""
},
"tests/e2e/admin/admin-orders-flow.spec.ts": {
"mtime": 1787729528.082005,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5294a6822ba40c754b5a1cb9b8f0de40",
"semantic_hash": ""
},
"tests/e2e/admin/admin-rbac-roles.spec.ts": {
"mtime": 1787729528.0830057,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "30411471f6f78a13f98ef638fac9f89d",
"semantic_hash": ""
},
"tests/e2e/security/xss-ratelimit.spec.ts": {
"mtime": 1787729528.0850058,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "85c831c7ef545b83626f55d43196cdd7",
"semantic_hash": ""
},
"tests/e2e/storefront/auth-otp-recovery.spec.ts": {
"mtime": 1787729528.0860093,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a954146b86f7d653ba7459e649ac7a13",
"semantic_hash": ""
},
"tests/e2e/storefront/b2b-flow.spec.ts": {
"mtime": 1787729528.0865166,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bac838e176aa3e82e88678fb9b067f38",
"semantic_hash": ""
},
"tests/e2e/storefront/blog-wiki.spec.ts": {
"mtime": 1787729528.0875323,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d9e92b416a7a57729777ac446f885772",
"semantic_hash": ""
},
"tests/e2e/storefront/cart-operations.spec.ts": {
"mtime": 1787729528.0890346,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3d5f3e4a1f5ae0464663a1f40d1deabf",
"semantic_hash": ""
},
"tests/e2e/storefront/checkout-flow.spec.ts": {
"mtime": 1787729528.0890346,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7bf23a14ed1e1d260b87b6a2d32b9367",
"semantic_hash": ""
},
"tests/e2e/storefront/concurrency-stock.spec.ts": {
"mtime": 1787729528.0900416,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d0c37fe56bca17fee9e55b8a872b7dab",
"semantic_hash": ""
},
"tests/e2e/storefront/contact.spec.ts": {
"mtime": 1787729528.0910428,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "92a3f8abf800a336fd49e73017b16879",
"semantic_hash": ""
},
"tests/e2e/storefront/error-pages-404-500.spec.ts": {
"mtime": 1787729528.092042,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0a3d841121c8102bd4601b4cd5a880da",
"semantic_hash": ""
},
"tests/e2e/storefront/order-tracking.spec.ts": {
"mtime": 1787729528.093042,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bc9462f404850129c094dce93171df69",
"semantic_hash": ""
},
"tests/e2e/storefront/shop-filter-search.spec.ts": {
"mtime": 1787729528.0940487,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ed34437d88473ac582ff3487cbb58ad1",
"semantic_hash": ""
},
"tests/fixtures/admin-auth.setup.ts": {
"mtime": 1787729528.0950477,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e9f0440ae28b1d3632693f7e2a3e03a5",
"semantic_hash": ""
},
"tests/fixtures/index.ts": {
"mtime": 1787729528.0950477,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "25e50ff95976135d1b8b381c3d355b51",
"semantic_hash": ""
},
"tsconfig.json": {
"mtime": 1787729528.0960474,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a57313e870eea61fd8ca26a23da00e62",
"semantic_hash": ""
},
".agents/rules/graphify.md": {
"mtime": 1786870552.830271,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f1e53ecc9194573d3c28fc116c743a2e",
"semantic_hash": ""
},
".agents/workflows/graphify.md": {
"mtime": 1786870552.8323984,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6d73634a678cf1e1c71930adf80bd1f0",
"semantic_hash": ""
},
".ai_agency/AGENCY.md": {
"mtime": 1785148021.9796073,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9a615cfac3d434770f0fa036a32b71f9",
"semantic_hash": ""
},
".ai_agency/agents/00_intake.md": {
"mtime": 1785148021.984319,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f1b0d3a7e74c834af83cd068a97bc240",
"semantic_hash": ""
},
".ai_agency/agents/01_auditor.md": {
"mtime": 1785148021.9877827,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a41d382a1269c2d6432522485e1b3301",
"semantic_hash": ""
},
".ai_agency/agents/02_ceo.md": {
"mtime": 1785148021.9983747,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "caf2825294f63004fa58a8b3775f10dc",
"semantic_hash": ""
},
".ai_agency/agents/03_product_manager.md": {
"mtime": 1785148022.0019681,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d5a7823925324506c4c0f91534c713cc",
"semantic_hash": ""
},
".ai_agency/agents/04_architect.md": {
"mtime": 1785148022.004966,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "fa9c501ee0e0f13da21dd138ed9116b3",
"semantic_hash": ""
},
".ai_agency/agents/05_dev_backend.md": {
"mtime": 1785148022.0124812,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9753813406d32d60a4f82b62ffc3f00f",
"semantic_hash": ""
},
".ai_agency/agents/06_dev_frontend.md": {
"mtime": 1785148022.01702,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "061855c65baa90ab44d77285cf1475f2",
"semantic_hash": ""
},
".ai_agency/agents/07_qa_engineer.md": {
"mtime": 1785148022.0200446,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "fe33c91f65cbfa2a4e9e9e007cd03370",
"semantic_hash": ""
},
".ai_agency/agents/08_visual_qa.md": {
"mtime": 1785148022.0300832,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7e8b5e90bb7c668ce961bb1c117d4291",
"semantic_hash": ""
},
".ai_agency/agents/09_devops_security.md": {
"mtime": 1785148022.0340874,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f4ce074e72eade7153ee4785ae9a89c6",
"semantic_hash": ""
},
".ai_agency/agents/10_tech_writer.md": {
"mtime": 1785148022.0370827,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9315ddc6c2960907d7dda7804c1debac",
"semantic_hash": ""
},
".ai_agency/agents/11_deploy.md": {
"mtime": 1785148022.0406027,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0f644be55161acf799ccc0b89ebfaa03",
"semantic_hash": ""
},
".ai_agency/agents/12_seo_content.md": {
"mtime": 1785148022.048604,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a053bac412fb66749c22ddfc58882766",
"semantic_hash": ""
},
".ai_agency/memory/agent_outputs/README.txt": {
"mtime": 1785148022.0521505,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7b3064fbf48b53032a8d4bfb73ca9ca7",
"semantic_hash": ""
},
".ai_agency/memory/scratchpad.md": {
"mtime": 1785148022.0651145,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "04648e7db23c144f89cdf78d071a32a0",
"semantic_hash": ""
},
".ai_agency/specs/api_contract.md": {
"mtime": 1785148022.0776649,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "2641fc7a31d9fe4761dad3ae7c944cb0",
"semantic_hash": ""
},
".ai_agency/specs/architecture_spec.md": {
"mtime": 1785148022.0822608,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8763e7670f9cd0281273e139b484e701",
"semantic_hash": ""
},
".ai_agency/specs/prd.md": {
"mtime": 1785148022.0872517,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a030931c59700809b29fa5e2dcbaaf18",
"semantic_hash": ""
},
".ai_agency/specs/project_health.md": {
"mtime": 1785148022.0983145,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "063e14c4ad0f62b79e412580319d6e6a",
"semantic_hash": ""
},
".ai_agency/specs/reviews/README.md": {
"mtime": 1785148022.105835,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e68ba8a85edcd2394cb46d8f03fa09b7",
"semantic_hash": ""
},
".ai_agency/specs/reviews/backend_review.md": {
"mtime": 1785148022.1103623,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "34de73a13f5917bee531b6c2036e6fd6",
"semantic_hash": ""
},
".ai_agency/specs/reviews/code_health_review.md": {
"mtime": 1785148022.1143596,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6ac531c22e5d025f50e6375323a52ed7",
"semantic_hash": ""
},
".ai_agency/specs/reviews/frontend_review.md": {
"mtime": 1785148022.118487,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0fd2a25383bafe358068544b4fd5e5f9",
"semantic_hash": ""
},
".ai_agency/specs/reviews/security_review.md": {
"mtime": 1785148022.1214871,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ed5139209a62a8a4a461b8a0eff9ac02",
"semantic_hash": ""
},
".ai_agency/specs/reviews/seo_content_review.md": {
"mtime": 1785148022.1315339,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "4cd7283f78877c1a14ff5b682c762702",
"semantic_hash": ""
},
".ai_agency/specs/reviews/ux_review.md": {
"mtime": 1785148022.1365507,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "4edeb2b914b36277d8381de722df56ef",
"semantic_hash": ""
},
".antigravity/instructions.md": {
"mtime": 1786870552.8334057,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9b31786b637be3c13978bec4c2330752",
"semantic_hash": ""
},
".antigravity/workflows/graphify.md": {
"mtime": 1786870552.8379214,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3953c31b4ef6d89d3b1cb43f0110817d",
"semantic_hash": ""
},
".claude/CLAUDE.md": {
"mtime": 1786870552.83892,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9b31786b637be3c13978bec4c2330752",
"semantic_hash": ""
},
".claude/skills/graphify/SKILL.md": {
"mtime": 1786870552.845041,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3953c31b4ef6d89d3b1cb43f0110817d",
"semantic_hash": ""
},
".claude/skills/graphify/references/add-watch.md": {
"mtime": 1786870552.848102,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d59d027fe449f06aa03905a01184e779",
"semantic_hash": ""
},
".claude/skills/graphify/references/exports.md": {
"mtime": 1786870552.849102,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9da2a2152e60a22f07f05fed5158f287",
"semantic_hash": ""
},
".claude/skills/graphify/references/extraction-spec.md": {
"mtime": 1786870552.850102,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "42fef56a01698118f7fd722acdadea34",
"semantic_hash": ""
},
".claude/skills/graphify/references/github-and-merge.md": {
"mtime": 1786870552.853101,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "cde13df085e4c492aeb7ba298a996d0d",
"semantic_hash": ""
},
".claude/skills/graphify/references/hooks.md": {
"mtime": 1786870552.8550987,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3f545db6ce646650bb9de588f5512a27",
"semantic_hash": ""
},
".claude/skills/graphify/references/query.md": {
"mtime": 1786870552.857703,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3c46f8ad006874260614ed8657d02307",
"semantic_hash": ""
},
".claude/skills/graphify/references/transcribe.md": {
"mtime": 1786870552.8587108,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "67b6a5fa6c0974e18f60db9f8932fbd8",
"semantic_hash": ""
},
".claude/skills/graphify/references/update.md": {
"mtime": 1786870552.86071,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9378bd03d56baaf78bd738ab3848f142",
"semantic_hash": ""
},
".gitea/workflows/deploy.yml": {
"mtime": 1787078454.7624714,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8dba2b15f1a2baf9ad6fa20a0b3dc467",
"semantic_hash": ""
},
".gitea/workflows/e2e.yml": {
"mtime": 1787729527.9233918,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b4aac490e2d03c136bdfa173565288b3",
"semantic_hash": ""
},
"AGENTS.md": {
"mtime": 1786870552.8627086,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9b31786b637be3c13978bec4c2330752",
"semantic_hash": ""
},
"BACKEND_INTEGRATION.md": {
"mtime": 1786885876.7688253,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e1f23cc23d23159b32a35acc9fadc689",
"semantic_hash": ""
},
"CLAUDE.md": {
"mtime": 1786870552.8637102,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "82efb97a359f5c7290bf2513d14686be",
"semantic_hash": ""
},
"DATABASE_SCHEMA.md": {
"mtime": 1786885876.7713423,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ca5ded565172da98231f6cf54af4843d",
"semantic_hash": ""
},
"README.md": {
"mtime": 1786885876.7753718,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "830c27760b856f621e2498eb762743fa",
"semantic_hash": ""
},
"backend/README.md": {
"mtime": 1783764561.6013825,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f9b30a57e215bc0b63868065fc71a1ac",
"semantic_hash": ""
},
"canina.md": {
"mtime": 1786885876.8094723,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9dd630592bc7905abc25f844ff134305",
"semantic_hash": ""
},
"docker-compose.yml": {
"mtime": 1787752951.3497422,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "10e33845f2b3992546351af83f878b04",
"semantic_hash": ""
},
"docs/01-introduction.md": {
"mtime": 1786885876.812475,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "4089d3e4da9e473cd14c984e646abe93",
"semantic_hash": ""
},
"docs/02-user-guide.md": {
"mtime": 1786885876.8139858,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "96bf8f4516994e99012a5b6c710835cd",
"semantic_hash": ""
},
"docs/03-developer-guide.md": {
"mtime": 1783764561.7716606,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "14f25993a3a77357739f6cd082c1e566",
"semantic_hash": ""
},
"docs/04-setup-and-deployment.md": {
"mtime": 1787127978.2568479,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7def44fff8cdd0d28b700f711e2443ed",
"semantic_hash": ""
},
"docs/05-devops-and-monitoring.md": {
"mtime": 1783764561.774446,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7dade1c1d477d70ced55a7580b812127",
"semantic_hash": ""
},
"docs/06-testing.md": {
"mtime": 1783764561.7749674,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "2ed3cd7f39157774928e65d5cc0588d0",
"semantic_hash": ""
},
"docs/README.md": {
"mtime": 1786885876.8169968,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "64dfe035bc8fdb4b42f7af8336bf4ab3",
"semantic_hash": ""
},
"docs/audit/00-repository-map.md": {
"mtime": 1786799852.2981741,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5343b55148ced4eed7f13aa32b689936",
"semantic_hash": ""
},
"docs/audit/01-system-discovery.md": {
"mtime": 1786799852.2991743,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5fcfb853f894f8697b6badb692dfe249",
"semantic_hash": ""
},
"docs/audit/02-audit-plan.md": {
"mtime": 1786799852.3001754,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d6a5dbf5ddc5fc174e8a041e835481db",
"semantic_hash": ""
},
"docs/audit/03-baseline-command-plan.md": {
"mtime": 1786799852.3001754,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7d40f368e9ed0f27fa2ef5ad01249ad2",
"semantic_hash": ""
},
"docs/audit/04-open-questions.md": {
"mtime": 1786799852.301682,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "773b455bb84b5df87cfbaa76dfa951f0",
"semantic_hash": ""
},
"docs/audit/05-architectural-audit.md": {
"mtime": 1786799852.3026898,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ab18a41271f0f845054f52f4dfa715eb",
"semantic_hash": ""
},
"docs/audit/06-storefront-audit.md": {
"mtime": 1786799852.3036914,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7c3aff371cdb919bb885bf4a6f625780",
"semantic_hash": ""
},
"docs/audit/07-backend-audit.md": {
"mtime": 1786799852.30469,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "53927123ba5acca71e57780ca9bd34f9",
"semantic_hash": ""
},
"docs/audit/08-admin-features-audit.md": {
"mtime": 1786799852.3059514,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d4da7eb2396ad939251ccc541f1fd165",
"semantic_hash": ""
},
"docs/audit/09-database-audit.md": {
"mtime": 1786799852.3069694,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "bdd7e4c3b4723b2006053563ac345819",
"semantic_hash": ""
},
"docs/audit/10-security-audit.md": {
"mtime": 1786799852.3079526,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "125471bb12e468a0ddcd9a1dccca1001",
"semantic_hash": ""
},
"docs/audit/11-code-quality-audit.md": {
"mtime": 1786799852.308957,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c48e39113f2334fae743488668ecf618",
"semantic_hash": ""
},
"docs/audit/12-testing-audit.md": {
"mtime": 1786799852.3099525,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0d1570f5138328d090a43edc1f7bc4f0",
"semantic_hash": ""
},
"docs/audit/13-devops-audit.md": {
"mtime": 1786799852.3109539,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "986acddf4e09ccbe2b8b8f6806bc01d5",
"semantic_hash": ""
},
"docs/audit/14-documentation-audit.md": {
"mtime": 1786799852.311952,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d1f8496a0dae10993495691dc58098ef",
"semantic_hash": ""
},
"docs/audit/16-deep-audit-summary.md": {
"mtime": 1786799852.313067,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f17a01bf7b59276d28c6948fd14eafd2",
"semantic_hash": ""
},
"docs/audit/18-compiler-diagnostic-dispositions.md": {
"mtime": 1786799852.315065,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5b402b064300709c7723a63885894c29",
"semantic_hash": ""
},
"docs/audit/19-finding-verification-report.md": {
"mtime": 1786799852.3160648,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c3363af4c68792722ebadddc10319f14",
"semantic_hash": ""
},
"docs/audit/21-phase2-quality-gate-summary.md": {
"mtime": 1786799852.318066,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c336937acd576ee2efc36d67dbaf69e2",
"semantic_hash": ""
},
"docs/audit/22-tracked-first-party-files.txt": {
"mtime": 1786799852.319066,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3f66b26b7f4217a065ed3d3403fe40fd",
"semantic_hash": ""
},
"docs/audit/23-untracked-first-party-files.txt": {
"mtime": 1786799852.319066,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9fe0a15ea45d03f8e4ccd0ad786dd9fb",
"semantic_hash": ""
},
"docs/audit/24-omitted-file-inspection-report.md": {
"mtime": 1786799852.3200657,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6fb068c98fefc544e9ff687c1b3c0351",
"semantic_hash": ""
},
"docs/audit/26-phase2-integrity-repair-report.md": {
"mtime": 1786799852.3220918,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "aecc17ca01002edfbdf472cf4f4aaa4c",
"semantic_hash": ""
},
"docs/audit/27-all-tracked-repository-files.txt": {
"mtime": 1786799852.3230999,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f35e68d28e4c31002698e68cc18242e3",
"semantic_hash": ""
},
"docs/audit/31-module-audit-closure.md": {
"mtime": 1786799852.3276167,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b66f589f8c3bd0b53b7d61626eec0985",
"semantic_hash": ""
},
"docs/audit/33-final-phase2-audit-closure.md": {
"mtime": 1786799852.3286169,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ca898e1caffc2764de11b6a10e84d1ea",
"semantic_hash": ""
},
"docs/audit/ADR-AUTH-001.md": {
"mtime": 1786799852.3326428,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "2616cbbcbbc3d461d3b6ca00195902a9",
"semantic_hash": ""
},
"docs/audit/CROSS_BOUNDARY_DEPENDENCIES.md": {
"mtime": 1786799852.3326428,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6d851d9e754115841a5accab7efcf0dc",
"semantic_hash": ""
},
"docs/audit/FRONTEND_INTEGRATION_REQUIREMENTS.md": {
"mtime": 1787127978.2588482,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8210201eae0692d1e76cad23d60c804b",
"semantic_hash": ""
},
"docs/audit/MASTER-TASK-BACKLOG.md": {
"mtime": 1786799852.3354702,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0efc4759c15a04ca934ec32bb6b6fa6b",
"semantic_hash": ""
},
"docs/audit/frontend-route-map.md": {
"mtime": 1786799852.3393898,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "88fdef86c48b2164cdcced3e502c073f",
"semantic_hash": ""
},
"docs/audit/phase3-execution-plan.md": {
"mtime": 1786799852.3439524,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "15babdd91198793f5b6b791d7a5edd22",
"semantic_hash": ""
},
"docs/audit/phase3-traceability-matrix.md": {
"mtime": 1786799852.3449528,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "40cd32ed7fa433342aa547fa5aa21d86",
"semantic_hash": ""
},
"docs/audit/phase3.1-backlog-review.md": {
"mtime": 1786799852.3459527,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "78810767668f7d90e980648ec8c17869",
"semantic_hash": ""
},
"docs/audit/phase3.1-change-log.md": {
"mtime": 1786799852.3469548,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "eed1734c4a6d1d8464dd63f6cbc33e9f",
"semantic_hash": ""
},
"docs/audit/phase3.2-change-log.md": {
"mtime": 1786799852.3479521,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "b13460f1fa8aaecd88bc007a2c5e2ecb",
"semantic_hash": ""
},
"docs/audit/phase3.2-implementation-readiness.md": {
"mtime": 1786799852.3479521,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ffe4bce7401d65f9d44e8740d3c2ccf6",
"semantic_hash": ""
},
"docs/backlog.md": {
"mtime": 1786799852.3560216,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "cf6eb1a9c1daef121cfb40f1a7771808",
"semantic_hash": ""
},
"frontend/admin-panel/README.md": {
"mtime": 1783764561.7789528,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f6e3faf55d738cf2affe1b44195f27cf",
"semantic_hash": ""
},
"frontend/admin-panel/index.html": {
"mtime": 1783764561.7805586,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d836c7a6b7be6d5b04a925b7ad32e539",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/A-Iranian-Sans/A-Iranian-Sans/read me!.txt": {
"mtime": 1783856792.435855,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "607f9ca43b12868e8880a0d85831a878",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/IranNastaliq/IranNastaliq/read me!.txt": {
"mtime": 1783856792.445365,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "607f9ca43b12868e8880a0d85831a878",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/CHANGELOG.md": {
"mtime": 1783856792.4546044,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "eaa55e166ec4a6b2ee875b746ef049a0",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/README.md": {
"mtime": 1783856792.5025032,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0e4c260ce354bad51a6a184b5e236424",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/CHANGELOG.md": {
"mtime": 1783856792.5480056,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "eeaf2bb0943a16d43493f706d0867d1f",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/README.md": {
"mtime": 1783856792.5951552,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5f851eefeeb4bffff8c5427a289f934d",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/vazirmatn-v33.003/AUTHORS.txt": {
"mtime": 1783856792.646666,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a5c1ec085d5dae2319c659151ffce3f0",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/vazirmatn-v33.003/CHANGELOG.md": {
"mtime": 1783856792.6476717,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e7227ba84ca88111166000065d1bdacb",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/vazirmatn-v33.003/OFL.txt": {
"mtime": 1783856792.6486697,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "88985b4355a8a44627dde041f10aba75",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/vazirmatn-v33.003/README.md": {
"mtime": 1783856792.6486697,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e9d11601fc4c77fe3d8d1961d9c5d420",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/vazirmatn-v33.003/\u0631\u0627\u0647\u0646\u0645\u0627.txt": {
"mtime": 1783856792.971535,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "975634eaf84a797674b29e99c311f54a",
"semantic_hash": ""
},
"frontend/application/AGENTS.md": {
"mtime": 1787127978.2689438,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "657cc62d228d2fcf56f1c843aad131fd",
"semantic_hash": ""
},
"frontend/application/CLAUDE.md": {
"mtime": 1783764561.8667445,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5c27369b226fcf2be8a6cfe52224e767",
"semantic_hash": ""
},
"frontend/application/README.md": {
"mtime": 1783764561.8673544,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f15aaa42d5d299d091b1171097ea56ad",
"semantic_hash": ""
},
"frontend/application/public/fonts/A-Iranian-Sans/A-Iranian-Sans/read me!.txt": {
"mtime": 1783856793.098052,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "607f9ca43b12868e8880a0d85831a878",
"semantic_hash": ""
},
"frontend/application/public/fonts/IranNastaliq/IranNastaliq/read me!.txt": {
"mtime": 1783856793.1076603,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "607f9ca43b12868e8880a0d85831a878",
"semantic_hash": ""
},
"frontend/application/public/fonts/sahel-font-v3.4.0/CHANGELOG.md": {
"mtime": 1783856793.1136606,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "eaa55e166ec4a6b2ee875b746ef049a0",
"semantic_hash": ""
},
"frontend/application/public/fonts/sahel-font-v3.4.0/README.md": {
"mtime": 1783856793.1562517,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "0e4c260ce354bad51a6a184b5e236424",
"semantic_hash": ""
},
"frontend/application/public/fonts/shabnam-font-v5.0.1/CHANGELOG.md": {
"mtime": 1783856793.2301185,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "eeaf2bb0943a16d43493f706d0867d1f",
"semantic_hash": ""
},
"frontend/application/public/fonts/shabnam-font-v5.0.1/README.md": {
"mtime": 1783856793.2795427,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5f851eefeeb4bffff8c5427a289f934d",
"semantic_hash": ""
},
"frontend/application/public/fonts/vazirmatn-v33.003/AUTHORS.txt": {
"mtime": 1783856793.3161557,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a5c1ec085d5dae2319c659151ffce3f0",
"semantic_hash": ""
},
"frontend/application/public/fonts/vazirmatn-v33.003/CHANGELOG.md": {
"mtime": 1783856793.3176901,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e7227ba84ca88111166000065d1bdacb",
"semantic_hash": ""
},
"frontend/application/public/fonts/vazirmatn-v33.003/OFL.txt": {
"mtime": 1783856793.319422,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "88985b4355a8a44627dde041f10aba75",
"semantic_hash": ""
},
"frontend/application/public/fonts/vazirmatn-v33.003/README.md": {
"mtime": 1783856793.320489,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "e9d11601fc4c77fe3d8d1961d9c5d420",
"semantic_hash": ""
},
"frontend/application/public/fonts/vazirmatn-v33.003/\u0631\u0627\u0647\u0646\u0645\u0627.txt": {
"mtime": 1783856793.6680968,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "975634eaf84a797674b29e99c311f54a",
"semantic_hash": ""
},
"manual-test-scenarios.md": {
"mtime": 1787729528.0730064,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d41d8cd98f00b204e9800998ecf8427e",
"semantic_hash": ""
},
"prometheus.yml": {
"mtime": 1783764562.0277793,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "45dc28cd8d9656e7141713ece5a7aa2c",
"semantic_hash": ""
},
"scripts/compose.prod.yml": {
"mtime": 1787998075.631989,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "4479ed210434f881e4bd325f174b9652",
"semantic_hash": ""
},
"scripts/compose.stage.yml": {
"mtime": 1787077093.9917798,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6c2045ddae8c6cac20ab3a0b87c39388",
"semantic_hash": ""
},
"swagger.yml": {
"mtime": 1786799852.8920915,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "34b5e7e5e1b19e6e3596ef669f8a0d0d",
"semantic_hash": ""
},
"test-coverage-map.md": {
"mtime": 1787729528.0780063,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d13004ca00333f0617470080ac36b666",
"semantic_hash": ""
},
"canina.pdf": {
"mtime": 1785148022.3708115,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "900fb024ec3b91912a512a96c2a0c0a0",
"semantic_hash": ""
},
"backend/uploads/1781288429353-508765350.jpg": {
"mtime": 1783764561.766257,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "ebf86506731de8ec10f2c4ea0ba14609",
"semantic_hash": ""
},
"frontend/admin-panel/public/favicon.svg": {
"mtime": 1783764561.7978015,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7e840862161341271697daa99a40d76b",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/sample-variable.gif": {
"mtime": 1783856792.5464964,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9d0c1a4764b2b06807578b33c40838ca",
"semantic_hash": ""
},
"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/sample.png": {
"mtime": 1783856792.6456678,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8bca253cfb55f954622145010756efa9",
"semantic_hash": ""
},
"frontend/admin-panel/public/icons.svg": {
"mtime": 1783764561.7993202,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "3b4fcfcf393eca4d264dca4a4663bc37",
"semantic_hash": ""
},
"frontend/admin-panel/src/assets/hero.png": {
"mtime": 1783764561.812863,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "aead493361b27e7510691c5d7072dfc1",
"semantic_hash": ""
},
"frontend/admin-panel/src/assets/react.svg": {
"mtime": 1783764561.8139248,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f0402b67b6ce880f65666bb49e841696",
"semantic_hash": ""
},
"frontend/admin-panel/src/assets/vite.svg": {
"mtime": 1783764561.8149958,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9960a24288958394ac50e57ff638b036",
"semantic_hash": ""
},
"frontend/application/public/assets/images/canina-product-placeholder.png": {
"mtime": 1787461919.5050244,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a9f359cce82a5ab0a24830ed59a33047",
"semantic_hash": ""
},
"frontend/application/public/assets/images/regenerated_image_1779109861747.png": {
"mtime": 1783764562.0141103,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "47111b66c208d1fa0c74877dfc0ee2a5",
"semantic_hash": ""
},
"frontend/application/public/file.svg": {
"mtime": 1783764562.0162137,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d09f95206c3fa0bb9bd9fefabfd0ea71",
"semantic_hash": ""
},
"frontend/application/public/fonts/sahel-font-v3.4.0/sample-variable.gif": {
"mtime": 1783856793.2291198,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "9d0c1a4764b2b06807578b33c40838ca",
"semantic_hash": ""
},
"frontend/application/public/fonts/shabnam-font-v5.0.1/sample.png": {
"mtime": 1783856793.3151467,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8bca253cfb55f954622145010756efa9",
"semantic_hash": ""
},
"frontend/application/public/globe.svg": {
"mtime": 1783764562.0167208,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "2aaafa6a49b6563925fe440891e32717",
"semantic_hash": ""
},
"frontend/application/public/images/vets/vet1.webp": {
"mtime": 1787461919.5417616,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a9f359cce82a5ab0a24830ed59a33047",
"semantic_hash": ""
},
"frontend/application/public/next.svg": {
"mtime": 1783764562.0182388,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8e061864f388b47f33a1c3780831193e",
"semantic_hash": ""
},
"frontend/application/public/vercel.svg": {
"mtime": 1783764562.019253,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c0af2f507b369b085b35ef4bbe3bcf1e",
"semantic_hash": ""
},
"frontend/application/public/window.svg": {
"mtime": 1783764562.019253,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a2760511c65806022ad20adf74370ff3",
"semantic_hash": ""
},
"frontend/application/app/smart-advisor/page.tsx": {
"mtime": 1787740536.6786995,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "915d70a715440d85d060653aaa219861",
"semantic_hash": ""
},
"frontend/application/app/dashboard/orders/page.tsx": {
"mtime": 1787741941.3028061,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "2a229305eedc5601932638630618882d",
"semantic_hash": ""
},
"frontend/application/app/dashboard/pets/page.tsx": {
"mtime": 1787741941.3038094,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "fb2e013e721c9711375e6bc4e73d2714",
"semantic_hash": ""
},
"frontend/application/components/ProductImageZoomModal.tsx": {
"mtime": 1788609394.3341897,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "61f6c262c49bb4ca4b2494d25a86767b",
"semantic_hash": ""
},
"backend/prisma/migrations/20260526145407_init/migration.sql": {
"mtime": 1783764561.6120076,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "12a9a675c12bc5ff2d2c3164f803f0ad",
"semantic_hash": ""
},
"backend/prisma/migrations/20260526160916_add_ui_texts_and_scientific_terms/migration.sql": {
"mtime": 1783764561.6134257,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "50977e705726df3fb0f30bd1d3af101b",
"semantic_hash": ""
},
"frontend/application/app/api/media/[...path]/route.ts": {
"mtime": 1788353078.508489,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "5555c5fc73ee5a79d968367b2cba36a1",
"semantic_hash": ""
},
"frontend/application/app/api/uploads/[...path]/route.ts": {
"mtime": 1788353078.5100856,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "a58dd0b691ec9938a85dc9dd20dd2f6a",
"semantic_hash": ""
},
"frontend/application/lib/media.ts": {
"mtime": 1788353540.75992,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6997390e7ad424bc13f7594818afc1fb",
"semantic_hash": ""
},
"frontend/application/components/NavigationProgressBar.tsx": {
"mtime": 1787999006.325061,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "fc0755d6a907e51dc86c33bd1abe4216",
"semantic_hash": ""
},
"frontend/application/app/api/torob/products/route.ts": {
"mtime": 1788328838.7466128,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "8cf49957ae2e82069a968b39a8f78d30",
"semantic_hash": ""
},
"backend/src/products/torob.controller.ts": {
"mtime": 1788334048.8063805,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.6333473,
"ast_hash": "77815c75dbf3eac240a646100fc7a78e",
"semantic_hash": ""
},
"backend/src/admin/dto/pricing.dto.ts": {
"mtime": 1788334048.8006155,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "1efa4c98ce79e6b8ba933614035d4093",
"semantic_hash": ""
},
"backend/src/common/utils/pricing.utils.ts": {
"mtime": 1788330948.589741,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "b42cc525ab14fa97917933bbde01d9f3",
"semantic_hash": ""
},
"frontend/admin-panel/src/utils/pricing.ts": {
"mtime": 1788330948.5947409,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "7a4e15557cc4b2db5d73cc30df2d7f27",
"semantic_hash": ""
},
"backend/src/common/services/sms-events.constants.ts": {
"mtime": 1788609394.3190956,
- "seen": 1788618194.8798602,
+ "seen": 1788619723.6333473,
"ast_hash": "25e634a06d9a816465ffe653a3bca7d8",
"semantic_hash": ""
},
"frontend/application/components/AnalyticsDeferred.tsx": {
"mtime": 1788609394.3321886,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "82d3ecf31ffa86d761b219ad85a7a63f",
"semantic_hash": ""
},
"frontend/application/public/images/favicons/android-chrome-192x192.png": {
"mtime": 1788587906.752678,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "6ae1d478e3edc5c3fbc0ef83f08a5a34",
"semantic_hash": ""
},
"frontend/application/public/images/favicons/android-chrome-512x512.png": {
"mtime": 1788587906.7572186,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "f7a3eebc8c1ae1b86bb2201cc040d38f",
"semantic_hash": ""
},
"frontend/application/public/images/favicons/apple-touch-icon.png": {
"mtime": 1788587906.7592187,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "1bed40de2da456237daf45dd92a70519",
"semantic_hash": ""
},
"frontend/application/public/images/favicons/favicon-16x16.png": {
"mtime": 1788587906.7611878,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "57e44df83d6c2b4250fe4f6d41723223",
"semantic_hash": ""
},
"frontend/application/public/images/favicons/favicon-32x32.png": {
"mtime": 1788587906.7631907,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "c5d36a5d0acef758465b443872a011e2",
"semantic_hash": ""
},
"frontend/application/lib/petCompatibility.ts": {
"mtime": 1788613668.2657504,
- "seen": 1788618194.8808596,
+ "seen": 1788619723.634347,
"ast_hash": "d5f3087461b9025a08b1541189264255",
"semantic_hash": ""
},
"frontend/application/components/OtpInput5.tsx": {
- "mtime": 1788617651.922126,
- "seen": 1788618194.8808596,
- "ast_hash": "6fcdcff41e66201a1bcbeaca3d881e12",
+ "mtime": 1788619281.17092,
+ "seen": 1788619723.634347,
+ "ast_hash": "8e478a3a76884723d43c9b2a763b78f7",
"semantic_hash": ""
}
}
\ No newline at end of file
diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md
index 38a5081..d66de3b 100644
--- a/graphify-out/GRAPH_REPORT.md
+++ b/graphify-out/GRAPH_REPORT.md
@@ -1,25 +1,25 @@
# Graph Report - canina (2026-09-05)
## Corpus Check
-- 603 files · ~1,115,875 words
+- 603 files · ~1,116,279 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
-- 4249 nodes · 7780 edges · 331 communities (216 shown, 115 thin omitted)
+- 4249 nodes · 7783 edges · 310 communities (214 shown, 96 thin omitted)
- Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 298 edges (avg confidence: 0.79)
- Token cost: 0 input · 0 output
## Graph Freshness
-- Built from commit: `1d2d1415`
+- Built from commit: `1fd9a92d`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
## Community Hubs (Navigation)
- Roles
- app.module.ts
-- BlogsService
+- orders.service.ts
- productService.ts
-- useSettingsStore
+- ClientLayout.tsx
- CmsController
- tickets.controller.ts
- SmsSettingsPage.tsx
@@ -33,10 +33,10 @@
- src/services/api.ts
- DoctorQueryDto
- schema.ts
-- admin.module.ts
+- JwtAuthGuard
- admin.controller.ts
- CreateVideoDto
-- pets/pets.controller.ts
+- orderService.ts
- ProductDto
- MenuService
- BE-001
@@ -63,7 +63,7 @@
- What You Must Do When Invoked
- 20260526145407_init/migration.sql
- IngredientsService
-- WikiController
+- app.e2e-spec.js
- devDependencies
- devDependencies
- BlogsController
@@ -77,13 +77,13 @@
- compilerOptions
- CreateUserDto
- ProductPage.tsx
-- ReportsController
+- admin.module.ts
- dependencies
- compilerOptions
- admin.service.ts
- AdminQueryDto
- PetsController
-- HomeClient.tsx
+- useSettingsStore
- Required Review Group Closures
- compilerOptions
- getPageMetadata
@@ -105,7 +105,7 @@
- dependencies
- CreateEBankCheckoutDto
- seed-products.ts
-- lib/services/api.ts
+- toPersian
- Reconciled Audit Roles & Assignments
- OrdersService
- components/Skeleton.tsx
@@ -166,7 +166,7 @@
- RouteErrorBoundary
- RegisterDto
- Product Requirement Document (PRD)
-- @nestjs/swagger
+- @eslint/js
- RedisService
- exclude
- Baseline Command Plan & Reconciled Command History
@@ -191,14 +191,14 @@
- rebuild_honest_ledger.js
- validate_evidence_grade.js
- uploads/[...path]/route.ts
-- app/page.tsx
+- @types/node
- نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina
-- WikiService
+- typescript
- API Contract Specification
- ⚙️ Backend Technical Review (05_dev_backend)
- 🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)
- 🚀 SEO & Content Strategy Review (12_seo_content)
-- FaqService
+- eslint-config-next
- Reviews.tsx
- seed-ui-texts.ts
- seed-wiki.ts
@@ -212,7 +212,6 @@
- React + TypeScript + Vite
- Select.tsx
- AuthModal.tsx
-- @tailwindcss/postcss
- prisma
- application/README.md
- deploy.sh
@@ -238,16 +237,12 @@
- Textarea.tsx
- admin-panel/tsconfig.json
- tailwindcss
-- helmet
- next.config.ts
- Shabnam Font README
- AGENTS.md
- rules/graphify.md
- .agents/workflows/graphify.md
- instructions.md
-- @nestjs/schematics
-- js-yaml
-- @nestjs/core
- source-map-support
- ts-loader
- ts-node
@@ -275,7 +270,6 @@
- User Login API
- User Logout API
- @types/compression
-- @nestjs/jwt
- @types/express
- @types/jest
- @types/multer
@@ -294,37 +288,22 @@
- Production Docker Compose
- Staging Docker Compose
- ZibalService
-- @nestjs/throttler
-- passport
- ZibalEBankService
- .initiateOrderPayment
- @tailwindcss/postcss
- typescript
-- reflect-metadata
- typescript-eslint
-- swagger-ui-express
- track/page.tsx
- eslint-config-prettier
-- class-transformer
-- @eslint/eslintrc
- jest
-- @nestjs/cli
- @types/passport-jwt
- 20260526160916_add_ui_texts_and_scientific_terms/migration.sql
-- eslint-plugin-prettier
- typescript
-- globals
- revalidate/route.ts
- MaskableField.tsx
-- @nestjs/testing
-- prettier
-- ts-jest
-- @types/js-yaml
- @types/react-dom
-- @types/supertest
- eslint-plugin-react-refresh
- eslint
-- typescript-eslint
- tailwindcss
## God Nodes (most connected - your core abstractions)
@@ -356,27 +335,27 @@
- 3-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/store/cartStore.ts -> frontend/application/lib/services/api.ts`
- 4-file cycle: `frontend/application/lib/services/api.ts -> frontend/application/lib/store/userStore.ts -> frontend/application/lib/store/cartStore.ts -> frontend/application/lib/services/orderService.ts -> frontend/application/lib/services/api.ts`
-## Communities (331 total, 115 thin omitted)
+## Communities (310 total, 96 thin omitted)
### Community 0 - "Roles"
Cohesion: 0.24
Nodes (13): Roles(), PaymentController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get (+5 more)
### Community 1 - "app.module.ts"
-Cohesion: 0.06
-Nodes (39): AdminModule, Module, B2BModule, Module, BannersModule, Module, CmsModule, Module (+31 more)
+Cohesion: 0.07
+Nodes (36): B2BModule, Module, BannersModule, Module, CmsModule, Module, SmsModule, Global (+28 more)
-### Community 2 - "BlogsService"
-Cohesion: 0.13
-Nodes (5): BlogsModule, Module, BlogFilterDto, BlogsService, Injectable
+### Community 2 - "orders.service.ts"
+Cohesion: 0.24
+Nodes (6): IsNotEmpty, IsNumber, IsString, ValidateCouponDto, OrdersModule, Module
### Community 3 - "productService.ts"
Cohesion: 0.06
-Nodes (35): revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate, BlogCategory, BlogPostItem (+27 more)
+Nodes (36): dynamic, GET(), revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate (+28 more)
-### Community 4 - "useSettingsStore"
-Cohesion: 0.07
-Nodes (31): AuthModal, B2BPortal, CartDrawer, ClientLayout(), metadata, ArchivePage(), B2BLandingClient(), BrandLogo() (+23 more)
+### Community 4 - "ClientLayout.tsx"
+Cohesion: 0.08
+Nodes (23): B2BPortal, CartDrawer, ClientLayout(), metadata, Footer(), NavigationProgressBar(), NetworkBanner(), CURRENT_SYMPTOMS (+15 more)
### Community 5 - "CmsController"
Cohesion: 0.09
@@ -395,8 +374,8 @@ Cohesion: 0.05
Nodes (27): SmsEventDefinition, SmsService, Injectable, SmsLogQueryDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional (+19 more)
### Community 9 - "devDependencies"
-Cohesion: 0.22
-Nodes (9): devDependencies, @eslint/js, @types/bcryptjs, @types/node, typescript, @eslint/js, @types/node, typescript (+1 more)
+Cohesion: 0.08
+Nodes (25): devDependencies, @eslint/eslintrc, eslint-plugin-prettier, globals, @nestjs/cli, @nestjs/schematics, @nestjs/testing, prettier (+17 more)
### Community 10 - "reviews.controller.ts"
Cohesion: 0.07
@@ -415,8 +394,8 @@ Cohesion: 0.07
Nodes (26): EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter, Catch, PrismaExceptionFilter (+18 more)
### Community 14 - "UserDashboard.tsx"
-Cohesion: 0.09
-Nodes (32): AddressFormData, AddressModal(), AddressModalProps, normalizeDigits(), validateAddressForm(), BackButton(), BackButtonProps, BlogPreviewSection() (+24 more)
+Cohesion: 0.13
+Nodes (25): AddressFormData, AddressModal(), AddressModalProps, normalizeDigits(), validateAddressForm(), BackButton(), BackButtonProps, CheckoutPage() (+17 more)
### Community 15 - "src/services/api.ts"
Cohesion: 0.06
@@ -430,9 +409,9 @@ Nodes (24): DoctorsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Contr
Cohesion: 0.14
Nodes (18): B2BPage(), generateMetadata(), ContactPage(), generateMetadata(), generateMetadata(), getInitialVideos(), Videos(), ContactFormClient() (+10 more)
-### Community 18 - "admin.module.ts"
-Cohesion: 0.10
-Nodes (12): MediaService, Injectable, SslCertInfo, JwtAuthGuard, Injectable, B2BWholesaleOrderItem, ROLES_KEY, SortOrder (+4 more)
+### Community 18 - "JwtAuthGuard"
+Cohesion: 0.17
+Nodes (8): JwtAuthGuard, Injectable, ROLES_KEY, RequestWithUser, RolesGuard, Injectable, FaqService, Injectable
### Community 19 - "admin.controller.ts"
Cohesion: 0.29
@@ -442,9 +421,9 @@ Nodes (12): ApplyGlobalMarginsDto, BulkPriceAdjustmentDto, ApiProperty, ApiPrope
Cohesion: 0.09
Nodes (24): CreateVideoDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, UpdateVideoDto (+16 more)
-### Community 21 - "pets/pets.controller.ts"
-Cohesion: 0.13
-Nodes (15): CreatePetDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional, IsString (+7 more)
+### Community 21 - "orderService.ts"
+Cohesion: 0.20
+Nodes (4): ApiErr, Order, OrderItem, OrderService
### Community 22 - "ProductDto"
Cohesion: 0.16
@@ -550,9 +529,9 @@ Nodes (14): "coupons", "health_logs", "order_items", "orders", "pet_medical_cond
Cohesion: 0.13
Nodes (14): IngredientsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more)
-### Community 48 - "WikiController"
-Cohesion: 0.21
-Nodes (9): ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Controller, Get, Param, Query (+1 more)
+### Community 48 - "app.e2e-spec.js"
+Cohesion: 0.50
+Nodes (3): app_module_1, supertest_1, testing_1
### Community 49 - "devDependencies"
Cohesion: 0.11
@@ -560,7 +539,7 @@ Nodes (19): autoprefixer, devDependencies, autoprefixer, eslint, @eslint/js, glo
### Community 50 - "devDependencies"
Cohesion: 0.12
-Nodes (17): eslint-config-next, devDependencies, eslint, eslint-config-next, jsdom, @testing-library/jest-dom, @testing-library/react, @types/node (+9 more)
+Nodes (17): devDependencies, eslint, jsdom, @tailwindcss/postcss, @testing-library/jest-dom, @testing-library/react, @types/node, @types/react (+9 more)
### Community 51 - "BlogsController"
Cohesion: 0.07
@@ -599,16 +578,16 @@ Cohesion: 0.18
Nodes (11): CreateUserDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty, IsNumber, IsOptional, IsString (+3 more)
### Community 61 - "ProductPage.tsx"
-Cohesion: 0.12
-Nodes (30): ArchiveProductCard(), CATEGORY_MAP, ICON_MAP, FeaturedProducts(), ProductCard(), OrderSuccess(), PetProfile(), ProductImageZoomModalProps (+22 more)
+Cohesion: 0.10
+Nodes (30): revalidate, ArchiveProductCard(), CATEGORY_MAP, ICON_MAP, FeaturedProducts(), ProductCard(), ProductImageZoomModalProps, CalculatorState (+22 more)
-### Community 62 - "ReportsController"
-Cohesion: 0.14
-Nodes (11): ReportsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Get, Query (+3 more)
+### Community 62 - "admin.module.ts"
+Cohesion: 0.05
+Nodes (23): AdminModule, Module, CategoryQuery, MediaService, Injectable, PetQuery, PetsService, Injectable (+15 more)
### Community 63 - "dependencies"
-Cohesion: 0.09
-Nodes (23): dependencies, bcrypt, bcryptjs, class-validator, compression, ioredis, @nestjs/common, @nestjs/passport (+15 more)
+Cohesion: 0.05
+Nodes (43): dependencies, bcrypt, bcryptjs, class-transformer, class-validator, compression, helmet, ioredis (+35 more)
### Community 64 - "compilerOptions"
Cohesion: 0.10
@@ -623,12 +602,12 @@ Cohesion: 0.18
Nodes (8): ApiQuery, Get, Query, AdminProductQueryDto, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString
### Community 67 - "PetsController"
-Cohesion: 0.11
-Nodes (13): PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Delete, Get (+5 more)
+Cohesion: 0.17
+Nodes (11): PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Delete, Get (+3 more)
-### Community 68 - "HomeClient.tsx"
-Cohesion: 0.14
-Nodes (17): HomeClient(), HomeClientProps, BannerPlacement(), BannerPlacementProps, Hero(), StatCounter(), B2BInquiry, Banner (+9 more)
+### Community 68 - "useSettingsStore"
+Cohesion: 0.07
+Nodes (31): HomeClient(), HomeClientProps, B2BLandingClient(), BlogPostClientProps, BlogPost, BlogPreviewSection(), BrandLogo(), BrandLogoProps (+23 more)
### Community 69 - "Required Review Group Closures"
Cohesion: 0.10
@@ -639,8 +618,8 @@ Cohesion: 0.08
Nodes (23): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, jsx, lib, module, moduleDetection, moduleResolution (+15 more)
### Community 71 - "getPageMetadata"
-Cohesion: 0.09
-Nodes (15): generateMetadata(), CatalogClient(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata() (+7 more)
+Cohesion: 0.08
+Nodes (19): generateMetadata(), CatalogClient(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), getHomeData(), Home() (+11 more)
### Community 72 - "Operational Rules & Boundaries"
Cohesion: 0.11
@@ -655,8 +634,8 @@ Cohesion: 0.13
Nodes (14): ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete, Get (+6 more)
### Community 75 - "PetsController"
-Cohesion: 0.08
-Nodes (32): CreateHealthLogDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, CreateReminderDto, ApiProperty (+24 more)
+Cohesion: 0.05
+Nodes (47): CreateHealthLogDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, CreatePetDto, ApiProperty (+39 more)
### Community 76 - "RevalidationService"
Cohesion: 0.07
@@ -714,9 +693,9 @@ Nodes (8): CreateEBankCheckoutDto, ApiProperty, ApiPropertyOptional, IsNotEmpty,
Cohesion: 0.17
Nodes (12): prisma, main(), prisma, determineSuitableFor(), findOrCreateCategory(), getProductImageUrl(), main(), parseSize() (+4 more)
-### Community 90 - "lib/services/api.ts"
-Cohesion: 0.09
-Nodes (26): VerifyContent(), B2BPortal(), ContactInfoItem, Header(), MENU_ICONS, PrescriptionUploadModal(), PrescriptionUploadModalProps, UserDashboard() (+18 more)
+### Community 90 - "toPersian"
+Cohesion: 0.12
+Nodes (27): VerifyContent(), AuthModal(), B2BPortal(), CartDrawer(), Header(), MENU_ICONS, OrderSuccess(), PetProfile() (+19 more)
### Community 91 - "Reconciled Audit Roles & Assignments"
Cohesion: 0.12
@@ -783,12 +762,12 @@ Cohesion: 0.43
Nodes (7): InitiatePaymentDto, InitiateWalletTopupDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString
### Community 107 - "PaginationDto"
-Cohesion: 0.07
-Nodes (23): PaginationDto, ApiPropertyOptional, IsEnum, IsInt, IsOptional, IsString, Min, Type (+15 more)
+Cohesion: 0.05
+Nodes (32): BlogsModule, Module, BlogFilterDto, BlogsService, Injectable, PaginationDto, SortOrder, ApiPropertyOptional (+24 more)
### Community 108 - "PrismaService"
Cohesion: 0.06
-Nodes (25): CategoryQuery, PetQuery, WikiQuery, DEFAULT_SMS_RULES, SMS_EVENT_DEFINITIONS, SmsEventVariable, SmsRule, MeliPayamakPattern (+17 more)
+Nodes (24): B2BWholesaleOrderItem, DEFAULT_SMS_RULES, SMS_EVENT_DEFINITIONS, SmsEventVariable, SmsRule, MeliPayamakPattern, MeliPayamakResponse, SendPatternSmsOptions (+16 more)
### Community 109 - "1. Summary of Integrity Repairs Performed"
Cohesion: 0.17
@@ -931,8 +910,8 @@ Cohesion: 0.25
Nodes (6): app_module_1, core_1, fs, path, swagger_1, yaml
### Community 144 - "SafeImage.tsx"
-Cohesion: 0.06
-Nodes (34): buildTorobProductSpec(), buildTorobProductTitle(), dynamic, GET(), revalidate, dynamic, GET(), revalidate (+26 more)
+Cohesion: 0.08
+Nodes (28): buildTorobProductSpec(), buildTorobProductTitle(), dynamic, GET(), revalidate, BannerPlacement(), BannerPlacementProps, PLAYBACK_RATES (+20 more)
### Community 145 - "auth.service.ts"
Cohesion: 0.22
@@ -1050,10 +1029,6 @@ Nodes (4): activeFiles, errors, validationOutput, warnings
Cohesion: 0.53
Nodes (5): dynamic, GET(), getCandidateUrls(), getMimeType(), HEAD()
-### Community 177 - "app/page.tsx"
-Cohesion: 0.67
-Nodes (3): generateMetadata(), getHomeData(), Home()
-
### Community 178 - "نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina"
Cohesion: 0.33
Nodes (5): نقشه جامع پوشش تستهای سرتاسری (E2E Test Coverage Map) — پروژه Canina, ۱. معماری و نقشهای کاربری (User Roles), ۲. ماتریس جریانها و قابلیتهای کاربرمحور (Feature & Flow Matrix), ۳. وضعیت پوشش نهایی سوئیت ۱۱گانه (Final 11 Test Suites Status), ۴. راهنمای نگهداری و افزودن فیچرهای جدید بدون شکستن تستها (Developer Maintenance Guide)
@@ -1074,10 +1049,6 @@ Nodes (3): Architectural Overview, Critical Review Findings & Required Enhanceme
Cohesion: 0.50
Nodes (3): Overview & Content Foundation, SEO & Content Requirements, 🚀 SEO & Content Strategy Review (12_seo_content)
-### Community 184 - "FaqService"
-Cohesion: 0.36
-Nodes (4): FaqModule, Module, FaqService, Injectable
-
### Community 185 - "Reviews.tsx"
Cohesion: 0.40
Nodes (5): BlogCommentItem, ProductReview, Reviews(), toPersianDigits(), Reviews
@@ -1107,8 +1078,8 @@ Cohesion: 0.50
Nodes (3): Select, SelectOption, SelectProps
### Community 197 - "AuthModal.tsx"
-Cohesion: 0.09
-Nodes (16): LoginModal, AuthModal(), AuthModalProps, extractOtpFromText(), otpCooldownExpiries, NOTE: We intentionally do NOT use navigator.credentials.get (WebOTP API) here, IMPORTANT: only depend on isOpen here — NOT subView. If we depend on subView,, LoginModal() (+8 more)
+Cohesion: 0.10
+Nodes (16): AuthModal, LoginModal, AuthModalProps, extractOtpFromText(), otpCooldownExpiries, IMPORTANT: only depend on isOpen here — NOT subView. If we depend on subView,, extractOtpFromText(), LoginModal() (+8 more)
### Community 200 - "application/README.md"
Cohesion: 0.50
@@ -1145,22 +1116,22 @@ Nodes (3): GET(), handleRevalidate(), POST()
## Knowledge Gaps
- **1355 isolated node(s):** `$schema`, `collection`, `sourceRoot`, `deleteOutDir`, `name` (+1350 more)
These have ≤1 connection - possible missing edges or undocumented components.
-- **115 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
+- **96 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
-- **Why does `Roles()` connect `Roles` to `WholesaleApplyDto`, `B2BService`, `ContactService`, `FaqController`, `CmsController`, `tickets.controller.ts`, `SmsService`, `SslController`, `BannersService`, `RevalidationService`, `reviews.controller.ts`, `TestimonialsService`, `IngredientsService`, `admin.module.ts`, `prescriptions.controller.ts`, `SmartAdvisorService`, `MenuService`, `FaqService`?**
+- **Why does `Roles()` connect `Roles` to `WholesaleApplyDto`, `B2BService`, `ContactService`, `FaqController`, `CmsController`, `tickets.controller.ts`, `SmsService`, `SslController`, `BannersService`, `RevalidationService`, `reviews.controller.ts`, `TestimonialsService`, `IngredientsService`, `JwtAuthGuard`, `prescriptions.controller.ts`, `SmartAdvisorService`, `MenuService`?**
_High betweenness centrality (0.093) - this node is a cross-community bridge._
-- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `PetsController`, `RevalidationService`, `UsersService`, `OrdersService`, `WikiController`, `HomeController`, `AuthController`?**
+- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `PetsController`, `RevalidationService`, `UsersService`, `PaginationDto`, `OrdersService`, `HomeController`, `AuthController`?**
_High betweenness centrality (0.066) - this node is a cross-community bridge._
-- **Why does `JwtAuthGuard` connect `admin.module.ts` to `CmsController`, `tickets.controller.ts`, `reviews.controller.ts`, `PaginationDto`, `RevalidationService`, `UsersService`, `DoctorQueryDto`, `auth.controller.ts`, `admin.controller.ts`, `prescriptions.controller.ts`, `pets/pets.controller.ts`, `FaqService`?**
+- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `orders.service.ts`, `CmsController`, `tickets.controller.ts`, `reviews.controller.ts`, `PaginationDto`, `PetsController`, `RevalidationService`, `UsersService`, `DoctorQueryDto`, `auth.controller.ts`, `admin.controller.ts`, `prescriptions.controller.ts`, `admin.module.ts`?**
_High betweenness centrality (0.030) - this node is a cross-community bridge._
- **What connects `$schema`, `collection`, `sourceRoot` to the rest of the system?**
_1355 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `app.module.ts` be split into smaller, more focused modules?**
- _Cohesion score 0.06140350877192982 - nodes in this community are weakly interconnected._
-- **Should `BlogsService` be split into smaller, more focused modules?**
- _Cohesion score 0.13333333333333333 - nodes in this community are weakly interconnected._
+ _Cohesion score 0.06821480406386067 - nodes in this community are weakly interconnected._
- **Should `productService.ts` be split into smaller, more focused modules?**
- _Cohesion score 0.05961538461538462 - nodes in this community are weakly interconnected._
\ No newline at end of file
+ _Cohesion score 0.06041986687147977 - nodes in this community are weakly interconnected._
+- **Should `ClientLayout.tsx` be split into smaller, more focused modules?**
+ _Cohesion score 0.08067226890756303 - nodes in this community are weakly interconnected._
\ No newline at end of file
diff --git a/graphify-out/cache/stat-index.json b/graphify-out/cache/stat-index.json
index 384c3a3..5cfae57 100644
--- a/graphify-out/cache/stat-index.json
+++ b/graphify-out/cache/stat-index.json
@@ -1 +1 @@
-{".agents/rules/graphify.md":{"size":933,"mtime_ns":1786870552830271100,"indexed_at_ns":1787726739808807000,"word_count":127,"hashes":{".agents/rules/graphify.md":"26f2577a68d808f7f33ec3e418b95b635aec180d93b22b975e9ae67c47e361c8"}},".agents/workflows/graphify.md":{"size":229,"mtime_ns":1786870552832398300,"indexed_at_ns":1787726739809809700,"word_count":37,"hashes":{".agents/workflows/graphify.md":"a81e2d017e0669c71099362b20854e4d9ed68753f1c240d0682120bdb9aa3c72"}},".ai_agency/AGENCY.md":{"size":8757,"mtime_ns":1785148021979607300,"indexed_at_ns":1787726739810808600,"word_count":1161,"hashes":{".ai_agency/agency.md":"88c7c13583a91fc7e41ce055fede9dce20f181e8d264557808989965e83a9030"}},".ai_agency/agents/00_intake.md":{"size":3819,"mtime_ns":1785148021984319000,"indexed_at_ns":1787726739811809900,"word_count":500,"hashes":{".ai_agency/agents/00_intake.md":"9dc8d7eeda0655717dc5b9d2f8572c47567b88ca88de7e4e5bf59869077ff407"}},".ai_agency/agents/01_auditor.md":{"size":3643,"mtime_ns":1785148021987782800,"indexed_at_ns":1787726739813809800,"word_count":467,"hashes":{".ai_agency/agents/01_auditor.md":"37ae09614034d9b5c855e0132b59a5e3cfd2fc38c54d1a5386fa43ba488c4d4d"}},".ai_agency/agents/02_ceo.md":{"size":2341,"mtime_ns":1785148021998374800,"indexed_at_ns":1787726739814809500,"word_count":294,"hashes":{".ai_agency/agents/02_ceo.md":"b4a76df6483fd52e1b9f1e70765b3f7b6d134dc003ef2ad0cb86b952c869c4a5"}},".ai_agency/agents/03_product_manager.md":{"size":8422,"mtime_ns":1785148022001968200,"indexed_at_ns":1787726739815810200,"word_count":1076,"hashes":{".ai_agency/agents/03_product_manager.md":"1927827474b1dd6fd4976af45b51f1ad3128fe3305c3af22639ab2584e8f0b55"}},".ai_agency/agents/04_architect.md":{"size":3603,"mtime_ns":1785148022004966000,"indexed_at_ns":1787726739816809500,"word_count":448,"hashes":{".ai_agency/agents/04_architect.md":"c96b04d5af093f455fa3c64ae177a69421e8150eb38c70bb8587b5a14e7d3ca8"}},".ai_agency/agents/05_dev_backend.md":{"size":7142,"mtime_ns":1785148022012481200,"indexed_at_ns":1787726739817810300,"word_count":953,"hashes":{".ai_agency/agents/05_dev_backend.md":"143a7c8a6fbedcd837d647efddb9f6b49074583502bd77f24c955bd86a6f3df8"}},".ai_agency/agents/06_dev_frontend.md":{"size":7518,"mtime_ns":1785148022017020100,"indexed_at_ns":1787726739819343800,"word_count":1011,"hashes":{".ai_agency/agents/06_dev_frontend.md":"e69679636d42dd626c7c76ddc96e1ddb656ab5b9ee912b89adcc7a9338f34a0b"}},".ai_agency/agents/07_qa_engineer.md":{"size":3764,"mtime_ns":1785148022020044600,"indexed_at_ns":1787726739820379800,"word_count":507,"hashes":{".ai_agency/agents/07_qa_engineer.md":"2616ef2b3ac39ded45fc669d5b5b140e72953fe61a819966fb040382e9b47d45"}},".ai_agency/agents/08_visual_qa.md":{"size":7910,"mtime_ns":1785148022030083200,"indexed_at_ns":1787726739821353800,"word_count":1121,"hashes":{".ai_agency/agents/08_visual_qa.md":"17a5a74039e8a9d7cb40c5bc3c616c7c92d53401efd92d0675d4bbe5e90572a8"}},".ai_agency/agents/09_devops_security.md":{"size":6825,"mtime_ns":1785148022034087400,"indexed_at_ns":1787726739822379900,"word_count":908,"hashes":{".ai_agency/agents/09_devops_security.md":"315bd3cee954ac3496da8db1b1718b75ab3822ec3a90f99bc77767ca99482edf"}},".ai_agency/agents/10_tech_writer.md":{"size":3119,"mtime_ns":1785148022037082600,"indexed_at_ns":1787726739824378500,"word_count":408,"hashes":{".ai_agency/agents/10_tech_writer.md":"3527b44265fec2472cc20ca4641667e1fa3d38cbc9b2fbf9a946ee1e531e9e37"}},".ai_agency/agents/11_deploy.md":{"size":3956,"mtime_ns":1785148022040602600,"indexed_at_ns":1787726739825379700,"word_count":537,"hashes":{".ai_agency/agents/11_deploy.md":"8169bc98b249cd83ba21551dea082f69dfa6deca5f5e4a7f2739a28746c143f9"}},".ai_agency/agents/12_seo_content.md":{"size":10963,"mtime_ns":1785148022048603900,"indexed_at_ns":1787726739826379900,"word_count":1539,"hashes":{".ai_agency/agents/12_seo_content.md":"2f50eb9db8bf1ad7bc23c7d8c3a4f167a2daafb73f095db9237c5bdb20e7a5f4"}},".ai_agency/memory/agent_outputs/README.txt":{"size":290,"mtime_ns":1785148022052150400,"indexed_at_ns":1787726728366347600,"word_count":34},".ai_agency/memory/backlog.json":{"size":10711,"mtime_ns":1785330750958890900,"indexed_at_ns":1787726739730126300,"word_count":981,"hashes":{".ai_agency/memory/backlog.json":"6bf3150a1877d03d03b368df21b84071381b1bb8cd03e3721fa9f8e6c38355be"}},".ai_agency/memory/scratchpad.md":{"size":1879,"mtime_ns":1785148022065114400,"indexed_at_ns":1787726739827380200,"word_count":249,"hashes":{".ai_agency/memory/scratchpad.md":"9d0f687cf8e95c6335f1efb070da8029878417c28117e3b89aa8536ad70a5b95"}},".ai_agency/memory/state.json":{"size":3654,"mtime_ns":1785330750963913800,"indexed_at_ns":1787726739754651600,"word_count":254,"hashes":{".ai_agency/memory/state.json":"1204676f8f295d89733888bb87936061b7a700df0cc936fbf08fd5269b534e8d"}},".ai_agency/orchestrate.py":{"size":6800,"mtime_ns":1785148022072662500,"indexed_at_ns":1787726739755649500,"word_count":644,"hashes":{".ai_agency/orchestrate.py":"90ec787fdd4c71f5203c56b6899aadcc26e6e0bad0cc576d2f982aa42eed42e1"}},".ai_agency/specs/api_contract.md":{"size":1515,"mtime_ns":1785148022077664900,"indexed_at_ns":1787726739828380100,"word_count":139,"hashes":{".ai_agency/specs/api_contract.md":"ea0911b6a5ad6a908ab707f7553f5f24712c1e198fd79255fa85e3249150e8b4"}},".ai_agency/specs/architecture_spec.md":{"size":790,"mtime_ns":1785148022082260900,"indexed_at_ns":1787726739829380100,"word_count":99,"hashes":{".ai_agency/specs/architecture_spec.md":"6269043f6a144e8ac86ff1db7e014075185e5675a4a0ee23e99e70d88253b8af"}},".ai_agency/specs/prd.md":{"size":724,"mtime_ns":1785148022087251600,"indexed_at_ns":1787726739830914500,"word_count":96,"hashes":{".ai_agency/specs/prd.md":"1c6d5a0ec8a709a2b3aed28225f5fe148ad2d75851d45699187678d055947b11"}},".ai_agency/specs/project_health.md":{"size":444,"mtime_ns":1785148022098314600,"indexed_at_ns":1787726739831950800,"word_count":65,"hashes":{".ai_agency/specs/project_health.md":"677c2f1d35c31d75d935766f154683e0483b08c696117ee612bee1528705c598"}},".ai_agency/specs/reviews/README.md":{"size":1029,"mtime_ns":1785148022105834900,"indexed_at_ns":1787726739832950700,"word_count":117,"hashes":{".ai_agency/specs/reviews/readme.md":"8ceb4cae1ad4c0f660557d827ced970cda8f7d020f8124b624b228174b1b65ab"}},".ai_agency/specs/reviews/backend_review.md":{"size":1430,"mtime_ns":1785148022110362400,"indexed_at_ns":1787726739834457300,"word_count":172,"hashes":{".ai_agency/specs/reviews/backend_review.md":"fca1f8d59c2eab255f7aba246b26731fe53f208e737ccf46035389591900a150"}},".ai_agency/specs/reviews/code_health_review.md":{"size":2193,"mtime_ns":1785148022114359700,"indexed_at_ns":1787726739835467400,"word_count":279,"hashes":{".ai_agency/specs/reviews/code_health_review.md":"532e04465e125183d6dd8f8af61bfc8735a514b3fbbc49069f5f0884155ed93f"}},".ai_agency/specs/reviews/frontend_review.md":{"size":1452,"mtime_ns":1785148022118486900,"indexed_at_ns":1787726739837467800,"word_count":183,"hashes":{".ai_agency/specs/reviews/frontend_review.md":"9f826c0267cad8bd5d342b1f908c927976d9be7da3f75b175331381ef8c8b680"}},".ai_agency/specs/reviews/security_review.md":{"size":874,"mtime_ns":1785148022121487200,"indexed_at_ns":1787726739838331800,"word_count":110,"hashes":{".ai_agency/specs/reviews/security_review.md":"51363e62e919d6772c2b3b9a1a3f3870a5892dae6d408217ed3fb475f72d3f0b"}},".ai_agency/specs/reviews/seo_content_review.md":{"size":1238,"mtime_ns":1785148022131533800,"indexed_at_ns":1787726739839755700,"word_count":156,"hashes":{".ai_agency/specs/reviews/seo_content_review.md":"bc8401649a86585b4061b3ec0f584910c54aad25bc9943392179bc070c07a434"}},".ai_agency/specs/reviews/ux_review.md":{"size":1131,"mtime_ns":1785148022136550700,"indexed_at_ns":1787726739840765700,"word_count":150,"hashes":{".ai_agency/specs/reviews/ux_review.md":"b8a52f324e36fcc2d046cc903a05903057098a67a397ae6442d6c825091f4513"}},".antigravity/instructions.md":{"size":226,"mtime_ns":1786870552833405800,"indexed_at_ns":1787726739842276100,"word_count":29,"hashes":{".antigravity/instructions.md":"8d8f5c1bbdbb7b8045e02b06a50e68d3fcfabfb2d65f8ac1cd86168dc8a8cc96"}},".antigravity/workflows/graphify.md":{"size":43292,"mtime_ns":1786870552837921500,"indexed_at_ns":1787726739843281500,"word_count":5442,"hashes":{".antigravity/workflows/graphify.md":"0c16b701a50d64f741f6de107c49584012a8dd7f5e922af9f79754540629e2fe"}},".claude/CLAUDE.md":{"size":226,"mtime_ns":1786870552838920200,"indexed_at_ns":1787726739845281600,"word_count":29,"hashes":{".claude/claude.md":"c6f7fc2f062904d246b700d446ba3ad03e77f41809b12eccfb5e090a11f4fad2"}},".claude/settings.json":{"size":479,"mtime_ns":1786870552841922800,"indexed_at_ns":1787726739757648600,"word_count":38,"hashes":{".claude/settings.json":"0aaafba2cbd7dd67f7d69fa2f01b747c9a72f56ee421a40825521f937caec82b"}},".claude/skills/graphify/SKILL.md":{"size":43292,"mtime_ns":1786870552845041000,"indexed_at_ns":1787726739846281500,"word_count":5442,"hashes":{".claude/skills/graphify/skill.md":"5b24d39cbbb662ea1cd672839f64b50823e1b7de9b113f542248eac38c70cdf1"}},".claude/skills/graphify/references/add-watch.md":{"size":2486,"mtime_ns":1786870552848102000,"indexed_at_ns":1787726739847281400,"word_count":366,"hashes":{".claude/skills/graphify/references/add-watch.md":"cb5e2f3284265c08c88c08f445b96958b13a9115c0afc0a33206c293d1b1c187"}},".claude/skills/graphify/references/exports.md":{"size":3362,"mtime_ns":1786870552849102100,"indexed_at_ns":1787726739848281300,"word_count":470,"hashes":{".claude/skills/graphify/references/exports.md":"7aa8b606e5c19334b6c9fe62a12fc30eb46c0320d1dbb5726cfda0becdd04a5a"}},".claude/skills/graphify/references/extraction-spec.md":{"size":7960,"mtime_ns":1786870552850101900,"indexed_at_ns":1787726739849713100,"word_count":1038,"hashes":{".claude/skills/graphify/references/extraction-spec.md":"9cf5d515d0d8584aeef36708df34f560078772a568ed599cac5ba20b089e563d"}},".claude/skills/graphify/references/github-and-merge.md":{"size":2177,"mtime_ns":1786870552853101000,"indexed_at_ns":1787726739850713300,"word_count":271,"hashes":{".claude/skills/graphify/references/github-and-merge.md":"609de4b1331ddb2f8c80e97aac0a5de782a373d6f5af858e10a731c20b35c0e2"}},".claude/skills/graphify/references/hooks.md":{"size":1267,"mtime_ns":1786870552855098700,"indexed_at_ns":1787726739852220900,"word_count":193,"hashes":{".claude/skills/graphify/references/hooks.md":"7c7827f2f29d6e2cb6cc6902558dac08380f60c414b4968f83e1bc4e61b3e268"}},".claude/skills/graphify/references/query.md":{"size":13456,"mtime_ns":1786870552857702900,"indexed_at_ns":1787726739853231100,"word_count":1763,"hashes":{".claude/skills/graphify/references/query.md":"54526cc3e2392922d344f14767f09037ef85fb7ec5cc7911b749b35bcb004fbf"}},".claude/skills/graphify/references/transcribe.md":{"size":3173,"mtime_ns":1786870552858710700,"indexed_at_ns":1787726739855230800,"word_count":418,"hashes":{".claude/skills/graphify/references/transcribe.md":"1d5afbaccf36e952e71082591edfc9e4fbd9946eb85b01855a1d0bd810b7623d"}},".claude/skills/graphify/references/update.md":{"size":10425,"mtime_ns":1786870552860709800,"indexed_at_ns":1787726739856230800,"word_count":1196,"hashes":{".claude/skills/graphify/references/update.md":"0249cd6ceae6effdfc7371b51d00c462f51d95700101dcedd36255bab1b4ce7a"}},".gemini/config/mcp_config.json":{"size":146,"mtime_ns":1787729527922392700,"indexed_at_ns":1787729937075859600,"word_count":15,"hashes":{".gemini/config/mcp_config.json":"5350ccca14cfd0cb47901b879636407765ead90ade58684cbe3bca634580cbd7"}},".gitea/scripts/with-vpn.sh":{"size":1794,"mtime_ns":1786799852126316200,"indexed_at_ns":1787726739759255200,"word_count":208,"hashes":{".gitea/scripts/with-vpn.sh":"9ec013d142e3cf5d7e5f09778fcb06b4b8ea7b394688f9f40b5e74298c76bcf0"}},".gitea/workflows/deploy.yml":{"size":993,"mtime_ns":1787078454762471500,"indexed_at_ns":1787726728591851200,"word_count":84},".gitea/workflows/e2e.yml":{"size":980,"mtime_ns":1787729527923391900,"indexed_at_ns":1787729927042405700,"word_count":98},".vscode/extensions.json":{"size":74,"mtime_ns":1787461919449307400,"indexed_at_ns":1787726739761255600,"word_count":6,"hashes":{".vscode/extensions.json":"57518c36999b5176c9e8617cf937f6e35b54ddd015305005d4611729d1d69177"}},"AGENTS.md":{"size":226,"mtime_ns":1786870552862708600,"indexed_at_ns":1787726739857230800,"word_count":29,"hashes":{"agents.md":"b664c2bb6d85e009d7495bcd9c3d52c419176473cd4e19362fd4256616076151"}},"BACKEND_INTEGRATION.md":{"size":15568,"mtime_ns":1786885876768825200,"indexed_at_ns":1787726728620874500,"word_count":1521},"CLAUDE.md":{"size":772,"mtime_ns":1786870552863710100,"indexed_at_ns":1787726739858230900,"word_count":106,"hashes":{"claude.md":"3612256e7473a2e5f67ef4778d4edeefb44794ef22bac5529bee9c87dc5d8f3d"}},"DATABASE_SCHEMA.md":{"size":15399,"mtime_ns":1786885876771342200,"indexed_at_ns":1787726728633463600,"word_count":1566},"README.md":{"size":13117,"mtime_ns":1786885876775371800,"indexed_at_ns":1787726728645776100,"word_count":1310},"backend/README.md":{"size":5028,"mtime_ns":1783764561601382400,"indexed_at_ns":1787726739859230700,"word_count":472,"hashes":{"backend/readme.md":"c3edfd26252566ef2ddee12c91a874b59e03a1656894d3db25209a0e4031010a"}},"backend/eslint.config.mjs":{"size":1649,"mtime_ns":1787073059105361700,"indexed_at_ns":1787726728676723300,"word_count":104},"backend/nest-cli.json":{"size":172,"mtime_ns":1787072106370561300,"indexed_at_ns":1787726739762253100,"word_count":13,"hashes":{"backend/nest-cli.json":"64fe2904203985aa0acb9b67d7ade489f2362ac8730283fb11d6a764d1cb3878"}},"backend/package.json":{"size":2903,"mtime_ns":1787644197137104200,"indexed_at_ns":1787726739763253000,"word_count":214,"hashes":{"backend/package.json":"164822617eb449e27d8e6a9ff13476f3b08fb3dcf5710289e85af9bf50ec39d5"}},"backend/prisma/migrations/20260526145407_init/migration.sql":{"size":8963,"mtime_ns":1783764561612007600,"indexed_at_ns":1787726739764254000,"word_count":936,"hashes":{"backend/prisma/migrations/20260526145407_init/migration.sql":"d6cc5e861e43bf82dcffe1ad7121fcbe9f74db7901cf204b5058da3132d3c1d2"}},"backend/prisma/migrations/20260526160916_add_ui_texts_and_scientific_terms/migration.sql":{"size":404,"mtime_ns":1783764561613425800,"indexed_at_ns":1787726739765254200,"word_count":48,"hashes":{"backend/prisma/migrations/20260526160916_add_ui_texts_and_scientific_terms/migration.sql":"c564f4aba35d32a733a5837c33664c68c8912277ad9645310f7e8116fbcba741"}},"backend/prisma/scientificTerms.ts":{"size":24298,"mtime_ns":1785325924634812500,"indexed_at_ns":1787726728717813800,"word_count":2294},"backend/prisma/seed-blogs.ts":{"size":6950,"mtime_ns":1786885876777374000,"indexed_at_ns":1787726728724742400,"word_count":620},"backend/prisma/seed-custom.ts":{"size":3836,"mtime_ns":1786799852144902000,"indexed_at_ns":1787726728731289500,"word_count":371},"backend/prisma/seed-home.ts":{"size":3870,"mtime_ns":1786885876779371100,"indexed_at_ns":1787726728738323600,"word_count":374},"backend/prisma/seed-products-data.json":{"size":59231,"mtime_ns":1788333723584557900,"indexed_at_ns":1788333819826304600,"word_count":5730,"hashes":{"backend/prisma/seed-products-data.json":"2c84695a0e1ce94406b8eb038936758a2dd27e22b5727051ea8d30749b4e9163"}},"backend/prisma/seed-products.ts":{"size":28268,"mtime_ns":1787127978219270600,"indexed_at_ns":1787726728749556400,"word_count":2063},"backend/prisma/seed-ui-texts.ts":{"size":9168,"mtime_ns":1787999006317919000,"indexed_at_ns":1787999341072321100,"word_count":758},"backend/prisma/seed-wiki.ts":{"size":24019,"mtime_ns":1786961195297596000,"indexed_at_ns":1787726728762216000,"word_count":2292},"backend/prisma/seed.ts":{"size":30480,"mtime_ns":1787127978225587600,"indexed_at_ns":1787726728769733300,"word_count":2636},"backend/prisma/tsconfig.json":{"size":194,"mtime_ns":1786961195300236300,"indexed_at_ns":1787726739768256500,"word_count":17,"hashes":{"backend/prisma/tsconfig.json":"0308b15b67bad714ff5f1b6b73f64ae46f98d5190cd6092abb1fb67885d67be1"}},"backend/prisma/tsconfig.seed.json":{"size":194,"mtime_ns":1786955870751259200,"indexed_at_ns":1787726739769256400,"word_count":17,"hashes":{"backend/prisma/tsconfig.seed.json":"e178d23a09563a7a9b348d905bc70322115514c78a7afcc5a53db7d18e511583"}},"backend/scripts/generate-openapi.d.ts":{"size":11,"mtime_ns":1786883225777483700,"indexed_at_ns":1787726728788027700,"word_count":2},"backend/scripts/generate-openapi.js":{"size":2965,"mtime_ns":1786883225779120000,"indexed_at_ns":1787726728794115400,"word_count":309},"backend/scripts/generate-openapi.ts":{"size":1421,"mtime_ns":1787729527925391800,"indexed_at_ns":1787729927210338500,"word_count":132},"backend/scripts/seo-backfill.ts":{"size":4551,"mtime_ns":1787729527925391800,"indexed_at_ns":1787729927215335400,"word_count":464},"backend/src/admin/admin.controller.spec.ts":{"size":593,"mtime_ns":1786799852157399700,"indexed_at_ns":1787726728816339600,"word_count":59},"backend/src/admin/admin.controller.ts":{"size":11107,"mtime_ns":1788609394315789100,"indexed_at_ns":1788613605032606200,"word_count":1076},"backend/src/admin/admin.module.ts":{"size":1420,"mtime_ns":1786877667005008400,"indexed_at_ns":1787726728829614400,"word_count":145},"backend/src/admin/admin.service.spec.ts":{"size":903,"mtime_ns":1787729523434852600,"indexed_at_ns":1787729927236681900,"word_count":89},"backend/src/admin/admin.service.ts":{"size":54945,"mtime_ns":1788609394316908100,"indexed_at_ns":1788613605051366500,"word_count":5207},"backend/src/admin/blogs.controller.ts":{"size":5204,"mtime_ns":1787579631758177800,"indexed_at_ns":1787726728849039400,"word_count":532},"backend/src/admin/blogs.service.ts":{"size":9542,"mtime_ns":1787579631760177700,"indexed_at_ns":1787726728855138400,"word_count":1070},"backend/src/admin/categories.controller.ts":{"size":2187,"mtime_ns":1786799852174192500,"indexed_at_ns":1787726728862149600,"word_count":204},"backend/src/admin/categories.service.ts":{"size":2005,"mtime_ns":1786799852175194300,"indexed_at_ns":1787726728869148700,"word_count":223},"backend/src/admin/dto/admin-query.dto.ts":{"size":975,"mtime_ns":1788332757638029400,"indexed_at_ns":1788333107621968800,"word_count":89},"backend/src/admin/dto/product.dto.ts":{"size":9859,"mtime_ns":1788609394317999800,"indexed_at_ns":1788613605093051200,"word_count":808},"backend/src/admin/dto/user.dto.ts":{"size":2839,"mtime_ns":1787072106381989700,"indexed_at_ns":1787726728889404100,"word_count":259},"backend/src/admin/media.controller.ts":{"size":2339,"mtime_ns":1786876983648866300,"indexed_at_ns":1787726728895408700,"word_count":226},"backend/src/admin/media.service.ts":{"size":3596,"mtime_ns":1787748438701533500,"indexed_at_ns":1787748507167881200,"word_count":373},"backend/src/admin/pets.controller.ts":{"size":1195,"mtime_ns":1786799852186217200,"indexed_at_ns":1787726728908565800,"word_count":117},"backend/src/admin/pets.service.ts":{"size":1731,"mtime_ns":1786954681814243000,"indexed_at_ns":1787726728915489100,"word_count":193},"backend/src/admin/reports.controller.ts":{"size":1079,"mtime_ns":1787729523434852600,"indexed_at_ns":1787729927304516400,"word_count":107},"backend/src/admin/reports.service.ts":{"size":6497,"mtime_ns":1787729523434852600,"indexed_at_ns":1787729927310486400,"word_count":729},"backend/src/admin/ssl.controller.ts":{"size":3371,"mtime_ns":1787072106382979000,"indexed_at_ns":1787726728933458100,"word_count":296},"backend/src/admin/ssl.service.ts":{"size":6502,"mtime_ns":1787072106383978900,"indexed_at_ns":1787726728940536700,"word_count":612},"backend/src/admin/wiki.controller.ts":{"size":1814,"mtime_ns":1786799852191732300,"indexed_at_ns":1787726728947315900,"word_count":179},"backend/src/admin/wiki.service.ts":{"size":1767,"mtime_ns":1786799852193324200,"indexed_at_ns":1787726728953886100,"word_count":195},"backend/src/app.controller.spec.ts":{"size":617,"mtime_ns":1783764561644839700,"indexed_at_ns":1787726728959886100,"word_count":61},"backend/src/app.controller.ts":{"size":274,"mtime_ns":1783764561645849100,"indexed_at_ns":1787726728965475600,"word_count":31},"backend/src/app.module.ts":{"size":4052,"mtime_ns":1787579631764695400,"indexed_at_ns":1787726728971183900,"word_count":382},"backend/src/app.service.ts":{"size":142,"mtime_ns":1783764561648840500,"indexed_at_ns":1787726728977275800,"word_count":19},"backend/src/auth/auth.constants.ts":{"size":456,"mtime_ns":1787072106385980100,"indexed_at_ns":1787726728983890000,"word_count":32},"backend/src/auth/auth.controller.spec.ts":{"size":1528,"mtime_ns":1785327951179468000,"indexed_at_ns":1787726728988890000,"word_count":149},"backend/src/auth/auth.controller.ts":{"size":4304,"mtime_ns":1787645037368025500,"indexed_at_ns":1787726728996333500,"word_count":410},"backend/src/auth/auth.module.ts":{"size":724,"mtime_ns":1787072106388501600,"indexed_at_ns":1787726729002365400,"word_count":80},"backend/src/auth/auth.service.spec.ts":{"size":4306,"mtime_ns":1787729523436876800,"indexed_at_ns":1787729927377157300,"word_count":381},"backend/src/auth/auth.service.ts":{"size":9713,"mtime_ns":1787127978228589700,"indexed_at_ns":1787726729014017400,"word_count":933},"backend/src/auth/dto/admin-login.dto.ts":{"size":766,"mtime_ns":1787127978229587400,"indexed_at_ns":1787726729021017300,"word_count":82},"backend/src/auth/dto/login.dto.ts":{"size":587,"mtime_ns":1783764561659109000,"indexed_at_ns":1787726729027109900,"word_count":63},"backend/src/auth/dto/register.dto.ts":{"size":1197,"mtime_ns":1785327951186476900,"indexed_at_ns":1787726729033385300,"word_count":115},"backend/src/auth/dto/send-otp.dto.ts":{"size":374,"mtime_ns":1783764561661106500,"indexed_at_ns":1787726729039417400,"word_count":39},"backend/src/auth/dto/verify-otp.dto.ts":{"size":594,"mtime_ns":1783764561662112100,"indexed_at_ns":1787726729045971800,"word_count":64},"backend/src/auth/jwt-auth.guard.ts":{"size":494,"mtime_ns":1786799852205862700,"indexed_at_ns":1787726729051550300,"word_count":58},"backend/src/auth/jwt.strategy.ts":{"size":1122,"mtime_ns":1786883225794343300,"indexed_at_ns":1787726729058027000,"word_count":116},"backend/src/auth/roles.decorator.ts":{"size":54,"mtime_ns":1786799852208379600,"indexed_at_ns":1787726729064059300,"word_count":4},"backend/src/auth/roles.guard.ts":{"size":46,"mtime_ns":1786799852209003400,"indexed_at_ns":1787726729070031800,"word_count":4},"backend/src/b2b/b2b.controller.ts":{"size":2782,"mtime_ns":1787645037369065300,"indexed_at_ns":1787726729075540200,"word_count":261},"backend/src/b2b/b2b.module.ts":{"size":342,"mtime_ns":1786799852212013200,"indexed_at_ns":1787726729082375900,"word_count":38},"backend/src/b2b/b2b.service.ts":{"size":2379,"mtime_ns":1786799852214009300,"indexed_at_ns":1787726729088349500,"word_count":243},"backend/src/banners/banners.controller.ts":{"size":1923,"mtime_ns":1786799852215010200,"indexed_at_ns":1787726729094382800,"word_count":169},"backend/src/banners/banners.module.ts":{"size":374,"mtime_ns":1786799852216010300,"indexed_at_ns":1787726729099954900,"word_count":38},"backend/src/banners/banners.service.ts":{"size":1394,"mtime_ns":1786799852216010300,"indexed_at_ns":1787726729105481900,"word_count":160},"backend/src/blogs/blogs.controller.ts":{"size":2794,"mtime_ns":1788334048803235500,"indexed_at_ns":1788334713518424700,"word_count":247},"backend/src/blogs/blogs.module.ts":{"size":248,"mtime_ns":1783764561665678100,"indexed_at_ns":1787726729117858700,"word_count":28},"backend/src/blogs/blogs.service.ts":{"size":10448,"mtime_ns":1788334048804373300,"indexed_at_ns":1788334713528538100,"word_count":1157},"backend/src/blogs/dto/create-blog.dto.ts":{"size":30,"mtime_ns":1783764561671557000,"indexed_at_ns":1787726729130858800,"word_count":4},"backend/src/blogs/dto/update-blog.dto.ts":{"size":164,"mtime_ns":1783764561673712400,"indexed_at_ns":1787726729137866600,"word_count":18},"backend/src/blogs/entities/blog.entity.ts":{"size":21,"mtime_ns":1783764561675101100,"indexed_at_ns":1787726729143865200,"word_count":4},"backend/src/cms/cms.controller.ts":{"size":3521,"mtime_ns":1785327951196913100,"indexed_at_ns":1787726729149268700,"word_count":280},"backend/src/cms/cms.module.ts":{"size":342,"mtime_ns":1785148022206298000,"indexed_at_ns":1787726729156414600,"word_count":38},"backend/src/cms/cms.service.ts":{"size":2501,"mtime_ns":1785327951197940400,"indexed_at_ns":1787726729162441900,"word_count":256},"backend/src/cms/dto/cms.dto.ts":{"size":2357,"mtime_ns":1785327951199995500,"indexed_at_ns":1787726729169380900,"word_count":203},"backend/src/common/decorators/roles.decorator.ts":{"size":157,"mtime_ns":1786799852220522400,"indexed_at_ns":1787726729174954700,"word_count":20},"backend/src/common/dto/pagination.dto.ts":{"size":1188,"mtime_ns":1785327951201988900,"indexed_at_ns":1787726729180990600,"word_count":121},"backend/src/common/env.validation.ts":{"size":1162,"mtime_ns":1787645037370646800,"indexed_at_ns":1787726729187990800,"word_count":109},"backend/src/common/filters/http-exception.filter.ts":{"size":4993,"mtime_ns":1787645037371739300,"indexed_at_ns":1787726729194260200,"word_count":500},"backend/src/common/filters/prisma-exception.filter.ts":{"size":2862,"mtime_ns":1787645037372254700,"indexed_at_ns":1787726729201199300,"word_count":280},"backend/src/common/guards/roles.guard.spec.ts":{"size":2426,"mtime_ns":1786799852225556800,"indexed_at_ns":1787726729208239500,"word_count":223},"backend/src/common/guards/roles.guard.ts":{"size":1285,"mtime_ns":1786799852226565200,"indexed_at_ns":1787726729214246900,"word_count":120},"backend/src/common/interceptors/decimal.interceptor.spec.ts":{"size":1677,"mtime_ns":1786799852227565700,"indexed_at_ns":1787726729220254800,"word_count":164},"backend/src/common/interceptors/decimal.interceptor.ts":{"size":1094,"mtime_ns":1786799852227565700,"indexed_at_ns":1787726729226825500,"word_count":118},"backend/src/common/metrics.controller.ts":{"size":2093,"mtime_ns":1786799852229073100,"indexed_at_ns":1787726729232447400,"word_count":206},"backend/src/common/revalidation/revalidation.module.ts":{"size":240,"mtime_ns":1787579631769582300,"indexed_at_ns":1787726729239087900,"word_count":24},"backend/src/common/revalidation/revalidation.service.ts":{"size":3410,"mtime_ns":1787579631770587500,"indexed_at_ns":1787726729246057400,"word_count":272},"backend/src/common/schemas/error-response.schema.ts":{"size":1680,"mtime_ns":1785330913144701500,"indexed_at_ns":1787726729252104800,"word_count":162},"backend/src/common/schemas/paginated-response.schema.ts":{"size":1108,"mtime_ns":1786799852230082200,"indexed_at_ns":1787726729258104400,"word_count":110},"backend/src/common/services/sms.service.ts":{"size":43530,"mtime_ns":1788609394320641400,"indexed_at_ns":1788613605425945700,"word_count":4091},"backend/src/common/sms.module.ts":{"size":204,"mtime_ns":1785330750996125100,"indexed_at_ns":1787726729274176800,"word_count":24},"backend/src/common/utils/phone.utils.ts":{"size":1089,"mtime_ns":1786883225801396000,"indexed_at_ns":1787726729280624000,"word_count":149},"backend/src/contact/contact.controller.ts":{"size":2088,"mtime_ns":1787645037373264000,"indexed_at_ns":1787726729286660600,"word_count":192},"backend/src/contact/contact.module.ts":{"size":365,"mtime_ns":1786799852236599000,"indexed_at_ns":1787726729292806800,"word_count":38},"backend/src/contact/contact.service.ts":{"size":4445,"mtime_ns":1788584193706148400,"indexed_at_ns":1788608118832554900,"word_count":432},"backend/src/doctors/doctors.controller.ts":{"size":1583,"mtime_ns":1787148092311692900,"indexed_at_ns":1787726729304627000,"word_count":148},"backend/src/doctors/doctors.module.ts":{"size":374,"mtime_ns":1786971396035575100,"indexed_at_ns":1787726729310709500,"word_count":38},"backend/src/doctors/doctors.service.ts":{"size":2336,"mtime_ns":1787148092312693100,"indexed_at_ns":1787726729316710800,"word_count":266},"backend/src/doctors/dto/doctor-query.dto.ts":{"size":1009,"mtime_ns":1787148092314699500,"indexed_at_ns":1787726729323711800,"word_count":116},"backend/src/faq/faq.controller.ts":{"size":2210,"mtime_ns":1787148092316694700,"indexed_at_ns":1787726729329710800,"word_count":199},"backend/src/faq/faq.module.ts":{"size":234,"mtime_ns":1787148092316694700,"indexed_at_ns":1787726729335913700,"word_count":28},"backend/src/faq/faq.service.ts":{"size":1541,"mtime_ns":1787148092319911700,"indexed_at_ns":1787726729341879200,"word_count":184},"backend/src/home/dto/create-home.dto.ts":{"size":30,"mtime_ns":1783764561682365300,"indexed_at_ns":1787726729348678200,"word_count":4},"backend/src/home/dto/update-home.dto.ts":{"size":164,"mtime_ns":1783764561682365300,"indexed_at_ns":1787726729354360200,"word_count":18},"backend/src/home/entities/home.entity.ts":{"size":21,"mtime_ns":1783764561684884800,"indexed_at_ns":1787726729360332100,"word_count":4},"backend/src/home/home.controller.ts":{"size":757,"mtime_ns":1785327951212087300,"indexed_at_ns":1787726729365692000,"word_count":69},"backend/src/home/home.module.ts":{"size":241,"mtime_ns":1783764561687108000,"indexed_at_ns":1787726729372815400,"word_count":28},"backend/src/home/home.service.ts":{"size":1372,"mtime_ns":1785327951214087300,"indexed_at_ns":1787726729378370200,"word_count":144},"backend/src/ingredients/ingredients.controller.ts":{"size":1952,"mtime_ns":1786799852237596500,"indexed_at_ns":1787726729384776300,"word_count":165},"backend/src/ingredients/ingredients.module.ts":{"size":406,"mtime_ns":1786799852238596500,"indexed_at_ns":1787726729391513400,"word_count":38},"backend/src/ingredients/ingredients.service.ts":{"size":1526,"mtime_ns":1786799852240108300,"indexed_at_ns":1787726729397517700,"word_count":162},"backend/src/main.ts":{"size":4119,"mtime_ns":1787999006319547500,"indexed_at_ns":1787999341613980900,"word_count":362},"backend/src/menu/menu.controller.ts":{"size":2920,"mtime_ns":1787564348681948800,"indexed_at_ns":1787726729410971900,"word_count":265},"backend/src/menu/menu.module.ts":{"size":267,"mtime_ns":1787148092323869500,"indexed_at_ns":1787726729418641500,"word_count":30},"backend/src/menu/menu.service.ts":{"size":7799,"mtime_ns":1787564362262172600,"indexed_at_ns":1787726729424116700,"word_count":799},"backend/src/orders/dto/create-order.dto.ts":{"size":1899,"mtime_ns":1785327951218626100,"indexed_at_ns":1787726729430534500,"word_count":162},"backend/src/orders/orders.controller.spec.ts":{"size":1910,"mtime_ns":1785327951219627700,"indexed_at_ns":1787726729437590400,"word_count":194},"backend/src/orders/orders.controller.ts":{"size":5930,"mtime_ns":1787072106398077200,"indexed_at_ns":1787726729444156500,"word_count":517},"backend/src/orders/orders.module.ts":{"size":255,"mtime_ns":1783764561697598200,"indexed_at_ns":1787726729449863600,"word_count":28},"backend/src/orders/orders.service.spec.ts":{"size":5121,"mtime_ns":1787729523436876800,"indexed_at_ns":1787729927751553500,"word_count":493},"backend/src/orders/orders.service.ts":{"size":21538,"mtime_ns":1788609394322769200,"indexed_at_ns":1788613605602689400,"word_count":2046},"backend/src/payment/dto/admin-transaction-filter.dto.ts":{"size":2060,"mtime_ns":1787072106401590500,"indexed_at_ns":1787726729467565100,"word_count":191},"backend/src/payment/dto/ebank-checkout.dto.ts":{"size":1378,"mtime_ns":1787394001603461200,"indexed_at_ns":1787726729473467400,"word_count":118},"backend/src/payment/dto/initiate-payment.dto.ts":{"size":775,"mtime_ns":1786870552874246400,"indexed_at_ns":1787726729479997200,"word_count":69},"backend/src/payment/dto/verify-payment.dto.ts":{"size":1421,"mtime_ns":1786894580126857900,"indexed_at_ns":1787726729487007600,"word_count":126},"backend/src/payment/interfaces/payment-gateway.interface.ts":{"size":1330,"mtime_ns":1786870552876751100,"indexed_at_ns":1787726729493007700,"word_count":128},"backend/src/payment/payment.controller.ts":{"size":19204,"mtime_ns":1788609394323871800,"indexed_at_ns":1788613605639615500,"word_count":1576},"backend/src/payment/payment.module.ts":{"size":608,"mtime_ns":1787394001605617900,"indexed_at_ns":1787726729505386600,"word_count":61},"backend/src/payment/payment.service.ts":{"size":40259,"mtime_ns":1788609394325101800,"indexed_at_ns":1788613605650669200,"word_count":3576},"backend/src/payment/zibal-ebank.service.ts":{"size":10087,"mtime_ns":1787461919452306600,"indexed_at_ns":1787726729518640700,"word_count":1006},"backend/src/payment/zibal.service.ts":{"size":25781,"mtime_ns":1787461919453309100,"indexed_at_ns":1787726729525641200,"word_count":2490},"backend/src/pets/dto/create-health-log.dto.ts":{"size":761,"mtime_ns":1785327951229443300,"indexed_at_ns":1787726729532595600,"word_count":69},"backend/src/pets/dto/create-pet.dto.ts":{"size":1143,"mtime_ns":1785327951230948800,"indexed_at_ns":1787726729539689500,"word_count":104},"backend/src/pets/dto/create-reminder.dto.ts":{"size":810,"mtime_ns":1785327951231958200,"indexed_at_ns":1787726729545689700,"word_count":71},"backend/src/pets/dto/update-pet.dto.ts":{"size":160,"mtime_ns":1783764561709557500,"indexed_at_ns":1787726729551201600,"word_count":18},"backend/src/pets/pets.controller.spec.ts":{"size":2544,"mtime_ns":1786799852248118800,"indexed_at_ns":1787726729556953000,"word_count":269},"backend/src/pets/pets.controller.ts":{"size":8427,"mtime_ns":1787461919454308900,"indexed_at_ns":1787726729563595800,"word_count":781},"backend/src/pets/pets.module.ts":{"size":241,"mtime_ns":1783764561714469800,"indexed_at_ns":1787726729570135400,"word_count":28},"backend/src/pets/pets.service.spec.ts":{"size":2961,"mtime_ns":1785327951238208000,"indexed_at_ns":1787726729576202600,"word_count":272},"backend/src/pets/pets.service.ts":{"size":6978,"mtime_ns":1786799852250117400,"indexed_at_ns":1787726729581853500,"word_count":710},"backend/src/prescriptions/prescriptions.controller.ts":{"size":2356,"mtime_ns":1786799852253748300,"indexed_at_ns":1787726729589105100,"word_count":232},"backend/src/prescriptions/prescriptions.module.ts":{"size":495,"mtime_ns":1786954681815809200,"indexed_at_ns":1787726729595362900,"word_count":45},"backend/src/prescriptions/prescriptions.service.ts":{"size":4666,"mtime_ns":1787072106408779000,"indexed_at_ns":1787726729601839800,"word_count":498},"backend/src/prisma/prisma.module.ts":{"size":210,"mtime_ns":1783764561718199800,"indexed_at_ns":1787726729608494400,"word_count":24},"backend/src/prisma/prisma.service.ts":{"size":4250,"mtime_ns":1787640806107781000,"indexed_at_ns":1787726729614499200,"word_count":425},"backend/src/products/dto/get-products.dto.ts":{"size":1320,"mtime_ns":1786799852260271600,"indexed_at_ns":1787726729621151100,"word_count":115},"backend/src/products/products.controller.spec.ts":{"size":1863,"mtime_ns":1785327951243280800,"indexed_at_ns":1787726729629866100,"word_count":166},"backend/src/products/products.controller.ts":{"size":2445,"mtime_ns":1786799852261281700,"indexed_at_ns":1787726729636530800,"word_count":209},"backend/src/products/products.module.ts":{"size":340,"mtime_ns":1787999968301264900,"indexed_at_ns":1788000007911577500,"word_count":35},"backend/src/products/products.service.spec.ts":{"size":1860,"mtime_ns":1787729523438446200,"indexed_at_ns":1787729927908082400,"word_count":175},"backend/src/products/products.service.ts":{"size":7842,"mtime_ns":1788334048805380100,"indexed_at_ns":1788334713972877000,"word_count":807},"backend/src/redis/redis.module.ts":{"size":205,"mtime_ns":1783764561727662100,"indexed_at_ns":1787726729660667100,"word_count":24},"backend/src/redis/redis.service.spec.ts":{"size":1525,"mtime_ns":1783764561728672300,"indexed_at_ns":1787726729667111900,"word_count":145},"backend/src/redis/redis.service.ts":{"size":1202,"mtime_ns":1786895436211834600,"indexed_at_ns":1787726729673119800,"word_count":132},"backend/src/reviews/dto/create-review.dto.ts":{"size":949,"mtime_ns":1787072106414306300,"indexed_at_ns":1787726729680066000,"word_count":92},"backend/src/reviews/dto/update-review.dto.ts":{"size":534,"mtime_ns":1787072106415805700,"indexed_at_ns":1787726729686118000,"word_count":53},"backend/src/reviews/reviews.controller.ts":{"size":3318,"mtime_ns":1787645037375268800,"indexed_at_ns":1787726729692109200,"word_count":329},"backend/src/reviews/reviews.module.ts":{"size":374,"mtime_ns":1786944769517310800,"indexed_at_ns":1787726729699837600,"word_count":38},"backend/src/reviews/reviews.service.ts":{"size":7013,"mtime_ns":1787579631775586600,"indexed_at_ns":1787726729706361600,"word_count":742},"backend/src/seo/seo.controller.ts":{"size":904,"mtime_ns":1785327951247283200,"indexed_at_ns":1787726729713027000,"word_count":85},"backend/src/seo/seo.module.ts":{"size":342,"mtime_ns":1785148022268580900,"indexed_at_ns":1787726729720026400,"word_count":38},"backend/src/seo/seo.service.ts":{"size":2023,"mtime_ns":1787127978249385200,"indexed_at_ns":1787726729726026200,"word_count":182},"backend/src/settings/default-ui-texts.ts":{"size":19254,"mtime_ns":1787999006320546900,"indexed_at_ns":1787999341882239600,"word_count":1538},"backend/src/settings/dto/sms-log-query.dto.ts":{"size":1343,"mtime_ns":1787072106421339300,"indexed_at_ns":1787726729739063400,"word_count":125},"backend/src/settings/settings.controller.spec.ts":{"size":2855,"mtime_ns":1787729523438446200,"indexed_at_ns":1787729927987436700,"word_count":239},"backend/src/settings/settings.controller.ts":{"size":9726,"mtime_ns":1788609394326111700,"indexed_at_ns":1788613605848234200,"word_count":762},"backend/src/settings/settings.module.ts":{"size":382,"mtime_ns":1783764561735515700,"indexed_at_ns":1787726729758697700,"word_count":38},"backend/src/settings/settings.service.spec.ts":{"size":3028,"mtime_ns":1787729523439452400,"indexed_at_ns":1787729928002596300,"word_count":279},"backend/src/settings/settings.service.ts":{"size":23005,"mtime_ns":1788609394327111600,"indexed_at_ns":1788613605865219900,"word_count":1766},"backend/src/smart-advisor/smart-advisor.controller.ts":{"size":1821,"mtime_ns":1786799852275441500,"indexed_at_ns":1787726729775867900,"word_count":152},"backend/src/smart-advisor/smart-advisor.module.ts":{"size":416,"mtime_ns":1786799852276441700,"indexed_at_ns":1787726729782878800,"word_count":38},"backend/src/smart-advisor/smart-advisor.service.ts":{"size":1241,"mtime_ns":1786799852277440400,"indexed_at_ns":1787726729788878100,"word_count":131},"backend/src/testimonials/testimonials.controller.ts":{"size":1905,"mtime_ns":1787148092329786500,"indexed_at_ns":1787726729795446100,"word_count":160},"backend/src/testimonials/testimonials.module.ts":{"size":414,"mtime_ns":1786799852279441800,"indexed_at_ns":1787726729801924900,"word_count":38},"backend/src/testimonials/testimonials.service.ts":{"size":1268,"mtime_ns":1787148092332501600,"indexed_at_ns":1787726729810241500,"word_count":140},"backend/src/tickets/dto/create-ticket.dto.ts":{"size":2374,"mtime_ns":1787072106430874900,"indexed_at_ns":1787726729816278100,"word_count":201},"backend/src/tickets/dto/ticket-query.dto.ts":{"size":1103,"mtime_ns":1787072106431871400,"indexed_at_ns":1787726729824281400,"word_count":106},"backend/src/tickets/tickets.controller.ts":{"size":3114,"mtime_ns":1787072106433878000,"indexed_at_ns":1787726729829734800,"word_count":293},"backend/src/tickets/tickets.module.ts":{"size":374,"mtime_ns":1786890779322296800,"indexed_at_ns":1787726729836741100,"word_count":38},"backend/src/tickets/tickets.service.ts":{"size":7310,"mtime_ns":1787072106434874300,"indexed_at_ns":1787726729844342200,"word_count":781},"backend/src/users/dto/address.dto.ts":{"size":1098,"mtime_ns":1783764561739871500,"indexed_at_ns":1787726729851866000,"word_count":99},"backend/src/users/dto/update-profile.dto.ts":{"size":1068,"mtime_ns":1786885876805472100,"indexed_at_ns":1787726729858986800,"word_count":98},"backend/src/users/users.controller.spec.ts":{"size":3333,"mtime_ns":1785327951253796500,"indexed_at_ns":1787726729865019600,"word_count":322},"backend/src/users/users.controller.ts":{"size":6854,"mtime_ns":1786799852282481500,"indexed_at_ns":1787726729871026300,"word_count":590},"backend/src/users/users.module.ts":{"size":275,"mtime_ns":1783764561748154400,"indexed_at_ns":1787726729878590100,"word_count":30},"backend/src/users/users.service.spec.ts":{"size":3844,"mtime_ns":1787729523440453600,"indexed_at_ns":1787729928098956400,"word_count":320},"backend/src/users/users.service.ts":{"size":9199,"mtime_ns":1788609394329113500,"indexed_at_ns":1788613605960730600,"word_count":861},"backend/src/videos/dto/create-video.dto.ts":{"size":1573,"mtime_ns":1786971396042093900,"indexed_at_ns":1787726729895417800,"word_count":127},"backend/src/videos/dto/get-videos-query.dto.ts":{"size":643,"mtime_ns":1786799852287643500,"indexed_at_ns":1787726729903314300,"word_count":77},"backend/src/videos/videos.controller.ts":{"size":1924,"mtime_ns":1786799852291153100,"indexed_at_ns":1787726729909344900,"word_count":173},"backend/src/videos/videos.module.ts":{"size":283,"mtime_ns":1785148022306583700,"indexed_at_ns":1787726729915346300,"word_count":30},"backend/src/videos/videos.service.ts":{"size":3036,"mtime_ns":1788334048807380600,"indexed_at_ns":1788334714212541600,"word_count":321},"backend/src/wholesale/dto/wholesale-apply.dto.ts":{"size":739,"mtime_ns":1785148022317622300,"indexed_at_ns":1787726729928834600,"word_count":66},"backend/src/wholesale/wholesale.controller.ts":{"size":2037,"mtime_ns":1786799852294177000,"indexed_at_ns":1787726729934839900,"word_count":160},"backend/src/wholesale/wholesale.module.ts":{"size":390,"mtime_ns":1785148022328746300,"indexed_at_ns":1787726729941840900,"word_count":38},"backend/src/wholesale/wholesale.service.ts":{"size":2618,"mtime_ns":1788584193713366900,"indexed_at_ns":1788608119381476800,"word_count":266},"backend/src/wiki/dto/create-wiki.dto.ts":{"size":30,"mtime_ns":1783764561752933200,"indexed_at_ns":1787726729953896900,"word_count":4},"backend/src/wiki/dto/update-wiki.dto.ts":{"size":164,"mtime_ns":1783764561753945200,"indexed_at_ns":1787726729959896600,"word_count":18},"backend/src/wiki/entities/wiki.entity.ts":{"size":21,"mtime_ns":1783764561755039400,"indexed_at_ns":1787726729966410900,"word_count":4},"backend/src/wiki/wiki.controller.ts":{"size":1219,"mtime_ns":1785327951272850400,"indexed_at_ns":1787726729972418600,"word_count":110},"backend/src/wiki/wiki.module.ts":{"size":241,"mtime_ns":1783764561756925000,"indexed_at_ns":1787726729978966700,"word_count":28},"backend/src/wiki/wiki.service.ts":{"size":1562,"mtime_ns":1786799852295173000,"indexed_at_ns":1787726729985599000,"word_count":174},"backend/test/app-audit-verification.e2e-spec.d.ts":{"size":11,"mtime_ns":1787073059109005600,"indexed_at_ns":1787726729992165500,"word_count":2},"backend/test/app-audit-verification.e2e-spec.js":{"size":8429,"mtime_ns":1787073059110516300,"indexed_at_ns":1787726729998303900,"word_count":714},"backend/test/app-audit-verification.e2e-spec.ts":{"size":6464,"mtime_ns":1786799852296174700,"indexed_at_ns":1787726730009127800,"word_count":569},"backend/test/app.e2e-spec.d.ts":{"size":11,"mtime_ns":1787073059112563300,"indexed_at_ns":1787726730014789500,"word_count":2},"backend/test/app.e2e-spec.js":{"size":1228,"mtime_ns":1787073059113572500,"indexed_at_ns":1787726730020887300,"word_count":97},"backend/test/app.e2e-spec.ts":{"size":981,"mtime_ns":1786799852297175000,"indexed_at_ns":1787726730030564200,"word_count":83},"backend/test/jest-e2e.json":{"size":183,"mtime_ns":1783764561762911800,"indexed_at_ns":1787726739771257900,"word_count":17,"hashes":{"backend/test/jest-e2e.json":"94091f560937212ad7027afcb77e62e6ac79e3e4cb401c3a16a56e7be4cac721"}},"backend/tsconfig.build.json":{"size":107,"mtime_ns":1783764561763447000,"indexed_at_ns":1787726739772258300,"word_count":10,"hashes":{"backend/tsconfig.build.json":"1f47c7dc3c8b5a15558654f45f21e0f553acc1680046f09dc24428e8538c4f9d"}},"backend/tsconfig.json":{"size":785,"mtime_ns":1787073059116167600,"indexed_at_ns":1787726739773257700,"word_count":56,"hashes":{"backend/tsconfig.json":"9b20fbca537d1e55f3a113fcee6683f0eb1f06752d3c8c52edf26eef8e2053f2"}},"backend/uploads/1781288429353-508765350.jpg":{"size":110246,"mtime_ns":1783764561766257000,"indexed_at_ns":1787726730057371500,"word_count":3882},"canina.md":{"size":21919,"mtime_ns":1786885876809472400,"indexed_at_ns":1787726730067353200,"word_count":1983},"canina.pdf":{"size":2858373,"mtime_ns":1785148022370811500,"indexed_at_ns":1787726730072352400,"word_count":0},"docker-compose.yml":{"size":2147,"mtime_ns":1787752951349742200,"indexed_at_ns":1787752967203975800,"word_count":125},"docs/01-introduction.md":{"size":5537,"mtime_ns":1786885876812474900,"indexed_at_ns":1787726730085575100,"word_count":523},"docs/02-user-guide.md":{"size":4303,"mtime_ns":1786885876813985900,"indexed_at_ns":1787726730091574900,"word_count":422},"docs/03-developer-guide.md":{"size":6717,"mtime_ns":1783764561771660500,"indexed_at_ns":1787726730099089600,"word_count":678},"docs/04-setup-and-deployment.md":{"size":4005,"mtime_ns":1787127978256847800,"indexed_at_ns":1787726739861230800,"word_count":425,"hashes":{"docs/04-setup-and-deployment.md":"aee712cb19a8475be75f8073f7e39870e704923a561ffb9f4ce4b31b1d4bd830"}},"docs/05-devops-and-monitoring.md":{"size":3590,"mtime_ns":1783764561774446100,"indexed_at_ns":1787726739862230700,"word_count":374,"hashes":{"docs/05-devops-and-monitoring.md":"53f1f45bbbdd3cf81cb4bc082ef4e49f506627f10f581d3c4b835028d02b5421"}},"docs/06-testing.md":{"size":4214,"mtime_ns":1783764561774967500,"indexed_at_ns":1787726739862740900,"word_count":457,"hashes":{"docs/06-testing.md":"69d50bd5e233f030d8076b55b69599cee201e1c393b7ee1beeb495c304fd4bd3"}},"docs/README.md":{"size":2740,"mtime_ns":1786885876816996700,"indexed_at_ns":1787726739864750200,"word_count":253,"hashes":{"docs/readme.md":"1b7ffde4b290e742802fc554f2dd2f7a2316fe25bd1cd328421ffa823b36f40f"}},"docs/audit/00-repository-map.md":{"size":3171,"mtime_ns":1786799852298174200,"indexed_at_ns":1787726739865750000,"word_count":351,"hashes":{"docs/audit/00-repository-map.md":"dde4a63c991d0f469086a147df03b97d8370cd75fa19cc83af1199f267d7bc55"}},"docs/audit/01-system-discovery.md":{"size":3790,"mtime_ns":1786799852299174400,"indexed_at_ns":1787726739866750300,"word_count":467,"hashes":{"docs/audit/01-system-discovery.md":"6c91253cac025506db71adea33a054f88f4c367ba81fc3cb1b85c2bdcfec5c70"}},"docs/audit/02-audit-plan.md":{"size":5058,"mtime_ns":1786799852300175400,"indexed_at_ns":1787726739867750300,"word_count":530,"hashes":{"docs/audit/02-audit-plan.md":"b623d8f8c2b8a14c1ddca1ad956cd8afc9203f7a94eda8e63fd608bc8e9164d1"}},"docs/audit/03-baseline-command-plan.md":{"size":4904,"mtime_ns":1786799852300175400,"indexed_at_ns":1787726739868750300,"word_count":735,"hashes":{"docs/audit/03-baseline-command-plan.md":"fcf49beae52c69d7e9cf85967f028052fa1a78eaae5a2bb9b18072b0273e80e1"}},"docs/audit/04-open-questions.md":{"size":1690,"mtime_ns":1786799852301682100,"indexed_at_ns":1787726739869750100,"word_count":224,"hashes":{"docs/audit/04-open-questions.md":"02fbd51a9131da0b12122a5280cc6f842c299b436a72b117e2263f011b9ebf9c"}},"docs/audit/05-architectural-audit.md":{"size":4884,"mtime_ns":1786799852302689800,"indexed_at_ns":1787726730169702300,"word_count":560},"docs/audit/06-storefront-audit.md":{"size":4191,"mtime_ns":1786799852303691400,"indexed_at_ns":1787726739871758800,"word_count":520,"hashes":{"docs/audit/06-storefront-audit.md":"1e2f2d9d867dc553f503ef91b3bd60310202225da12bc7d324e192f4e15d8c38"}},"docs/audit/07-backend-audit.md":{"size":5037,"mtime_ns":1786799852304689900,"indexed_at_ns":1787726739872758800,"word_count":581,"hashes":{"docs/audit/07-backend-audit.md":"0436a967b82026334bf45c9ca677d1e79ce688681bea4dc06a7fd19e2d5a2129"}},"docs/audit/08-admin-features-audit.md":{"size":4222,"mtime_ns":1786799852305951400,"indexed_at_ns":1787726739873758600,"word_count":479,"hashes":{"docs/audit/08-admin-features-audit.md":"dda5b0bae4f843a51274269dcb91d8b65db2f2917d336d511790da4718b05b8d"}},"docs/audit/09-database-audit.md":{"size":4126,"mtime_ns":1786799852306969500,"indexed_at_ns":1787726739874758900,"word_count":521,"hashes":{"docs/audit/09-database-audit.md":"d4f82b84ae6c1899ab4da1310414d993d9c23dcd2759120fbe551f5b8da95a08"}},"docs/audit/10-security-audit.md":{"size":5560,"mtime_ns":1786799852307952600,"indexed_at_ns":1787726730204465900,"word_count":678},"docs/audit/11-code-quality-audit.md":{"size":3379,"mtime_ns":1786799852308957000,"indexed_at_ns":1787726739875758500,"word_count":419,"hashes":{"docs/audit/11-code-quality-audit.md":"b6b9a4845e0bd5674d897c08f5451f8cab4df22722826f7c9d55ca19b94d88da"}},"docs/audit/12-testing-audit.md":{"size":4106,"mtime_ns":1786799852309952600,"indexed_at_ns":1787726739877758700,"word_count":486,"hashes":{"docs/audit/12-testing-audit.md":"8bdf2058520a88de4d08c0635999de8f79fdab83055ef560ca3a865026b6450a"}},"docs/audit/13-devops-audit.md":{"size":3435,"mtime_ns":1786799852310953800,"indexed_at_ns":1787726739878758700,"word_count":440,"hashes":{"docs/audit/13-devops-audit.md":"d21daac201fcfc3a0e27c27348806f3f5d2790071578dcb98e7869cd6e9ec8a9"}},"docs/audit/14-documentation-audit.md":{"size":3311,"mtime_ns":1786799852311952200,"indexed_at_ns":1787726739879758400,"word_count":379,"hashes":{"docs/audit/14-documentation-audit.md":"e64be175bd632a05e37be823621eb8a8f13bdb74887d10f5f20887d41cef5c62"}},"docs/audit/15-raw-findings-index.json":{"size":9909,"mtime_ns":1786799852313066900,"indexed_at_ns":1787726739774686100,"word_count":817,"hashes":{"docs/audit/15-raw-findings-index.json":"3c1e582431f5f25edd2c38285c9d59f83c83d5348eaf0ced91d6e7c94a9afb6d"}},"docs/audit/16-deep-audit-summary.md":{"size":3111,"mtime_ns":1786799852313066900,"indexed_at_ns":1787726739880758700,"word_count":393,"hashes":{"docs/audit/16-deep-audit-summary.md":"8ea08de6ac54dddd9da6de934bc850bb31ab7e3c5470059d02d7f84dd120a0e4"}},"docs/audit/17-source-coverage-manifest.json":{"size":128714,"mtime_ns":1786799852315065000,"indexed_at_ns":1787726739775692000,"word_count":7827,"hashes":{"docs/audit/17-source-coverage-manifest.json":"834e6c341db760439d2e7a9c17531b03c17151ab0f2f16b92aac8a350bcae51d"}},"docs/audit/18-compiler-diagnostic-dispositions.md":{"size":1961,"mtime_ns":1786799852315065000,"indexed_at_ns":1787726739881758500,"word_count":285,"hashes":{"docs/audit/18-compiler-diagnostic-dispositions.md":"246b9164725e89c67c76f2305cd128f0c0f9bfdba46e45e0e958fe92ccdcda53"}},"docs/audit/19-finding-verification-report.md":{"size":5464,"mtime_ns":1786799852316064800,"indexed_at_ns":1787726739883758400,"word_count":753,"hashes":{"docs/audit/19-finding-verification-report.md":"1cd1bc37f9e76ba7e4d4ef82b8565def786abfeb159bc4d822e364e3f2ea694f"}},"docs/audit/20-verified-findings-index.json":{"size":21797,"mtime_ns":1786799852317071400,"indexed_at_ns":1787726739777692600,"word_count":1903,"hashes":{"docs/audit/20-verified-findings-index.json":"b20d0b140bd727faefde9f29aa4d787199dd386464030eecdf58e5a8ab629442"}},"docs/audit/21-phase2-quality-gate-summary.md":{"size":1706,"mtime_ns":1786799852318066000,"indexed_at_ns":1787726739883758400,"word_count":211,"hashes":{"docs/audit/21-phase2-quality-gate-summary.md":"1b117f866e73cd17c43e3a4e856584f03997a3c897d1de9afbd128ff8a86d09e"}},"docs/audit/22-tracked-first-party-files.txt":{"size":4452,"mtime_ns":1786799852319066000,"indexed_at_ns":1787726730289099900,"word_count":139},"docs/audit/23-untracked-first-party-files.txt":{"size":59,"mtime_ns":1786799852319066000,"indexed_at_ns":1787726730295099800,"word_count":7},"docs/audit/24-omitted-file-inspection-report.md":{"size":2462,"mtime_ns":1786799852320065700,"indexed_at_ns":1787726739885266400,"word_count":227,"hashes":{"docs/audit/24-omitted-file-inspection-report.md":"d4484eea65f1861b9b6a30813d2c233d947c2965a13ed5b399462b80ca9c1513"}},"docs/audit/25-reference-integrity-validation.json":{"size":1002,"mtime_ns":1786799852321571600,"indexed_at_ns":1787726739778692300,"word_count":82,"hashes":{"docs/audit/25-reference-integrity-validation.json":"31b900ed297325cabee3e0804809ecd4229f4427283e449f5d82951bb5ed7fde"}},"docs/audit/26-phase2-integrity-repair-report.md":{"size":3191,"mtime_ns":1786799852322091800,"indexed_at_ns":1787726739887276800,"word_count":385,"hashes":{"docs/audit/26-phase2-integrity-repair-report.md":"2b2f385705db6729fccedc63db0f5709afa23e08a80fc859fe0138b416356cd9"}},"docs/audit/27-all-tracked-repository-files.txt":{"size":4631,"mtime_ns":1786799852323099900,"indexed_at_ns":1787726730320693600,"word_count":148},"docs/audit/28-full-repository-classification.json":{"size":27913,"mtime_ns":1786799852324099500,"indexed_at_ns":1787726739779692400,"word_count":1782,"hashes":{"docs/audit/28-full-repository-classification.json":"bcb50229ceddb267c8839ee69c05f5e5c8c4460485c92849532bcf163c37faa8"}},"docs/audit/29-file-content-evidence.json":{"size":109095,"mtime_ns":1786799852325608100,"indexed_at_ns":1787726739781691000,"word_count":9098,"hashes":{"docs/audit/29-file-content-evidence.json":"c4696525e8ab3c252ff9b6b38d5882225e0a9016698111df28064edbe7bf5124"}},"docs/audit/30-compiler-diagnostics-index.json":{"size":3707,"mtime_ns":1786799852326617100,"indexed_at_ns":1787726739783194500,"word_count":324,"hashes":{"docs/audit/30-compiler-diagnostics-index.json":"85bd1a964e41cc5e615c7260be2beb54b49dd444da40d96ae31e2a33c1c6bc24"}},"docs/audit/31-module-audit-closure.md":{"size":7587,"mtime_ns":1786799852327616800,"indexed_at_ns":1787726739888276700,"word_count":709,"hashes":{"docs/audit/31-module-audit-closure.md":"a1c9d7902131d71cf87a072876cc309ac8dfc7cd6e1f33e9619ac12d99f685ba"}},"docs/audit/32-evidence-grade-validation.json":{"size":1613,"mtime_ns":1786799852328616800,"indexed_at_ns":1787726739784200700,"word_count":123,"hashes":{"docs/audit/32-evidence-grade-validation.json":"12ddcc21ff65a2aa76845935ebc0d8313c39991335356fbe3ae7cdd201251af5"}},"docs/audit/33-final-phase2-audit-closure.md":{"size":2535,"mtime_ns":1786799852328616800,"indexed_at_ns":1787726739889276900,"word_count":271,"hashes":{"docs/audit/33-final-phase2-audit-closure.md":"217cadb664c7f7d27f8f849ea1249dfd88d5398fd2af154fd385c80e4d559bb1"}},"docs/audit/34-repository-observations.json":{"size":594,"mtime_ns":1786799852329618700,"indexed_at_ns":1787726739785199000,"word_count":49,"hashes":{"docs/audit/34-repository-observations.json":"28ce67ed3f5bcc3e5c3c80d73a16a34d8053d570be0af62be8afaffbc9318a27"}},"docs/audit/35-semantic-review-ledger.json":{"size":99353,"mtime_ns":1786799852330616000,"indexed_at_ns":1787726739786706200,"word_count":6011,"hashes":{"docs/audit/35-semantic-review-ledger.json":"ac0529050e87efc9e2b5a6c5b3a2ce6379186b4b07f23d8ec9cebf214ff885ef"}},"docs/audit/36-mandatory-semantic-scope.json":{"size":7960,"mtime_ns":1786799852331617100,"indexed_at_ns":1787726739787707200,"word_count":638,"hashes":{"docs/audit/36-mandatory-semantic-scope.json":"af62db825dd527009b8d79a6edab6ab627fe55303d3f7fd1c2d8e5fab9a8760b"}},"docs/audit/ADR-AUTH-001.md":{"size":3274,"mtime_ns":1786799852332642700,"indexed_at_ns":1787726730388254300,"word_count":398},"docs/audit/CROSS_BOUNDARY_DEPENDENCIES.md":{"size":2146,"mtime_ns":1786799852332642700,"indexed_at_ns":1787726730394794200,"word_count":239},"docs/audit/FRONTEND_INTEGRATION_REQUIREMENTS.md":{"size":15307,"mtime_ns":1787127978258848200,"indexed_at_ns":1787726730402390500,"word_count":1579},"docs/audit/MASTER-TASK-BACKLOG.md":{"size":30107,"mtime_ns":1786799852335470200,"indexed_at_ns":1787726730410947100,"word_count":3510},"docs/audit/audit-state.json":{"size":4135,"mtime_ns":1786799852337382200,"indexed_at_ns":1787726739788704900,"word_count":267,"hashes":{"docs/audit/audit-state.json":"4b804494570a2812170cb8dab35d15da659f57d6e637652328725e956f7d98aa"}},"docs/audit/build_manifest.js":{"size":4060,"mtime_ns":1786799852338393200,"indexed_at_ns":1787726730421985600,"word_count":348},"docs/audit/frontend-route-map.md":{"size":2558,"mtime_ns":1786799852339389800,"indexed_at_ns":1787726730429495100,"word_count":329},"docs/audit/generate_classification.js":{"size":2186,"mtime_ns":1786799852339389800,"indexed_at_ns":1787726730434093300,"word_count":204},"docs/audit/generate_evidence.js":{"size":3098,"mtime_ns":1786799852340390100,"indexed_at_ns":1787726730440532500,"word_count":253},"docs/audit/generate_ledger.js":{"size":7648,"mtime_ns":1786799852341897300,"indexed_at_ns":1787726730446281100,"word_count":620},"docs/audit/generate_manifest.js":{"size":6357,"mtime_ns":1786799852341897300,"indexed_at_ns":1787726730452526800,"word_count":489},"docs/audit/master-task-backlog.json":{"size":22336,"mtime_ns":1786799852342906700,"indexed_at_ns":1787726739790706500,"word_count":2071,"hashes":{"docs/audit/master-task-backlog.json":"f1c994d971b4e58165ab9f74f8b69b97c07fe74005f64dc11badf5e287b5fd28"}},"docs/audit/phase3-execution-plan.md":{"size":6007,"mtime_ns":1786799852343952400,"indexed_at_ns":1787726730466602900,"word_count":736},"docs/audit/phase3-traceability-matrix.md":{"size":5237,"mtime_ns":1786799852344952800,"indexed_at_ns":1787726739890276800,"word_count":692,"hashes":{"docs/audit/phase3-traceability-matrix.md":"c46b1b09c5f6be7f54ba888652e69698b26d955a8e7c8e4fa19cda8729ee2f7b"}},"docs/audit/phase3.1-backlog-review.md":{"size":9737,"mtime_ns":1786799852345952800,"indexed_at_ns":1787726739891276700,"word_count":1202,"hashes":{"docs/audit/phase3.1-backlog-review.md":"021895bb0b90dd75935ebe0317d3198a2c448ccdd6861b1302cc29735f48da82"}},"docs/audit/phase3.1-change-log.md":{"size":3756,"mtime_ns":1786799852346954800,"indexed_at_ns":1787726739893276700,"word_count":451,"hashes":{"docs/audit/phase3.1-change-log.md":"093d244c2788ead47c69e3068ccf66930ba52e04430bdba87020cb4a4edcb817"}},"docs/audit/phase3.2-change-log.md":{"size":8272,"mtime_ns":1786799852347952200,"indexed_at_ns":1787726739894276600,"word_count":930,"hashes":{"docs/audit/phase3.2-change-log.md":"00bff98e2ae2ef50c4daf265d5f34469f21c244b6dca88b70e1f9ffa17a71d83"}},"docs/audit/phase3.2-implementation-readiness.md":{"size":4694,"mtime_ns":1786799852347952200,"indexed_at_ns":1787726739895276700,"word_count":517,"hashes":{"docs/audit/phase3.2-implementation-readiness.md":"9f1e0335fdc0fa2db0fd5ceaa97e50be85d04bc1ad5d3db1ef74e85de97f71a6"}},"docs/audit/rebuild_honest_ledger.js":{"size":6113,"mtime_ns":1786799852348952900,"indexed_at_ns":1787726730506440800,"word_count":559},"docs/audit/sync_honest_manifest.js":{"size":1213,"mtime_ns":1786799852349953100,"indexed_at_ns":1787726730513042200,"word_count":75},"docs/audit/sync_manifest.js":{"size":997,"mtime_ns":1786799852350953300,"indexed_at_ns":1787726730519090300,"word_count":62},"docs/audit/validate_evidence_grade.js":{"size":6141,"mtime_ns":1786799852351954100,"indexed_at_ns":1787726730524859000,"word_count":526},"docs/audit/validate_integrity.js":{"size":3408,"mtime_ns":1786799852352952400,"indexed_at_ns":1787726730530859600,"word_count":284},"docs/backlog.md":{"size":26175,"mtime_ns":1786799852356021600,"indexed_at_ns":1787726730538035500,"word_count":2834},"frontend/admin-panel/README.md":{"size":2425,"mtime_ns":1783764561778952800,"indexed_at_ns":1787726739896276700,"word_count":212,"hashes":{"frontend/admin-panel/readme.md":"3945c052249ebd020b013303d5921815b52d847bd36c748a03bfdc8eb2a390b8"}},"frontend/admin-panel/eslint.config.js":{"size":906,"mtime_ns":1787148092334501700,"indexed_at_ns":1787726730554130000,"word_count":69},"frontend/admin-panel/index.html":{"size":363,"mtime_ns":1783764561780558500,"indexed_at_ns":1787726730559871600,"word_count":28},"frontend/admin-panel/package.json":{"size":1072,"mtime_ns":1788000055991496000,"indexed_at_ns":1788000470938176500,"word_count":84,"hashes":{"frontend/admin-panel/package.json":"455b58b802fb0ba4c5aabfa83f023a9e9b692f1d6a2e71b66952509b1a7dd6da"}},"frontend/admin-panel/postcss.config.js":{"size":91,"mtime_ns":1783764561796281900,"indexed_at_ns":1787726730571159000,"word_count":11},"frontend/admin-panel/public/favicon.svg":{"size":9522,"mtime_ns":1783764561797801500,"indexed_at_ns":1787726730577396200,"word_count":491},"frontend/admin-panel/public/fonts/A-Iranian-Sans/A-Iranian-Sans/read me!.txt":{"size":281,"mtime_ns":1783856792435855000,"indexed_at_ns":1787726730602607800,"word_count":15},"frontend/admin-panel/public/fonts/IranNastaliq/IranNastaliq/read me!.txt":{"size":281,"mtime_ns":1783856792445365000,"indexed_at_ns":1787726730626154600,"word_count":15},"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/CHANGELOG.md":{"size":8519,"mtime_ns":1783856792454604400,"indexed_at_ns":1787726739897276800,"word_count":1077,"hashes":{"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/changelog.md":"4003fe6a71221e735897cfe03ac11bd59ef9951572007763151bf95663256a3d"}},"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/README.md":{"size":4136,"mtime_ns":1783856792502503100,"indexed_at_ns":1787726739898786800,"word_count":366,"hashes":{"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/readme.md":"880beb9c92fd527a098de27bc779b6891a36af98ae994f506a64be199ed50392"}},"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/sample-variable.gif":{"size":236102,"mtime_ns":1783856792546496500,"indexed_at_ns":1787726731162750800,"word_count":10881},"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/CHANGELOG.md":{"size":7177,"mtime_ns":1783856792548005600,"indexed_at_ns":1787726739900396600,"word_count":951,"hashes":{"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/changelog.md":"a735e1b29ad9d3361a0d1ecfd5c1f2f78c200a272918606decc377c469944321"}},"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/README.md":{"size":3696,"mtime_ns":1783856792595155200,"indexed_at_ns":1787726739901406500,"word_count":283,"hashes":{"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/readme.md":"3b6e2d78372a72b67e339bfd7331d408f43245840749d2f46df5c356a208fbfd"}},"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/sample.png":{"size":85019,"mtime_ns":1783856792645667900,"indexed_at_ns":1787726731663450200,"word_count":2615},"frontend/admin-panel/public/fonts/vazirmatn-v33.003/AUTHORS.txt":{"size":339,"mtime_ns":1783856792646666000,"indexed_at_ns":1787726731673001900,"word_count":55},"frontend/admin-panel/public/fonts/vazirmatn-v33.003/CHANGELOG.md":{"size":38550,"mtime_ns":1783856792647671700,"indexed_at_ns":1787726739903406700,"word_count":5086,"hashes":{"frontend/admin-panel/public/fonts/vazirmatn-v33.003/changelog.md":"5207a2a148ccfd0338342325a39d9b5b2d39514429c93e0aedf68b21f23fd71e"}},"frontend/admin-panel/public/fonts/vazirmatn-v33.003/OFL.txt":{"size":4391,"mtime_ns":1783856792648669800,"indexed_at_ns":1787726731688185800,"word_count":671},"frontend/admin-panel/public/fonts/vazirmatn-v33.003/README.md":{"size":2339,"mtime_ns":1783856792648669800,"indexed_at_ns":1787726739904406600,"word_count":270,"hashes":{"frontend/admin-panel/public/fonts/vazirmatn-v33.003/readme.md":"0d736c7dd11e89622e7105e6a5958fc3d83ec827b8a00debc0943bc8e3a3d201"}},"frontend/admin-panel/public/fonts/vazirmatn-v33.003/\u0631\u0627\u0647\u0646\u0645\u0627.txt":{"size":211,"mtime_ns":1783856792971535000,"indexed_at_ns":1787726733915800800,"word_count":14},"frontend/admin-panel/public/icons.svg":{"size":5031,"mtime_ns":1783764561799320300,"indexed_at_ns":1787726733920800200,"word_count":382},"frontend/admin-panel/src/App.tsx":{"size":1088,"mtime_ns":1786799852365481100,"indexed_at_ns":1787726733931929300,"word_count":99},"frontend/admin-panel/src/assets/hero.png":{"size":13057,"mtime_ns":1783764561812863000,"indexed_at_ns":1787726733938940400,"word_count":437},"frontend/admin-panel/src/assets/react.svg":{"size":4126,"mtime_ns":1783764561813924700,"indexed_at_ns":1787726733944940500,"word_count":366},"frontend/admin-panel/src/assets/vite.svg":{"size":8709,"mtime_ns":1783764561814995700,"indexed_at_ns":1787726733951568000,"word_count":439},"frontend/admin-panel/src/components/Layout.tsx":{"size":726,"mtime_ns":1784621786958594800,"indexed_at_ns":1787726733957572200,"word_count":69},"frontend/admin-panel/src/components/ProtectedRoute.tsx":{"size":2336,"mtime_ns":1786799852369164100,"indexed_at_ns":1787726733964577700,"word_count":210},"frontend/admin-panel/src/components/RouteErrorBoundary.tsx":{"size":4042,"mtime_ns":1787062174623011100,"indexed_at_ns":1787726733970575200,"word_count":350},"frontend/admin-panel/src/components/Sidebar.tsx":{"size":13111,"mtime_ns":1787461920842084500,"indexed_at_ns":1787726733977661300,"word_count":1198},"frontend/admin-panel/src/components/Topbar.tsx":{"size":19016,"mtime_ns":1787466234964385700,"indexed_at_ns":1787726733983181100,"word_count":1586},"frontend/admin-panel/src/components/TransactionReceiptModal.tsx":{"size":9674,"mtime_ns":1787405554804618300,"indexed_at_ns":1787726733989180000,"word_count":738},"frontend/admin-panel/src/components/ui/Badge.tsx":{"size":1554,"mtime_ns":1787461920844094000,"indexed_at_ns":1787726733997180400,"word_count":158},"frontend/admin-panel/src/components/ui/Button.tsx":{"size":3591,"mtime_ns":1787467799871536000,"indexed_at_ns":1787726734004723300,"word_count":338},"frontend/admin-panel/src/components/ui/ConfirmModal.tsx":{"size":2294,"mtime_ns":1786972191359099700,"indexed_at_ns":1787726734011333000,"word_count":192},"frontend/admin-panel/src/components/ui/FormField.tsx":{"size":1683,"mtime_ns":1786954681823527000,"indexed_at_ns":1787726734018369200,"word_count":148},"frontend/admin-panel/src/components/ui/IconPickerModal.tsx":{"size":4853,"mtime_ns":1787071159959928200,"indexed_at_ns":1787726734024338100,"word_count":397},"frontend/admin-panel/src/components/ui/ImagePreviewModal.tsx":{"size":3351,"mtime_ns":1786954681824534900,"indexed_at_ns":1787726734032842500,"word_count":270},"frontend/admin-panel/src/components/ui/Input.tsx":{"size":2451,"mtime_ns":1788332598539946700,"indexed_at_ns":1788332708245483800,"word_count":213},"frontend/admin-panel/src/components/ui/MaskableField.tsx":{"size":3246,"mtime_ns":1787405554805712000,"indexed_at_ns":1787726734045422000,"word_count":310},"frontend/admin-panel/src/components/ui/MediaSelector.tsx":{"size":21604,"mtime_ns":1787038450536696800,"indexed_at_ns":1787726734051928800,"word_count":1686},"frontend/admin-panel/src/components/ui/Modal.tsx":{"size":3381,"mtime_ns":1787461920845094300,"indexed_at_ns":1787726734060570900,"word_count":324},"frontend/admin-panel/src/components/ui/Pagination.tsx":{"size":5510,"mtime_ns":1786799852387442100,"indexed_at_ns":1787726734066608900,"word_count":447},"frontend/admin-panel/src/components/ui/PriceInput.tsx":{"size":2633,"mtime_ns":1786948119771162400,"indexed_at_ns":1787726734074127900,"word_count":267},"frontend/admin-panel/src/components/ui/RichTextEditor.tsx":{"size":36574,"mtime_ns":1787980615563542500,"indexed_at_ns":1787981098348418200,"word_count":2767},"frontend/admin-panel/src/components/ui/Select.tsx":{"size":1881,"mtime_ns":1786954681828537500,"indexed_at_ns":1787726734087116300,"word_count":160},"frontend/admin-panel/src/components/ui/Skeleton.tsx":{"size":178,"mtime_ns":1783856792977535800,"indexed_at_ns":1787726734092926500,"word_count":22},"frontend/admin-panel/src/components/ui/Spinner.tsx":{"size":650,"mtime_ns":1783856792979049200,"indexed_at_ns":1787726734100568500,"word_count":67},"frontend/admin-panel/src/components/ui/Textarea.tsx":{"size":1287,"mtime_ns":1786954681828537500,"indexed_at_ns":1787726734107173200,"word_count":110},"frontend/admin-panel/src/components/ui/ThSort.tsx":{"size":1478,"mtime_ns":1787461920845094300,"indexed_at_ns":1787726734113136300,"word_count":148},"frontend/admin-panel/src/components/ui/ToggleSwitch.tsx":{"size":1623,"mtime_ns":1786954681830044900,"indexed_at_ns":1787726734120391600,"word_count":143},"frontend/admin-panel/src/main.tsx":{"size":1055,"mtime_ns":1787062325395038600,"indexed_at_ns":1787726734130217700,"word_count":106},"frontend/admin-panel/src/pages/B2BManager.tsx":{"size":24689,"mtime_ns":1787729527927391700,"indexed_at_ns":1787729932214362700,"word_count":1682},"frontend/admin-panel/src/pages/BannersManager.tsx":{"size":19583,"mtime_ns":1787467799874171700,"indexed_at_ns":1787726734145966800,"word_count":1396},"frontend/admin-panel/src/pages/Blogs.tsx":{"size":82294,"mtime_ns":1787729527928391800,"indexed_at_ns":1787729932225892600,"word_count":5654},"frontend/admin-panel/src/pages/CMS.tsx":{"size":10114,"mtime_ns":1787467933664259800,"indexed_at_ns":1787726734157997900,"word_count":791},"frontend/admin-panel/src/pages/Categories.tsx":{"size":16242,"mtime_ns":1787469989141511600,"indexed_at_ns":1787726734164506500,"word_count":1174},"frontend/admin-panel/src/pages/ContactSubmissions.tsx":{"size":12346,"mtime_ns":1787467799877343800,"indexed_at_ns":1787726734172638600,"word_count":842},"frontend/admin-panel/src/pages/Coupons.tsx":{"size":27669,"mtime_ns":1788332598543451700,"indexed_at_ns":1788332708366710500,"word_count":2138},"frontend/admin-panel/src/pages/Dashboard.tsx":{"size":6006,"mtime_ns":1786885876829510000,"indexed_at_ns":1787726734186274700,"word_count":534},"frontend/admin-panel/src/pages/DoctorsManager.tsx":{"size":23282,"mtime_ns":1787467799879923800,"indexed_at_ns":1787726734193275100,"word_count":1666},"frontend/admin-panel/src/pages/FAQManager.tsx":{"size":12625,"mtime_ns":1787467799881924800,"indexed_at_ns":1787726734201784400,"word_count":937},"frontend/admin-panel/src/pages/FinancialSettingsPage.tsx":{"size":27051,"mtime_ns":1788333161520132500,"indexed_at_ns":1788333266832134200,"word_count":1794},"frontend/admin-panel/src/pages/IngredientsManager.tsx":{"size":17943,"mtime_ns":1787467933669934500,"indexed_at_ns":1787726734213391200,"word_count":1254},"frontend/admin-panel/src/pages/Login.tsx":{"size":11573,"mtime_ns":1788587906733886000,"indexed_at_ns":1788608123807803900,"word_count":838},"frontend/admin-panel/src/pages/Media.tsx":{"size":29374,"mtime_ns":1787467799885925200,"indexed_at_ns":1787726734227390500,"word_count":2304},"frontend/admin-panel/src/pages/MenuManager.tsx":{"size":19625,"mtime_ns":1787469989146215000,"indexed_at_ns":1787726734240896100,"word_count":1512},"frontend/admin-panel/src/pages/MonitoringPage.tsx":{"size":16455,"mtime_ns":1787466234965980200,"indexed_at_ns":1787726734246489100,"word_count":1289},"frontend/admin-panel/src/pages/Orders.tsx":{"size":64822,"mtime_ns":1788609394330111700,"indexed_at_ns":1788613610290338300,"word_count":4808},"frontend/admin-panel/src/pages/PaymentGatewaysPage.tsx":{"size":37893,"mtime_ns":1787467799889939500,"indexed_at_ns":1787726734259598900,"word_count":2521},"frontend/admin-panel/src/pages/Pets.tsx":{"size":16631,"mtime_ns":1787467799891938300,"indexed_at_ns":1787726734268435300,"word_count":1209},"frontend/admin-panel/src/pages/PrescriptionsManager.tsx":{"size":19424,"mtime_ns":1787467799892935800,"indexed_at_ns":1787726734275434500,"word_count":1419},"frontend/admin-panel/src/pages/Products.tsx":{"size":248144,"mtime_ns":1788351605801883800,"indexed_at_ns":1788608123851710200,"word_count":16079},"frontend/admin-panel/src/pages/Reports.tsx":{"size":24050,"mtime_ns":1787729523442451300,"indexed_at_ns":1787729932336128900,"word_count":1832},"frontend/admin-panel/src/pages/Reviews.tsx":{"size":30539,"mtime_ns":1787740536670948600,"indexed_at_ns":1787741544010232200,"word_count":2140},"frontend/admin-panel/src/pages/SeoSettingsPage.tsx":{"size":50513,"mtime_ns":1788343360494035900,"indexed_at_ns":1788608123872221300,"word_count":3404},"frontend/admin-panel/src/pages/Settings.tsx":{"size":24256,"mtime_ns":1787468615457819400,"indexed_at_ns":1787726734308156100,"word_count":1701},"frontend/admin-panel/src/pages/ShippingSettingsPage.tsx":{"size":7615,"mtime_ns":1787467799901935300,"indexed_at_ns":1787726734314725100,"word_count":585},"frontend/admin-panel/src/pages/SmartAdvisorManager.tsx":{"size":13745,"mtime_ns":1787467799902933600,"indexed_at_ns":1787726734320253400,"word_count":1014},"frontend/admin-panel/src/pages/SmsSettingsPage.tsx":{"size":133882,"mtime_ns":1788610217563142800,"indexed_at_ns":1788613610355074400,"word_count":9180},"frontend/admin-panel/src/pages/SslSettingsPage.tsx":{"size":25502,"mtime_ns":1787467799905446700,"indexed_at_ns":1787726734336379700,"word_count":1847},"frontend/admin-panel/src/pages/SystemSettingsPage.tsx":{"size":18951,"mtime_ns":1787742160542543900,"indexed_at_ns":1787742226362423500,"word_count":1264},"frontend/admin-panel/src/pages/TestimonialsManager.tsx":{"size":18547,"mtime_ns":1787467799908955400,"indexed_at_ns":1787726734348881900,"word_count":1297},"frontend/admin-panel/src/pages/Tickets.tsx":{"size":20254,"mtime_ns":1787467799909962900,"indexed_at_ns":1787726734355478000,"word_count":1455},"frontend/admin-panel/src/pages/Transactions.tsx":{"size":45136,"mtime_ns":1787471434872188300,"indexed_at_ns":1787726734362406800,"word_count":3213},"frontend/admin-panel/src/pages/UITexts.tsx":{"size":64687,"mtime_ns":1788587906738676600,"indexed_at_ns":1788608123929931500,"word_count":5471},"frontend/admin-panel/src/pages/Users.tsx":{"size":42038,"mtime_ns":1788587906739671200,"indexed_at_ns":1788608123936596200,"word_count":2827},"frontend/admin-panel/src/pages/Videos.tsx":{"size":25920,"mtime_ns":1787740536675689700,"indexed_at_ns":1787741544096497300,"word_count":1845},"frontend/admin-panel/src/pages/WholesaleApplications.tsx":{"size":6713,"mtime_ns":1787467799916852500,"indexed_at_ns":1787726734390128300,"word_count":505},"frontend/admin-panel/src/pages/Wiki.tsx":{"size":15651,"mtime_ns":1787469989158212800,"indexed_at_ns":1787726734396025400,"word_count":1221},"frontend/admin-panel/src/pages/ZibalPortalPage.tsx":{"size":55699,"mtime_ns":1787570438155805200,"indexed_at_ns":1787726734402122900,"word_count":3753},"frontend/admin-panel/src/routes/adminRoutes.tsx":{"size":6245,"mtime_ns":1787461920854097100,"indexed_at_ns":1787726734408451000,"word_count":603},"frontend/admin-panel/src/services/api.ts":{"size":5190,"mtime_ns":1787997670262225000,"indexed_at_ns":1787998034950007400,"word_count":479},"frontend/admin-panel/src/store/adminAuthStore.ts":{"size":666,"mtime_ns":1786799852469037000,"indexed_at_ns":1787726734421659400,"word_count":65},"frontend/admin-panel/src/types/admin.ts":{"size":4526,"mtime_ns":1788336258608452000,"indexed_at_ns":1788337260287496600,"word_count":483},"frontend/admin-panel/src/utils/lazyWithRetry.ts":{"size":1129,"mtime_ns":1787062174626227900,"indexed_at_ns":1787726734435357300,"word_count":114},"frontend/admin-panel/src/utils/useTableParams.ts":{"size":4060,"mtime_ns":1787461920855096000,"indexed_at_ns":1787726734441273300,"word_count":441},"frontend/admin-panel/tailwind.config.js":{"size":182,"mtime_ns":1783764561861721300,"indexed_at_ns":1787726734447096600,"word_count":20},"frontend/admin-panel/tsconfig.app.json":{"size":633,"mtime_ns":1787055476779566300,"indexed_at_ns":1787726739794704700,"word_count":48,"hashes":{"frontend/admin-panel/tsconfig.app.json":"2d9838ee1119342fd03bf7644781b8b6aced2cbdc908ff186cdd6ab7ab9ba1c4"}},"frontend/admin-panel/tsconfig.json":{"size":119,"mtime_ns":1783764561863393600,"indexed_at_ns":1787726739795705100,"word_count":15,"hashes":{"frontend/admin-panel/tsconfig.json":"7a6c2e21b6eaa2355b4e2ed29db2a767499a88498bde745cdccf3ba8c7f64f2b"}},"frontend/admin-panel/tsconfig.node.json":{"size":591,"mtime_ns":1783764561863923100,"indexed_at_ns":1787726739796704600,"word_count":44,"hashes":{"frontend/admin-panel/tsconfig.node.json":"035a8143cff9651dbb67885756a07cc3f8ed1c5dcbf04a6e2042600b7989d525"}},"frontend/admin-panel/vite.config.ts":{"size":161,"mtime_ns":1783764561864454900,"indexed_at_ns":1787726734467280600,"word_count":18},"frontend/application/AGENTS.md":{"size":717,"mtime_ns":1787127978268943700,"indexed_at_ns":1787726734477280500,"word_count":88},"frontend/application/CLAUDE.md":{"size":11,"mtime_ns":1783764561866744500,"indexed_at_ns":1787726739905406700,"word_count":1,"hashes":{"frontend/application/claude.md":"0776fbbe8c29c6dc861efa70683090a370ab56dc77c22cb9de74895b4c783320"}},"frontend/application/README.md":{"size":1450,"mtime_ns":1783764561867354300,"indexed_at_ns":1787726739906406500,"word_count":155,"hashes":{"frontend/application/readme.md":"dd829cdf325092d859080ac1db3cbf2cca3198e72834f0f228495ef3c49a2240"}},"frontend/application/app/ClientLayout.tsx":{"size":9643,"mtime_ns":1788619472656507800,"indexed_at_ns":1788619692633205000,"word_count":935},"frontend/application/app/HomeClient.tsx":{"size":13529,"mtime_ns":1788587906741672600,"indexed_at_ns":1788608124055744400,"word_count":868},"frontend/application/app/about/page.tsx":{"size":5706,"mtime_ns":1787139270959412500,"indexed_at_ns":1787726734506477700,"word_count":474},"frontend/application/app/api/revalidate/route.ts":{"size":1889,"mtime_ns":1787579631780106700,"indexed_at_ns":1787726734514149300,"word_count":220},"frontend/application/app/b2b/error.tsx":{"size":380,"mtime_ns":1787645037377262000,"indexed_at_ns":1787726734520148500,"word_count":50},"frontend/application/app/b2b/page.tsx":{"size":1506,"mtime_ns":1787644197141618200,"indexed_at_ns":1787726734526117900,"word_count":135},"frontend/application/app/blog/[slug]/page.tsx":{"size":8201,"mtime_ns":1787641161057694000,"indexed_at_ns":1787726734533148700,"word_count":767},"frontend/application/app/blog/error.tsx":{"size":382,"mtime_ns":1787645037378268200,"indexed_at_ns":1787726734540186900,"word_count":50},"frontend/application/app/blog/loading.tsx":{"size":1293,"mtime_ns":1787645037379262800,"indexed_at_ns":1787726734546152600,"word_count":115},"frontend/application/app/blog/page.tsx":{"size":3378,"mtime_ns":1787993003772568700,"indexed_at_ns":1787997305789060800,"word_count":346},"frontend/application/app/blog/rss.xml/route.ts":{"size":3076,"mtime_ns":1787577523710351300,"indexed_at_ns":1787726734558947600,"word_count":280},"frontend/application/app/catalog/CatalogClient.tsx":{"size":1338,"mtime_ns":1788351605803883700,"indexed_at_ns":1788608124133262000,"word_count":124},"frontend/application/app/catalog/page.tsx":{"size":671,"mtime_ns":1787139270965525300,"indexed_at_ns":1787726734570982600,"word_count":66},"frontend/application/app/checkout/page.tsx":{"size":604,"mtime_ns":1787139270967535500,"indexed_at_ns":1787726734576551900,"word_count":60},"frontend/application/app/checkout/success/[id]/page.tsx":{"size":231,"mtime_ns":1783764561878668300,"indexed_at_ns":1787726734582122000,"word_count":31},"frontend/application/app/contact/page.tsx":{"size":2655,"mtime_ns":1787644197143198500,"indexed_at_ns":1787726734588729900,"word_count":214},"frontend/application/app/dashboard/page.tsx":{"size":903,"mtime_ns":1787394935318217400,"indexed_at_ns":1787726734595730700,"word_count":83},"frontend/application/app/error.tsx":{"size":383,"mtime_ns":1785148022478709000,"indexed_at_ns":1787726734601792600,"word_count":50},"frontend/application/app/layout.tsx":{"size":6818,"mtime_ns":1788354488237712300,"indexed_at_ns":1788608124192280700,"word_count":547},"frontend/application/app/loading.tsx":{"size":1373,"mtime_ns":1785148022487650000,"indexed_at_ns":1787726734623432900,"word_count":122},"frontend/application/app/not-found.tsx":{"size":124,"mtime_ns":1783764561891411400,"indexed_at_ns":1787726734629416600,"word_count":15},"frontend/application/app/page.tsx":{"size":1093,"mtime_ns":1788587906745671800,"indexed_at_ns":1788608124207313100,"word_count":120},"frontend/application/app/payment/verify/page.tsx":{"size":14338,"mtime_ns":1786891855356078600,"indexed_at_ns":1787726734641507800,"word_count":1094},"frontend/application/app/privacy/page.tsx":{"size":4098,"mtime_ns":1787139270976563700,"indexed_at_ns":1787726734648804500,"word_count":336},"frontend/application/app/profile/page.tsx":{"size":623,"mtime_ns":1787139270978803200,"indexed_at_ns":1787726734655771200,"word_count":63},"frontend/application/app/robots.ts":{"size":825,"mtime_ns":1787578481501464000,"indexed_at_ns":1787726734660416500,"word_count":72},"frontend/application/app/search/page.tsx":{"size":786,"mtime_ns":1787139270979946700,"indexed_at_ns":1787726734667451100,"word_count":82},"frontend/application/app/shop/[slug]/page.tsx":{"size":11235,"mtime_ns":1788337303756021500,"indexed_at_ns":1788337670120361600,"word_count":1011},"frontend/application/app/shop/error.tsx":{"size":382,"mtime_ns":1787645037380267900,"indexed_at_ns":1787726734679433600,"word_count":50},"frontend/application/app/shop/feed.xml/route.ts":{"size":3698,"mtime_ns":1788000526323436900,"indexed_at_ns":1788328795003523300,"word_count":333},"frontend/application/app/shop/loading.tsx":{"size":1596,"mtime_ns":1787645037380267900,"indexed_at_ns":1787726734691441600,"word_count":144},"frontend/application/app/shop/page.tsx":{"size":2715,"mtime_ns":1787644197146199100,"indexed_at_ns":1787726734698441300,"word_count":295},"frontend/application/app/sitemap-categories.xml/route.ts":{"size":1797,"mtime_ns":1787578481507462100,"indexed_at_ns":1787726734703951500,"word_count":179},"frontend/application/app/sitemap-products.xml/route.ts":{"size":1980,"mtime_ns":1787578481508464300,"indexed_at_ns":1787726734710719000,"word_count":186},"frontend/application/app/sitemap.ts":{"size":3510,"mtime_ns":1787578481510463300,"indexed_at_ns":1787726734715717900,"word_count":350},"frontend/application/app/track/page.tsx":{"size":612,"mtime_ns":1787139270984213600,"indexed_at_ns":1787726734723190300,"word_count":60},"frontend/application/app/trust-seals/page.tsx":{"size":7155,"mtime_ns":1787394001609306700,"indexed_at_ns":1787726734729188900,"word_count":566},"frontend/application/app/videos/page.tsx":{"size":2822,"mtime_ns":1787644197147196700,"indexed_at_ns":1787726734735191600,"word_count":266},"frontend/application/app/wiki/[slug]/page.tsx":{"size":8912,"mtime_ns":1787644197149197300,"indexed_at_ns":1787726734743193100,"word_count":702},"frontend/application/app/wiki/page.tsx":{"size":910,"mtime_ns":1787139270987830800,"indexed_at_ns":1787726734749703000,"word_count":85},"frontend/application/components/AddressModal.tsx":{"size":16470,"mtime_ns":1787739535190383900,"indexed_at_ns":1787739632847264500,"word_count":1146},"frontend/application/components/ArchivePage.tsx":{"size":39465,"mtime_ns":1788613668255905300,"indexed_at_ns":1788618164435712800,"word_count":3049},"frontend/application/components/AuthModal.tsx":{"size":54377,"mtime_ns":1788619234689738700,"indexed_at_ns":1788619692934627800,"word_count":3634},"frontend/application/components/B2BLandingClient.tsx":{"size":25866,"mtime_ns":1787645037381267600,"indexed_at_ns":1787726734774269600,"word_count":1824},"frontend/application/components/B2BPortal.tsx":{"size":14014,"mtime_ns":1786894580156857600,"indexed_at_ns":1787726734780287600,"word_count":1094},"frontend/application/components/BackButton.tsx":{"size":1120,"mtime_ns":1786965281357277800,"indexed_at_ns":1787726734786847300,"word_count":117},"frontend/application/components/BannerPlacement.tsx":{"size":7703,"mtime_ns":1788346274841175500,"indexed_at_ns":1788608124349969300,"word_count":527},"frontend/application/components/BlogPage.tsx":{"size":21976,"mtime_ns":1787729523446453700,"indexed_at_ns":1787729932775425100,"word_count":1583},"frontend/application/components/BlogPostClient.tsx":{"size":20329,"mtime_ns":1787740536679696900,"indexed_at_ns":1787741544522017800,"word_count":1361},"frontend/application/components/BlogPreviewSection.tsx":{"size":7925,"mtime_ns":1788345971093472400,"indexed_at_ns":1788608124366176400,"word_count":567},"frontend/application/components/BrandLogo.tsx":{"size":3307,"mtime_ns":1787564348690862200,"indexed_at_ns":1787726734819682600,"word_count":287},"frontend/application/components/CartDrawer.tsx":{"size":22052,"mtime_ns":1787733215548980400,"indexed_at_ns":1787737992400541400,"word_count":1448},"frontend/application/components/CheckoutPage.tsx":{"size":48510,"mtime_ns":1788595515841005300,"indexed_at_ns":1788608124380746700,"word_count":3241},"frontend/application/components/ContactFormClient.tsx":{"size":10833,"mtime_ns":1787729527935396400,"indexed_at_ns":1787729932808029300,"word_count":784},"frontend/application/components/DeleteConfirmModal.tsx":{"size":2328,"mtime_ns":1786799852608752300,"indexed_at_ns":1787726734845321800,"word_count":195},"frontend/application/components/EnamadBadge.tsx":{"size":1516,"mtime_ns":1786799852612361900,"indexed_at_ns":1787726734850835400,"word_count":114},"frontend/application/components/ErrorBoundary.tsx":{"size":2617,"mtime_ns":1786799852614549600,"indexed_at_ns":1787726734857066500,"word_count":235},"frontend/application/components/ErrorPages.tsx":{"size":2809,"mtime_ns":1787661485945074600,"indexed_at_ns":1787726734862654700,"word_count":243},"frontend/application/components/FAQSection.tsx":{"size":5086,"mtime_ns":1787729995239614600,"indexed_at_ns":1787733017983672300,"word_count":414},"frontend/application/components/FeaturedProducts.tsx":{"size":12447,"mtime_ns":1788613668257482900,"indexed_at_ns":1788618164526795000,"word_count":1076},"frontend/application/components/Footer.tsx":{"size":14945,"mtime_ns":1788349370985831800,"indexed_at_ns":1788608124424181700,"word_count":996},"frontend/application/components/Header.tsx":{"size":33116,"mtime_ns":1788346274842183200,"indexed_at_ns":1788608124429851700,"word_count":2234},"frontend/application/components/HeaderButton.tsx":{"size":2242,"mtime_ns":1786799852637156100,"indexed_at_ns":1787726734893172700,"word_count":208},"frontend/application/components/Hero.tsx":{"size":20159,"mtime_ns":1788354488241306800,"indexed_at_ns":1788608124439859300,"word_count":1652},"frontend/application/components/IngredientWiki.tsx":{"size":20337,"mtime_ns":1786965281374206800,"indexed_at_ns":1787726734906680500,"word_count":1496},"frontend/application/components/LoginModal.tsx":{"size":13661,"mtime_ns":1788619261368146900,"indexed_at_ns":1788619693049558200,"word_count":1134},"frontend/application/components/MaintenancePage.tsx":{"size":3686,"mtime_ns":1786946249984693000,"indexed_at_ns":1787726734921249900,"word_count":313},"frontend/application/components/NetworkBanner.tsx":{"size":2350,"mtime_ns":1786799852662138900,"indexed_at_ns":1787726734928082300,"word_count":214},"frontend/application/components/OrderDetailsModal.tsx":{"size":36797,"mtime_ns":1788609394333189500,"indexed_at_ns":1788613610930051500,"word_count":2547},"frontend/application/components/OrderSuccess.tsx":{"size":6396,"mtime_ns":1786799852665542300,"indexed_at_ns":1787726734947087000,"word_count":521},"frontend/application/components/OrderTracking.tsx":{"size":9269,"mtime_ns":1787729527937447000,"indexed_at_ns":1787729932896464500,"word_count":681},"frontend/application/components/PetProfile.tsx":{"size":83265,"mtime_ns":1788613668259056000,"indexed_at_ns":1788618164597181700,"word_count":5854},"frontend/application/components/PodcastInlinePlayer.tsx":{"size":18123,"mtime_ns":1787993003774220500,"indexed_at_ns":1787997306151429500,"word_count":1464},"frontend/application/components/PodcastPlayerModal.tsx":{"size":18105,"mtime_ns":1787748657155136900,"indexed_at_ns":1787748748510048700,"word_count":1487},"frontend/application/components/PrescriptionUploadModal.tsx":{"size":19183,"mtime_ns":1787741735267947500,"indexed_at_ns":1787741779220211300,"word_count":1356},"frontend/application/components/ProductPage.tsx":{"size":96037,"mtime_ns":1788619515876448500,"indexed_at_ns":1788619693116090600,"word_count":6854},"frontend/application/components/ProductReviews.tsx":{"size":16113,"mtime_ns":1788333723592862900,"indexed_at_ns":1788333815613251700,"word_count":1195},"frontend/application/components/SafeImage.tsx":{"size":4289,"mtime_ns":1788354488242911600,"indexed_at_ns":1788608124543408700,"word_count":399},"frontend/application/components/SearchResultsPage.tsx":{"size":8335,"mtime_ns":1786799852701578200,"indexed_at_ns":1787726735012019400,"word_count":594},"frontend/application/components/SearchableSelect.tsx":{"size":4375,"mtime_ns":1785575516155554800,"indexed_at_ns":1787726735019020000,"word_count":336},"frontend/application/components/Skeleton.tsx":{"size":3084,"mtime_ns":1783764561943996900,"indexed_at_ns":1787726735026024900,"word_count":291},"frontend/application/components/SmartAdvisor.tsx":{"size":37402,"mtime_ns":1788587906747669800,"indexed_at_ns":1788608124565416700,"word_count":2836},"frontend/application/components/TestimonialsSection.tsx":{"size":6677,"mtime_ns":1788346274843208600,"indexed_at_ns":1788608124571187900,"word_count":516},"frontend/application/components/TickerBanner.tsx":{"size":1605,"mtime_ns":1786885876960835800,"indexed_at_ns":1787726735043649000,"word_count":140},"frontend/application/components/Tooltip.tsx":{"size":5237,"mtime_ns":1788333306923629700,"indexed_at_ns":1788333673999170900,"word_count":438},"frontend/application/components/TopUpModal.tsx":{"size":9381,"mtime_ns":1787406597303349300,"indexed_at_ns":1787726735057286900,"word_count":741},"frontend/application/components/UserDashboard.tsx":{"size":97782,"mtime_ns":1788613668261650700,"indexed_at_ns":1788618164679226800,"word_count":6193},"frontend/application/components/VetGallery.tsx":{"size":8392,"mtime_ns":1788346274844355400,"indexed_at_ns":1788608124598520700,"word_count":653},"frontend/application/components/VideoModalPlayer.tsx":{"size":24822,"mtime_ns":1787993003775855300,"indexed_at_ns":1787997306253976800,"word_count":1846},"frontend/application/components/VideosPage.tsx":{"size":8815,"mtime_ns":1787729523450452600,"indexed_at_ns":1787729932995147700,"word_count":672},"frontend/application/components/__tests__/CartDrawer.test.tsx":{"size":3197,"mtime_ns":1786799852761825800,"indexed_at_ns":1787726735089813300,"word_count":285},"frontend/application/components/__tests__/FeaturedProducts.test.tsx":{"size":2922,"mtime_ns":1787729523451454700,"indexed_at_ns":1787729933006280300,"word_count":246},"frontend/application/components/__tests__/Footer.test.tsx":{"size":1200,"mtime_ns":1787729523452453700,"indexed_at_ns":1787729933012281300,"word_count":97},"frontend/application/components/__tests__/Header.test.tsx":{"size":3336,"mtime_ns":1787729523452453700,"indexed_at_ns":1787729933018310200,"word_count":266},"frontend/application/components/__tests__/Hero.test.tsx":{"size":1980,"mtime_ns":1786799852776010800,"indexed_at_ns":1787726735115917200,"word_count":192},"frontend/application/components/__tests__/Tooltip.test.tsx":{"size":1508,"mtime_ns":1786799852784348900,"indexed_at_ns":1787726735121917300,"word_count":137},"frontend/application/components/catalog/CatalogPageSpread.tsx":{"size":29302,"mtime_ns":1788616028624863400,"indexed_at_ns":1788618164733921700,"word_count":2428},"frontend/application/components/catalog/FlipbookCatalog.tsx":{"size":39207,"mtime_ns":1788616028627729900,"indexed_at_ns":1788618164738920200,"word_count":3404},"frontend/application/components/catalog/ProductDetailModal.tsx":{"size":8265,"mtime_ns":1787981163247727400,"indexed_at_ns":1787981250441706300,"word_count":589},"frontend/application/eslint.config.mjs":{"size":747,"mtime_ns":1787148092358055900,"indexed_at_ns":1787726735150541200,"word_count":61},"frontend/application/lib/data/products.ts":{"size":104414,"mtime_ns":1788351605806390800,"indexed_at_ns":1788608124674690000,"word_count":9765},"frontend/application/lib/data/provinces.ts":{"size":2993,"mtime_ns":1785571725610676000,"indexed_at_ns":1787726735166169300,"word_count":203},"frontend/application/lib/data/scientificTerms.ts":{"size":18042,"mtime_ns":1786958978743097300,"indexed_at_ns":1787726735173169300,"word_count":1756},"frontend/application/lib/fonts.ts":{"size":561,"mtime_ns":1788351855943419900,"indexed_at_ns":1788608124691696500,"word_count":55},"frontend/application/lib/hooks/useNetworkStatus.ts":{"size":610,"mtime_ns":1786799852793488000,"indexed_at_ns":1787726735185762100,"word_count":59},"frontend/application/lib/schema.ts":{"size":7336,"mtime_ns":1787644197156205400,"indexed_at_ns":1787726735192345800,"word_count":609},"frontend/application/lib/seo.ts":{"size":9685,"mtime_ns":1788587906749774900,"indexed_at_ns":1788608124712831100,"word_count":837},"frontend/application/lib/services/api.ts":{"size":3694,"mtime_ns":1787997670265470700,"indexed_at_ns":1787998035733091300,"word_count":391},"frontend/application/lib/services/authService.ts":{"size":4524,"mtime_ns":1786885876986184800,"indexed_at_ns":1787726735211416700,"word_count":509},"frontend/application/lib/services/orderService.ts":{"size":2428,"mtime_ns":1786799852810726500,"indexed_at_ns":1787726735217187400,"word_count":279},"frontend/application/lib/services/productService.ts":{"size":14085,"mtime_ns":1788354488244444100,"indexed_at_ns":1788608124734055200,"word_count":1287},"frontend/application/lib/services/ticketService.ts":{"size":1569,"mtime_ns":1786890779340901800,"indexed_at_ns":1787726735230632600,"word_count":170},"frontend/application/lib/services/videoService.ts":{"size":1867,"mtime_ns":1787993003779460300,"indexed_at_ns":1787997306396146000,"word_count":210},"frontend/application/lib/store/__tests__/cartStore.test.ts":{"size":4430,"mtime_ns":1786799852822036900,"indexed_at_ns":1787726735244738400,"word_count":386},"frontend/application/lib/store/__tests__/settingsStore.test.ts":{"size":1949,"mtime_ns":1783856793043803200,"indexed_at_ns":1787726735251871200,"word_count":194},"frontend/application/lib/store/__tests__/userStore.test.ts":{"size":3639,"mtime_ns":1786799852825547700,"indexed_at_ns":1787726735257815200,"word_count":289},"frontend/application/lib/store/cartStore.ts":{"size":6972,"mtime_ns":1787660831220289700,"indexed_at_ns":1787726735265091600,"word_count":697},"frontend/application/lib/store/settingsStore.ts":{"size":3630,"mtime_ns":1786948119787096800,"indexed_at_ns":1787726735271091300,"word_count":371},"frontend/application/lib/store/uiStore.ts":{"size":872,"mtime_ns":1786799852833588000,"indexed_at_ns":1787726735277092600,"word_count":100},"frontend/application/lib/store/usePetStore.ts":{"size":8680,"mtime_ns":1786954681845300600,"indexed_at_ns":1787726735283172200,"word_count":850},"frontend/application/lib/store/userStore.ts":{"size":10602,"mtime_ns":1788609394337189200,"indexed_at_ns":1788613611248850100,"word_count":918},"frontend/application/lib/types.ts":{"size":2222,"mtime_ns":1787729527940443900,"indexed_at_ns":1787729933167879300,"word_count":239},"frontend/application/lib/utils.ts":{"size":478,"mtime_ns":1786799852847284000,"indexed_at_ns":1787726735301154500,"word_count":61},"frontend/application/next.config.ts":{"size":3153,"mtime_ns":1788353540761527200,"indexed_at_ns":1788608124808716400,"word_count":279},"frontend/application/package.json":{"size":879,"mtime_ns":1788000055992497300,"indexed_at_ns":1788000470956192900,"word_count":74,"hashes":{"frontend/application/package.json":"7a1fa68660fc9ab2089ea4e22c7d889b8efd8dbdc9faf56ce7d354319ac081b9"}},"frontend/application/postcss.config.mjs":{"size":94,"mtime_ns":1783764561988252100,"indexed_at_ns":1787726735322173300,"word_count":13},"frontend/application/public/assets/images/canina-product-placeholder.png":{"size":6990105,"mtime_ns":1787461919505024400,"indexed_at_ns":1787726735328171600,"word_count":267685},"frontend/application/public/assets/images/regenerated_image_1779109861747.png":{"size":2269101,"mtime_ns":1783764562014110300,"indexed_at_ns":1787726735596033500,"word_count":84979},"frontend/application/public/file.svg":{"size":391,"mtime_ns":1783764562016213600,"indexed_at_ns":1787726735643616000,"word_count":50},"frontend/application/public/fonts/A-Iranian-Sans/A-Iranian-Sans/read me!.txt":{"size":281,"mtime_ns":1783856793098052000,"indexed_at_ns":1787726735668659800,"word_count":15},"frontend/application/public/fonts/IranNastaliq/IranNastaliq/read me!.txt":{"size":281,"mtime_ns":1783856793107660400,"indexed_at_ns":1787726735694207900,"word_count":15},"frontend/application/public/fonts/sahel-font-v3.4.0/CHANGELOG.md":{"size":8519,"mtime_ns":1783856793113660500,"indexed_at_ns":1787726739908406400,"word_count":1077,"hashes":{"frontend/application/public/fonts/sahel-font-v3.4.0/changelog.md":"be9b046e69dc5442c30d61cca51a69e4238f861da265d1ce8cd0192bafce40a9"}},"frontend/application/public/fonts/sahel-font-v3.4.0/README.md":{"size":4136,"mtime_ns":1783856793156251700,"indexed_at_ns":1787726739909406300,"word_count":366,"hashes":{"frontend/application/public/fonts/sahel-font-v3.4.0/readme.md":"9b0e689f6474b487d70db0ecb05321072f15df92266522497b60aaa47579aac5"}},"frontend/application/public/fonts/sahel-font-v3.4.0/sample-variable.gif":{"size":236102,"mtime_ns":1783856793229119700,"indexed_at_ns":1787726736213031900,"word_count":10881},"frontend/application/public/fonts/shabnam-font-v5.0.1/CHANGELOG.md":{"size":7177,"mtime_ns":1783856793230118600,"indexed_at_ns":1787726736225832200,"word_count":951},"frontend/application/public/fonts/shabnam-font-v5.0.1/README.md":{"size":3696,"mtime_ns":1783856793279542700,"indexed_at_ns":1787726736475009300,"word_count":283},"frontend/application/public/fonts/shabnam-font-v5.0.1/sample.png":{"size":85019,"mtime_ns":1783856793315146800,"indexed_at_ns":1787726736717303100,"word_count":2615},"frontend/application/public/fonts/vazirmatn-v33.003/AUTHORS.txt":{"size":339,"mtime_ns":1783856793316155600,"indexed_at_ns":1787726736727313200,"word_count":55},"frontend/application/public/fonts/vazirmatn-v33.003/CHANGELOG.md":{"size":38550,"mtime_ns":1783856793317690100,"indexed_at_ns":1787726736736959200,"word_count":5086},"frontend/application/public/fonts/vazirmatn-v33.003/OFL.txt":{"size":4391,"mtime_ns":1783856793319422000,"indexed_at_ns":1787726736744957500,"word_count":671},"frontend/application/public/fonts/vazirmatn-v33.003/README.md":{"size":2339,"mtime_ns":1783856793320489000,"indexed_at_ns":1787726736753050400,"word_count":270},"frontend/application/public/fonts/vazirmatn-v33.003/\u0631\u0627\u0647\u0646\u0645\u0627.txt":{"size":211,"mtime_ns":1783856793668096800,"indexed_at_ns":1787726738964542200,"word_count":14},"frontend/application/public/globe.svg":{"size":1035,"mtime_ns":1783764562016720700,"indexed_at_ns":1787726738969546300,"word_count":154},"frontend/application/public/images/vets/vet1.webp":{"size":6990105,"mtime_ns":1787461919541761600,"indexed_at_ns":1787726738988845300,"word_count":267685},"frontend/application/public/next.svg":{"size":1375,"mtime_ns":1783764562018238900,"indexed_at_ns":1787726739135424800,"word_count":183},"frontend/application/public/vercel.svg":{"size":128,"mtime_ns":1783764562019253000,"indexed_at_ns":1787726739141424700,"word_count":12},"frontend/application/public/window.svg":{"size":385,"mtime_ns":1783764562019253000,"indexed_at_ns":1787726739147423800,"word_count":63},"frontend/application/tsconfig.json":{"size":750,"mtime_ns":1786799852865640000,"indexed_at_ns":1787726739800717100,"word_count":61,"hashes":{"frontend/application/tsconfig.json":"adcade0f962ec5888be99b4b1402d98812cfd570b0c5669bda73142b2cb9210d"}},"frontend/application/vitest.config.ts":{"size":244,"mtime_ns":1786799852868652900,"indexed_at_ns":1787726739161997600,"word_count":25},"frontend/application/vitest.setup.ts":{"size":1237,"mtime_ns":1787729523454452000,"indexed_at_ns":1787729936531670400,"word_count":141},"manual-test-scenarios.md":{"size":0,"mtime_ns":1787729528073006400,"indexed_at_ns":1787729937354455500,"word_count":0,"hashes":{"manual-test-scenarios.md":"c6e53ad8216c7ae7d9e1449511caca4c768d1c68b0b859ae24f0add4afe8e502"}},"metadata.json":{"size":334,"mtime_ns":1783856793672137200,"indexed_at_ns":1787726739801716800,"word_count":35,"hashes":{"metadata.json":"c44b4c4ba60752554ceae65e2f22bddb756cbeb25a4a31ee79160b6eb182255a"}},"package.json":{"size":1237,"mtime_ns":1787729528076005200,"indexed_at_ns":1787729937137155800,"word_count":136,"hashes":{"package.json":"3ca5b265c68cc5660e5fd57b0aeb13de7eb49732740eafe405f6f0804671ceeb"}},"playwright.config.ts":{"size":2710,"mtime_ns":1787729528077005300,"indexed_at_ns":1787729936552986300,"word_count":270},"prometheus.yml":{"size":164,"mtime_ns":1783764562027779300,"indexed_at_ns":1787726739197125100,"word_count":13},"scripts/backup_db.sh":{"size":1362,"mtime_ns":1786799852876784600,"indexed_at_ns":1787726739803716600,"word_count":134,"hashes":{"scripts/backup_db.sh":"f90cf2d0c954f3eaca83566ccb365bff62fd97a2af0225816c19902ee4dfdd6c"}},"scripts/compose.prod.yml":{"size":2248,"mtime_ns":1787998075631988900,"indexed_at_ns":1787998966532164100,"word_count":126},"scripts/compose.stage.yml":{"size":2557,"mtime_ns":1787077093991779700,"indexed_at_ns":1787726739215476500,"word_count":137},"scripts/deploy.sh":{"size":3346,"mtime_ns":1787136904559094200,"indexed_at_ns":1787726739805264300,"word_count":351,"hashes":{"scripts/deploy.sh":"64d276bb6eb6cfb83690c529b9d1c0c71fa46aa912a458f684dfcf842fab2aea"}},"scripts/open-browsers.js":{"size":1551,"mtime_ns":1788000056009180700,"indexed_at_ns":1788000469601092500,"word_count":202},"scripts/start-dev.js":{"size":1689,"mtime_ns":1787997670335055900,"indexed_at_ns":1787998039460221000,"word_count":186},"start.sh":{"size":26,"mtime_ns":1784033954813080300,"indexed_at_ns":1787726739806268200,"word_count":4,"hashes":{"start.sh":"694c258b963c309734a3316c770f5fef29703bc6f24754b04155fd8db94cf862"}},"swagger.yml":{"size":95785,"mtime_ns":1786799852892091600,"indexed_at_ns":1787726739249239800,"word_count":7031},"test-coverage-map.md":{"size":13899,"mtime_ns":1787729528078006200,"indexed_at_ns":1787729937356455600,"word_count":1524,"hashes":{"test-coverage-map.md":"970d0bc2af7773ce27006da7c642991e3f094e71838201680fca7d9dfe809746"}},"tests/e2e/admin/admin-b2b-submissions.spec.ts":{"size":8979,"mtime_ns":1787729528080005900,"indexed_at_ns":1787729936612960300,"word_count":742},"tests/e2e/admin/admin-blogs-crud.spec.ts":{"size":5540,"mtime_ns":1787729528080005900,"indexed_at_ns":1787729936618959100,"word_count":490},"tests/e2e/admin/admin-crud.spec.ts":{"size":6485,"mtime_ns":1787729528081005800,"indexed_at_ns":1787729936623995800,"word_count":569},"tests/e2e/admin/admin-orders-flow.spec.ts":{"size":4130,"mtime_ns":1787729528082005000,"indexed_at_ns":1787729936630000900,"word_count":352},"tests/e2e/admin/admin-rbac-roles.spec.ts":{"size":4011,"mtime_ns":1787729528083005700,"indexed_at_ns":1787729936634530400,"word_count":327},"tests/e2e/security/xss-ratelimit.spec.ts":{"size":5646,"mtime_ns":1787729528085005800,"indexed_at_ns":1787729936640566600,"word_count":491},"tests/e2e/storefront/auth-otp-recovery.spec.ts":{"size":4540,"mtime_ns":1787729528086009200,"indexed_at_ns":1787729936646208300,"word_count":384},"tests/e2e/storefront/b2b-flow.spec.ts":{"size":3521,"mtime_ns":1787729528086516700,"indexed_at_ns":1787729936650784800,"word_count":288},"tests/e2e/storefront/blog-wiki.spec.ts":{"size":2107,"mtime_ns":1787729528087532400,"indexed_at_ns":1787729936656754300,"word_count":185},"tests/e2e/storefront/cart-operations.spec.ts":{"size":3910,"mtime_ns":1787729528089034600,"indexed_at_ns":1787729936662399200,"word_count":332},"tests/e2e/storefront/checkout-flow.spec.ts":{"size":2766,"mtime_ns":1787729528089034600,"indexed_at_ns":1787729936667403000,"word_count":251},"tests/e2e/storefront/concurrency-stock.spec.ts":{"size":5868,"mtime_ns":1787729528090041700,"indexed_at_ns":1787729936673410700,"word_count":537},"tests/e2e/storefront/contact.spec.ts":{"size":2899,"mtime_ns":1787729528091042800,"indexed_at_ns":1787729936678440900,"word_count":238},"tests/e2e/storefront/error-pages-404-500.spec.ts":{"size":1238,"mtime_ns":1787729528092042000,"indexed_at_ns":1787729936683435600,"word_count":121},"tests/e2e/storefront/order-tracking.spec.ts":{"size":3125,"mtime_ns":1787729528093041900,"indexed_at_ns":1787729936689592900,"word_count":282},"tests/e2e/storefront/shop-filter-search.spec.ts":{"size":2151,"mtime_ns":1787729528094048800,"indexed_at_ns":1787729936695374800,"word_count":187},"tests/fixtures/admin-auth.setup.ts":{"size":1950,"mtime_ns":1787729528095047800,"indexed_at_ns":1787729936700406800,"word_count":195},"tests/fixtures/index.ts":{"size":194,"mtime_ns":1787729528095047800,"indexed_at_ns":1787729936705408800,"word_count":32},"tsconfig.json":{"size":439,"mtime_ns":1787729528096047500,"indexed_at_ns":1787729937145762700,"word_count":37,"hashes":{"tsconfig.json":"12f2e30da1a34da7d06440370b7d1930cd5a3c3293f485789f5cfa2434aeea6f"}},"frontend/application/app/smart-advisor/page.tsx":{"size":2634,"mtime_ns":1787740536678699600,"indexed_at_ns":1787741544436016800,"word_count":232},"frontend/application/app/dashboard/orders/page.tsx":{"size":132,"mtime_ns":1787741941302806200,"indexed_at_ns":1787741982449356000,"word_count":13},"frontend/application/app/dashboard/pets/page.tsx":{"size":128,"mtime_ns":1787741941303809300,"indexed_at_ns":1787741982462112200,"word_count":13},"frontend/application/components/ProductImageZoomModal.tsx":{"size":12596,"mtime_ns":1788609394334189600,"indexed_at_ns":1788613610968916100,"word_count":1139},"frontend/application/app/api/media/[...path]/route.ts":{"size":6739,"mtime_ns":1788353078508488900,"indexed_at_ns":1788608124068410300,"word_count":613},"frontend/application/app/api/uploads/[...path]/route.ts":{"size":6805,"mtime_ns":1788353078510085700,"indexed_at_ns":1788608124086973600,"word_count":622},"frontend/application/lib/media.ts":{"size":2051,"mtime_ns":1788353540759919900,"indexed_at_ns":1788608124702730800,"word_count":227},"frontend/application/components/NavigationProgressBar.tsx":{"size":3658,"mtime_ns":1787999006325061100,"indexed_at_ns":1787999346873063500,"word_count":380},"frontend/application/app/api/torob/products/route.ts":{"size":6649,"mtime_ns":1788328838746612700,"indexed_at_ns":1788330894736956000,"word_count":738},"backend/src/products/torob.controller.ts":{"size":6562,"mtime_ns":1788334048806380400,"indexed_at_ns":1788334713978590500,"word_count":681},"backend/src/admin/dto/pricing.dto.ts":{"size":5033,"mtime_ns":1788334048800615600,"indexed_at_ns":1788334713321316900,"word_count":444},"backend/src/common/utils/pricing.utils.ts":{"size":1516,"mtime_ns":1788330948589741100,"indexed_at_ns":1788332263529713900,"word_count":205},"frontend/admin-panel/src/utils/pricing.ts":{"size":1127,"mtime_ns":1788330948594740900,"indexed_at_ns":1788332268764720100,"word_count":147},"backend/src/common/services/sms-events.constants.ts":{"size":10144,"mtime_ns":1788609394319095700,"indexed_at_ns":1788613605418411400,"word_count":956},"frontend/application/components/AnalyticsDeferred.tsx":{"size":3286,"mtime_ns":1788609394332188600,"indexed_at_ns":1788613610781541900,"word_count":303},"frontend/application/public/images/favicons/android-chrome-192x192.png":{"size":62883,"mtime_ns":1788587906752677800,"indexed_at_ns":1788608128262720100,"word_count":2247},"frontend/application/public/images/favicons/android-chrome-512x512.png":{"size":395793,"mtime_ns":1788587906757218700,"indexed_at_ns":1788608128270717200,"word_count":13917},"frontend/application/public/images/favicons/apple-touch-icon.png":{"size":56230,"mtime_ns":1788587906759218700,"indexed_at_ns":1788608128285373300,"word_count":2032},"frontend/application/public/images/favicons/favicon-16x16.png":{"size":943,"mtime_ns":1788587906761187700,"indexed_at_ns":1788608128293375000,"word_count":36},"frontend/application/public/images/favicons/favicon-32x32.png":{"size":2797,"mtime_ns":1788587906763190700,"indexed_at_ns":1788608128300378400,"word_count":103},"frontend/application/lib/petCompatibility.ts":{"size":3636,"mtime_ns":1788613668265750300,"indexed_at_ns":1788618164785408000,"word_count":324},"frontend/application/components/OtpInput5.tsx":{"size":4558,"mtime_ns":1788619281170919800,"indexed_at_ns":1788619693085285700,"word_count":478}}
\ No newline at end of file
+{".agents/rules/graphify.md":{"size":933,"mtime_ns":1786870552830271100,"indexed_at_ns":1787726739808807000,"word_count":127,"hashes":{".agents/rules/graphify.md":"26f2577a68d808f7f33ec3e418b95b635aec180d93b22b975e9ae67c47e361c8"}},".agents/workflows/graphify.md":{"size":229,"mtime_ns":1786870552832398300,"indexed_at_ns":1787726739809809700,"word_count":37,"hashes":{".agents/workflows/graphify.md":"a81e2d017e0669c71099362b20854e4d9ed68753f1c240d0682120bdb9aa3c72"}},".ai_agency/AGENCY.md":{"size":8757,"mtime_ns":1785148021979607300,"indexed_at_ns":1787726739810808600,"word_count":1161,"hashes":{".ai_agency/agency.md":"88c7c13583a91fc7e41ce055fede9dce20f181e8d264557808989965e83a9030"}},".ai_agency/agents/00_intake.md":{"size":3819,"mtime_ns":1785148021984319000,"indexed_at_ns":1787726739811809900,"word_count":500,"hashes":{".ai_agency/agents/00_intake.md":"9dc8d7eeda0655717dc5b9d2f8572c47567b88ca88de7e4e5bf59869077ff407"}},".ai_agency/agents/01_auditor.md":{"size":3643,"mtime_ns":1785148021987782800,"indexed_at_ns":1787726739813809800,"word_count":467,"hashes":{".ai_agency/agents/01_auditor.md":"37ae09614034d9b5c855e0132b59a5e3cfd2fc38c54d1a5386fa43ba488c4d4d"}},".ai_agency/agents/02_ceo.md":{"size":2341,"mtime_ns":1785148021998374800,"indexed_at_ns":1787726739814809500,"word_count":294,"hashes":{".ai_agency/agents/02_ceo.md":"b4a76df6483fd52e1b9f1e70765b3f7b6d134dc003ef2ad0cb86b952c869c4a5"}},".ai_agency/agents/03_product_manager.md":{"size":8422,"mtime_ns":1785148022001968200,"indexed_at_ns":1787726739815810200,"word_count":1076,"hashes":{".ai_agency/agents/03_product_manager.md":"1927827474b1dd6fd4976af45b51f1ad3128fe3305c3af22639ab2584e8f0b55"}},".ai_agency/agents/04_architect.md":{"size":3603,"mtime_ns":1785148022004966000,"indexed_at_ns":1787726739816809500,"word_count":448,"hashes":{".ai_agency/agents/04_architect.md":"c96b04d5af093f455fa3c64ae177a69421e8150eb38c70bb8587b5a14e7d3ca8"}},".ai_agency/agents/05_dev_backend.md":{"size":7142,"mtime_ns":1785148022012481200,"indexed_at_ns":1787726739817810300,"word_count":953,"hashes":{".ai_agency/agents/05_dev_backend.md":"143a7c8a6fbedcd837d647efddb9f6b49074583502bd77f24c955bd86a6f3df8"}},".ai_agency/agents/06_dev_frontend.md":{"size":7518,"mtime_ns":1785148022017020100,"indexed_at_ns":1787726739819343800,"word_count":1011,"hashes":{".ai_agency/agents/06_dev_frontend.md":"e69679636d42dd626c7c76ddc96e1ddb656ab5b9ee912b89adcc7a9338f34a0b"}},".ai_agency/agents/07_qa_engineer.md":{"size":3764,"mtime_ns":1785148022020044600,"indexed_at_ns":1787726739820379800,"word_count":507,"hashes":{".ai_agency/agents/07_qa_engineer.md":"2616ef2b3ac39ded45fc669d5b5b140e72953fe61a819966fb040382e9b47d45"}},".ai_agency/agents/08_visual_qa.md":{"size":7910,"mtime_ns":1785148022030083200,"indexed_at_ns":1787726739821353800,"word_count":1121,"hashes":{".ai_agency/agents/08_visual_qa.md":"17a5a74039e8a9d7cb40c5bc3c616c7c92d53401efd92d0675d4bbe5e90572a8"}},".ai_agency/agents/09_devops_security.md":{"size":6825,"mtime_ns":1785148022034087400,"indexed_at_ns":1787726739822379900,"word_count":908,"hashes":{".ai_agency/agents/09_devops_security.md":"315bd3cee954ac3496da8db1b1718b75ab3822ec3a90f99bc77767ca99482edf"}},".ai_agency/agents/10_tech_writer.md":{"size":3119,"mtime_ns":1785148022037082600,"indexed_at_ns":1787726739824378500,"word_count":408,"hashes":{".ai_agency/agents/10_tech_writer.md":"3527b44265fec2472cc20ca4641667e1fa3d38cbc9b2fbf9a946ee1e531e9e37"}},".ai_agency/agents/11_deploy.md":{"size":3956,"mtime_ns":1785148022040602600,"indexed_at_ns":1787726739825379700,"word_count":537,"hashes":{".ai_agency/agents/11_deploy.md":"8169bc98b249cd83ba21551dea082f69dfa6deca5f5e4a7f2739a28746c143f9"}},".ai_agency/agents/12_seo_content.md":{"size":10963,"mtime_ns":1785148022048603900,"indexed_at_ns":1787726739826379900,"word_count":1539,"hashes":{".ai_agency/agents/12_seo_content.md":"2f50eb9db8bf1ad7bc23c7d8c3a4f167a2daafb73f095db9237c5bdb20e7a5f4"}},".ai_agency/memory/agent_outputs/README.txt":{"size":290,"mtime_ns":1785148022052150400,"indexed_at_ns":1787726728366347600,"word_count":34},".ai_agency/memory/backlog.json":{"size":10711,"mtime_ns":1785330750958890900,"indexed_at_ns":1787726739730126300,"word_count":981,"hashes":{".ai_agency/memory/backlog.json":"6bf3150a1877d03d03b368df21b84071381b1bb8cd03e3721fa9f8e6c38355be"}},".ai_agency/memory/scratchpad.md":{"size":1879,"mtime_ns":1785148022065114400,"indexed_at_ns":1787726739827380200,"word_count":249,"hashes":{".ai_agency/memory/scratchpad.md":"9d0f687cf8e95c6335f1efb070da8029878417c28117e3b89aa8536ad70a5b95"}},".ai_agency/memory/state.json":{"size":3654,"mtime_ns":1785330750963913800,"indexed_at_ns":1787726739754651600,"word_count":254,"hashes":{".ai_agency/memory/state.json":"1204676f8f295d89733888bb87936061b7a700df0cc936fbf08fd5269b534e8d"}},".ai_agency/orchestrate.py":{"size":6800,"mtime_ns":1785148022072662500,"indexed_at_ns":1787726739755649500,"word_count":644,"hashes":{".ai_agency/orchestrate.py":"90ec787fdd4c71f5203c56b6899aadcc26e6e0bad0cc576d2f982aa42eed42e1"}},".ai_agency/specs/api_contract.md":{"size":1515,"mtime_ns":1785148022077664900,"indexed_at_ns":1787726739828380100,"word_count":139,"hashes":{".ai_agency/specs/api_contract.md":"ea0911b6a5ad6a908ab707f7553f5f24712c1e198fd79255fa85e3249150e8b4"}},".ai_agency/specs/architecture_spec.md":{"size":790,"mtime_ns":1785148022082260900,"indexed_at_ns":1787726739829380100,"word_count":99,"hashes":{".ai_agency/specs/architecture_spec.md":"6269043f6a144e8ac86ff1db7e014075185e5675a4a0ee23e99e70d88253b8af"}},".ai_agency/specs/prd.md":{"size":724,"mtime_ns":1785148022087251600,"indexed_at_ns":1787726739830914500,"word_count":96,"hashes":{".ai_agency/specs/prd.md":"1c6d5a0ec8a709a2b3aed28225f5fe148ad2d75851d45699187678d055947b11"}},".ai_agency/specs/project_health.md":{"size":444,"mtime_ns":1785148022098314600,"indexed_at_ns":1787726739831950800,"word_count":65,"hashes":{".ai_agency/specs/project_health.md":"677c2f1d35c31d75d935766f154683e0483b08c696117ee612bee1528705c598"}},".ai_agency/specs/reviews/README.md":{"size":1029,"mtime_ns":1785148022105834900,"indexed_at_ns":1787726739832950700,"word_count":117,"hashes":{".ai_agency/specs/reviews/readme.md":"8ceb4cae1ad4c0f660557d827ced970cda8f7d020f8124b624b228174b1b65ab"}},".ai_agency/specs/reviews/backend_review.md":{"size":1430,"mtime_ns":1785148022110362400,"indexed_at_ns":1787726739834457300,"word_count":172,"hashes":{".ai_agency/specs/reviews/backend_review.md":"fca1f8d59c2eab255f7aba246b26731fe53f208e737ccf46035389591900a150"}},".ai_agency/specs/reviews/code_health_review.md":{"size":2193,"mtime_ns":1785148022114359700,"indexed_at_ns":1787726739835467400,"word_count":279,"hashes":{".ai_agency/specs/reviews/code_health_review.md":"532e04465e125183d6dd8f8af61bfc8735a514b3fbbc49069f5f0884155ed93f"}},".ai_agency/specs/reviews/frontend_review.md":{"size":1452,"mtime_ns":1785148022118486900,"indexed_at_ns":1787726739837467800,"word_count":183,"hashes":{".ai_agency/specs/reviews/frontend_review.md":"9f826c0267cad8bd5d342b1f908c927976d9be7da3f75b175331381ef8c8b680"}},".ai_agency/specs/reviews/security_review.md":{"size":874,"mtime_ns":1785148022121487200,"indexed_at_ns":1787726739838331800,"word_count":110,"hashes":{".ai_agency/specs/reviews/security_review.md":"51363e62e919d6772c2b3b9a1a3f3870a5892dae6d408217ed3fb475f72d3f0b"}},".ai_agency/specs/reviews/seo_content_review.md":{"size":1238,"mtime_ns":1785148022131533800,"indexed_at_ns":1787726739839755700,"word_count":156,"hashes":{".ai_agency/specs/reviews/seo_content_review.md":"bc8401649a86585b4061b3ec0f584910c54aad25bc9943392179bc070c07a434"}},".ai_agency/specs/reviews/ux_review.md":{"size":1131,"mtime_ns":1785148022136550700,"indexed_at_ns":1787726739840765700,"word_count":150,"hashes":{".ai_agency/specs/reviews/ux_review.md":"b8a52f324e36fcc2d046cc903a05903057098a67a397ae6442d6c825091f4513"}},".antigravity/instructions.md":{"size":226,"mtime_ns":1786870552833405800,"indexed_at_ns":1787726739842276100,"word_count":29,"hashes":{".antigravity/instructions.md":"8d8f5c1bbdbb7b8045e02b06a50e68d3fcfabfb2d65f8ac1cd86168dc8a8cc96"}},".antigravity/workflows/graphify.md":{"size":43292,"mtime_ns":1786870552837921500,"indexed_at_ns":1787726739843281500,"word_count":5442,"hashes":{".antigravity/workflows/graphify.md":"0c16b701a50d64f741f6de107c49584012a8dd7f5e922af9f79754540629e2fe"}},".claude/CLAUDE.md":{"size":226,"mtime_ns":1786870552838920200,"indexed_at_ns":1787726739845281600,"word_count":29,"hashes":{".claude/claude.md":"c6f7fc2f062904d246b700d446ba3ad03e77f41809b12eccfb5e090a11f4fad2"}},".claude/settings.json":{"size":479,"mtime_ns":1786870552841922800,"indexed_at_ns":1787726739757648600,"word_count":38,"hashes":{".claude/settings.json":"0aaafba2cbd7dd67f7d69fa2f01b747c9a72f56ee421a40825521f937caec82b"}},".claude/skills/graphify/SKILL.md":{"size":43292,"mtime_ns":1786870552845041000,"indexed_at_ns":1787726739846281500,"word_count":5442,"hashes":{".claude/skills/graphify/skill.md":"5b24d39cbbb662ea1cd672839f64b50823e1b7de9b113f542248eac38c70cdf1"}},".claude/skills/graphify/references/add-watch.md":{"size":2486,"mtime_ns":1786870552848102000,"indexed_at_ns":1787726739847281400,"word_count":366,"hashes":{".claude/skills/graphify/references/add-watch.md":"cb5e2f3284265c08c88c08f445b96958b13a9115c0afc0a33206c293d1b1c187"}},".claude/skills/graphify/references/exports.md":{"size":3362,"mtime_ns":1786870552849102100,"indexed_at_ns":1787726739848281300,"word_count":470,"hashes":{".claude/skills/graphify/references/exports.md":"7aa8b606e5c19334b6c9fe62a12fc30eb46c0320d1dbb5726cfda0becdd04a5a"}},".claude/skills/graphify/references/extraction-spec.md":{"size":7960,"mtime_ns":1786870552850101900,"indexed_at_ns":1787726739849713100,"word_count":1038,"hashes":{".claude/skills/graphify/references/extraction-spec.md":"9cf5d515d0d8584aeef36708df34f560078772a568ed599cac5ba20b089e563d"}},".claude/skills/graphify/references/github-and-merge.md":{"size":2177,"mtime_ns":1786870552853101000,"indexed_at_ns":1787726739850713300,"word_count":271,"hashes":{".claude/skills/graphify/references/github-and-merge.md":"609de4b1331ddb2f8c80e97aac0a5de782a373d6f5af858e10a731c20b35c0e2"}},".claude/skills/graphify/references/hooks.md":{"size":1267,"mtime_ns":1786870552855098700,"indexed_at_ns":1787726739852220900,"word_count":193,"hashes":{".claude/skills/graphify/references/hooks.md":"7c7827f2f29d6e2cb6cc6902558dac08380f60c414b4968f83e1bc4e61b3e268"}},".claude/skills/graphify/references/query.md":{"size":13456,"mtime_ns":1786870552857702900,"indexed_at_ns":1787726739853231100,"word_count":1763,"hashes":{".claude/skills/graphify/references/query.md":"54526cc3e2392922d344f14767f09037ef85fb7ec5cc7911b749b35bcb004fbf"}},".claude/skills/graphify/references/transcribe.md":{"size":3173,"mtime_ns":1786870552858710700,"indexed_at_ns":1787726739855230800,"word_count":418,"hashes":{".claude/skills/graphify/references/transcribe.md":"1d5afbaccf36e952e71082591edfc9e4fbd9946eb85b01855a1d0bd810b7623d"}},".claude/skills/graphify/references/update.md":{"size":10425,"mtime_ns":1786870552860709800,"indexed_at_ns":1787726739856230800,"word_count":1196,"hashes":{".claude/skills/graphify/references/update.md":"0249cd6ceae6effdfc7371b51d00c462f51d95700101dcedd36255bab1b4ce7a"}},".gemini/config/mcp_config.json":{"size":146,"mtime_ns":1787729527922392700,"indexed_at_ns":1787729937075859600,"word_count":15,"hashes":{".gemini/config/mcp_config.json":"5350ccca14cfd0cb47901b879636407765ead90ade58684cbe3bca634580cbd7"}},".gitea/scripts/with-vpn.sh":{"size":1794,"mtime_ns":1786799852126316200,"indexed_at_ns":1787726739759255200,"word_count":208,"hashes":{".gitea/scripts/with-vpn.sh":"9ec013d142e3cf5d7e5f09778fcb06b4b8ea7b394688f9f40b5e74298c76bcf0"}},".gitea/workflows/deploy.yml":{"size":993,"mtime_ns":1787078454762471500,"indexed_at_ns":1787726728591851200,"word_count":84},".gitea/workflows/e2e.yml":{"size":980,"mtime_ns":1787729527923391900,"indexed_at_ns":1787729927042405700,"word_count":98},".vscode/extensions.json":{"size":74,"mtime_ns":1787461919449307400,"indexed_at_ns":1787726739761255600,"word_count":6,"hashes":{".vscode/extensions.json":"57518c36999b5176c9e8617cf937f6e35b54ddd015305005d4611729d1d69177"}},"AGENTS.md":{"size":226,"mtime_ns":1786870552862708600,"indexed_at_ns":1787726739857230800,"word_count":29,"hashes":{"agents.md":"b664c2bb6d85e009d7495bcd9c3d52c419176473cd4e19362fd4256616076151"}},"BACKEND_INTEGRATION.md":{"size":15568,"mtime_ns":1786885876768825200,"indexed_at_ns":1787726728620874500,"word_count":1521},"CLAUDE.md":{"size":772,"mtime_ns":1786870552863710100,"indexed_at_ns":1787726739858230900,"word_count":106,"hashes":{"claude.md":"3612256e7473a2e5f67ef4778d4edeefb44794ef22bac5529bee9c87dc5d8f3d"}},"DATABASE_SCHEMA.md":{"size":15399,"mtime_ns":1786885876771342200,"indexed_at_ns":1787726728633463600,"word_count":1566},"README.md":{"size":13117,"mtime_ns":1786885876775371800,"indexed_at_ns":1787726728645776100,"word_count":1310},"backend/README.md":{"size":5028,"mtime_ns":1783764561601382400,"indexed_at_ns":1787726739859230700,"word_count":472,"hashes":{"backend/readme.md":"c3edfd26252566ef2ddee12c91a874b59e03a1656894d3db25209a0e4031010a"}},"backend/eslint.config.mjs":{"size":1649,"mtime_ns":1787073059105361700,"indexed_at_ns":1787726728676723300,"word_count":104},"backend/nest-cli.json":{"size":172,"mtime_ns":1787072106370561300,"indexed_at_ns":1787726739762253100,"word_count":13,"hashes":{"backend/nest-cli.json":"64fe2904203985aa0acb9b67d7ade489f2362ac8730283fb11d6a764d1cb3878"}},"backend/package.json":{"size":2903,"mtime_ns":1787644197137104200,"indexed_at_ns":1787726739763253000,"word_count":214,"hashes":{"backend/package.json":"164822617eb449e27d8e6a9ff13476f3b08fb3dcf5710289e85af9bf50ec39d5"}},"backend/prisma/migrations/20260526145407_init/migration.sql":{"size":8963,"mtime_ns":1783764561612007600,"indexed_at_ns":1787726739764254000,"word_count":936,"hashes":{"backend/prisma/migrations/20260526145407_init/migration.sql":"d6cc5e861e43bf82dcffe1ad7121fcbe9f74db7901cf204b5058da3132d3c1d2"}},"backend/prisma/migrations/20260526160916_add_ui_texts_and_scientific_terms/migration.sql":{"size":404,"mtime_ns":1783764561613425800,"indexed_at_ns":1787726739765254200,"word_count":48,"hashes":{"backend/prisma/migrations/20260526160916_add_ui_texts_and_scientific_terms/migration.sql":"c564f4aba35d32a733a5837c33664c68c8912277ad9645310f7e8116fbcba741"}},"backend/prisma/scientificTerms.ts":{"size":24298,"mtime_ns":1785325924634812500,"indexed_at_ns":1787726728717813800,"word_count":2294},"backend/prisma/seed-blogs.ts":{"size":6950,"mtime_ns":1786885876777374000,"indexed_at_ns":1787726728724742400,"word_count":620},"backend/prisma/seed-custom.ts":{"size":3836,"mtime_ns":1786799852144902000,"indexed_at_ns":1787726728731289500,"word_count":371},"backend/prisma/seed-home.ts":{"size":3870,"mtime_ns":1786885876779371100,"indexed_at_ns":1787726728738323600,"word_count":374},"backend/prisma/seed-products-data.json":{"size":59231,"mtime_ns":1788333723584557900,"indexed_at_ns":1788333819826304600,"word_count":5730,"hashes":{"backend/prisma/seed-products-data.json":"2c84695a0e1ce94406b8eb038936758a2dd27e22b5727051ea8d30749b4e9163"}},"backend/prisma/seed-products.ts":{"size":28268,"mtime_ns":1787127978219270600,"indexed_at_ns":1787726728749556400,"word_count":2063},"backend/prisma/seed-ui-texts.ts":{"size":9168,"mtime_ns":1787999006317919000,"indexed_at_ns":1787999341072321100,"word_count":758},"backend/prisma/seed-wiki.ts":{"size":24019,"mtime_ns":1786961195297596000,"indexed_at_ns":1787726728762216000,"word_count":2292},"backend/prisma/seed.ts":{"size":30480,"mtime_ns":1787127978225587600,"indexed_at_ns":1787726728769733300,"word_count":2636},"backend/prisma/tsconfig.json":{"size":194,"mtime_ns":1786961195300236300,"indexed_at_ns":1787726739768256500,"word_count":17,"hashes":{"backend/prisma/tsconfig.json":"0308b15b67bad714ff5f1b6b73f64ae46f98d5190cd6092abb1fb67885d67be1"}},"backend/prisma/tsconfig.seed.json":{"size":194,"mtime_ns":1786955870751259200,"indexed_at_ns":1787726739769256400,"word_count":17,"hashes":{"backend/prisma/tsconfig.seed.json":"e178d23a09563a7a9b348d905bc70322115514c78a7afcc5a53db7d18e511583"}},"backend/scripts/generate-openapi.d.ts":{"size":11,"mtime_ns":1786883225777483700,"indexed_at_ns":1787726728788027700,"word_count":2},"backend/scripts/generate-openapi.js":{"size":2965,"mtime_ns":1786883225779120000,"indexed_at_ns":1787726728794115400,"word_count":309},"backend/scripts/generate-openapi.ts":{"size":1421,"mtime_ns":1787729527925391800,"indexed_at_ns":1787729927210338500,"word_count":132},"backend/scripts/seo-backfill.ts":{"size":4551,"mtime_ns":1787729527925391800,"indexed_at_ns":1787729927215335400,"word_count":464},"backend/src/admin/admin.controller.spec.ts":{"size":593,"mtime_ns":1786799852157399700,"indexed_at_ns":1787726728816339600,"word_count":59},"backend/src/admin/admin.controller.ts":{"size":11107,"mtime_ns":1788609394315789100,"indexed_at_ns":1788613605032606200,"word_count":1076},"backend/src/admin/admin.module.ts":{"size":1420,"mtime_ns":1786877667005008400,"indexed_at_ns":1787726728829614400,"word_count":145},"backend/src/admin/admin.service.spec.ts":{"size":903,"mtime_ns":1787729523434852600,"indexed_at_ns":1787729927236681900,"word_count":89},"backend/src/admin/admin.service.ts":{"size":54945,"mtime_ns":1788609394316908100,"indexed_at_ns":1788613605051366500,"word_count":5207},"backend/src/admin/blogs.controller.ts":{"size":5204,"mtime_ns":1787579631758177800,"indexed_at_ns":1787726728849039400,"word_count":532},"backend/src/admin/blogs.service.ts":{"size":9542,"mtime_ns":1787579631760177700,"indexed_at_ns":1787726728855138400,"word_count":1070},"backend/src/admin/categories.controller.ts":{"size":2187,"mtime_ns":1786799852174192500,"indexed_at_ns":1787726728862149600,"word_count":204},"backend/src/admin/categories.service.ts":{"size":2005,"mtime_ns":1786799852175194300,"indexed_at_ns":1787726728869148700,"word_count":223},"backend/src/admin/dto/admin-query.dto.ts":{"size":975,"mtime_ns":1788332757638029400,"indexed_at_ns":1788333107621968800,"word_count":89},"backend/src/admin/dto/product.dto.ts":{"size":9859,"mtime_ns":1788609394317999800,"indexed_at_ns":1788613605093051200,"word_count":808},"backend/src/admin/dto/user.dto.ts":{"size":2839,"mtime_ns":1787072106381989700,"indexed_at_ns":1787726728889404100,"word_count":259},"backend/src/admin/media.controller.ts":{"size":2339,"mtime_ns":1786876983648866300,"indexed_at_ns":1787726728895408700,"word_count":226},"backend/src/admin/media.service.ts":{"size":3596,"mtime_ns":1787748438701533500,"indexed_at_ns":1787748507167881200,"word_count":373},"backend/src/admin/pets.controller.ts":{"size":1195,"mtime_ns":1786799852186217200,"indexed_at_ns":1787726728908565800,"word_count":117},"backend/src/admin/pets.service.ts":{"size":1731,"mtime_ns":1786954681814243000,"indexed_at_ns":1787726728915489100,"word_count":193},"backend/src/admin/reports.controller.ts":{"size":1079,"mtime_ns":1787729523434852600,"indexed_at_ns":1787729927304516400,"word_count":107},"backend/src/admin/reports.service.ts":{"size":6497,"mtime_ns":1787729523434852600,"indexed_at_ns":1787729927310486400,"word_count":729},"backend/src/admin/ssl.controller.ts":{"size":3371,"mtime_ns":1787072106382979000,"indexed_at_ns":1787726728933458100,"word_count":296},"backend/src/admin/ssl.service.ts":{"size":6502,"mtime_ns":1787072106383978900,"indexed_at_ns":1787726728940536700,"word_count":612},"backend/src/admin/wiki.controller.ts":{"size":1814,"mtime_ns":1786799852191732300,"indexed_at_ns":1787726728947315900,"word_count":179},"backend/src/admin/wiki.service.ts":{"size":1767,"mtime_ns":1786799852193324200,"indexed_at_ns":1787726728953886100,"word_count":195},"backend/src/app.controller.spec.ts":{"size":617,"mtime_ns":1783764561644839700,"indexed_at_ns":1787726728959886100,"word_count":61},"backend/src/app.controller.ts":{"size":274,"mtime_ns":1783764561645849100,"indexed_at_ns":1787726728965475600,"word_count":31},"backend/src/app.module.ts":{"size":4052,"mtime_ns":1787579631764695400,"indexed_at_ns":1787726728971183900,"word_count":382},"backend/src/app.service.ts":{"size":142,"mtime_ns":1783764561648840500,"indexed_at_ns":1787726728977275800,"word_count":19},"backend/src/auth/auth.constants.ts":{"size":456,"mtime_ns":1787072106385980100,"indexed_at_ns":1787726728983890000,"word_count":32},"backend/src/auth/auth.controller.spec.ts":{"size":1528,"mtime_ns":1785327951179468000,"indexed_at_ns":1787726728988890000,"word_count":149},"backend/src/auth/auth.controller.ts":{"size":4304,"mtime_ns":1787645037368025500,"indexed_at_ns":1787726728996333500,"word_count":410},"backend/src/auth/auth.module.ts":{"size":724,"mtime_ns":1787072106388501600,"indexed_at_ns":1787726729002365400,"word_count":80},"backend/src/auth/auth.service.spec.ts":{"size":4306,"mtime_ns":1787729523436876800,"indexed_at_ns":1787729927377157300,"word_count":381},"backend/src/auth/auth.service.ts":{"size":9713,"mtime_ns":1787127978228589700,"indexed_at_ns":1787726729014017400,"word_count":933},"backend/src/auth/dto/admin-login.dto.ts":{"size":766,"mtime_ns":1787127978229587400,"indexed_at_ns":1787726729021017300,"word_count":82},"backend/src/auth/dto/login.dto.ts":{"size":587,"mtime_ns":1783764561659109000,"indexed_at_ns":1787726729027109900,"word_count":63},"backend/src/auth/dto/register.dto.ts":{"size":1197,"mtime_ns":1785327951186476900,"indexed_at_ns":1787726729033385300,"word_count":115},"backend/src/auth/dto/send-otp.dto.ts":{"size":374,"mtime_ns":1783764561661106500,"indexed_at_ns":1787726729039417400,"word_count":39},"backend/src/auth/dto/verify-otp.dto.ts":{"size":594,"mtime_ns":1783764561662112100,"indexed_at_ns":1787726729045971800,"word_count":64},"backend/src/auth/jwt-auth.guard.ts":{"size":494,"mtime_ns":1786799852205862700,"indexed_at_ns":1787726729051550300,"word_count":58},"backend/src/auth/jwt.strategy.ts":{"size":1122,"mtime_ns":1786883225794343300,"indexed_at_ns":1787726729058027000,"word_count":116},"backend/src/auth/roles.decorator.ts":{"size":54,"mtime_ns":1786799852208379600,"indexed_at_ns":1787726729064059300,"word_count":4},"backend/src/auth/roles.guard.ts":{"size":46,"mtime_ns":1786799852209003400,"indexed_at_ns":1787726729070031800,"word_count":4},"backend/src/b2b/b2b.controller.ts":{"size":2782,"mtime_ns":1787645037369065300,"indexed_at_ns":1787726729075540200,"word_count":261},"backend/src/b2b/b2b.module.ts":{"size":342,"mtime_ns":1786799852212013200,"indexed_at_ns":1787726729082375900,"word_count":38},"backend/src/b2b/b2b.service.ts":{"size":2379,"mtime_ns":1786799852214009300,"indexed_at_ns":1787726729088349500,"word_count":243},"backend/src/banners/banners.controller.ts":{"size":1923,"mtime_ns":1786799852215010200,"indexed_at_ns":1787726729094382800,"word_count":169},"backend/src/banners/banners.module.ts":{"size":374,"mtime_ns":1786799852216010300,"indexed_at_ns":1787726729099954900,"word_count":38},"backend/src/banners/banners.service.ts":{"size":1394,"mtime_ns":1786799852216010300,"indexed_at_ns":1787726729105481900,"word_count":160},"backend/src/blogs/blogs.controller.ts":{"size":2794,"mtime_ns":1788334048803235500,"indexed_at_ns":1788334713518424700,"word_count":247},"backend/src/blogs/blogs.module.ts":{"size":248,"mtime_ns":1783764561665678100,"indexed_at_ns":1787726729117858700,"word_count":28},"backend/src/blogs/blogs.service.ts":{"size":10448,"mtime_ns":1788334048804373300,"indexed_at_ns":1788334713528538100,"word_count":1157},"backend/src/blogs/dto/create-blog.dto.ts":{"size":30,"mtime_ns":1783764561671557000,"indexed_at_ns":1787726729130858800,"word_count":4},"backend/src/blogs/dto/update-blog.dto.ts":{"size":164,"mtime_ns":1783764561673712400,"indexed_at_ns":1787726729137866600,"word_count":18},"backend/src/blogs/entities/blog.entity.ts":{"size":21,"mtime_ns":1783764561675101100,"indexed_at_ns":1787726729143865200,"word_count":4},"backend/src/cms/cms.controller.ts":{"size":3521,"mtime_ns":1785327951196913100,"indexed_at_ns":1787726729149268700,"word_count":280},"backend/src/cms/cms.module.ts":{"size":342,"mtime_ns":1785148022206298000,"indexed_at_ns":1787726729156414600,"word_count":38},"backend/src/cms/cms.service.ts":{"size":2501,"mtime_ns":1785327951197940400,"indexed_at_ns":1787726729162441900,"word_count":256},"backend/src/cms/dto/cms.dto.ts":{"size":2357,"mtime_ns":1785327951199995500,"indexed_at_ns":1787726729169380900,"word_count":203},"backend/src/common/decorators/roles.decorator.ts":{"size":157,"mtime_ns":1786799852220522400,"indexed_at_ns":1787726729174954700,"word_count":20},"backend/src/common/dto/pagination.dto.ts":{"size":1188,"mtime_ns":1785327951201988900,"indexed_at_ns":1787726729180990600,"word_count":121},"backend/src/common/env.validation.ts":{"size":1162,"mtime_ns":1787645037370646800,"indexed_at_ns":1787726729187990800,"word_count":109},"backend/src/common/filters/http-exception.filter.ts":{"size":4993,"mtime_ns":1787645037371739300,"indexed_at_ns":1787726729194260200,"word_count":500},"backend/src/common/filters/prisma-exception.filter.ts":{"size":2862,"mtime_ns":1787645037372254700,"indexed_at_ns":1787726729201199300,"word_count":280},"backend/src/common/guards/roles.guard.spec.ts":{"size":2426,"mtime_ns":1786799852225556800,"indexed_at_ns":1787726729208239500,"word_count":223},"backend/src/common/guards/roles.guard.ts":{"size":1285,"mtime_ns":1786799852226565200,"indexed_at_ns":1787726729214246900,"word_count":120},"backend/src/common/interceptors/decimal.interceptor.spec.ts":{"size":1677,"mtime_ns":1786799852227565700,"indexed_at_ns":1787726729220254800,"word_count":164},"backend/src/common/interceptors/decimal.interceptor.ts":{"size":1094,"mtime_ns":1786799852227565700,"indexed_at_ns":1787726729226825500,"word_count":118},"backend/src/common/metrics.controller.ts":{"size":2093,"mtime_ns":1786799852229073100,"indexed_at_ns":1787726729232447400,"word_count":206},"backend/src/common/revalidation/revalidation.module.ts":{"size":240,"mtime_ns":1787579631769582300,"indexed_at_ns":1787726729239087900,"word_count":24},"backend/src/common/revalidation/revalidation.service.ts":{"size":3410,"mtime_ns":1787579631770587500,"indexed_at_ns":1787726729246057400,"word_count":272},"backend/src/common/schemas/error-response.schema.ts":{"size":1680,"mtime_ns":1785330913144701500,"indexed_at_ns":1787726729252104800,"word_count":162},"backend/src/common/schemas/paginated-response.schema.ts":{"size":1108,"mtime_ns":1786799852230082200,"indexed_at_ns":1787726729258104400,"word_count":110},"backend/src/common/services/sms.service.ts":{"size":43539,"mtime_ns":1788624218509113300,"indexed_at_ns":1788624359089101600,"word_count":4092},"backend/src/common/sms.module.ts":{"size":204,"mtime_ns":1785330750996125100,"indexed_at_ns":1787726729274176800,"word_count":24},"backend/src/common/utils/phone.utils.ts":{"size":1089,"mtime_ns":1786883225801396000,"indexed_at_ns":1787726729280624000,"word_count":149},"backend/src/contact/contact.controller.ts":{"size":2088,"mtime_ns":1787645037373264000,"indexed_at_ns":1787726729286660600,"word_count":192},"backend/src/contact/contact.module.ts":{"size":365,"mtime_ns":1786799852236599000,"indexed_at_ns":1787726729292806800,"word_count":38},"backend/src/contact/contact.service.ts":{"size":4445,"mtime_ns":1788584193706148400,"indexed_at_ns":1788608118832554900,"word_count":432},"backend/src/doctors/doctors.controller.ts":{"size":1583,"mtime_ns":1787148092311692900,"indexed_at_ns":1787726729304627000,"word_count":148},"backend/src/doctors/doctors.module.ts":{"size":374,"mtime_ns":1786971396035575100,"indexed_at_ns":1787726729310709500,"word_count":38},"backend/src/doctors/doctors.service.ts":{"size":2336,"mtime_ns":1787148092312693100,"indexed_at_ns":1787726729316710800,"word_count":266},"backend/src/doctors/dto/doctor-query.dto.ts":{"size":1009,"mtime_ns":1787148092314699500,"indexed_at_ns":1787726729323711800,"word_count":116},"backend/src/faq/faq.controller.ts":{"size":2210,"mtime_ns":1787148092316694700,"indexed_at_ns":1787726729329710800,"word_count":199},"backend/src/faq/faq.module.ts":{"size":234,"mtime_ns":1787148092316694700,"indexed_at_ns":1787726729335913700,"word_count":28},"backend/src/faq/faq.service.ts":{"size":1541,"mtime_ns":1787148092319911700,"indexed_at_ns":1787726729341879200,"word_count":184},"backend/src/home/dto/create-home.dto.ts":{"size":30,"mtime_ns":1783764561682365300,"indexed_at_ns":1787726729348678200,"word_count":4},"backend/src/home/dto/update-home.dto.ts":{"size":164,"mtime_ns":1783764561682365300,"indexed_at_ns":1787726729354360200,"word_count":18},"backend/src/home/entities/home.entity.ts":{"size":21,"mtime_ns":1783764561684884800,"indexed_at_ns":1787726729360332100,"word_count":4},"backend/src/home/home.controller.ts":{"size":757,"mtime_ns":1785327951212087300,"indexed_at_ns":1787726729365692000,"word_count":69},"backend/src/home/home.module.ts":{"size":241,"mtime_ns":1783764561687108000,"indexed_at_ns":1787726729372815400,"word_count":28},"backend/src/home/home.service.ts":{"size":1372,"mtime_ns":1785327951214087300,"indexed_at_ns":1787726729378370200,"word_count":144},"backend/src/ingredients/ingredients.controller.ts":{"size":1952,"mtime_ns":1786799852237596500,"indexed_at_ns":1787726729384776300,"word_count":165},"backend/src/ingredients/ingredients.module.ts":{"size":406,"mtime_ns":1786799852238596500,"indexed_at_ns":1787726729391513400,"word_count":38},"backend/src/ingredients/ingredients.service.ts":{"size":1526,"mtime_ns":1786799852240108300,"indexed_at_ns":1787726729397517700,"word_count":162},"backend/src/main.ts":{"size":4119,"mtime_ns":1787999006319547500,"indexed_at_ns":1787999341613980900,"word_count":362},"backend/src/menu/menu.controller.ts":{"size":2920,"mtime_ns":1787564348681948800,"indexed_at_ns":1787726729410971900,"word_count":265},"backend/src/menu/menu.module.ts":{"size":267,"mtime_ns":1787148092323869500,"indexed_at_ns":1787726729418641500,"word_count":30},"backend/src/menu/menu.service.ts":{"size":7799,"mtime_ns":1787564362262172600,"indexed_at_ns":1787726729424116700,"word_count":799},"backend/src/orders/dto/create-order.dto.ts":{"size":1899,"mtime_ns":1785327951218626100,"indexed_at_ns":1787726729430534500,"word_count":162},"backend/src/orders/orders.controller.spec.ts":{"size":1910,"mtime_ns":1785327951219627700,"indexed_at_ns":1787726729437590400,"word_count":194},"backend/src/orders/orders.controller.ts":{"size":5930,"mtime_ns":1787072106398077200,"indexed_at_ns":1787726729444156500,"word_count":517},"backend/src/orders/orders.module.ts":{"size":255,"mtime_ns":1783764561697598200,"indexed_at_ns":1787726729449863600,"word_count":28},"backend/src/orders/orders.service.spec.ts":{"size":5121,"mtime_ns":1787729523436876800,"indexed_at_ns":1787729927751553500,"word_count":493},"backend/src/orders/orders.service.ts":{"size":21538,"mtime_ns":1788609394322769200,"indexed_at_ns":1788613605602689400,"word_count":2046},"backend/src/payment/dto/admin-transaction-filter.dto.ts":{"size":2060,"mtime_ns":1787072106401590500,"indexed_at_ns":1787726729467565100,"word_count":191},"backend/src/payment/dto/ebank-checkout.dto.ts":{"size":1378,"mtime_ns":1787394001603461200,"indexed_at_ns":1787726729473467400,"word_count":118},"backend/src/payment/dto/initiate-payment.dto.ts":{"size":775,"mtime_ns":1786870552874246400,"indexed_at_ns":1787726729479997200,"word_count":69},"backend/src/payment/dto/verify-payment.dto.ts":{"size":1421,"mtime_ns":1786894580126857900,"indexed_at_ns":1787726729487007600,"word_count":126},"backend/src/payment/interfaces/payment-gateway.interface.ts":{"size":1330,"mtime_ns":1786870552876751100,"indexed_at_ns":1787726729493007700,"word_count":128},"backend/src/payment/payment.controller.ts":{"size":19204,"mtime_ns":1788609394323871800,"indexed_at_ns":1788613605639615500,"word_count":1576},"backend/src/payment/payment.module.ts":{"size":608,"mtime_ns":1787394001605617900,"indexed_at_ns":1787726729505386600,"word_count":61},"backend/src/payment/payment.service.ts":{"size":40259,"mtime_ns":1788609394325101800,"indexed_at_ns":1788613605650669200,"word_count":3576},"backend/src/payment/zibal-ebank.service.ts":{"size":10087,"mtime_ns":1787461919452306600,"indexed_at_ns":1787726729518640700,"word_count":1006},"backend/src/payment/zibal.service.ts":{"size":25781,"mtime_ns":1787461919453309100,"indexed_at_ns":1787726729525641200,"word_count":2490},"backend/src/pets/dto/create-health-log.dto.ts":{"size":761,"mtime_ns":1785327951229443300,"indexed_at_ns":1787726729532595600,"word_count":69},"backend/src/pets/dto/create-pet.dto.ts":{"size":1143,"mtime_ns":1785327951230948800,"indexed_at_ns":1787726729539689500,"word_count":104},"backend/src/pets/dto/create-reminder.dto.ts":{"size":810,"mtime_ns":1785327951231958200,"indexed_at_ns":1787726729545689700,"word_count":71},"backend/src/pets/dto/update-pet.dto.ts":{"size":160,"mtime_ns":1783764561709557500,"indexed_at_ns":1787726729551201600,"word_count":18},"backend/src/pets/pets.controller.spec.ts":{"size":2544,"mtime_ns":1786799852248118800,"indexed_at_ns":1787726729556953000,"word_count":269},"backend/src/pets/pets.controller.ts":{"size":8427,"mtime_ns":1787461919454308900,"indexed_at_ns":1787726729563595800,"word_count":781},"backend/src/pets/pets.module.ts":{"size":241,"mtime_ns":1783764561714469800,"indexed_at_ns":1787726729570135400,"word_count":28},"backend/src/pets/pets.service.spec.ts":{"size":2961,"mtime_ns":1785327951238208000,"indexed_at_ns":1787726729576202600,"word_count":272},"backend/src/pets/pets.service.ts":{"size":6978,"mtime_ns":1786799852250117400,"indexed_at_ns":1787726729581853500,"word_count":710},"backend/src/prescriptions/prescriptions.controller.ts":{"size":2356,"mtime_ns":1786799852253748300,"indexed_at_ns":1787726729589105100,"word_count":232},"backend/src/prescriptions/prescriptions.module.ts":{"size":495,"mtime_ns":1786954681815809200,"indexed_at_ns":1787726729595362900,"word_count":45},"backend/src/prescriptions/prescriptions.service.ts":{"size":4666,"mtime_ns":1787072106408779000,"indexed_at_ns":1787726729601839800,"word_count":498},"backend/src/prisma/prisma.module.ts":{"size":210,"mtime_ns":1783764561718199800,"indexed_at_ns":1787726729608494400,"word_count":24},"backend/src/prisma/prisma.service.ts":{"size":4250,"mtime_ns":1787640806107781000,"indexed_at_ns":1787726729614499200,"word_count":425},"backend/src/products/dto/get-products.dto.ts":{"size":1320,"mtime_ns":1786799852260271600,"indexed_at_ns":1787726729621151100,"word_count":115},"backend/src/products/products.controller.spec.ts":{"size":1863,"mtime_ns":1785327951243280800,"indexed_at_ns":1787726729629866100,"word_count":166},"backend/src/products/products.controller.ts":{"size":2445,"mtime_ns":1786799852261281700,"indexed_at_ns":1787726729636530800,"word_count":209},"backend/src/products/products.module.ts":{"size":340,"mtime_ns":1787999968301264900,"indexed_at_ns":1788000007911577500,"word_count":35},"backend/src/products/products.service.spec.ts":{"size":1860,"mtime_ns":1787729523438446200,"indexed_at_ns":1787729927908082400,"word_count":175},"backend/src/products/products.service.ts":{"size":7842,"mtime_ns":1788334048805380100,"indexed_at_ns":1788334713972877000,"word_count":807},"backend/src/redis/redis.module.ts":{"size":205,"mtime_ns":1783764561727662100,"indexed_at_ns":1787726729660667100,"word_count":24},"backend/src/redis/redis.service.spec.ts":{"size":1525,"mtime_ns":1783764561728672300,"indexed_at_ns":1787726729667111900,"word_count":145},"backend/src/redis/redis.service.ts":{"size":1202,"mtime_ns":1786895436211834600,"indexed_at_ns":1787726729673119800,"word_count":132},"backend/src/reviews/dto/create-review.dto.ts":{"size":949,"mtime_ns":1787072106414306300,"indexed_at_ns":1787726729680066000,"word_count":92},"backend/src/reviews/dto/update-review.dto.ts":{"size":534,"mtime_ns":1787072106415805700,"indexed_at_ns":1787726729686118000,"word_count":53},"backend/src/reviews/reviews.controller.ts":{"size":3318,"mtime_ns":1787645037375268800,"indexed_at_ns":1787726729692109200,"word_count":329},"backend/src/reviews/reviews.module.ts":{"size":374,"mtime_ns":1786944769517310800,"indexed_at_ns":1787726729699837600,"word_count":38},"backend/src/reviews/reviews.service.ts":{"size":7013,"mtime_ns":1787579631775586600,"indexed_at_ns":1787726729706361600,"word_count":742},"backend/src/seo/seo.controller.ts":{"size":904,"mtime_ns":1785327951247283200,"indexed_at_ns":1787726729713027000,"word_count":85},"backend/src/seo/seo.module.ts":{"size":342,"mtime_ns":1785148022268580900,"indexed_at_ns":1787726729720026400,"word_count":38},"backend/src/seo/seo.service.ts":{"size":2023,"mtime_ns":1787127978249385200,"indexed_at_ns":1787726729726026200,"word_count":182},"backend/src/settings/default-ui-texts.ts":{"size":19254,"mtime_ns":1787999006320546900,"indexed_at_ns":1787999341882239600,"word_count":1538},"backend/src/settings/dto/sms-log-query.dto.ts":{"size":1343,"mtime_ns":1787072106421339300,"indexed_at_ns":1787726729739063400,"word_count":125},"backend/src/settings/settings.controller.spec.ts":{"size":2855,"mtime_ns":1787729523438446200,"indexed_at_ns":1787729927987436700,"word_count":239},"backend/src/settings/settings.controller.ts":{"size":9726,"mtime_ns":1788609394326111700,"indexed_at_ns":1788613605848234200,"word_count":762},"backend/src/settings/settings.module.ts":{"size":382,"mtime_ns":1783764561735515700,"indexed_at_ns":1787726729758697700,"word_count":38},"backend/src/settings/settings.service.spec.ts":{"size":3028,"mtime_ns":1787729523439452400,"indexed_at_ns":1787729928002596300,"word_count":279},"backend/src/settings/settings.service.ts":{"size":23005,"mtime_ns":1788609394327111600,"indexed_at_ns":1788613605865219900,"word_count":1766},"backend/src/smart-advisor/smart-advisor.controller.ts":{"size":1821,"mtime_ns":1786799852275441500,"indexed_at_ns":1787726729775867900,"word_count":152},"backend/src/smart-advisor/smart-advisor.module.ts":{"size":416,"mtime_ns":1786799852276441700,"indexed_at_ns":1787726729782878800,"word_count":38},"backend/src/smart-advisor/smart-advisor.service.ts":{"size":1241,"mtime_ns":1786799852277440400,"indexed_at_ns":1787726729788878100,"word_count":131},"backend/src/testimonials/testimonials.controller.ts":{"size":1905,"mtime_ns":1787148092329786500,"indexed_at_ns":1787726729795446100,"word_count":160},"backend/src/testimonials/testimonials.module.ts":{"size":414,"mtime_ns":1786799852279441800,"indexed_at_ns":1787726729801924900,"word_count":38},"backend/src/testimonials/testimonials.service.ts":{"size":1268,"mtime_ns":1787148092332501600,"indexed_at_ns":1787726729810241500,"word_count":140},"backend/src/tickets/dto/create-ticket.dto.ts":{"size":2374,"mtime_ns":1787072106430874900,"indexed_at_ns":1787726729816278100,"word_count":201},"backend/src/tickets/dto/ticket-query.dto.ts":{"size":1103,"mtime_ns":1787072106431871400,"indexed_at_ns":1787726729824281400,"word_count":106},"backend/src/tickets/tickets.controller.ts":{"size":3114,"mtime_ns":1787072106433878000,"indexed_at_ns":1787726729829734800,"word_count":293},"backend/src/tickets/tickets.module.ts":{"size":374,"mtime_ns":1786890779322296800,"indexed_at_ns":1787726729836741100,"word_count":38},"backend/src/tickets/tickets.service.ts":{"size":7310,"mtime_ns":1787072106434874300,"indexed_at_ns":1787726729844342200,"word_count":781},"backend/src/users/dto/address.dto.ts":{"size":1098,"mtime_ns":1783764561739871500,"indexed_at_ns":1787726729851866000,"word_count":99},"backend/src/users/dto/update-profile.dto.ts":{"size":1068,"mtime_ns":1786885876805472100,"indexed_at_ns":1787726729858986800,"word_count":98},"backend/src/users/users.controller.spec.ts":{"size":3333,"mtime_ns":1785327951253796500,"indexed_at_ns":1787726729865019600,"word_count":322},"backend/src/users/users.controller.ts":{"size":6854,"mtime_ns":1786799852282481500,"indexed_at_ns":1787726729871026300,"word_count":590},"backend/src/users/users.module.ts":{"size":275,"mtime_ns":1783764561748154400,"indexed_at_ns":1787726729878590100,"word_count":30},"backend/src/users/users.service.spec.ts":{"size":3844,"mtime_ns":1787729523440453600,"indexed_at_ns":1787729928098956400,"word_count":320},"backend/src/users/users.service.ts":{"size":9199,"mtime_ns":1788609394329113500,"indexed_at_ns":1788613605960730600,"word_count":861},"backend/src/videos/dto/create-video.dto.ts":{"size":1573,"mtime_ns":1786971396042093900,"indexed_at_ns":1787726729895417800,"word_count":127},"backend/src/videos/dto/get-videos-query.dto.ts":{"size":643,"mtime_ns":1786799852287643500,"indexed_at_ns":1787726729903314300,"word_count":77},"backend/src/videos/videos.controller.ts":{"size":1924,"mtime_ns":1786799852291153100,"indexed_at_ns":1787726729909344900,"word_count":173},"backend/src/videos/videos.module.ts":{"size":283,"mtime_ns":1785148022306583700,"indexed_at_ns":1787726729915346300,"word_count":30},"backend/src/videos/videos.service.ts":{"size":3036,"mtime_ns":1788334048807380600,"indexed_at_ns":1788334714212541600,"word_count":321},"backend/src/wholesale/dto/wholesale-apply.dto.ts":{"size":739,"mtime_ns":1785148022317622300,"indexed_at_ns":1787726729928834600,"word_count":66},"backend/src/wholesale/wholesale.controller.ts":{"size":2037,"mtime_ns":1786799852294177000,"indexed_at_ns":1787726729934839900,"word_count":160},"backend/src/wholesale/wholesale.module.ts":{"size":390,"mtime_ns":1785148022328746300,"indexed_at_ns":1787726729941840900,"word_count":38},"backend/src/wholesale/wholesale.service.ts":{"size":2618,"mtime_ns":1788584193713366900,"indexed_at_ns":1788608119381476800,"word_count":266},"backend/src/wiki/dto/create-wiki.dto.ts":{"size":30,"mtime_ns":1783764561752933200,"indexed_at_ns":1787726729953896900,"word_count":4},"backend/src/wiki/dto/update-wiki.dto.ts":{"size":164,"mtime_ns":1783764561753945200,"indexed_at_ns":1787726729959896600,"word_count":18},"backend/src/wiki/entities/wiki.entity.ts":{"size":21,"mtime_ns":1783764561755039400,"indexed_at_ns":1787726729966410900,"word_count":4},"backend/src/wiki/wiki.controller.ts":{"size":1219,"mtime_ns":1785327951272850400,"indexed_at_ns":1787726729972418600,"word_count":110},"backend/src/wiki/wiki.module.ts":{"size":241,"mtime_ns":1783764561756925000,"indexed_at_ns":1787726729978966700,"word_count":28},"backend/src/wiki/wiki.service.ts":{"size":1562,"mtime_ns":1786799852295173000,"indexed_at_ns":1787726729985599000,"word_count":174},"backend/test/app-audit-verification.e2e-spec.d.ts":{"size":11,"mtime_ns":1787073059109005600,"indexed_at_ns":1787726729992165500,"word_count":2},"backend/test/app-audit-verification.e2e-spec.js":{"size":8429,"mtime_ns":1787073059110516300,"indexed_at_ns":1787726729998303900,"word_count":714},"backend/test/app-audit-verification.e2e-spec.ts":{"size":6464,"mtime_ns":1786799852296174700,"indexed_at_ns":1787726730009127800,"word_count":569},"backend/test/app.e2e-spec.d.ts":{"size":11,"mtime_ns":1787073059112563300,"indexed_at_ns":1787726730014789500,"word_count":2},"backend/test/app.e2e-spec.js":{"size":1228,"mtime_ns":1787073059113572500,"indexed_at_ns":1787726730020887300,"word_count":97},"backend/test/app.e2e-spec.ts":{"size":981,"mtime_ns":1786799852297175000,"indexed_at_ns":1787726730030564200,"word_count":83},"backend/test/jest-e2e.json":{"size":183,"mtime_ns":1783764561762911800,"indexed_at_ns":1787726739771257900,"word_count":17,"hashes":{"backend/test/jest-e2e.json":"94091f560937212ad7027afcb77e62e6ac79e3e4cb401c3a16a56e7be4cac721"}},"backend/tsconfig.build.json":{"size":107,"mtime_ns":1783764561763447000,"indexed_at_ns":1787726739772258300,"word_count":10,"hashes":{"backend/tsconfig.build.json":"1f47c7dc3c8b5a15558654f45f21e0f553acc1680046f09dc24428e8538c4f9d"}},"backend/tsconfig.json":{"size":785,"mtime_ns":1787073059116167600,"indexed_at_ns":1787726739773257700,"word_count":56,"hashes":{"backend/tsconfig.json":"9b20fbca537d1e55f3a113fcee6683f0eb1f06752d3c8c52edf26eef8e2053f2"}},"backend/uploads/1781288429353-508765350.jpg":{"size":110246,"mtime_ns":1783764561766257000,"indexed_at_ns":1787726730057371500,"word_count":3882},"canina.md":{"size":21919,"mtime_ns":1786885876809472400,"indexed_at_ns":1787726730067353200,"word_count":1983},"canina.pdf":{"size":2858373,"mtime_ns":1785148022370811500,"indexed_at_ns":1787726730072352400,"word_count":0},"docker-compose.yml":{"size":2147,"mtime_ns":1787752951349742200,"indexed_at_ns":1787752967203975800,"word_count":125},"docs/01-introduction.md":{"size":5537,"mtime_ns":1786885876812474900,"indexed_at_ns":1787726730085575100,"word_count":523},"docs/02-user-guide.md":{"size":4303,"mtime_ns":1786885876813985900,"indexed_at_ns":1787726730091574900,"word_count":422},"docs/03-developer-guide.md":{"size":6717,"mtime_ns":1783764561771660500,"indexed_at_ns":1787726730099089600,"word_count":678},"docs/04-setup-and-deployment.md":{"size":4005,"mtime_ns":1787127978256847800,"indexed_at_ns":1787726739861230800,"word_count":425,"hashes":{"docs/04-setup-and-deployment.md":"aee712cb19a8475be75f8073f7e39870e704923a561ffb9f4ce4b31b1d4bd830"}},"docs/05-devops-and-monitoring.md":{"size":3590,"mtime_ns":1783764561774446100,"indexed_at_ns":1787726739862230700,"word_count":374,"hashes":{"docs/05-devops-and-monitoring.md":"53f1f45bbbdd3cf81cb4bc082ef4e49f506627f10f581d3c4b835028d02b5421"}},"docs/06-testing.md":{"size":4214,"mtime_ns":1783764561774967500,"indexed_at_ns":1787726739862740900,"word_count":457,"hashes":{"docs/06-testing.md":"69d50bd5e233f030d8076b55b69599cee201e1c393b7ee1beeb495c304fd4bd3"}},"docs/README.md":{"size":2740,"mtime_ns":1786885876816996700,"indexed_at_ns":1787726739864750200,"word_count":253,"hashes":{"docs/readme.md":"1b7ffde4b290e742802fc554f2dd2f7a2316fe25bd1cd328421ffa823b36f40f"}},"docs/audit/00-repository-map.md":{"size":3171,"mtime_ns":1786799852298174200,"indexed_at_ns":1787726739865750000,"word_count":351,"hashes":{"docs/audit/00-repository-map.md":"dde4a63c991d0f469086a147df03b97d8370cd75fa19cc83af1199f267d7bc55"}},"docs/audit/01-system-discovery.md":{"size":3790,"mtime_ns":1786799852299174400,"indexed_at_ns":1787726739866750300,"word_count":467,"hashes":{"docs/audit/01-system-discovery.md":"6c91253cac025506db71adea33a054f88f4c367ba81fc3cb1b85c2bdcfec5c70"}},"docs/audit/02-audit-plan.md":{"size":5058,"mtime_ns":1786799852300175400,"indexed_at_ns":1787726739867750300,"word_count":530,"hashes":{"docs/audit/02-audit-plan.md":"b623d8f8c2b8a14c1ddca1ad956cd8afc9203f7a94eda8e63fd608bc8e9164d1"}},"docs/audit/03-baseline-command-plan.md":{"size":4904,"mtime_ns":1786799852300175400,"indexed_at_ns":1787726739868750300,"word_count":735,"hashes":{"docs/audit/03-baseline-command-plan.md":"fcf49beae52c69d7e9cf85967f028052fa1a78eaae5a2bb9b18072b0273e80e1"}},"docs/audit/04-open-questions.md":{"size":1690,"mtime_ns":1786799852301682100,"indexed_at_ns":1787726739869750100,"word_count":224,"hashes":{"docs/audit/04-open-questions.md":"02fbd51a9131da0b12122a5280cc6f842c299b436a72b117e2263f011b9ebf9c"}},"docs/audit/05-architectural-audit.md":{"size":4884,"mtime_ns":1786799852302689800,"indexed_at_ns":1787726730169702300,"word_count":560},"docs/audit/06-storefront-audit.md":{"size":4191,"mtime_ns":1786799852303691400,"indexed_at_ns":1787726739871758800,"word_count":520,"hashes":{"docs/audit/06-storefront-audit.md":"1e2f2d9d867dc553f503ef91b3bd60310202225da12bc7d324e192f4e15d8c38"}},"docs/audit/07-backend-audit.md":{"size":5037,"mtime_ns":1786799852304689900,"indexed_at_ns":1787726739872758800,"word_count":581,"hashes":{"docs/audit/07-backend-audit.md":"0436a967b82026334bf45c9ca677d1e79ce688681bea4dc06a7fd19e2d5a2129"}},"docs/audit/08-admin-features-audit.md":{"size":4222,"mtime_ns":1786799852305951400,"indexed_at_ns":1787726739873758600,"word_count":479,"hashes":{"docs/audit/08-admin-features-audit.md":"dda5b0bae4f843a51274269dcb91d8b65db2f2917d336d511790da4718b05b8d"}},"docs/audit/09-database-audit.md":{"size":4126,"mtime_ns":1786799852306969500,"indexed_at_ns":1787726739874758900,"word_count":521,"hashes":{"docs/audit/09-database-audit.md":"d4f82b84ae6c1899ab4da1310414d993d9c23dcd2759120fbe551f5b8da95a08"}},"docs/audit/10-security-audit.md":{"size":5560,"mtime_ns":1786799852307952600,"indexed_at_ns":1787726730204465900,"word_count":678},"docs/audit/11-code-quality-audit.md":{"size":3379,"mtime_ns":1786799852308957000,"indexed_at_ns":1787726739875758500,"word_count":419,"hashes":{"docs/audit/11-code-quality-audit.md":"b6b9a4845e0bd5674d897c08f5451f8cab4df22722826f7c9d55ca19b94d88da"}},"docs/audit/12-testing-audit.md":{"size":4106,"mtime_ns":1786799852309952600,"indexed_at_ns":1787726739877758700,"word_count":486,"hashes":{"docs/audit/12-testing-audit.md":"8bdf2058520a88de4d08c0635999de8f79fdab83055ef560ca3a865026b6450a"}},"docs/audit/13-devops-audit.md":{"size":3435,"mtime_ns":1786799852310953800,"indexed_at_ns":1787726739878758700,"word_count":440,"hashes":{"docs/audit/13-devops-audit.md":"d21daac201fcfc3a0e27c27348806f3f5d2790071578dcb98e7869cd6e9ec8a9"}},"docs/audit/14-documentation-audit.md":{"size":3311,"mtime_ns":1786799852311952200,"indexed_at_ns":1787726739879758400,"word_count":379,"hashes":{"docs/audit/14-documentation-audit.md":"e64be175bd632a05e37be823621eb8a8f13bdb74887d10f5f20887d41cef5c62"}},"docs/audit/15-raw-findings-index.json":{"size":9909,"mtime_ns":1786799852313066900,"indexed_at_ns":1787726739774686100,"word_count":817,"hashes":{"docs/audit/15-raw-findings-index.json":"3c1e582431f5f25edd2c38285c9d59f83c83d5348eaf0ced91d6e7c94a9afb6d"}},"docs/audit/16-deep-audit-summary.md":{"size":3111,"mtime_ns":1786799852313066900,"indexed_at_ns":1787726739880758700,"word_count":393,"hashes":{"docs/audit/16-deep-audit-summary.md":"8ea08de6ac54dddd9da6de934bc850bb31ab7e3c5470059d02d7f84dd120a0e4"}},"docs/audit/17-source-coverage-manifest.json":{"size":128714,"mtime_ns":1786799852315065000,"indexed_at_ns":1787726739775692000,"word_count":7827,"hashes":{"docs/audit/17-source-coverage-manifest.json":"834e6c341db760439d2e7a9c17531b03c17151ab0f2f16b92aac8a350bcae51d"}},"docs/audit/18-compiler-diagnostic-dispositions.md":{"size":1961,"mtime_ns":1786799852315065000,"indexed_at_ns":1787726739881758500,"word_count":285,"hashes":{"docs/audit/18-compiler-diagnostic-dispositions.md":"246b9164725e89c67c76f2305cd128f0c0f9bfdba46e45e0e958fe92ccdcda53"}},"docs/audit/19-finding-verification-report.md":{"size":5464,"mtime_ns":1786799852316064800,"indexed_at_ns":1787726739883758400,"word_count":753,"hashes":{"docs/audit/19-finding-verification-report.md":"1cd1bc37f9e76ba7e4d4ef82b8565def786abfeb159bc4d822e364e3f2ea694f"}},"docs/audit/20-verified-findings-index.json":{"size":21797,"mtime_ns":1786799852317071400,"indexed_at_ns":1787726739777692600,"word_count":1903,"hashes":{"docs/audit/20-verified-findings-index.json":"b20d0b140bd727faefde9f29aa4d787199dd386464030eecdf58e5a8ab629442"}},"docs/audit/21-phase2-quality-gate-summary.md":{"size":1706,"mtime_ns":1786799852318066000,"indexed_at_ns":1787726739883758400,"word_count":211,"hashes":{"docs/audit/21-phase2-quality-gate-summary.md":"1b117f866e73cd17c43e3a4e856584f03997a3c897d1de9afbd128ff8a86d09e"}},"docs/audit/22-tracked-first-party-files.txt":{"size":4452,"mtime_ns":1786799852319066000,"indexed_at_ns":1787726730289099900,"word_count":139},"docs/audit/23-untracked-first-party-files.txt":{"size":59,"mtime_ns":1786799852319066000,"indexed_at_ns":1787726730295099800,"word_count":7},"docs/audit/24-omitted-file-inspection-report.md":{"size":2462,"mtime_ns":1786799852320065700,"indexed_at_ns":1787726739885266400,"word_count":227,"hashes":{"docs/audit/24-omitted-file-inspection-report.md":"d4484eea65f1861b9b6a30813d2c233d947c2965a13ed5b399462b80ca9c1513"}},"docs/audit/25-reference-integrity-validation.json":{"size":1002,"mtime_ns":1786799852321571600,"indexed_at_ns":1787726739778692300,"word_count":82,"hashes":{"docs/audit/25-reference-integrity-validation.json":"31b900ed297325cabee3e0804809ecd4229f4427283e449f5d82951bb5ed7fde"}},"docs/audit/26-phase2-integrity-repair-report.md":{"size":3191,"mtime_ns":1786799852322091800,"indexed_at_ns":1787726739887276800,"word_count":385,"hashes":{"docs/audit/26-phase2-integrity-repair-report.md":"2b2f385705db6729fccedc63db0f5709afa23e08a80fc859fe0138b416356cd9"}},"docs/audit/27-all-tracked-repository-files.txt":{"size":4631,"mtime_ns":1786799852323099900,"indexed_at_ns":1787726730320693600,"word_count":148},"docs/audit/28-full-repository-classification.json":{"size":27913,"mtime_ns":1786799852324099500,"indexed_at_ns":1787726739779692400,"word_count":1782,"hashes":{"docs/audit/28-full-repository-classification.json":"bcb50229ceddb267c8839ee69c05f5e5c8c4460485c92849532bcf163c37faa8"}},"docs/audit/29-file-content-evidence.json":{"size":109095,"mtime_ns":1786799852325608100,"indexed_at_ns":1787726739781691000,"word_count":9098,"hashes":{"docs/audit/29-file-content-evidence.json":"c4696525e8ab3c252ff9b6b38d5882225e0a9016698111df28064edbe7bf5124"}},"docs/audit/30-compiler-diagnostics-index.json":{"size":3707,"mtime_ns":1786799852326617100,"indexed_at_ns":1787726739783194500,"word_count":324,"hashes":{"docs/audit/30-compiler-diagnostics-index.json":"85bd1a964e41cc5e615c7260be2beb54b49dd444da40d96ae31e2a33c1c6bc24"}},"docs/audit/31-module-audit-closure.md":{"size":7587,"mtime_ns":1786799852327616800,"indexed_at_ns":1787726739888276700,"word_count":709,"hashes":{"docs/audit/31-module-audit-closure.md":"a1c9d7902131d71cf87a072876cc309ac8dfc7cd6e1f33e9619ac12d99f685ba"}},"docs/audit/32-evidence-grade-validation.json":{"size":1613,"mtime_ns":1786799852328616800,"indexed_at_ns":1787726739784200700,"word_count":123,"hashes":{"docs/audit/32-evidence-grade-validation.json":"12ddcc21ff65a2aa76845935ebc0d8313c39991335356fbe3ae7cdd201251af5"}},"docs/audit/33-final-phase2-audit-closure.md":{"size":2535,"mtime_ns":1786799852328616800,"indexed_at_ns":1787726739889276900,"word_count":271,"hashes":{"docs/audit/33-final-phase2-audit-closure.md":"217cadb664c7f7d27f8f849ea1249dfd88d5398fd2af154fd385c80e4d559bb1"}},"docs/audit/34-repository-observations.json":{"size":594,"mtime_ns":1786799852329618700,"indexed_at_ns":1787726739785199000,"word_count":49,"hashes":{"docs/audit/34-repository-observations.json":"28ce67ed3f5bcc3e5c3c80d73a16a34d8053d570be0af62be8afaffbc9318a27"}},"docs/audit/35-semantic-review-ledger.json":{"size":99353,"mtime_ns":1786799852330616000,"indexed_at_ns":1787726739786706200,"word_count":6011,"hashes":{"docs/audit/35-semantic-review-ledger.json":"ac0529050e87efc9e2b5a6c5b3a2ce6379186b4b07f23d8ec9cebf214ff885ef"}},"docs/audit/36-mandatory-semantic-scope.json":{"size":7960,"mtime_ns":1786799852331617100,"indexed_at_ns":1787726739787707200,"word_count":638,"hashes":{"docs/audit/36-mandatory-semantic-scope.json":"af62db825dd527009b8d79a6edab6ab627fe55303d3f7fd1c2d8e5fab9a8760b"}},"docs/audit/ADR-AUTH-001.md":{"size":3274,"mtime_ns":1786799852332642700,"indexed_at_ns":1787726730388254300,"word_count":398},"docs/audit/CROSS_BOUNDARY_DEPENDENCIES.md":{"size":2146,"mtime_ns":1786799852332642700,"indexed_at_ns":1787726730394794200,"word_count":239},"docs/audit/FRONTEND_INTEGRATION_REQUIREMENTS.md":{"size":15307,"mtime_ns":1787127978258848200,"indexed_at_ns":1787726730402390500,"word_count":1579},"docs/audit/MASTER-TASK-BACKLOG.md":{"size":30107,"mtime_ns":1786799852335470200,"indexed_at_ns":1787726730410947100,"word_count":3510},"docs/audit/audit-state.json":{"size":4135,"mtime_ns":1786799852337382200,"indexed_at_ns":1787726739788704900,"word_count":267,"hashes":{"docs/audit/audit-state.json":"4b804494570a2812170cb8dab35d15da659f57d6e637652328725e956f7d98aa"}},"docs/audit/build_manifest.js":{"size":4060,"mtime_ns":1786799852338393200,"indexed_at_ns":1787726730421985600,"word_count":348},"docs/audit/frontend-route-map.md":{"size":2558,"mtime_ns":1786799852339389800,"indexed_at_ns":1787726730429495100,"word_count":329},"docs/audit/generate_classification.js":{"size":2186,"mtime_ns":1786799852339389800,"indexed_at_ns":1787726730434093300,"word_count":204},"docs/audit/generate_evidence.js":{"size":3098,"mtime_ns":1786799852340390100,"indexed_at_ns":1787726730440532500,"word_count":253},"docs/audit/generate_ledger.js":{"size":7648,"mtime_ns":1786799852341897300,"indexed_at_ns":1787726730446281100,"word_count":620},"docs/audit/generate_manifest.js":{"size":6357,"mtime_ns":1786799852341897300,"indexed_at_ns":1787726730452526800,"word_count":489},"docs/audit/master-task-backlog.json":{"size":22336,"mtime_ns":1786799852342906700,"indexed_at_ns":1787726739790706500,"word_count":2071,"hashes":{"docs/audit/master-task-backlog.json":"f1c994d971b4e58165ab9f74f8b69b97c07fe74005f64dc11badf5e287b5fd28"}},"docs/audit/phase3-execution-plan.md":{"size":6007,"mtime_ns":1786799852343952400,"indexed_at_ns":1787726730466602900,"word_count":736},"docs/audit/phase3-traceability-matrix.md":{"size":5237,"mtime_ns":1786799852344952800,"indexed_at_ns":1787726739890276800,"word_count":692,"hashes":{"docs/audit/phase3-traceability-matrix.md":"c46b1b09c5f6be7f54ba888652e69698b26d955a8e7c8e4fa19cda8729ee2f7b"}},"docs/audit/phase3.1-backlog-review.md":{"size":9737,"mtime_ns":1786799852345952800,"indexed_at_ns":1787726739891276700,"word_count":1202,"hashes":{"docs/audit/phase3.1-backlog-review.md":"021895bb0b90dd75935ebe0317d3198a2c448ccdd6861b1302cc29735f48da82"}},"docs/audit/phase3.1-change-log.md":{"size":3756,"mtime_ns":1786799852346954800,"indexed_at_ns":1787726739893276700,"word_count":451,"hashes":{"docs/audit/phase3.1-change-log.md":"093d244c2788ead47c69e3068ccf66930ba52e04430bdba87020cb4a4edcb817"}},"docs/audit/phase3.2-change-log.md":{"size":8272,"mtime_ns":1786799852347952200,"indexed_at_ns":1787726739894276600,"word_count":930,"hashes":{"docs/audit/phase3.2-change-log.md":"00bff98e2ae2ef50c4daf265d5f34469f21c244b6dca88b70e1f9ffa17a71d83"}},"docs/audit/phase3.2-implementation-readiness.md":{"size":4694,"mtime_ns":1786799852347952200,"indexed_at_ns":1787726739895276700,"word_count":517,"hashes":{"docs/audit/phase3.2-implementation-readiness.md":"9f1e0335fdc0fa2db0fd5ceaa97e50be85d04bc1ad5d3db1ef74e85de97f71a6"}},"docs/audit/rebuild_honest_ledger.js":{"size":6113,"mtime_ns":1786799852348952900,"indexed_at_ns":1787726730506440800,"word_count":559},"docs/audit/sync_honest_manifest.js":{"size":1213,"mtime_ns":1786799852349953100,"indexed_at_ns":1787726730513042200,"word_count":75},"docs/audit/sync_manifest.js":{"size":997,"mtime_ns":1786799852350953300,"indexed_at_ns":1787726730519090300,"word_count":62},"docs/audit/validate_evidence_grade.js":{"size":6141,"mtime_ns":1786799852351954100,"indexed_at_ns":1787726730524859000,"word_count":526},"docs/audit/validate_integrity.js":{"size":3408,"mtime_ns":1786799852352952400,"indexed_at_ns":1787726730530859600,"word_count":284},"docs/backlog.md":{"size":26175,"mtime_ns":1786799852356021600,"indexed_at_ns":1787726730538035500,"word_count":2834},"frontend/admin-panel/README.md":{"size":2425,"mtime_ns":1783764561778952800,"indexed_at_ns":1787726739896276700,"word_count":212,"hashes":{"frontend/admin-panel/readme.md":"3945c052249ebd020b013303d5921815b52d847bd36c748a03bfdc8eb2a390b8"}},"frontend/admin-panel/eslint.config.js":{"size":906,"mtime_ns":1787148092334501700,"indexed_at_ns":1787726730554130000,"word_count":69},"frontend/admin-panel/index.html":{"size":363,"mtime_ns":1783764561780558500,"indexed_at_ns":1787726730559871600,"word_count":28},"frontend/admin-panel/package.json":{"size":1072,"mtime_ns":1788000055991496000,"indexed_at_ns":1788000470938176500,"word_count":84,"hashes":{"frontend/admin-panel/package.json":"455b58b802fb0ba4c5aabfa83f023a9e9b692f1d6a2e71b66952509b1a7dd6da"}},"frontend/admin-panel/postcss.config.js":{"size":91,"mtime_ns":1783764561796281900,"indexed_at_ns":1787726730571159000,"word_count":11},"frontend/admin-panel/public/favicon.svg":{"size":9522,"mtime_ns":1783764561797801500,"indexed_at_ns":1787726730577396200,"word_count":491},"frontend/admin-panel/public/fonts/A-Iranian-Sans/A-Iranian-Sans/read me!.txt":{"size":281,"mtime_ns":1783856792435855000,"indexed_at_ns":1787726730602607800,"word_count":15},"frontend/admin-panel/public/fonts/IranNastaliq/IranNastaliq/read me!.txt":{"size":281,"mtime_ns":1783856792445365000,"indexed_at_ns":1787726730626154600,"word_count":15},"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/CHANGELOG.md":{"size":8519,"mtime_ns":1783856792454604400,"indexed_at_ns":1787726739897276800,"word_count":1077,"hashes":{"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/changelog.md":"4003fe6a71221e735897cfe03ac11bd59ef9951572007763151bf95663256a3d"}},"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/README.md":{"size":4136,"mtime_ns":1783856792502503100,"indexed_at_ns":1787726739898786800,"word_count":366,"hashes":{"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/readme.md":"880beb9c92fd527a098de27bc779b6891a36af98ae994f506a64be199ed50392"}},"frontend/admin-panel/public/fonts/sahel-font-v3.4.0/sample-variable.gif":{"size":236102,"mtime_ns":1783856792546496500,"indexed_at_ns":1787726731162750800,"word_count":10881},"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/CHANGELOG.md":{"size":7177,"mtime_ns":1783856792548005600,"indexed_at_ns":1787726739900396600,"word_count":951,"hashes":{"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/changelog.md":"a735e1b29ad9d3361a0d1ecfd5c1f2f78c200a272918606decc377c469944321"}},"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/README.md":{"size":3696,"mtime_ns":1783856792595155200,"indexed_at_ns":1787726739901406500,"word_count":283,"hashes":{"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/readme.md":"3b6e2d78372a72b67e339bfd7331d408f43245840749d2f46df5c356a208fbfd"}},"frontend/admin-panel/public/fonts/shabnam-font-v5.0.1/sample.png":{"size":85019,"mtime_ns":1783856792645667900,"indexed_at_ns":1787726731663450200,"word_count":2615},"frontend/admin-panel/public/fonts/vazirmatn-v33.003/AUTHORS.txt":{"size":339,"mtime_ns":1783856792646666000,"indexed_at_ns":1787726731673001900,"word_count":55},"frontend/admin-panel/public/fonts/vazirmatn-v33.003/CHANGELOG.md":{"size":38550,"mtime_ns":1783856792647671700,"indexed_at_ns":1787726739903406700,"word_count":5086,"hashes":{"frontend/admin-panel/public/fonts/vazirmatn-v33.003/changelog.md":"5207a2a148ccfd0338342325a39d9b5b2d39514429c93e0aedf68b21f23fd71e"}},"frontend/admin-panel/public/fonts/vazirmatn-v33.003/OFL.txt":{"size":4391,"mtime_ns":1783856792648669800,"indexed_at_ns":1787726731688185800,"word_count":671},"frontend/admin-panel/public/fonts/vazirmatn-v33.003/README.md":{"size":2339,"mtime_ns":1783856792648669800,"indexed_at_ns":1787726739904406600,"word_count":270,"hashes":{"frontend/admin-panel/public/fonts/vazirmatn-v33.003/readme.md":"0d736c7dd11e89622e7105e6a5958fc3d83ec827b8a00debc0943bc8e3a3d201"}},"frontend/admin-panel/public/fonts/vazirmatn-v33.003/\u0631\u0627\u0647\u0646\u0645\u0627.txt":{"size":211,"mtime_ns":1783856792971535000,"indexed_at_ns":1787726733915800800,"word_count":14},"frontend/admin-panel/public/icons.svg":{"size":5031,"mtime_ns":1783764561799320300,"indexed_at_ns":1787726733920800200,"word_count":382},"frontend/admin-panel/src/App.tsx":{"size":1088,"mtime_ns":1786799852365481100,"indexed_at_ns":1787726733931929300,"word_count":99},"frontend/admin-panel/src/assets/hero.png":{"size":13057,"mtime_ns":1783764561812863000,"indexed_at_ns":1787726733938940400,"word_count":437},"frontend/admin-panel/src/assets/react.svg":{"size":4126,"mtime_ns":1783764561813924700,"indexed_at_ns":1787726733944940500,"word_count":366},"frontend/admin-panel/src/assets/vite.svg":{"size":8709,"mtime_ns":1783764561814995700,"indexed_at_ns":1787726733951568000,"word_count":439},"frontend/admin-panel/src/components/Layout.tsx":{"size":726,"mtime_ns":1784621786958594800,"indexed_at_ns":1787726733957572200,"word_count":69},"frontend/admin-panel/src/components/ProtectedRoute.tsx":{"size":2336,"mtime_ns":1786799852369164100,"indexed_at_ns":1787726733964577700,"word_count":210},"frontend/admin-panel/src/components/RouteErrorBoundary.tsx":{"size":4042,"mtime_ns":1787062174623011100,"indexed_at_ns":1787726733970575200,"word_count":350},"frontend/admin-panel/src/components/Sidebar.tsx":{"size":13111,"mtime_ns":1787461920842084500,"indexed_at_ns":1787726733977661300,"word_count":1198},"frontend/admin-panel/src/components/Topbar.tsx":{"size":19016,"mtime_ns":1787466234964385700,"indexed_at_ns":1787726733983181100,"word_count":1586},"frontend/admin-panel/src/components/TransactionReceiptModal.tsx":{"size":9674,"mtime_ns":1787405554804618300,"indexed_at_ns":1787726733989180000,"word_count":738},"frontend/admin-panel/src/components/ui/Badge.tsx":{"size":1554,"mtime_ns":1787461920844094000,"indexed_at_ns":1787726733997180400,"word_count":158},"frontend/admin-panel/src/components/ui/Button.tsx":{"size":3591,"mtime_ns":1787467799871536000,"indexed_at_ns":1787726734004723300,"word_count":338},"frontend/admin-panel/src/components/ui/ConfirmModal.tsx":{"size":2294,"mtime_ns":1786972191359099700,"indexed_at_ns":1787726734011333000,"word_count":192},"frontend/admin-panel/src/components/ui/FormField.tsx":{"size":1683,"mtime_ns":1786954681823527000,"indexed_at_ns":1787726734018369200,"word_count":148},"frontend/admin-panel/src/components/ui/IconPickerModal.tsx":{"size":4853,"mtime_ns":1787071159959928200,"indexed_at_ns":1787726734024338100,"word_count":397},"frontend/admin-panel/src/components/ui/ImagePreviewModal.tsx":{"size":3351,"mtime_ns":1786954681824534900,"indexed_at_ns":1787726734032842500,"word_count":270},"frontend/admin-panel/src/components/ui/Input.tsx":{"size":2451,"mtime_ns":1788332598539946700,"indexed_at_ns":1788332708245483800,"word_count":213},"frontend/admin-panel/src/components/ui/MaskableField.tsx":{"size":3246,"mtime_ns":1787405554805712000,"indexed_at_ns":1787726734045422000,"word_count":310},"frontend/admin-panel/src/components/ui/MediaSelector.tsx":{"size":21604,"mtime_ns":1787038450536696800,"indexed_at_ns":1787726734051928800,"word_count":1686},"frontend/admin-panel/src/components/ui/Modal.tsx":{"size":3381,"mtime_ns":1787461920845094300,"indexed_at_ns":1787726734060570900,"word_count":324},"frontend/admin-panel/src/components/ui/Pagination.tsx":{"size":5510,"mtime_ns":1786799852387442100,"indexed_at_ns":1787726734066608900,"word_count":447},"frontend/admin-panel/src/components/ui/PriceInput.tsx":{"size":2633,"mtime_ns":1786948119771162400,"indexed_at_ns":1787726734074127900,"word_count":267},"frontend/admin-panel/src/components/ui/RichTextEditor.tsx":{"size":36574,"mtime_ns":1787980615563542500,"indexed_at_ns":1787981098348418200,"word_count":2767},"frontend/admin-panel/src/components/ui/Select.tsx":{"size":1881,"mtime_ns":1786954681828537500,"indexed_at_ns":1787726734087116300,"word_count":160},"frontend/admin-panel/src/components/ui/Skeleton.tsx":{"size":178,"mtime_ns":1783856792977535800,"indexed_at_ns":1787726734092926500,"word_count":22},"frontend/admin-panel/src/components/ui/Spinner.tsx":{"size":650,"mtime_ns":1783856792979049200,"indexed_at_ns":1787726734100568500,"word_count":67},"frontend/admin-panel/src/components/ui/Textarea.tsx":{"size":1287,"mtime_ns":1786954681828537500,"indexed_at_ns":1787726734107173200,"word_count":110},"frontend/admin-panel/src/components/ui/ThSort.tsx":{"size":1478,"mtime_ns":1787461920845094300,"indexed_at_ns":1787726734113136300,"word_count":148},"frontend/admin-panel/src/components/ui/ToggleSwitch.tsx":{"size":1623,"mtime_ns":1786954681830044900,"indexed_at_ns":1787726734120391600,"word_count":143},"frontend/admin-panel/src/main.tsx":{"size":1055,"mtime_ns":1787062325395038600,"indexed_at_ns":1787726734130217700,"word_count":106},"frontend/admin-panel/src/pages/B2BManager.tsx":{"size":24689,"mtime_ns":1787729527927391700,"indexed_at_ns":1787729932214362700,"word_count":1682},"frontend/admin-panel/src/pages/BannersManager.tsx":{"size":19583,"mtime_ns":1787467799874171700,"indexed_at_ns":1787726734145966800,"word_count":1396},"frontend/admin-panel/src/pages/Blogs.tsx":{"size":82294,"mtime_ns":1787729527928391800,"indexed_at_ns":1787729932225892600,"word_count":5654},"frontend/admin-panel/src/pages/CMS.tsx":{"size":10114,"mtime_ns":1787467933664259800,"indexed_at_ns":1787726734157997900,"word_count":791},"frontend/admin-panel/src/pages/Categories.tsx":{"size":16242,"mtime_ns":1787469989141511600,"indexed_at_ns":1787726734164506500,"word_count":1174},"frontend/admin-panel/src/pages/ContactSubmissions.tsx":{"size":12346,"mtime_ns":1787467799877343800,"indexed_at_ns":1787726734172638600,"word_count":842},"frontend/admin-panel/src/pages/Coupons.tsx":{"size":27669,"mtime_ns":1788332598543451700,"indexed_at_ns":1788332708366710500,"word_count":2138},"frontend/admin-panel/src/pages/Dashboard.tsx":{"size":6006,"mtime_ns":1786885876829510000,"indexed_at_ns":1787726734186274700,"word_count":534},"frontend/admin-panel/src/pages/DoctorsManager.tsx":{"size":23282,"mtime_ns":1787467799879923800,"indexed_at_ns":1787726734193275100,"word_count":1666},"frontend/admin-panel/src/pages/FAQManager.tsx":{"size":12625,"mtime_ns":1787467799881924800,"indexed_at_ns":1787726734201784400,"word_count":937},"frontend/admin-panel/src/pages/FinancialSettingsPage.tsx":{"size":27051,"mtime_ns":1788333161520132500,"indexed_at_ns":1788333266832134200,"word_count":1794},"frontend/admin-panel/src/pages/IngredientsManager.tsx":{"size":17943,"mtime_ns":1787467933669934500,"indexed_at_ns":1787726734213391200,"word_count":1254},"frontend/admin-panel/src/pages/Login.tsx":{"size":11573,"mtime_ns":1788587906733886000,"indexed_at_ns":1788608123807803900,"word_count":838},"frontend/admin-panel/src/pages/Media.tsx":{"size":29374,"mtime_ns":1787467799885925200,"indexed_at_ns":1787726734227390500,"word_count":2304},"frontend/admin-panel/src/pages/MenuManager.tsx":{"size":19625,"mtime_ns":1787469989146215000,"indexed_at_ns":1787726734240896100,"word_count":1512},"frontend/admin-panel/src/pages/MonitoringPage.tsx":{"size":16455,"mtime_ns":1787466234965980200,"indexed_at_ns":1787726734246489100,"word_count":1289},"frontend/admin-panel/src/pages/Orders.tsx":{"size":64822,"mtime_ns":1788609394330111700,"indexed_at_ns":1788613610290338300,"word_count":4808},"frontend/admin-panel/src/pages/PaymentGatewaysPage.tsx":{"size":37893,"mtime_ns":1787467799889939500,"indexed_at_ns":1787726734259598900,"word_count":2521},"frontend/admin-panel/src/pages/Pets.tsx":{"size":16631,"mtime_ns":1787467799891938300,"indexed_at_ns":1787726734268435300,"word_count":1209},"frontend/admin-panel/src/pages/PrescriptionsManager.tsx":{"size":19424,"mtime_ns":1787467799892935800,"indexed_at_ns":1787726734275434500,"word_count":1419},"frontend/admin-panel/src/pages/Products.tsx":{"size":248144,"mtime_ns":1788351605801883800,"indexed_at_ns":1788608123851710200,"word_count":16079},"frontend/admin-panel/src/pages/Reports.tsx":{"size":24050,"mtime_ns":1787729523442451300,"indexed_at_ns":1787729932336128900,"word_count":1832},"frontend/admin-panel/src/pages/Reviews.tsx":{"size":30539,"mtime_ns":1787740536670948600,"indexed_at_ns":1787741544010232200,"word_count":2140},"frontend/admin-panel/src/pages/SeoSettingsPage.tsx":{"size":50513,"mtime_ns":1788343360494035900,"indexed_at_ns":1788608123872221300,"word_count":3404},"frontend/admin-panel/src/pages/Settings.tsx":{"size":24256,"mtime_ns":1787468615457819400,"indexed_at_ns":1787726734308156100,"word_count":1701},"frontend/admin-panel/src/pages/ShippingSettingsPage.tsx":{"size":7615,"mtime_ns":1787467799901935300,"indexed_at_ns":1787726734314725100,"word_count":585},"frontend/admin-panel/src/pages/SmartAdvisorManager.tsx":{"size":13745,"mtime_ns":1787467799902933600,"indexed_at_ns":1787726734320253400,"word_count":1014},"frontend/admin-panel/src/pages/SmsSettingsPage.tsx":{"size":133912,"mtime_ns":1788624227683508100,"indexed_at_ns":1788624364086751400,"word_count":9183},"frontend/admin-panel/src/pages/SslSettingsPage.tsx":{"size":25502,"mtime_ns":1787467799905446700,"indexed_at_ns":1787726734336379700,"word_count":1847},"frontend/admin-panel/src/pages/SystemSettingsPage.tsx":{"size":18951,"mtime_ns":1787742160542543900,"indexed_at_ns":1787742226362423500,"word_count":1264},"frontend/admin-panel/src/pages/TestimonialsManager.tsx":{"size":18547,"mtime_ns":1787467799908955400,"indexed_at_ns":1787726734348881900,"word_count":1297},"frontend/admin-panel/src/pages/Tickets.tsx":{"size":20254,"mtime_ns":1787467799909962900,"indexed_at_ns":1787726734355478000,"word_count":1455},"frontend/admin-panel/src/pages/Transactions.tsx":{"size":45136,"mtime_ns":1787471434872188300,"indexed_at_ns":1787726734362406800,"word_count":3213},"frontend/admin-panel/src/pages/UITexts.tsx":{"size":64687,"mtime_ns":1788587906738676600,"indexed_at_ns":1788608123929931500,"word_count":5471},"frontend/admin-panel/src/pages/Users.tsx":{"size":42038,"mtime_ns":1788587906739671200,"indexed_at_ns":1788608123936596200,"word_count":2827},"frontend/admin-panel/src/pages/Videos.tsx":{"size":25920,"mtime_ns":1787740536675689700,"indexed_at_ns":1787741544096497300,"word_count":1845},"frontend/admin-panel/src/pages/WholesaleApplications.tsx":{"size":6713,"mtime_ns":1787467799916852500,"indexed_at_ns":1787726734390128300,"word_count":505},"frontend/admin-panel/src/pages/Wiki.tsx":{"size":15651,"mtime_ns":1787469989158212800,"indexed_at_ns":1787726734396025400,"word_count":1221},"frontend/admin-panel/src/pages/ZibalPortalPage.tsx":{"size":55699,"mtime_ns":1787570438155805200,"indexed_at_ns":1787726734402122900,"word_count":3753},"frontend/admin-panel/src/routes/adminRoutes.tsx":{"size":6245,"mtime_ns":1787461920854097100,"indexed_at_ns":1787726734408451000,"word_count":603},"frontend/admin-panel/src/services/api.ts":{"size":5190,"mtime_ns":1787997670262225000,"indexed_at_ns":1787998034950007400,"word_count":479},"frontend/admin-panel/src/store/adminAuthStore.ts":{"size":666,"mtime_ns":1786799852469037000,"indexed_at_ns":1787726734421659400,"word_count":65},"frontend/admin-panel/src/types/admin.ts":{"size":4526,"mtime_ns":1788336258608452000,"indexed_at_ns":1788337260287496600,"word_count":483},"frontend/admin-panel/src/utils/lazyWithRetry.ts":{"size":1129,"mtime_ns":1787062174626227900,"indexed_at_ns":1787726734435357300,"word_count":114},"frontend/admin-panel/src/utils/useTableParams.ts":{"size":4060,"mtime_ns":1787461920855096000,"indexed_at_ns":1787726734441273300,"word_count":441},"frontend/admin-panel/tailwind.config.js":{"size":182,"mtime_ns":1783764561861721300,"indexed_at_ns":1787726734447096600,"word_count":20},"frontend/admin-panel/tsconfig.app.json":{"size":633,"mtime_ns":1787055476779566300,"indexed_at_ns":1787726739794704700,"word_count":48,"hashes":{"frontend/admin-panel/tsconfig.app.json":"2d9838ee1119342fd03bf7644781b8b6aced2cbdc908ff186cdd6ab7ab9ba1c4"}},"frontend/admin-panel/tsconfig.json":{"size":119,"mtime_ns":1783764561863393600,"indexed_at_ns":1787726739795705100,"word_count":15,"hashes":{"frontend/admin-panel/tsconfig.json":"7a6c2e21b6eaa2355b4e2ed29db2a767499a88498bde745cdccf3ba8c7f64f2b"}},"frontend/admin-panel/tsconfig.node.json":{"size":591,"mtime_ns":1783764561863923100,"indexed_at_ns":1787726739796704600,"word_count":44,"hashes":{"frontend/admin-panel/tsconfig.node.json":"035a8143cff9651dbb67885756a07cc3f8ed1c5dcbf04a6e2042600b7989d525"}},"frontend/admin-panel/vite.config.ts":{"size":161,"mtime_ns":1783764561864454900,"indexed_at_ns":1787726734467280600,"word_count":18},"frontend/application/AGENTS.md":{"size":717,"mtime_ns":1787127978268943700,"indexed_at_ns":1787726734477280500,"word_count":88},"frontend/application/CLAUDE.md":{"size":11,"mtime_ns":1783764561866744500,"indexed_at_ns":1787726739905406700,"word_count":1,"hashes":{"frontend/application/claude.md":"0776fbbe8c29c6dc861efa70683090a370ab56dc77c22cb9de74895b4c783320"}},"frontend/application/README.md":{"size":1450,"mtime_ns":1783764561867354300,"indexed_at_ns":1787726739906406500,"word_count":155,"hashes":{"frontend/application/readme.md":"dd829cdf325092d859080ac1db3cbf2cca3198e72834f0f228495ef3c49a2240"}},"frontend/application/app/ClientLayout.tsx":{"size":9643,"mtime_ns":1788619769603531400,"indexed_at_ns":1788624364234652600,"word_count":935},"frontend/application/app/HomeClient.tsx":{"size":13529,"mtime_ns":1788587906741672600,"indexed_at_ns":1788608124055744400,"word_count":868},"frontend/application/app/about/page.tsx":{"size":5706,"mtime_ns":1787139270959412500,"indexed_at_ns":1787726734506477700,"word_count":474},"frontend/application/app/api/revalidate/route.ts":{"size":1889,"mtime_ns":1787579631780106700,"indexed_at_ns":1787726734514149300,"word_count":220},"frontend/application/app/b2b/error.tsx":{"size":380,"mtime_ns":1787645037377262000,"indexed_at_ns":1787726734520148500,"word_count":50},"frontend/application/app/b2b/page.tsx":{"size":1506,"mtime_ns":1787644197141618200,"indexed_at_ns":1787726734526117900,"word_count":135},"frontend/application/app/blog/[slug]/page.tsx":{"size":8201,"mtime_ns":1787641161057694000,"indexed_at_ns":1787726734533148700,"word_count":767},"frontend/application/app/blog/error.tsx":{"size":382,"mtime_ns":1787645037378268200,"indexed_at_ns":1787726734540186900,"word_count":50},"frontend/application/app/blog/loading.tsx":{"size":1293,"mtime_ns":1787645037379262800,"indexed_at_ns":1787726734546152600,"word_count":115},"frontend/application/app/blog/page.tsx":{"size":3378,"mtime_ns":1787993003772568700,"indexed_at_ns":1787997305789060800,"word_count":346},"frontend/application/app/blog/rss.xml/route.ts":{"size":3076,"mtime_ns":1787577523710351300,"indexed_at_ns":1787726734558947600,"word_count":280},"frontend/application/app/catalog/CatalogClient.tsx":{"size":1338,"mtime_ns":1788351605803883700,"indexed_at_ns":1788608124133262000,"word_count":124},"frontend/application/app/catalog/page.tsx":{"size":671,"mtime_ns":1787139270965525300,"indexed_at_ns":1787726734570982600,"word_count":66},"frontend/application/app/checkout/page.tsx":{"size":604,"mtime_ns":1787139270967535500,"indexed_at_ns":1787726734576551900,"word_count":60},"frontend/application/app/checkout/success/[id]/page.tsx":{"size":231,"mtime_ns":1783764561878668300,"indexed_at_ns":1787726734582122000,"word_count":31},"frontend/application/app/contact/page.tsx":{"size":2655,"mtime_ns":1787644197143198500,"indexed_at_ns":1787726734588729900,"word_count":214},"frontend/application/app/dashboard/page.tsx":{"size":903,"mtime_ns":1787394935318217400,"indexed_at_ns":1787726734595730700,"word_count":83},"frontend/application/app/error.tsx":{"size":383,"mtime_ns":1785148022478709000,"indexed_at_ns":1787726734601792600,"word_count":50},"frontend/application/app/layout.tsx":{"size":6818,"mtime_ns":1788354488237712300,"indexed_at_ns":1788608124192280700,"word_count":547},"frontend/application/app/loading.tsx":{"size":1373,"mtime_ns":1785148022487650000,"indexed_at_ns":1787726734623432900,"word_count":122},"frontend/application/app/not-found.tsx":{"size":124,"mtime_ns":1783764561891411400,"indexed_at_ns":1787726734629416600,"word_count":15},"frontend/application/app/page.tsx":{"size":1093,"mtime_ns":1788587906745671800,"indexed_at_ns":1788608124207313100,"word_count":120},"frontend/application/app/payment/verify/page.tsx":{"size":14338,"mtime_ns":1786891855356078600,"indexed_at_ns":1787726734641507800,"word_count":1094},"frontend/application/app/privacy/page.tsx":{"size":4098,"mtime_ns":1787139270976563700,"indexed_at_ns":1787726734648804500,"word_count":336},"frontend/application/app/profile/page.tsx":{"size":623,"mtime_ns":1787139270978803200,"indexed_at_ns":1787726734655771200,"word_count":63},"frontend/application/app/robots.ts":{"size":825,"mtime_ns":1787578481501464000,"indexed_at_ns":1787726734660416500,"word_count":72},"frontend/application/app/search/page.tsx":{"size":786,"mtime_ns":1787139270979946700,"indexed_at_ns":1787726734667451100,"word_count":82},"frontend/application/app/shop/[slug]/page.tsx":{"size":11235,"mtime_ns":1788337303756021500,"indexed_at_ns":1788337670120361600,"word_count":1011},"frontend/application/app/shop/error.tsx":{"size":382,"mtime_ns":1787645037380267900,"indexed_at_ns":1787726734679433600,"word_count":50},"frontend/application/app/shop/feed.xml/route.ts":{"size":3698,"mtime_ns":1788000526323436900,"indexed_at_ns":1788328795003523300,"word_count":333},"frontend/application/app/shop/loading.tsx":{"size":1596,"mtime_ns":1787645037380267900,"indexed_at_ns":1787726734691441600,"word_count":144},"frontend/application/app/shop/page.tsx":{"size":2715,"mtime_ns":1787644197146199100,"indexed_at_ns":1787726734698441300,"word_count":295},"frontend/application/app/sitemap-categories.xml/route.ts":{"size":1797,"mtime_ns":1787578481507462100,"indexed_at_ns":1787726734703951500,"word_count":179},"frontend/application/app/sitemap-products.xml/route.ts":{"size":1980,"mtime_ns":1787578481508464300,"indexed_at_ns":1787726734710719000,"word_count":186},"frontend/application/app/sitemap.ts":{"size":3510,"mtime_ns":1787578481510463300,"indexed_at_ns":1787726734715717900,"word_count":350},"frontend/application/app/track/page.tsx":{"size":612,"mtime_ns":1787139270984213600,"indexed_at_ns":1787726734723190300,"word_count":60},"frontend/application/app/trust-seals/page.tsx":{"size":7155,"mtime_ns":1787394001609306700,"indexed_at_ns":1787726734729188900,"word_count":566},"frontend/application/app/videos/page.tsx":{"size":2822,"mtime_ns":1787644197147196700,"indexed_at_ns":1787726734735191600,"word_count":266},"frontend/application/app/wiki/[slug]/page.tsx":{"size":8912,"mtime_ns":1787644197149197300,"indexed_at_ns":1787726734743193100,"word_count":702},"frontend/application/app/wiki/page.tsx":{"size":910,"mtime_ns":1787139270987830800,"indexed_at_ns":1787726734749703000,"word_count":85},"frontend/application/components/AddressModal.tsx":{"size":16470,"mtime_ns":1787739535190383900,"indexed_at_ns":1787739632847264500,"word_count":1146},"frontend/application/components/ArchivePage.tsx":{"size":39465,"mtime_ns":1788613668255905300,"indexed_at_ns":1788618164435712800,"word_count":3049},"frontend/application/components/AuthModal.tsx":{"size":56009,"mtime_ns":1788624242133561800,"indexed_at_ns":1788624364517636600,"word_count":3838},"frontend/application/components/B2BLandingClient.tsx":{"size":25866,"mtime_ns":1787645037381267600,"indexed_at_ns":1787726734774269600,"word_count":1824},"frontend/application/components/B2BPortal.tsx":{"size":14014,"mtime_ns":1786894580156857600,"indexed_at_ns":1787726734780287600,"word_count":1094},"frontend/application/components/BackButton.tsx":{"size":1120,"mtime_ns":1786965281357277800,"indexed_at_ns":1787726734786847300,"word_count":117},"frontend/application/components/BannerPlacement.tsx":{"size":7703,"mtime_ns":1788346274841175500,"indexed_at_ns":1788608124349969300,"word_count":527},"frontend/application/components/BlogPage.tsx":{"size":21976,"mtime_ns":1787729523446453700,"indexed_at_ns":1787729932775425100,"word_count":1583},"frontend/application/components/BlogPostClient.tsx":{"size":20329,"mtime_ns":1787740536679696900,"indexed_at_ns":1787741544522017800,"word_count":1361},"frontend/application/components/BlogPreviewSection.tsx":{"size":7925,"mtime_ns":1788345971093472400,"indexed_at_ns":1788608124366176400,"word_count":567},"frontend/application/components/BrandLogo.tsx":{"size":3307,"mtime_ns":1787564348690862200,"indexed_at_ns":1787726734819682600,"word_count":287},"frontend/application/components/CartDrawer.tsx":{"size":22052,"mtime_ns":1787733215548980400,"indexed_at_ns":1787737992400541400,"word_count":1448},"frontend/application/components/CheckoutPage.tsx":{"size":48510,"mtime_ns":1788595515841005300,"indexed_at_ns":1788608124380746700,"word_count":3241},"frontend/application/components/ContactFormClient.tsx":{"size":10833,"mtime_ns":1787729527935396400,"indexed_at_ns":1787729932808029300,"word_count":784},"frontend/application/components/DeleteConfirmModal.tsx":{"size":2328,"mtime_ns":1786799852608752300,"indexed_at_ns":1787726734845321800,"word_count":195},"frontend/application/components/EnamadBadge.tsx":{"size":1516,"mtime_ns":1786799852612361900,"indexed_at_ns":1787726734850835400,"word_count":114},"frontend/application/components/ErrorBoundary.tsx":{"size":2617,"mtime_ns":1786799852614549600,"indexed_at_ns":1787726734857066500,"word_count":235},"frontend/application/components/ErrorPages.tsx":{"size":2809,"mtime_ns":1787661485945074600,"indexed_at_ns":1787726734862654700,"word_count":243},"frontend/application/components/FAQSection.tsx":{"size":5086,"mtime_ns":1787729995239614600,"indexed_at_ns":1787733017983672300,"word_count":414},"frontend/application/components/FeaturedProducts.tsx":{"size":12447,"mtime_ns":1788613668257482900,"indexed_at_ns":1788618164526795000,"word_count":1076},"frontend/application/components/Footer.tsx":{"size":14945,"mtime_ns":1788349370985831800,"indexed_at_ns":1788608124424181700,"word_count":996},"frontend/application/components/Header.tsx":{"size":33116,"mtime_ns":1788346274842183200,"indexed_at_ns":1788608124429851700,"word_count":2234},"frontend/application/components/HeaderButton.tsx":{"size":2242,"mtime_ns":1786799852637156100,"indexed_at_ns":1787726734893172700,"word_count":208},"frontend/application/components/Hero.tsx":{"size":20159,"mtime_ns":1788354488241306800,"indexed_at_ns":1788608124439859300,"word_count":1652},"frontend/application/components/IngredientWiki.tsx":{"size":20337,"mtime_ns":1786965281374206800,"indexed_at_ns":1787726734906680500,"word_count":1496},"frontend/application/components/LoginModal.tsx":{"size":15298,"mtime_ns":1788624271218681100,"indexed_at_ns":1788624364635231700,"word_count":1330},"frontend/application/components/MaintenancePage.tsx":{"size":3686,"mtime_ns":1786946249984693000,"indexed_at_ns":1787726734921249900,"word_count":313},"frontend/application/components/NetworkBanner.tsx":{"size":2350,"mtime_ns":1786799852662138900,"indexed_at_ns":1787726734928082300,"word_count":214},"frontend/application/components/OrderDetailsModal.tsx":{"size":36797,"mtime_ns":1788609394333189500,"indexed_at_ns":1788613610930051500,"word_count":2547},"frontend/application/components/OrderSuccess.tsx":{"size":6396,"mtime_ns":1786799852665542300,"indexed_at_ns":1787726734947087000,"word_count":521},"frontend/application/components/OrderTracking.tsx":{"size":9269,"mtime_ns":1787729527937447000,"indexed_at_ns":1787729932896464500,"word_count":681},"frontend/application/components/PetProfile.tsx":{"size":83265,"mtime_ns":1788613668259056000,"indexed_at_ns":1788618164597181700,"word_count":5854},"frontend/application/components/PodcastInlinePlayer.tsx":{"size":18123,"mtime_ns":1787993003774220500,"indexed_at_ns":1787997306151429500,"word_count":1464},"frontend/application/components/PodcastPlayerModal.tsx":{"size":18105,"mtime_ns":1787748657155136900,"indexed_at_ns":1787748748510048700,"word_count":1487},"frontend/application/components/PrescriptionUploadModal.tsx":{"size":19183,"mtime_ns":1787741735267947500,"indexed_at_ns":1787741779220211300,"word_count":1356},"frontend/application/components/ProductPage.tsx":{"size":96037,"mtime_ns":1788619769609410000,"indexed_at_ns":1788624364701425900,"word_count":6854},"frontend/application/components/ProductReviews.tsx":{"size":16113,"mtime_ns":1788333723592862900,"indexed_at_ns":1788333815613251700,"word_count":1195},"frontend/application/components/SafeImage.tsx":{"size":4289,"mtime_ns":1788354488242911600,"indexed_at_ns":1788608124543408700,"word_count":399},"frontend/application/components/SearchResultsPage.tsx":{"size":8335,"mtime_ns":1786799852701578200,"indexed_at_ns":1787726735012019400,"word_count":594},"frontend/application/components/SearchableSelect.tsx":{"size":4375,"mtime_ns":1785575516155554800,"indexed_at_ns":1787726735019020000,"word_count":336},"frontend/application/components/Skeleton.tsx":{"size":3084,"mtime_ns":1783764561943996900,"indexed_at_ns":1787726735026024900,"word_count":291},"frontend/application/components/SmartAdvisor.tsx":{"size":37402,"mtime_ns":1788587906747669800,"indexed_at_ns":1788608124565416700,"word_count":2836},"frontend/application/components/TestimonialsSection.tsx":{"size":6677,"mtime_ns":1788346274843208600,"indexed_at_ns":1788608124571187900,"word_count":516},"frontend/application/components/TickerBanner.tsx":{"size":1605,"mtime_ns":1786885876960835800,"indexed_at_ns":1787726735043649000,"word_count":140},"frontend/application/components/Tooltip.tsx":{"size":5237,"mtime_ns":1788333306923629700,"indexed_at_ns":1788333673999170900,"word_count":438},"frontend/application/components/TopUpModal.tsx":{"size":9381,"mtime_ns":1787406597303349300,"indexed_at_ns":1787726735057286900,"word_count":741},"frontend/application/components/UserDashboard.tsx":{"size":97782,"mtime_ns":1788613668261650700,"indexed_at_ns":1788618164679226800,"word_count":6193},"frontend/application/components/VetGallery.tsx":{"size":8392,"mtime_ns":1788346274844355400,"indexed_at_ns":1788608124598520700,"word_count":653},"frontend/application/components/VideoModalPlayer.tsx":{"size":24822,"mtime_ns":1787993003775855300,"indexed_at_ns":1787997306253976800,"word_count":1846},"frontend/application/components/VideosPage.tsx":{"size":8815,"mtime_ns":1787729523450452600,"indexed_at_ns":1787729932995147700,"word_count":672},"frontend/application/components/__tests__/CartDrawer.test.tsx":{"size":3197,"mtime_ns":1786799852761825800,"indexed_at_ns":1787726735089813300,"word_count":285},"frontend/application/components/__tests__/FeaturedProducts.test.tsx":{"size":2922,"mtime_ns":1787729523451454700,"indexed_at_ns":1787729933006280300,"word_count":246},"frontend/application/components/__tests__/Footer.test.tsx":{"size":1200,"mtime_ns":1787729523452453700,"indexed_at_ns":1787729933012281300,"word_count":97},"frontend/application/components/__tests__/Header.test.tsx":{"size":3336,"mtime_ns":1787729523452453700,"indexed_at_ns":1787729933018310200,"word_count":266},"frontend/application/components/__tests__/Hero.test.tsx":{"size":1980,"mtime_ns":1786799852776010800,"indexed_at_ns":1787726735115917200,"word_count":192},"frontend/application/components/__tests__/Tooltip.test.tsx":{"size":1508,"mtime_ns":1786799852784348900,"indexed_at_ns":1787726735121917300,"word_count":137},"frontend/application/components/catalog/CatalogPageSpread.tsx":{"size":29302,"mtime_ns":1788616028624863400,"indexed_at_ns":1788618164733921700,"word_count":2428},"frontend/application/components/catalog/FlipbookCatalog.tsx":{"size":39207,"mtime_ns":1788616028627729900,"indexed_at_ns":1788618164738920200,"word_count":3404},"frontend/application/components/catalog/ProductDetailModal.tsx":{"size":8265,"mtime_ns":1787981163247727400,"indexed_at_ns":1787981250441706300,"word_count":589},"frontend/application/eslint.config.mjs":{"size":747,"mtime_ns":1787148092358055900,"indexed_at_ns":1787726735150541200,"word_count":61},"frontend/application/lib/data/products.ts":{"size":104414,"mtime_ns":1788351605806390800,"indexed_at_ns":1788608124674690000,"word_count":9765},"frontend/application/lib/data/provinces.ts":{"size":2993,"mtime_ns":1785571725610676000,"indexed_at_ns":1787726735166169300,"word_count":203},"frontend/application/lib/data/scientificTerms.ts":{"size":18042,"mtime_ns":1786958978743097300,"indexed_at_ns":1787726735173169300,"word_count":1756},"frontend/application/lib/fonts.ts":{"size":561,"mtime_ns":1788351855943419900,"indexed_at_ns":1788608124691696500,"word_count":55},"frontend/application/lib/hooks/useNetworkStatus.ts":{"size":610,"mtime_ns":1786799852793488000,"indexed_at_ns":1787726735185762100,"word_count":59},"frontend/application/lib/schema.ts":{"size":7336,"mtime_ns":1787644197156205400,"indexed_at_ns":1787726735192345800,"word_count":609},"frontend/application/lib/seo.ts":{"size":9685,"mtime_ns":1788587906749774900,"indexed_at_ns":1788608124712831100,"word_count":837},"frontend/application/lib/services/api.ts":{"size":3694,"mtime_ns":1787997670265470700,"indexed_at_ns":1787998035733091300,"word_count":391},"frontend/application/lib/services/authService.ts":{"size":4524,"mtime_ns":1786885876986184800,"indexed_at_ns":1787726735211416700,"word_count":509},"frontend/application/lib/services/orderService.ts":{"size":2428,"mtime_ns":1786799852810726500,"indexed_at_ns":1787726735217187400,"word_count":279},"frontend/application/lib/services/productService.ts":{"size":14085,"mtime_ns":1788354488244444100,"indexed_at_ns":1788608124734055200,"word_count":1287},"frontend/application/lib/services/ticketService.ts":{"size":1569,"mtime_ns":1786890779340901800,"indexed_at_ns":1787726735230632600,"word_count":170},"frontend/application/lib/services/videoService.ts":{"size":1867,"mtime_ns":1787993003779460300,"indexed_at_ns":1787997306396146000,"word_count":210},"frontend/application/lib/store/__tests__/cartStore.test.ts":{"size":4430,"mtime_ns":1786799852822036900,"indexed_at_ns":1787726735244738400,"word_count":386},"frontend/application/lib/store/__tests__/settingsStore.test.ts":{"size":1949,"mtime_ns":1783856793043803200,"indexed_at_ns":1787726735251871200,"word_count":194},"frontend/application/lib/store/__tests__/userStore.test.ts":{"size":3639,"mtime_ns":1786799852825547700,"indexed_at_ns":1787726735257815200,"word_count":289},"frontend/application/lib/store/cartStore.ts":{"size":6972,"mtime_ns":1787660831220289700,"indexed_at_ns":1787726735265091600,"word_count":697},"frontend/application/lib/store/settingsStore.ts":{"size":3630,"mtime_ns":1786948119787096800,"indexed_at_ns":1787726735271091300,"word_count":371},"frontend/application/lib/store/uiStore.ts":{"size":872,"mtime_ns":1786799852833588000,"indexed_at_ns":1787726735277092600,"word_count":100},"frontend/application/lib/store/usePetStore.ts":{"size":8680,"mtime_ns":1786954681845300600,"indexed_at_ns":1787726735283172200,"word_count":850},"frontend/application/lib/store/userStore.ts":{"size":10602,"mtime_ns":1788609394337189200,"indexed_at_ns":1788613611248850100,"word_count":918},"frontend/application/lib/types.ts":{"size":2222,"mtime_ns":1787729527940443900,"indexed_at_ns":1787729933167879300,"word_count":239},"frontend/application/lib/utils.ts":{"size":478,"mtime_ns":1786799852847284000,"indexed_at_ns":1787726735301154500,"word_count":61},"frontend/application/next.config.ts":{"size":3153,"mtime_ns":1788353540761527200,"indexed_at_ns":1788608124808716400,"word_count":279},"frontend/application/package.json":{"size":879,"mtime_ns":1788000055992497300,"indexed_at_ns":1788000470956192900,"word_count":74,"hashes":{"frontend/application/package.json":"7a1fa68660fc9ab2089ea4e22c7d889b8efd8dbdc9faf56ce7d354319ac081b9"}},"frontend/application/postcss.config.mjs":{"size":94,"mtime_ns":1783764561988252100,"indexed_at_ns":1787726735322173300,"word_count":13},"frontend/application/public/assets/images/canina-product-placeholder.png":{"size":6990105,"mtime_ns":1787461919505024400,"indexed_at_ns":1787726735328171600,"word_count":267685},"frontend/application/public/assets/images/regenerated_image_1779109861747.png":{"size":2269101,"mtime_ns":1783764562014110300,"indexed_at_ns":1787726735596033500,"word_count":84979},"frontend/application/public/file.svg":{"size":391,"mtime_ns":1783764562016213600,"indexed_at_ns":1787726735643616000,"word_count":50},"frontend/application/public/fonts/A-Iranian-Sans/A-Iranian-Sans/read me!.txt":{"size":281,"mtime_ns":1783856793098052000,"indexed_at_ns":1787726735668659800,"word_count":15},"frontend/application/public/fonts/IranNastaliq/IranNastaliq/read me!.txt":{"size":281,"mtime_ns":1783856793107660400,"indexed_at_ns":1787726735694207900,"word_count":15},"frontend/application/public/fonts/sahel-font-v3.4.0/CHANGELOG.md":{"size":8519,"mtime_ns":1783856793113660500,"indexed_at_ns":1787726739908406400,"word_count":1077,"hashes":{"frontend/application/public/fonts/sahel-font-v3.4.0/changelog.md":"be9b046e69dc5442c30d61cca51a69e4238f861da265d1ce8cd0192bafce40a9"}},"frontend/application/public/fonts/sahel-font-v3.4.0/README.md":{"size":4136,"mtime_ns":1783856793156251700,"indexed_at_ns":1787726739909406300,"word_count":366,"hashes":{"frontend/application/public/fonts/sahel-font-v3.4.0/readme.md":"9b0e689f6474b487d70db0ecb05321072f15df92266522497b60aaa47579aac5"}},"frontend/application/public/fonts/sahel-font-v3.4.0/sample-variable.gif":{"size":236102,"mtime_ns":1783856793229119700,"indexed_at_ns":1787726736213031900,"word_count":10881},"frontend/application/public/fonts/shabnam-font-v5.0.1/CHANGELOG.md":{"size":7177,"mtime_ns":1783856793230118600,"indexed_at_ns":1787726736225832200,"word_count":951},"frontend/application/public/fonts/shabnam-font-v5.0.1/README.md":{"size":3696,"mtime_ns":1783856793279542700,"indexed_at_ns":1787726736475009300,"word_count":283},"frontend/application/public/fonts/shabnam-font-v5.0.1/sample.png":{"size":85019,"mtime_ns":1783856793315146800,"indexed_at_ns":1787726736717303100,"word_count":2615},"frontend/application/public/fonts/vazirmatn-v33.003/AUTHORS.txt":{"size":339,"mtime_ns":1783856793316155600,"indexed_at_ns":1787726736727313200,"word_count":55},"frontend/application/public/fonts/vazirmatn-v33.003/CHANGELOG.md":{"size":38550,"mtime_ns":1783856793317690100,"indexed_at_ns":1787726736736959200,"word_count":5086},"frontend/application/public/fonts/vazirmatn-v33.003/OFL.txt":{"size":4391,"mtime_ns":1783856793319422000,"indexed_at_ns":1787726736744957500,"word_count":671},"frontend/application/public/fonts/vazirmatn-v33.003/README.md":{"size":2339,"mtime_ns":1783856793320489000,"indexed_at_ns":1787726736753050400,"word_count":270},"frontend/application/public/fonts/vazirmatn-v33.003/\u0631\u0627\u0647\u0646\u0645\u0627.txt":{"size":211,"mtime_ns":1783856793668096800,"indexed_at_ns":1787726738964542200,"word_count":14},"frontend/application/public/globe.svg":{"size":1035,"mtime_ns":1783764562016720700,"indexed_at_ns":1787726738969546300,"word_count":154},"frontend/application/public/images/vets/vet1.webp":{"size":6990105,"mtime_ns":1787461919541761600,"indexed_at_ns":1787726738988845300,"word_count":267685},"frontend/application/public/next.svg":{"size":1375,"mtime_ns":1783764562018238900,"indexed_at_ns":1787726739135424800,"word_count":183},"frontend/application/public/vercel.svg":{"size":128,"mtime_ns":1783764562019253000,"indexed_at_ns":1787726739141424700,"word_count":12},"frontend/application/public/window.svg":{"size":385,"mtime_ns":1783764562019253000,"indexed_at_ns":1787726739147423800,"word_count":63},"frontend/application/tsconfig.json":{"size":750,"mtime_ns":1786799852865640000,"indexed_at_ns":1787726739800717100,"word_count":61,"hashes":{"frontend/application/tsconfig.json":"adcade0f962ec5888be99b4b1402d98812cfd570b0c5669bda73142b2cb9210d"}},"frontend/application/vitest.config.ts":{"size":244,"mtime_ns":1786799852868652900,"indexed_at_ns":1787726739161997600,"word_count":25},"frontend/application/vitest.setup.ts":{"size":1237,"mtime_ns":1787729523454452000,"indexed_at_ns":1787729936531670400,"word_count":141},"manual-test-scenarios.md":{"size":0,"mtime_ns":1787729528073006400,"indexed_at_ns":1787729937354455500,"word_count":0,"hashes":{"manual-test-scenarios.md":"c6e53ad8216c7ae7d9e1449511caca4c768d1c68b0b859ae24f0add4afe8e502"}},"metadata.json":{"size":334,"mtime_ns":1783856793672137200,"indexed_at_ns":1787726739801716800,"word_count":35,"hashes":{"metadata.json":"c44b4c4ba60752554ceae65e2f22bddb756cbeb25a4a31ee79160b6eb182255a"}},"package.json":{"size":1237,"mtime_ns":1787729528076005200,"indexed_at_ns":1787729937137155800,"word_count":136,"hashes":{"package.json":"3ca5b265c68cc5660e5fd57b0aeb13de7eb49732740eafe405f6f0804671ceeb"}},"playwright.config.ts":{"size":2710,"mtime_ns":1787729528077005300,"indexed_at_ns":1787729936552986300,"word_count":270},"prometheus.yml":{"size":164,"mtime_ns":1783764562027779300,"indexed_at_ns":1787726739197125100,"word_count":13},"scripts/backup_db.sh":{"size":1362,"mtime_ns":1786799852876784600,"indexed_at_ns":1787726739803716600,"word_count":134,"hashes":{"scripts/backup_db.sh":"f90cf2d0c954f3eaca83566ccb365bff62fd97a2af0225816c19902ee4dfdd6c"}},"scripts/compose.prod.yml":{"size":2248,"mtime_ns":1787998075631988900,"indexed_at_ns":1787998966532164100,"word_count":126},"scripts/compose.stage.yml":{"size":2557,"mtime_ns":1787077093991779700,"indexed_at_ns":1787726739215476500,"word_count":137},"scripts/deploy.sh":{"size":3346,"mtime_ns":1787136904559094200,"indexed_at_ns":1787726739805264300,"word_count":351,"hashes":{"scripts/deploy.sh":"64d276bb6eb6cfb83690c529b9d1c0c71fa46aa912a458f684dfcf842fab2aea"}},"scripts/open-browsers.js":{"size":1551,"mtime_ns":1788000056009180700,"indexed_at_ns":1788000469601092500,"word_count":202},"scripts/start-dev.js":{"size":1689,"mtime_ns":1787997670335055900,"indexed_at_ns":1787998039460221000,"word_count":186},"start.sh":{"size":26,"mtime_ns":1784033954813080300,"indexed_at_ns":1787726739806268200,"word_count":4,"hashes":{"start.sh":"694c258b963c309734a3316c770f5fef29703bc6f24754b04155fd8db94cf862"}},"swagger.yml":{"size":95785,"mtime_ns":1786799852892091600,"indexed_at_ns":1787726739249239800,"word_count":7031},"test-coverage-map.md":{"size":13899,"mtime_ns":1787729528078006200,"indexed_at_ns":1787729937356455600,"word_count":1524,"hashes":{"test-coverage-map.md":"970d0bc2af7773ce27006da7c642991e3f094e71838201680fca7d9dfe809746"}},"tests/e2e/admin/admin-b2b-submissions.spec.ts":{"size":8979,"mtime_ns":1787729528080005900,"indexed_at_ns":1787729936612960300,"word_count":742},"tests/e2e/admin/admin-blogs-crud.spec.ts":{"size":5540,"mtime_ns":1787729528080005900,"indexed_at_ns":1787729936618959100,"word_count":490},"tests/e2e/admin/admin-crud.spec.ts":{"size":6485,"mtime_ns":1787729528081005800,"indexed_at_ns":1787729936623995800,"word_count":569},"tests/e2e/admin/admin-orders-flow.spec.ts":{"size":4130,"mtime_ns":1787729528082005000,"indexed_at_ns":1787729936630000900,"word_count":352},"tests/e2e/admin/admin-rbac-roles.spec.ts":{"size":4011,"mtime_ns":1787729528083005700,"indexed_at_ns":1787729936634530400,"word_count":327},"tests/e2e/security/xss-ratelimit.spec.ts":{"size":5646,"mtime_ns":1787729528085005800,"indexed_at_ns":1787729936640566600,"word_count":491},"tests/e2e/storefront/auth-otp-recovery.spec.ts":{"size":4540,"mtime_ns":1787729528086009200,"indexed_at_ns":1787729936646208300,"word_count":384},"tests/e2e/storefront/b2b-flow.spec.ts":{"size":3521,"mtime_ns":1787729528086516700,"indexed_at_ns":1787729936650784800,"word_count":288},"tests/e2e/storefront/blog-wiki.spec.ts":{"size":2107,"mtime_ns":1787729528087532400,"indexed_at_ns":1787729936656754300,"word_count":185},"tests/e2e/storefront/cart-operations.spec.ts":{"size":3910,"mtime_ns":1787729528089034600,"indexed_at_ns":1787729936662399200,"word_count":332},"tests/e2e/storefront/checkout-flow.spec.ts":{"size":2766,"mtime_ns":1787729528089034600,"indexed_at_ns":1787729936667403000,"word_count":251},"tests/e2e/storefront/concurrency-stock.spec.ts":{"size":5868,"mtime_ns":1787729528090041700,"indexed_at_ns":1787729936673410700,"word_count":537},"tests/e2e/storefront/contact.spec.ts":{"size":2899,"mtime_ns":1787729528091042800,"indexed_at_ns":1787729936678440900,"word_count":238},"tests/e2e/storefront/error-pages-404-500.spec.ts":{"size":1238,"mtime_ns":1787729528092042000,"indexed_at_ns":1787729936683435600,"word_count":121},"tests/e2e/storefront/order-tracking.spec.ts":{"size":3125,"mtime_ns":1787729528093041900,"indexed_at_ns":1787729936689592900,"word_count":282},"tests/e2e/storefront/shop-filter-search.spec.ts":{"size":2151,"mtime_ns":1787729528094048800,"indexed_at_ns":1787729936695374800,"word_count":187},"tests/fixtures/admin-auth.setup.ts":{"size":1950,"mtime_ns":1787729528095047800,"indexed_at_ns":1787729936700406800,"word_count":195},"tests/fixtures/index.ts":{"size":194,"mtime_ns":1787729528095047800,"indexed_at_ns":1787729936705408800,"word_count":32},"tsconfig.json":{"size":439,"mtime_ns":1787729528096047500,"indexed_at_ns":1787729937145762700,"word_count":37,"hashes":{"tsconfig.json":"12f2e30da1a34da7d06440370b7d1930cd5a3c3293f485789f5cfa2434aeea6f"}},"frontend/application/app/smart-advisor/page.tsx":{"size":2634,"mtime_ns":1787740536678699600,"indexed_at_ns":1787741544436016800,"word_count":232},"frontend/application/app/dashboard/orders/page.tsx":{"size":132,"mtime_ns":1787741941302806200,"indexed_at_ns":1787741982449356000,"word_count":13},"frontend/application/app/dashboard/pets/page.tsx":{"size":128,"mtime_ns":1787741941303809300,"indexed_at_ns":1787741982462112200,"word_count":13},"frontend/application/components/ProductImageZoomModal.tsx":{"size":12596,"mtime_ns":1788609394334189600,"indexed_at_ns":1788613610968916100,"word_count":1139},"frontend/application/app/api/media/[...path]/route.ts":{"size":6739,"mtime_ns":1788353078508488900,"indexed_at_ns":1788608124068410300,"word_count":613},"frontend/application/app/api/uploads/[...path]/route.ts":{"size":6805,"mtime_ns":1788353078510085700,"indexed_at_ns":1788608124086973600,"word_count":622},"frontend/application/lib/media.ts":{"size":2051,"mtime_ns":1788353540759919900,"indexed_at_ns":1788608124702730800,"word_count":227},"frontend/application/components/NavigationProgressBar.tsx":{"size":3658,"mtime_ns":1787999006325061100,"indexed_at_ns":1787999346873063500,"word_count":380},"frontend/application/app/api/torob/products/route.ts":{"size":6649,"mtime_ns":1788328838746612700,"indexed_at_ns":1788330894736956000,"word_count":738},"backend/src/products/torob.controller.ts":{"size":6562,"mtime_ns":1788334048806380400,"indexed_at_ns":1788334713978590500,"word_count":681},"backend/src/admin/dto/pricing.dto.ts":{"size":5033,"mtime_ns":1788334048800615600,"indexed_at_ns":1788334713321316900,"word_count":444},"backend/src/common/utils/pricing.utils.ts":{"size":1516,"mtime_ns":1788330948589741100,"indexed_at_ns":1788332263529713900,"word_count":205},"frontend/admin-panel/src/utils/pricing.ts":{"size":1127,"mtime_ns":1788330948594740900,"indexed_at_ns":1788332268764720100,"word_count":147},"backend/src/common/services/sms-events.constants.ts":{"size":10144,"mtime_ns":1788609394319095700,"indexed_at_ns":1788613605418411400,"word_count":956},"frontend/application/components/AnalyticsDeferred.tsx":{"size":3286,"mtime_ns":1788609394332188600,"indexed_at_ns":1788613610781541900,"word_count":303},"frontend/application/public/images/favicons/android-chrome-192x192.png":{"size":62883,"mtime_ns":1788587906752677800,"indexed_at_ns":1788608128262720100,"word_count":2247},"frontend/application/public/images/favicons/android-chrome-512x512.png":{"size":395793,"mtime_ns":1788587906757218700,"indexed_at_ns":1788608128270717200,"word_count":13917},"frontend/application/public/images/favicons/apple-touch-icon.png":{"size":56230,"mtime_ns":1788587906759218700,"indexed_at_ns":1788608128285373300,"word_count":2032},"frontend/application/public/images/favicons/favicon-16x16.png":{"size":943,"mtime_ns":1788587906761187700,"indexed_at_ns":1788608128293375000,"word_count":36},"frontend/application/public/images/favicons/favicon-32x32.png":{"size":2797,"mtime_ns":1788587906763190700,"indexed_at_ns":1788608128300378400,"word_count":103},"frontend/application/lib/petCompatibility.ts":{"size":3636,"mtime_ns":1788613668265750300,"indexed_at_ns":1788618164785408000,"word_count":324},"frontend/application/components/OtpInput5.tsx":{"size":4558,"mtime_ns":1788619769607313700,"indexed_at_ns":1788624364671395600,"word_count":478}}
\ No newline at end of file
diff --git a/graphify-out/graph.html b/graphify-out/graph.html
index 231c507..da33f7c 100644
--- a/graphify-out/graph.html
+++ b/graphify-out/graph.html
@@ -63,12 +63,12 @@
- 4249 nodes · 7780 edges · 331 communities
+ 4249 nodes · 7783 edges · 310 communities