diff --git a/frontend/application/components/SafeImage.tsx b/frontend/application/components/SafeImage.tsx index dd20e80..8459d2b 100644 --- a/frontend/application/components/SafeImage.tsx +++ b/frontend/application/components/SafeImage.tsx @@ -3,6 +3,7 @@ import React from "react"; import Image from "next/image"; import { Sparkles } from "lucide-react"; import { cn } from "../lib/utils"; +import { useSettingsStore } from "../lib/store/settingsStore"; interface SafeImageProps extends Omit, 'src'> { src?: string; @@ -31,6 +32,7 @@ export default function SafeImage({ }: SafeImageProps) { const [error, setError] = React.useState(false); const [loading, setLoading] = React.useState(!priority); + const logoUrl = useSettingsStore(state => state.getText('site_logo', '')); // Check if external domain is in allowed remote patterns or relative path const isExternal = typeof src === 'string' && (src.startsWith('http://') || src.startsWith('https://')); @@ -53,16 +55,27 @@ export default function SafeImage({ if (!src || error) { return (
-
- CP -
- + {logoUrl ? ( + {alt + ) : ( +
+ CANINA +
+ )} + Canina Pharma - + {fallbackText}
diff --git a/frontend/application/components/catalog/CatalogPageSpread.tsx b/frontend/application/components/catalog/CatalogPageSpread.tsx index e94174d..103d22d 100644 --- a/frontend/application/components/catalog/CatalogPageSpread.tsx +++ b/frontend/application/components/catalog/CatalogPageSpread.tsx @@ -1,8 +1,9 @@ "use client"; - import React from "react"; +import Image from "next/image"; import SafeImage from "../SafeImage"; import { Product } from "../../lib/data/products"; +import { useSettingsStore } from "../../lib/store/settingsStore"; import { Sparkles, ChevronLeft, @@ -73,6 +74,7 @@ export default function CatalogPageSpread({ onJumpToPage, categoriesList = [], }: CatalogPageSpreadProps) { + const logoUrl = useSettingsStore(state => state.getText('site_logo', '')); // ========================================== // 1. LUXURY FRONT COVER (طراحی لوکس جلد) @@ -90,57 +92,79 @@ export default function CatalogPageSpread({
{/* Top Header */} -
+
-
- CP -
+ {logoUrl ? ( + Canina Pharma + ) : ( +
+ CANINA +
+ )}
- + Canina Pharma Germany - + 🇩🇪 100% Made in Germany • Est. 1984
-
- +
+ نسخه رسمی ۲۰۲۶
{/* Center Hero Title & Visual */} -
+
-
+
OFFICIAL VETERINARY & CLINICAL CATALOG
-
-

+
+

کاتالوگ تخصصی و راهنمای بالینی مکمل‌های دارویی کنینا

-

+

مرجع رسمی مکمل‌های درمانی حیوانات خانگی با استانداردهای داروسازی آلمان (GMP) و تاییدیه‌های ارتوپدی و پوست

- {/* Hero Render Frame: Brand Identity */} -
-
-
- CP -
- + {/* Hero Render Frame: Brand Identity with dynamic logo */} +
+
+ {logoUrl ? ( + Canina Pharma + ) : ( +
+ CANINA +
+ )} + Canina Pharma - + Germany • Est. 1984 -
+
Pharma Grade Certified
@@ -332,64 +356,73 @@ export default function CatalogPageSpread({ const themeColor = categoryMeta?.color || "#0284C7"; return ( -
+
+ {/* Decorative luxury gradient tint border on top edge */} +
{/* 1. Header Bar: Category, Species, Form, ArtNo */} -
+
{/* Category Pill */} -
+
- + {product.category}
- {/* Product Badges */} -
- - - {speciesBadge.label} + {/* Product Badges (Strictly whitespace-nowrap) */} +
+ + + {speciesBadge.label} - - - {formBadge.label} + + + {formBadge.label} - + Art-Nr: {product.artNo}
- {/* 2. Main Body Content (Strictly fitted with flex-1 & min-h-0) */} -
+ {/* 2. Main Body Content (Luxury grid fitted strictly without overflow) */} +
{/* Top Product Hero Showcase (Image + Titles + Special Badge) */} -
+
+
{/* Studio Image Box */} -
+
{product.unit && ( - + {product.unit} )}
{/* Title & Scientific Tagline */} -
+
{product.specialBadge && ( ★ {product.specialBadge} @@ -399,11 +432,11 @@ export default function CatalogPageSpread({ {product.name}

{product.scientificTagline && ( -

+

{product.scientificTagline}

)} -

+

{product.shortDescription || product.description}

@@ -412,14 +445,14 @@ export default function CatalogPageSpread({ {/* Clinical Indications & Symptoms */} {product.symptoms && product.symptoms.length > 0 && (
- + موارد مصرف و نشانه‌های بالینی:
{product.symptoms.slice(0, 4).map((symptom, i) => ( • {symptom} @@ -430,16 +463,16 @@ export default function CatalogPageSpread({ {/* Active Ingredients & Composition Table */} {product.main_ingredients && product.main_ingredients.length > 0 && ( -
-
- +
+
+ ترکیبات موثره و فرمولاسیون دارویی:
- {product.main_ingredients.slice(0, 5).map((ing, idx) => ( + {product.main_ingredients.slice(0, 4).map((ing, idx) => ( {ing} @@ -450,12 +483,12 @@ export default function CatalogPageSpread({ {/* Clinical Dosage Protocol */} {product.dosage_logic && ( -
-
- +
+
+ پروتکل بالینی تجویز و دوز مصرف:
-

+

{product.dosage_logic}

@@ -463,20 +496,16 @@ export default function CatalogPageSpread({ {/* Specialist Endorsement */} {product.specialist && ( -
- -
-
- - {product.specialist.name} - ({product.specialist.title}) +
+
+ +
+
+
+ {product.specialist.name} + ({product.specialist.title})
-

+

«{product.specialist.message}»

@@ -486,12 +515,12 @@ export default function CatalogPageSpread({
{/* 3. Page Footer */} -
-
- - گرید دارویی GMP آلمان +
+
+ + Canina Pharma Germany • استانداردهای بالینی GMP
- + صفحه {pageNumber < 10 ? `۰${pageNumber}` : pageNumber} از {totalPages}
diff --git a/frontend/application/components/catalog/FlipbookCatalog.tsx b/frontend/application/components/catalog/FlipbookCatalog.tsx index 517ebf6..57eb2cc 100644 --- a/frontend/application/components/catalog/FlipbookCatalog.tsx +++ b/frontend/application/components/catalog/FlipbookCatalog.tsx @@ -1,8 +1,10 @@ "use client"; import React, { useState, useEffect, useRef, useMemo } from "react"; +import Image from "next/image"; import CatalogPageSpread, { CategoryMeta } from "./CatalogPageSpread"; import { Product } from "../../lib/data/products"; +import { useSettingsStore } from "../../lib/store/settingsStore"; import { ChevronRight, ChevronLeft, @@ -518,9 +520,20 @@ export default function FlipbookCatalog({ products }: FlipbookCatalogProps) { EST. 1984
-
- CP -
+ {useSettingsStore.getState().getText('site_logo', '') ? ( + Canina Logo + ) : ( +
+ CANINA +
+ )}

کاتالوگ تخصصی کنینا آلمان

diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json index 12bdd7e..5c41b37 100644 --- a/graphify-out/.graphify_labels.json +++ b/graphify-out/.graphify_labels.json @@ -1,9 +1,9 @@ { "0": "Roles", "1": "app.module.ts", - "2": "SettingsController", + "2": "SmsService", "3": "ProductService", - "4": "SafeImage.tsx", + "4": "ProductPage.tsx", "5": "CmsController", "6": "tickets.controller.ts", "7": "Button.tsx", @@ -13,15 +13,15 @@ "11": "MediaSelector.tsx", "12": "index.ts", "13": "app-audit-verification.e2e-spec.js", - "14": "UserDashboard.tsx", + "14": "toPersian", "15": "src/services/api.ts", "16": "DoctorQueryDto", "17": "schema.ts", "18": "JwtAuthGuard", - "19": "ProductsService", + "19": "RevalidationService", "20": "CreateVideoDto", - "21": "ProductPage.tsx", - "22": "PetProfile.tsx", + "21": "userStore.ts", + "22": "useCartStore", "23": "MenuService", "24": "BE-001", "25": "FE-001", @@ -34,7 +34,7 @@ "32": "adminRoutes.tsx", "33": "WholesaleService", "34": "B2BService", - "35": "AuthController", + "35": "auth.service.ts", "36": "FaqService", "37": "راهنمای تست سیستم (Software Testing)", "38": "Button", @@ -59,15 +59,15 @@ "57": "Role & Core Objective", "58": "ContactService", "59": "compilerOptions", - "60": "AuthService", - "61": "payment.controller.ts", + "60": "PaymentService", + "61": "payment.service.ts", "62": "ProductDto", "63": "dependencies", "64": "compilerOptions", "65": "app.e2e-spec.js", "66": "AdminQueryDto", "67": "admin.module.ts", - "68": "OrdersService", + "68": "CheckoutPage.tsx", "69": "Required Review Group Closures", "70": "compilerOptions", "71": "getPageMetadata", @@ -87,16 +87,16 @@ "85": "HomeClient.tsx", "86": "zibal.service.ts", "87": "dependencies", - "88": "MetricsController", + "88": "CreateEBankCheckoutDto", "89": "seed-products.ts", "90": "useSettingsStore", "91": "Reconciled Audit Roles & Assignments", - "92": "OrdersController", + "92": "OrdersService", "93": "@nestjs/schematics", "94": "Phase 3.1 — Human Review Preparation and Master Backlog Critique", - "95": "wiki/[slug]/page.tsx", + "95": "blog/[slug]/page.tsx", "96": "compilerOptions", - "97": "AdminLoginDto", + "97": "InitiatePaymentDto", "98": "scripts", "99": "BlogsController", "100": "Deep Audit Summary Report", @@ -112,9 +112,9 @@ "110": "Operational Rules & Boundaries", "111": "Operational Rules & Boundaries", "112": "Operational Rules & Boundaries", - "113": "SmsService", + "113": "videos/page.tsx", "114": "AppService", - "115": "LoginDto", + "115": "@nestjs/swagger", "116": "Vazirmatn Changelog", "117": "Vazirmatn Font فونت وزیرمتن", "118": "Operational Rules & Boundaries", @@ -128,7 +128,7 @@ "126": "admin-panel/package.json", "127": "Sahel-Font", "128": "AdminController", - "129": "bcrypt", + "129": "globals", "130": "Sahel-Font", "131": "Role & Core Objective", "132": "orchestrate.py", @@ -150,7 +150,7 @@ "148": "class-transformer", "149": "SmsSettingsPage.tsx", "150": "Product Requirement Document (PRD)", - "151": "auth.service.ts", + "151": "@types/react-dom", "152": "lib/services/api.ts", "153": "exclude", "154": "Baseline Command Plan & Reconciled Command History", @@ -175,8 +175,6 @@ "173": "Phase 3 Audit Traceability Matrix", "174": "rebuild_honest_ledger.js", "175": "validate_evidence_grade.js", - "176": "CreateOrderDto", - "177": "SmsLogQueryDto", "178": "نقشه جامع پوشش تست‌های سرتاسری (E2E Test Coverage Map) — پروژه Canina", "179": "PaginationDto", "180": "API Contract Specification", @@ -198,7 +196,6 @@ "196": "Select.tsx", "197": "wiki/page.tsx", "198": "@nestjs/core", - "199": "RegisterDto", "200": "application/README.md", "201": "deploy.sh", "202": "🔒 Security & Performance Review (09_devops_security)", @@ -294,7 +291,6 @@ "292": "Production Docker Compose", "293": "Staging Docker Compose", "294": "ZibalService", - "295": "eslint-plugin-react-refresh", "296": "eslint-plugin-prettier", "297": "ZibalEBankService", "298": ".initiateOrderPayment", @@ -321,6 +317,5 @@ "319": "ts-jest", "320": "@types/js-yaml", "321": "@types/supertest", - "322": "typescript-eslint", - "323": "eslint-config-next" + "322": "typescript-eslint" } diff --git a/graphify-out/.graphify_labels.json.sig b/graphify-out/.graphify_labels.json.sig index d3b28a0..99d0068 100644 --- a/graphify-out/.graphify_labels.json.sig +++ b/graphify-out/.graphify_labels.json.sig @@ -1 +1 @@ -{"0": "b0118f68a3e7f0ad", "1": "e942d5cb31f6084f", "2": "4a84bcb8bed14f1a", "3": "36ba898ebdc1ddde", "4": "a479c95c6a989f42", "5": "f34c872571e8a774", "6": "81b67391b0b87cab", "7": "ca7f434e9ff71924", "8": "20af84cfaa2bae80", "9": "23ffcb2f5682d0bc", "10": "752e0fd82db2f266", "11": "7486b8792dd18a8e", "12": "0f987d4c17ae1a5e", "13": "3a0d379c05c48643", "14": "666d28bcf4d6824c", "15": "c503f61c132e0faa", "16": "bbaf7539ddd300b0", "17": "690dc63010f5642d", "18": "bba03f98b1f6a6c7", "19": "8ef756036d7dfd44", "20": "b8abf3d4ac15fc65", "21": "edb3bd0180ebd559", "22": "0e8775257b5ea922", "23": "493cda457ee900a1", "24": "4eda46a5b0695ef6", "25": "90b79d6027d60d30", "26": "6bd6f2633370820c", "27": "7664e56213a29331", "28": "942c4f9928c60a45", "29": "0614b98d9013b5f5", "30": "53ff49b3d54f0fba", "31": "2153ddcd7477dfb7", "32": "89fe2ef12db40871", "33": "5499104e9ca4fdad", "34": "e89579446dcd5c0b", "35": "22da5072d40567ac", "36": "f150a52ef5061868", "37": "1c9a1f4c72613346", "38": "58fe18c423dae025", "39": "f38c905c9af9edc0", "40": "cf43e144340a5383", "41": "7abb5bc6a0e4f65f", "42": "cbaa20536db72d3e", "43": "7478d6755ca2248a", "44": "b4c82af1f2f566f7", "45": "7dd5c61562c827a8", "46": "4ece6985263357c4", "47": "65e41c1c22dcd058", "48": "be3689094661c515", "49": "841013681f4e6e8c", "50": "6e280669736f661b", "51": "91d7f3d12813e4ff", "52": "73df605d6eec20d9", "53": "cb17af4eb831480f", "54": "ee186e3bf8b91965", "55": "93d836d575401c61", "56": "2a1dd74542bc4e00", "57": "0f62727f3b4907c0", "58": "533f2d32c60dd4b3", "59": "7369e85febb97f1a", "60": "241b6bc25fc8f587", "61": "bc11fccb12a0e965", "62": "0b0de6846736eb6d", "63": "4be5c81976312539", "64": "3b9521f7d7986eaa", "65": "c35e392f1594d14e", "66": "9ec01105c2764708", "67": "945c89d2a7d6e795", "68": "aab2addd371e5c48", "69": "31a5a53f1fe77e46", "70": "01d4f9d6d9f3b08a", "71": "c921286dfaeaa2f2", "72": "69d0f8b228227690", "73": "22456307ff273d80", "74": "d9e74b032c5b8440", "75": "ca4d94b36734b0d0", "76": "9bc7b5e8ac4c9709", "77": "62430df45afa65b5", "78": "0273bbf045eb1528", "79": "ba7bc17581366c9a", "80": "0727bb53199085fc", "81": "91393683c97d1773", "82": "36d253e9d0d7547b", "83": "71d2ce6fb684bc0e", "84": "70497658d0e0cea6", "85": "e2451651a070fc22", "86": "e3d13e2060945d3f", "87": "f0f56796aaebb4f5", "88": "038915bd030e573c", "89": "656f816eb51f2ab1", "90": "668bdaca2725a899", "91": "25a6695f5783d2be", "92": "ea4d2c2d83d6194d", "93": "b796283dc9729998", "94": "f7a706f5fcb260c3", "95": "b34299def739d0ee", "96": "3fef84a1b6832b0b", "97": "2c92e71020d644f3", "98": "5bbc8944b2ba2d8f", "99": "6b4a687ed862e0e1", "100": "3c1d9844d072bd2a", "101": "b3c5433df880f335", "102": "e036dbd1de0f8b38", "103": "ac7cb5ec7d5c0802", "104": "dbe2f8ccb8d5321a", "105": "622f83f2eb300a25", "106": "0e03a5b22c0f26de", "107": "69c8cbfb6992b123", "108": "0f510269362ab3ec", "109": "6d16ccde1291c9d4", "110": "d228746e85ead3af", "111": "b55ba9125ffb5729", "112": "5f50a360f18a880b", "113": "90f8516a7d52b20c", "114": "c6b57d78299a27b3", "115": "ed20d3429f7b1927", "116": "db70db08c00162df", "117": "9a1080686fc7c39b", "118": "77fd76193df9f573", "119": "28355f848c862b6e", "120": "25f77f5455bdc96a", "121": "9141a0ede9461fd5", "122": "404126b9e834a3ab", "123": "0dd5439f11354ec2", "124": "3ceda88239910d9a", "125": "9409b3b8a334f51d", "126": "ac95a9f152e3d1c4", "127": "a7299f20633c0236", "128": "c67d0f6b95947347", "129": "5868455594581723", "130": "7f405315686459b9", "131": "44c7924c829cc215", "132": "17ecb7325285cf7a", "133": "4487fd85ddc13c93", "134": "73382a9ef9d08673", "135": "c4abf0eb38ef740d", "136": "07d37aeefbe50e21", "137": "70b58e32c2890fdd", "138": "f2c7afb0c277c4b7", "139": "3ae63656c43c37a7", "140": "167643bcbbc26244", "141": "dcffd9ad7a1f7df6", "142": "f47469d48b3776b5", "143": "1b0ef1cf87b53de3", "144": "e195f425def606d0", "145": "d1392d8ad5d97af2", "146": "c7ddffce8605b65b", "147": "a784f5463c1764eb", "148": "959e76250dbacbad", "149": "39d16c91943d85e4", "150": "5910eeefe2f97a20", "151": "a6e894aba2dbb33e", "152": "6b217f8e58cb9464", "153": "6cfdd09a6fdd9ff9", "154": "66efafa1e86d8081", "155": "562a328c3cebc9b1", "156": "4a8bdc6821207fa3", "157": "dd5f624dc488c627", "158": "3a6753a80123a0f4", "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": "d13dd35a8c73fef2", "177": "8ffb30447853a689", "178": "4a0995c91344bedb", "179": "4d5aa5463205505c", "180": "4ac5f9965007617d", "181": "cff999497d56b512", "182": "06b38ffa6f58195d", "183": "ee705c178d6958bb", "184": "c1eeb547de4cb87d", "185": "ca950b47c628b81a", "186": "867babdd40f0c3fc", "187": "298144d1548a7dee", "188": "00d275127a7e435e", "189": "2942a9d30dae4a29", "190": "3e21e2fb50e12670", "191": "be62daa7d5bc336a", "192": "47c3e1a9d4bb7e67", "193": "82ff39c105ae3090", "194": "6747ecf936cb0400", "195": "ebc0087e3400009c", "196": "51d4e15c7e10decf", "197": "8c439a265a9c4341", "198": "255a8a95e2a3df67", "199": "acfe5a84eaab81d7", "200": "162b36508e5879f3", "201": "6256958a9b817133", "202": "ab06e01c9caa9f90", "203": "204b3a83ef62f360", "204": "f6ddba6f531d6b96", "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": "dd8d62f9fb517bb5", "221": "6d0322fa3d03fa10", "222": "3be2a9ccdc6668cc", "223": "47e08912fd6cd296", "224": "c7de3fe21e2e53b4", "225": "703a4a9860d7ed16", "226": "85fd4a84b5393d0e", "227": "97ec841e4f367258", "228": "4654167fd211d027", "229": "8176a164778526f9", "230": "a74925b45b279d6f", "231": "3a8a257d1f54b2ae", "232": "b0b81cfb9e11502e", "233": "7a7f04630a11cc2b", "234": "2ed3af4b96bcf920", "235": "7fde599bf90ee0bf", "236": "65d822bbba496dee", "237": "0bd7ed52b69464bf", "238": "fc778d7a22e550eb", "239": "4865e180c0694458", "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": "e24cf60bcf607797", "265": "0650b6a561436852", "266": "bbcea5ec9d046ac0", "267": "fd158611e3227271", "268": "ecfb692b6f7a1014", "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": "947667b4ea34ac61", "295": "60ce4fcea460e0a6", "296": "578638c4278d00c6", "297": "69f2014dab3c4a93", "298": "cc5f6b26358d30f3", "299": "5a4d1c1ef8bed9bb", "300": "b1d204e97a3c45dc", "301": "47fc05295105c312", "302": "1c69dcee9405ce47", "303": "5eb83040a203bd16", "304": "20a2080eac259e2b", "305": "19ac29575c50f599", "306": "c556ac339be4aba5", "307": "d7cad630fb1d1414", "308": "bcf417101439fd9e", "309": "768db8a3a299f590", "310": "321732baccae846b", "311": "0598c15fa2a12fad", "312": "05f1ad1f29e435ff", "313": "f9e342f69d6a5dae", "314": "9a7b4968676954d7", "315": "a0fdc688ac30f227", "316": "78aa95566e86b57f", "317": "31eb2ccb16c5af0f", "318": "2491d05d8bb29ad7", "319": "c24925d361d1eb6f", "320": "d2a7888a77082d4c", "321": "bfcc583da029935c", "322": "6c1a09679076ea89", "323": "bddcc43a56a2787b"} \ No newline at end of file +{"0": "6aae5ffc0c93e701", "1": "af2d2c3633c601a3", "2": "9a931bfdbb0cc2af", "3": "5ee8315fa2b7eb16", "4": "718edfb541591db6", "5": "f34c872571e8a774", "6": "81b67391b0b87cab", "7": "ca7f434e9ff71924", "8": "1a1f1cea37fa9f9f", "9": "23ffcb2f5682d0bc", "10": "752e0fd82db2f266", "11": "7486b8792dd18a8e", "12": "0f987d4c17ae1a5e", "13": "3a0d379c05c48643", "14": "8b6300b3f1c02f0c", "15": "c503f61c132e0faa", "16": "bbaf7539ddd300b0", "17": "cf61e1532c01d2a4", "18": "41afe6103f21bf26", "19": "9601ccba09049fa2", "20": "b8abf3d4ac15fc65", "21": "306edca511a90891", "22": "d385d93785fe4931", "23": "493cda457ee900a1", "24": "4eda46a5b0695ef6", "25": "90b79d6027d60d30", "26": "6bd6f2633370820c", "27": "7664e56213a29331", "28": "942c4f9928c60a45", "29": "0614b98d9013b5f5", "30": "53ff49b3d54f0fba", "31": "2153ddcd7477dfb7", "32": "89fe2ef12db40871", "33": "5499104e9ca4fdad", "34": "e89579446dcd5c0b", "35": "da43d20763304bbc", "36": "f150a52ef5061868", "37": "1c9a1f4c72613346", "38": "58fe18c423dae025", "39": "f38c905c9af9edc0", "40": "cf43e144340a5383", "41": "7abb5bc6a0e4f65f", "42": "cbaa20536db72d3e", "43": "7478d6755ca2248a", "44": "b4c82af1f2f566f7", "45": "7dd5c61562c827a8", "46": "4ece6985263357c4", "47": "65e41c1c22dcd058", "48": "be3689094661c515", "49": "94629102552a14b3", "50": "b1c3283bd55a8fe9", "51": "91d7f3d12813e4ff", "52": "9924f91d5ca70505", "53": "cb17af4eb831480f", "54": "ee186e3bf8b91965", "55": "93d836d575401c61", "56": "2a1dd74542bc4e00", "57": "0f62727f3b4907c0", "58": "533f2d32c60dd4b3", "59": "7369e85febb97f1a", "60": "42329477fdece8c1", "61": "9b0eb2e9b68ff17d", "62": "0b0de6846736eb6d", "63": "0b962a47d1b049e5", "64": "3b9521f7d7986eaa", "65": "c35e392f1594d14e", "66": "9ec01105c2764708", "67": "225145cea3c8cfd6", "68": "91e991d6233e2ff2", "69": "31a5a53f1fe77e46", "70": "01d4f9d6d9f3b08a", "71": "c921286dfaeaa2f2", "72": "69d0f8b228227690", "73": "22456307ff273d80", "74": "d9e74b032c5b8440", "75": "ca4d94b36734b0d0", "76": "9bc7b5e8ac4c9709", "77": "62430df45afa65b5", "78": "0273bbf045eb1528", "79": "ba7bc17581366c9a", "80": "0727bb53199085fc", "81": "91393683c97d1773", "82": "36d253e9d0d7547b", "83": "71d2ce6fb684bc0e", "84": "70497658d0e0cea6", "85": "9c6209c41df32e48", "86": "e3d13e2060945d3f", "87": "f0f56796aaebb4f5", "88": "c4acedd7472cf7cb", "89": "656f816eb51f2ab1", "90": "331dba838fb8dc8e", "91": "25a6695f5783d2be", "92": "8b224f15bf858819", "93": "b796283dc9729998", "94": "f7a706f5fcb260c3", "95": "b5aa6b2d87587c7f", "96": "3fef84a1b6832b0b", "97": "34581929891cefb2", "98": "5bbc8944b2ba2d8f", "99": "3c7478cc94918e63", "100": "3c1d9844d072bd2a", "101": "b3c5433df880f335", "102": "e036dbd1de0f8b38", "103": "ac7cb5ec7d5c0802", "104": "dbe2f8ccb8d5321a", "105": "622f83f2eb300a25", "106": "0e03a5b22c0f26de", "107": "69c8cbfb6992b123", "108": "4efb86e48c5b1798", "109": "6d16ccde1291c9d4", "110": "d228746e85ead3af", "111": "b55ba9125ffb5729", "112": "5f50a360f18a880b", "113": "d86deea433a6d69d", "114": "c6b57d78299a27b3", "115": "3528c4c8a0e2db61", "116": "db70db08c00162df", "117": "9a1080686fc7c39b", "118": "77fd76193df9f573", "119": "28355f848c862b6e", "120": "25f77f5455bdc96a", "121": "9141a0ede9461fd5", "122": "404126b9e834a3ab", "123": "0dd5439f11354ec2", "124": "3ceda88239910d9a", "125": "9409b3b8a334f51d", "126": "ac95a9f152e3d1c4", "127": "a7299f20633c0236", "128": "c67d0f6b95947347", "129": "490b465cf48c7efa", "130": "7f405315686459b9", "131": "44c7924c829cc215", "132": "17ecb7325285cf7a", "133": "4487fd85ddc13c93", "134": "73382a9ef9d08673", "135": "c4abf0eb38ef740d", "136": "07d37aeefbe50e21", "137": "70b58e32c2890fdd", "138": "f2c7afb0c277c4b7", "139": "3ae63656c43c37a7", "140": "167643bcbbc26244", "141": "dcffd9ad7a1f7df6", "142": "f47469d48b3776b5", "143": "1b0ef1cf87b53de3", "144": "e195f425def606d0", "145": "d1392d8ad5d97af2", "146": "c7ddffce8605b65b", "147": "a784f5463c1764eb", "148": "959e76250dbacbad", "149": "39d16c91943d85e4", "150": "5910eeefe2f97a20", "151": "4ab8ffab1d51ca61", "152": "98eb48b1f38e5e3d", "153": "6cfdd09a6fdd9ff9", "154": "66efafa1e86d8081", "155": "562a328c3cebc9b1", "156": "4a8bdc6821207fa3", "157": "dd5f624dc488c627", "158": "3a6753a80123a0f4", "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", "178": "4a0995c91344bedb", "179": "563bc79aaca0088a", "180": "4ac5f9965007617d", "181": "cff999497d56b512", "182": "06b38ffa6f58195d", "183": "ee705c178d6958bb", "184": "b6f7d567fd2f68ab", "185": "ca950b47c628b81a", "186": "867babdd40f0c3fc", "187": "298144d1548a7dee", "188": "00d275127a7e435e", "189": "2942a9d30dae4a29", "190": "3e21e2fb50e12670", "191": "be62daa7d5bc336a", "192": "47c3e1a9d4bb7e67", "193": "82ff39c105ae3090", "194": "6747ecf936cb0400", "195": "ebc0087e3400009c", "196": "51d4e15c7e10decf", "197": "8c439a265a9c4341", "198": "255a8a95e2a3df67", "200": "162b36508e5879f3", "201": "6256958a9b817133", "202": "ab06e01c9caa9f90", "203": "204b3a83ef62f360", "204": "f6ddba6f531d6b96", "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": "dd8d62f9fb517bb5", "221": "6d0322fa3d03fa10", "222": "3be2a9ccdc6668cc", "223": "47e08912fd6cd296", "224": "c7de3fe21e2e53b4", "225": "703a4a9860d7ed16", "226": "85fd4a84b5393d0e", "227": "97ec841e4f367258", "228": "4654167fd211d027", "229": "8176a164778526f9", "230": "a74925b45b279d6f", "231": "3a8a257d1f54b2ae", "232": "b0b81cfb9e11502e", "233": "7a7f04630a11cc2b", "234": "2ed3af4b96bcf920", "235": "7fde599bf90ee0bf", "236": "65d822bbba496dee", "237": "0bd7ed52b69464bf", "238": "fc778d7a22e550eb", "239": "4865e180c0694458", "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": "e24cf60bcf607797", "265": "0650b6a561436852", "266": "bbcea5ec9d046ac0", "267": "fd158611e3227271", "268": "ecfb692b6f7a1014", "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": "64fce0b4c8f81fd1", "296": "578638c4278d00c6", "297": "012420a20e70092c", "298": "4958bb8a46acaa01", "299": "5a4d1c1ef8bed9bb", "300": "b1d204e97a3c45dc", "301": "47fc05295105c312", "302": "1c69dcee9405ce47", "303": "5eb83040a203bd16", "304": "20a2080eac259e2b", "305": "19ac29575c50f599", "306": "c556ac339be4aba5", "307": "d7cad630fb1d1414", "308": "bcf417101439fd9e", "309": "768db8a3a299f590", "310": "321732baccae846b", "311": "0598c15fa2a12fad", "312": "05f1ad1f29e435ff", "313": "f9e342f69d6a5dae", "314": "9a7b4968676954d7", "315": "a0fdc688ac30f227", "316": "78aa95566e86b57f", "317": "31eb2ccb16c5af0f", "318": "2491d05d8bb29ad7", "319": "c24925d361d1eb6f", "320": "d2a7888a77082d4c", "321": "bfcc583da029935c", "322": "6c1a09679076ea89"} \ No newline at end of file diff --git a/graphify-out/2026-08-26/.graphify_labels.json b/graphify-out/2026-08-26/.graphify_labels.json index 5da2bb4..12bdd7e 100644 --- a/graphify-out/2026-08-26/.graphify_labels.json +++ b/graphify-out/2026-08-26/.graphify_labels.json @@ -7,21 +7,21 @@ "5": "CmsController", "6": "tickets.controller.ts", "7": "Button.tsx", - "8": "admin.module.ts", + "8": "ReportsController", "9": "devDependencies", - "10": "CreateReviewDto", + "10": "ReviewsService", "11": "MediaSelector.tsx", "12": "index.ts", "13": "app-audit-verification.e2e-spec.js", - "14": "CheckoutPage.tsx", + "14": "UserDashboard.tsx", "15": "src/services/api.ts", "16": "DoctorQueryDto", "17": "schema.ts", "18": "JwtAuthGuard", - "19": "RevalidationService", + "19": "ProductsService", "20": "CreateVideoDto", "21": "ProductPage.tsx", - "22": "toPersian", + "22": "PetProfile.tsx", "23": "MenuService", "24": "BE-001", "25": "FE-001", @@ -32,7 +32,7 @@ "30": "DEVOPS-001", "31": "DOC-001", "32": "adminRoutes.tsx", - "33": "WholesaleApplyDto", + "33": "WholesaleService", "34": "B2BService", "35": "AuthController", "36": "FaqService", @@ -53,21 +53,21 @@ "51": "BlogsController", "52": "PrescriptionsService", "53": "SmartAdvisorService", - "54": "UsersController", + "54": "CreateReviewDto", "55": "UITexts.tsx", "56": "Orders.tsx", "57": "Role & Core Objective", "58": "ContactService", "59": "compilerOptions", - "60": "users.controller.ts", - "61": "payment.service.ts", + "60": "AuthService", + "61": "payment.controller.ts", "62": "ProductDto", "63": "dependencies", "64": "compilerOptions", "65": "app.e2e-spec.js", "66": "AdminQueryDto", - "67": "PetsController", - "68": "PaymentService", + "67": "admin.module.ts", + "68": "OrdersService", "69": "Required Review Group Closures", "70": "compilerOptions", "71": "getPageMetadata", @@ -84,19 +84,19 @@ "82": "scripts", "83": "dependencies", "84": "Role & Core Objective", - "85": "ArchivePage.tsx", + "85": "HomeClient.tsx", "86": "zibal.service.ts", "87": "dependencies", - "88": "NetworkBanner.tsx", + "88": "MetricsController", "89": "seed-products.ts", "90": "useSettingsStore", "91": "Reconciled Audit Roles & Assignments", - "92": "OrdersService", + "92": "OrdersController", "93": "@nestjs/schematics", "94": "Phase 3.1 — Human Review Preparation and Master Backlog Critique", - "95": "blog/[slug]/page.tsx", + "95": "wiki/[slug]/page.tsx", "96": "compilerOptions", - "97": "SettingsService", + "97": "AdminLoginDto", "98": "scripts", "99": "BlogsController", "100": "Deep Audit Summary Report", @@ -106,7 +106,7 @@ "104": "Coupons.tsx", "105": "Operational Rules & Boundaries", "106": "Media.tsx", - "107": "WikiController", + "107": "WholesaleApplyDto", "108": "PrismaService", "109": "1. Summary of Integrity Repairs Performed", "110": "Operational Rules & Boundaries", @@ -114,7 +114,7 @@ "112": "Operational Rules & Boundaries", "113": "SmsService", "114": "AppService", - "115": "AuthService", + "115": "LoginDto", "116": "Vazirmatn Changelog", "117": "Vazirmatn Font فونت وزیرمتن", "118": "Operational Rules & Boundaries", @@ -122,13 +122,13 @@ "120": "compilerOptions", "121": "backend/README.md", "122": "AdminService", - "123": "CreateEBankCheckoutDto", + "123": "app/page.tsx", "124": "Repository Map", "125": "validate_integrity.js", "126": "admin-panel/package.json", "127": "Sahel-Font", "128": "AdminController", - "129": "InitiatePaymentDto", + "129": "bcrypt", "130": "Sahel-Font", "131": "Role & Core Objective", "132": "orchestrate.py", @@ -146,18 +146,18 @@ "144": "@testing-library/react", "145": "admin.service.ts", "146": "System Discovery", - "147": "UserDashboard.tsx", - "148": "wiki/[slug]/page.tsx", + "147": "components/Skeleton.tsx", + "148": "class-transformer", "149": "SmsSettingsPage.tsx", "150": "Product Requirement Document (PRD)", "151": "auth.service.ts", - "152": "cartStore.ts", + "152": "lib/services/api.ts", "153": "exclude", "154": "Baseline Command Plan & Reconciled Command History", "155": "seo-backfill.ts", "156": "manual-test-scenarios.md", "157": "ErrorPages.tsx", - "158": "@types/react-dom", + "158": "helmet", "159": "with-vpn.sh", "160": "Architecture Specification", "161": "Project Health Audit Report", @@ -184,7 +184,7 @@ "182": "🎨 Frontend & Admin Panel Technical Review (06_dev_frontend)", "183": "🚀 SEO & Content Strategy Review (12_seo_content)", "184": "RedisService", - "185": "trust-seals/page.tsx", + "185": "js-yaml", "186": "seed-ui-texts.ts", "187": "seed-wiki.ts", "188": "update-blog.dto.ts", @@ -197,8 +197,8 @@ "195": "React + TypeScript + Vite", "196": "Select.tsx", "197": "wiki/page.tsx", - "198": "catalog/page.tsx", - "199": "auth.controller.ts", + "198": "@nestjs/core", + "199": "RegisterDto", "200": "application/README.md", "201": "deploy.sh", "202": "🔒 Security & Performance Review (09_devops_security)", @@ -222,7 +222,7 @@ "220": "Input.tsx", "221": "Textarea.tsx", "222": "admin-panel/tsconfig.json", - "223": "@types/node", + "223": "@nestjs/jwt", "224": "jest", "225": "next.config.ts", "226": "Shabnam Font README", @@ -230,9 +230,13 @@ "228": "rules/graphify.md", "229": ".agents/workflows/graphify.md", "230": "instructions.md", - "231": "typescript", + "231": "@nestjs/throttler", "232": "@eslint/js", "233": "tailwindcss", + "234": "passport", + "235": "reflect-metadata", + "236": "swagger-ui-express", + "237": "@eslint/eslintrc", "238": "prisma", "239": "source-map-support", "240": "supertest", @@ -291,6 +295,7 @@ "293": "Staging Docker Compose", "294": "ZibalService", "295": "eslint-plugin-react-refresh", + "296": "eslint-plugin-prettier", "297": "ZibalEBankService", "298": ".initiateOrderPayment", "299": "@tailwindcss/postcss", @@ -300,13 +305,22 @@ "303": "@types/express", "304": "@types/jest", "305": "@types/react", + "306": "globals", + "307": "@nestjs/cli", "308": "vitest", "309": "axios", "310": "tailwindcss", "311": "@types/multer", "312": "@types/passport-jwt", "313": "Modal.tsx", + "314": "@nestjs/testing", "315": "typescript", + "316": "prettier", "317": "revalidate/route.ts", - "318": "MaskableField.tsx" + "318": "MaskableField.tsx", + "319": "ts-jest", + "320": "@types/js-yaml", + "321": "@types/supertest", + "322": "typescript-eslint", + "323": "eslint-config-next" } diff --git a/graphify-out/2026-08-26/GRAPH_REPORT.md b/graphify-out/2026-08-26/GRAPH_REPORT.md index d0b8a90..28441db 100644 --- a/graphify-out/2026-08-26/GRAPH_REPORT.md +++ b/graphify-out/2026-08-26/GRAPH_REPORT.md @@ -1,16 +1,16 @@ # Graph Report - canina (2026-08-26) ## Corpus Check -- 586 files · ~1,330,915 words +- 586 files · ~1,330,935 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 4104 nodes · 7379 edges · 310 communities (210 shown, 100 thin omitted) +- 4104 nodes · 7380 edges · 324 communities (210 shown, 114 thin omitted) - Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 281 edges (avg confidence: 0.79) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `0b52f9e9` +- Built from commit: `9daaa226` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -23,21 +23,21 @@ - CmsController - tickets.controller.ts - Button.tsx -- admin.module.ts +- ReportsController - devDependencies -- CreateReviewDto +- ReviewsService - MediaSelector.tsx - index.ts - app-audit-verification.e2e-spec.js -- CheckoutPage.tsx +- UserDashboard.tsx - src/services/api.ts - DoctorQueryDto - schema.ts - JwtAuthGuard -- RevalidationService +- ProductsService - CreateVideoDto - ProductPage.tsx -- toPersian +- PetProfile.tsx - MenuService - BE-001 - FE-001 @@ -48,7 +48,7 @@ - DEVOPS-001 - DOC-001 - adminRoutes.tsx -- WholesaleApplyDto +- WholesaleService - B2BService - AuthController - FaqService @@ -69,21 +69,21 @@ - BlogsController - PrescriptionsService - SmartAdvisorService -- UsersController +- CreateReviewDto - UITexts.tsx - Orders.tsx - Role & Core Objective - ContactService - compilerOptions -- users.controller.ts -- payment.service.ts +- AuthService +- payment.controller.ts - ProductDto - dependencies - compilerOptions - app.e2e-spec.js - AdminQueryDto -- PetsController -- PaymentService +- admin.module.ts +- OrdersService - Required Review Group Closures - compilerOptions - getPageMetadata @@ -99,19 +99,19 @@ - scripts - dependencies - Role & Core Objective -- ArchivePage.tsx +- HomeClient.tsx - zibal.service.ts - dependencies -- NetworkBanner.tsx +- MetricsController - seed-products.ts - useSettingsStore - Reconciled Audit Roles & Assignments -- OrdersService +- OrdersController - @nestjs/schematics - Phase 3.1 — Human Review Preparation and Master Backlog Critique -- blog/[slug]/page.tsx +- wiki/[slug]/page.tsx - compilerOptions -- SettingsService +- AdminLoginDto - scripts - BlogsController - Deep Audit Summary Report @@ -121,7 +121,7 @@ - Coupons.tsx - Operational Rules & Boundaries - Media.tsx -- WikiController +- WholesaleApplyDto - PrismaService - 1. Summary of Integrity Repairs Performed - Operational Rules & Boundaries @@ -129,7 +129,7 @@ - Operational Rules & Boundaries - SmsService - AppService -- AuthService +- LoginDto - Vazirmatn Changelog - Vazirmatn Font فونت وزیرمتن - Operational Rules & Boundaries @@ -137,13 +137,13 @@ - compilerOptions - backend/README.md - AdminService -- CreateEBankCheckoutDto +- app/page.tsx - Repository Map - validate_integrity.js - admin-panel/package.json - Sahel-Font - AdminController -- InitiatePaymentDto +- bcrypt - Sahel-Font - Role & Core Objective - orchestrate.py @@ -161,17 +161,17 @@ - @testing-library/react - admin.service.ts - System Discovery -- UserDashboard.tsx -- wiki/[slug]/page.tsx +- components/Skeleton.tsx +- class-transformer - SmsSettingsPage.tsx - Product Requirement Document (PRD) - auth.service.ts -- cartStore.ts +- lib/services/api.ts - exclude - Baseline Command Plan & Reconciled Command History - seo-backfill.ts - ErrorPages.tsx -- @types/react-dom +- helmet - with-vpn.sh - Architecture Specification - Project Health Audit Report @@ -198,7 +198,7 @@ - 🎨 Frontend & Admin Panel Technical Review (06_dev_frontend) - 🚀 SEO & Content Strategy Review (12_seo_content) - RedisService -- trust-seals/page.tsx +- js-yaml - seed-ui-texts.ts - seed-wiki.ts - update-blog.dto.ts @@ -211,8 +211,8 @@ - React + TypeScript + Vite - Select.tsx - wiki/page.tsx -- catalog/page.tsx -- auth.controller.ts +- @nestjs/core +- RegisterDto - application/README.md - deploy.sh - 🔒 Security & Performance Review (09_devops_security) @@ -236,7 +236,7 @@ - Input.tsx - Textarea.tsx - admin-panel/tsconfig.json -- @types/node +- @nestjs/jwt - jest - next.config.ts - Shabnam Font README @@ -244,9 +244,13 @@ - rules/graphify.md - .agents/workflows/graphify.md - instructions.md -- typescript +- @nestjs/throttler - @eslint/js - tailwindcss +- passport +- reflect-metadata +- swagger-ui-express +- @eslint/eslintrc - prisma - source-map-support - supertest @@ -290,6 +294,7 @@ - Staging Docker Compose - ZibalService - eslint-plugin-react-refresh +- eslint-plugin-prettier - ZibalEBankService - .initiateOrderPayment - @tailwindcss/postcss @@ -299,18 +304,27 @@ - @types/express - @types/jest - @types/react +- globals +- @nestjs/cli - vitest - @types/multer - @types/passport-jwt - Modal.tsx +- @nestjs/testing - typescript +- prettier - revalidate/route.ts - MaskableField.tsx +- ts-jest +- @types/js-yaml +- @types/supertest +- typescript-eslint +- eslint-config-next ## God Nodes (most connected - your core abstractions) 1. `Roles()` - 106 edges 2. `PrismaService` - 87 edges -3. `useSettingsStore` - 55 edges +3. `useSettingsStore` - 56 edges 4. `api` - 44 edges 5. `SmsService` - 43 edges 6. `PaginationDto` - 41 edges @@ -336,7 +350,7 @@ - 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 (310 total, 100 thin omitted) +## Communities (324 total, 114 thin omitted) ### Community 0 - "Roles" Cohesion: 0.24 @@ -344,19 +358,19 @@ Nodes (13): Roles(), PaymentController, ApiBearerAuth, ApiOperation, ApiTags, Bo ### Community 1 - "app.module.ts" Cohesion: 0.07 -Nodes (36): B2BModule, Module, BannersModule, Module, CmsModule, Module, SmsModule, Global (+28 more) +Nodes (37): B2BModule, Module, BannersModule, Module, CmsModule, Module, RevalidationModule, Global (+29 more) ### Community 2 - "SettingsController" -Cohesion: 0.17 -Nodes (15): SettingsController, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller, Delete (+7 more) +Cohesion: 0.10 +Nodes (18): SmsLogQuery, SettingsController, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+10 more) ### Community 3 - "ProductService" -Cohesion: 0.06 -Nodes (35): dynamic, revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate, BlogCategory (+27 more) +Cohesion: 0.07 +Nodes (30): dynamic, revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate, BlogCategory (+22 more) ### Community 4 - "SafeImage.tsx" -Cohesion: 0.09 -Nodes (18): OrderDetailsModalProps, PLAYBACK_RATES, PodcastInlinePlayer(), PodcastInlinePlayerProps, PLAYBACK_RATES, PodcastPlayerModal(), PodcastPlayerModalProps, VideoModalPlayer (+10 more) +Cohesion: 0.08 +Nodes (21): BackButton(), BackButtonProps, ProductDetailModalProps, PLAYBACK_RATES, PodcastInlinePlayer(), PodcastInlinePlayerProps, PLAYBACK_RATES, PodcastPlayerModal() (+13 more) ### Community 5 - "CmsController" Cohesion: 0.09 @@ -370,17 +384,17 @@ Nodes (29): AdminUpdateTicketDto, CreateTicketDto, ReplyTicketDto, ApiProperty, Cohesion: 0.11 Nodes (14): ButtonProps, ButtonSize, ButtonVariant, Spinner(), Doctor, FAQ, ProductReview, Reviews() (+6 more) -### Community 8 - "admin.module.ts" -Cohesion: 0.08 -Nodes (17): AdminModule, Module, ReportsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller (+9 more) +### Community 8 - "ReportsController" +Cohesion: 0.14 +Nodes (11): ReportsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Get, Query (+3 more) ### Community 9 - "devDependencies" -Cohesion: 0.08 -Nodes (25): devDependencies, eslint, @eslint/eslintrc, eslint-plugin-prettier, globals, @nestjs/cli, @nestjs/testing, prettier (+17 more) +Cohesion: 0.22 +Nodes (9): devDependencies, eslint, @types/bcryptjs, @types/node, typescript, eslint, @types/node, typescript (+1 more) -### Community 10 - "CreateReviewDto" -Cohesion: 0.08 -Nodes (25): CreateReviewDto, ApiProperty, IsInt, IsNotEmpty, IsOptional, IsString, Min, ReviewsController (+17 more) +### Community 10 - "ReviewsService" +Cohesion: 0.12 +Nodes (17): ReviewsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+9 more) ### Community 11 - "MediaSelector.tsx" Cohesion: 0.07 @@ -391,12 +405,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.07 -Nodes (26): EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter, Catch, PrismaExceptionFilter (+18 more) +Cohesion: 0.06 +Nodes (28): AppModule, Module, EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter (+20 more) -### Community 14 - "CheckoutPage.tsx" -Cohesion: 0.19 -Nodes (15): AddressModal(), AddressModalProps, BackButton(), BackButtonProps, HeaderButton(), HeaderButtonProps, SearchableSelect(), SearchableSelectProps (+7 more) +### Community 14 - "UserDashboard.tsx" +Cohesion: 0.08 +Nodes (38): B2BPortal, VerifyContent(), AddressModal(), AddressModalProps, AuthModal(), AuthModalProps, extractOtpFromText(), B2BPortal() (+30 more) ### Community 15 - "src/services/api.ts" Cohesion: 0.08 @@ -411,28 +425,28 @@ Cohesion: 0.14 Nodes (18): B2BPage(), generateMetadata(), ContactPage(), generateMetadata(), generateMetadata(), getInitialVideos(), Videos(), ContactFormClient() (+10 more) ### Community 18 - "JwtAuthGuard" -Cohesion: 0.20 +Cohesion: 0.19 Nodes (7): JwtAuthGuard, Injectable, ROLES_KEY, RequestWithUser, RolesGuard, Injectable, UserReqPayload -### Community 19 - "RevalidationService" -Cohesion: 0.06 -Nodes (29): RevalidationModule, Global, Module, RevalidationService, Injectable, GetProductsDto, ApiPropertyOptional, IsEnum (+21 more) +### Community 19 - "ProductsService" +Cohesion: 0.09 +Nodes (19): GetProductsDto, ApiPropertyOptional, IsEnum, IsOptional, IsString, ProductsController, ApiOperation, ApiTags (+11 more) ### Community 20 - "CreateVideoDto" Cohesion: 0.07 Nodes (31): CreateVideoDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, UpdateVideoDto (+23 more) ### Community 21 - "ProductPage.tsx" -Cohesion: 0.17 -Nodes (12): CalculatorState, ICON_MAP, ProductPage(), ProductReviews, useCalculatorStore, ProductReviews(), ProductReviewsProps, ReviewItem (+4 more) +Cohesion: 0.14 +Nodes (13): revalidate, CalculatorState, ICON_MAP, ProductPage(), ProductReviews, useCalculatorStore, ProductReviews(), ProductReviewsProps (+5 more) -### Community 22 - "toPersian" -Cohesion: 0.10 -Nodes (37): AuthModal, B2BPortal, CartDrawer, ClientLayout(), LoginModal, VerifyContent(), ArchiveProductCard(), AuthModal() (+29 more) +### Community 22 - "PetProfile.tsx" +Cohesion: 0.11 +Nodes (23): ClientLayout(), FeaturedProducts(), ProductCard(), Header(), OrderSuccess(), PrescriptionUploadModal(), PrescriptionUploadModalProps, SearchResultsPage() (+15 more) ### Community 23 - "MenuService" -Cohesion: 0.12 -Nodes (16): MenuController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+8 more) +Cohesion: 0.11 +Nodes (18): MenuController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Body, Controller, Delete (+10 more) ### Community 24 - "BE-001" Cohesion: 0.06 @@ -470,9 +484,9 @@ Nodes (31): Acceptance Criteria, Affected Application, Affected Files, Alternati Cohesion: 0.06 Nodes (23): App(), Props, RouteErrorBoundary, State, HeroBanner, VetTestimonial, CategoryDist, DashboardData (+15 more) -### Community 33 - "WholesaleApplyDto" -Cohesion: 0.10 -Nodes (20): ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, WholesaleApplyDto, ApiBearerAuth, ApiOperation (+12 more) +### Community 33 - "WholesaleService" +Cohesion: 0.14 +Nodes (14): ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param, Post (+6 more) ### Community 34 - "B2BService" Cohesion: 0.12 @@ -531,8 +545,8 @@ Cohesion: 0.13 Nodes (14): IngredientsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more) ### Community 48 - "UsersService" -Cohesion: 0.10 -Nodes (12): DEFAULT_JWT_REFRESH_SECRET, DEFAULT_JWT_SECRET, getJwtSecret(), AuthModule, Module, JwtPayload, JwtStrategy, Injectable (+4 more) +Cohesion: 0.06 +Nodes (41): DEFAULT_JWT_REFRESH_SECRET, DEFAULT_JWT_SECRET, getJwtSecret(), AuthModule, Module, JwtPayload, JwtStrategy, Injectable (+33 more) ### Community 49 - "devDependencies" Cohesion: 0.11 @@ -540,7 +554,7 @@ Nodes (19): autoprefixer, devDependencies, autoprefixer, eslint, @eslint/js, glo ### Community 50 - "devDependencies" Cohesion: 0.13 -Nodes (15): eslint-config-next, devDependencies, eslint, eslint-config-next, jsdom, tailwindcss, @tailwindcss/postcss, @types/node (+7 more) +Nodes (15): devDependencies, eslint, jsdom, tailwindcss, @tailwindcss/postcss, @types/node, @types/react-dom, @vitejs/plugin-react (+7 more) ### Community 51 - "BlogsController" Cohesion: 0.07 @@ -554,9 +568,9 @@ Nodes (14): PrescriptionsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Cohesion: 0.13 Nodes (14): SmartAdvisorController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+6 more) -### Community 54 - "UsersController" -Cohesion: 0.19 -Nodes (16): ApiBadRequestResponse, ApiBearerAuth, ApiCreatedResponse, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+8 more) +### Community 54 - "CreateReviewDto" +Cohesion: 0.14 +Nodes (13): CreateReviewDto, ApiProperty, IsInt, IsNotEmpty, IsOptional, IsString, Min, ApiProperty (+5 more) ### Community 55 - "UITexts.tsx" Cohesion: 0.09 @@ -578,21 +592,21 @@ Nodes (12): ContactController, Body, Controller, Get, Param, Post, Put, Query (+ Cohesion: 0.06 Nodes (30): compilerOptions, allowSyntheticDefaultImports, baseUrl, declaration, emitDecoratorMetadata, esModuleInterop, experimentalDecorators, forceConsistentCasingInFileNames (+22 more) -### Community 60 - "users.controller.ts" -Cohesion: 0.14 -Nodes (13): AddressDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, ApiPropertyOptional (+5 more) +### Community 60 - "AuthService" +Cohesion: 0.21 +Nodes (3): AuthService, Injectable, normalizeMobile() -### Community 61 - "payment.service.ts" -Cohesion: 0.20 -Nodes (8): AdminTransactionFilterDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type, ClientMetadata +### Community 61 - "payment.controller.ts" +Cohesion: 0.07 +Nodes (31): AdminTransactionFilterDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type, CreateEBankCheckoutDto (+23 more) ### Community 62 - "ProductDto" Cohesion: 0.18 Nodes (7): ProductDto, ApiPropertyOptional, IsArray, IsBoolean, IsNumber, IsOptional, IsString ### Community 63 - "dependencies" -Cohesion: 0.05 -Nodes (43): dependencies, bcrypt, bcryptjs, class-transformer, class-validator, compression, helmet, ioredis (+35 more) +Cohesion: 0.09 +Nodes (23): dependencies, bcryptjs, class-validator, compression, ioredis, @nestjs/common, @nestjs/passport, @nestjs/platform-express (+15 more) ### Community 64 - "compilerOptions" Cohesion: 0.10 @@ -606,9 +620,9 @@ Nodes (3): app_module_1, supertest_1, testing_1 Cohesion: 0.17 Nodes (7): ApiQuery, Get, Query, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString -### Community 67 - "PetsController" -Cohesion: 0.10 -Nodes (14): PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller, Delete, Get (+6 more) +### Community 67 - "admin.module.ts" +Cohesion: 0.06 +Nodes (20): AdminModule, Module, PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller (+12 more) ### Community 69 - "Required Review Group Closures" Cohesion: 0.10 @@ -620,7 +634,7 @@ Nodes (23): compilerOptions, allowImportingTsExtensions, erasableSyntaxOnly, jsx ### Community 71 - "getPageMetadata" Cohesion: 0.09 -Nodes (16): generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), getHomeData(), Home(), generateMetadata(), generateMetadata() (+8 more) +Nodes (15): generateMetadata(), CatalogClient(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata(), generateMetadata() (+7 more) ### Community 72 - "Operational Rules & Boundaries" Cohesion: 0.11 @@ -670,9 +684,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 - "ArchivePage.tsx" -Cohesion: 0.15 -Nodes (13): CATEGORY_MAP, ICON_MAP, BannerPlacement(), BannerPlacementProps, PetType, B2BInquiry, Banner, DosageConfig (+5 more) +### Community 85 - "HomeClient.tsx" +Cohesion: 0.11 +Nodes (20): HomeClient(), HomeClientProps, ArchivePage(), ArchiveProductCard(), CATEGORY_MAP, ICON_MAP, BannerPlacement(), BannerPlacementProps (+12 more) ### Community 86 - "zibal.service.ts" Cohesion: 0.16 @@ -682,45 +696,49 @@ Nodes (9): GatewayHealthResult, IPaymentGateway, PaymentInquiryResult, PaymentRe Cohesion: 0.12 Nodes (17): dependencies, axios, lucide-react, motion, next, react, react-dom, sonner (+9 more) +### Community 88 - "MetricsController" +Cohesion: 0.29 +Nodes (5): ApiExcludeController, MetricsController, Controller, Get, Res + ### Community 89 - "seed-products.ts" Cohesion: 0.17 Nodes (12): prisma, main(), prisma, determineSuitableFor(), findOrCreateCategory(), getProductImageUrl(), main(), parseSize() (+4 more) ### Community 90 - "useSettingsStore" -Cohesion: 0.09 -Nodes (29): HomeClient(), HomeClientProps, B2BLandingClient(), BlogPost, BlogPreviewSection(), BrandLogo(), BrandLogoProps, ContactInfoItem (+21 more) +Cohesion: 0.14 +Nodes (18): AuthModal, CartDrawer, B2BLandingClient(), BrandLogo(), BrandLogoProps, EnamadBadge(), Footer(), MENU_ICONS (+10 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.10 -Nodes (18): OrdersController, ApiBadRequestResponse, ApiBearerAuth, ApiCreatedResponse, ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags (+10 more) +### Community 92 - "OrdersController" +Cohesion: 0.14 +Nodes (16): OrdersController, ApiBadRequestResponse, ApiBearerAuth, ApiCreatedResponse, ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags (+8 more) ### Community 94 - "Phase 3.1 — Human Review Preparation and Master Backlog Critique" 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 - "blog/[slug]/page.tsx" -Cohesion: 0.23 -Nodes (12): BlogPostPage(), generateMetadata(), getBlog(), revalidate, safeIso(), safeLocalDate(), generateMetadata(), revalidate (+4 more) +### Community 95 - "wiki/[slug]/page.tsx" +Cohesion: 0.20 +Nodes (16): BlogPostPage(), generateMetadata(), getBlog(), revalidate, safeIso(), safeLocalDate(), generateMetadata(), generateMetadata() (+8 more) ### Community 96 - "compilerOptions" Cohesion: 0.06 Nodes (32): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+24 more) -### Community 97 - "SettingsService" -Cohesion: 0.09 -Nodes (3): SmsLogQuery, SettingsService, Injectable +### Community 97 - "AdminLoginDto" +Cohesion: 0.29 +Nodes (6): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength ### Community 98 - "scripts" Cohesion: 0.13 Nodes (15): scripts, build, build:nest, docs:generate, lint, seo:backfill, start, start:debug (+7 more) ### Community 99 - "BlogsController" -Cohesion: 0.15 -Nodes (15): BlogsController, ApiBearerAuth, ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+7 more) +Cohesion: 0.08 +Nodes (19): BlogsController, ApiBearerAuth, ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+11 more) ### Community 100 - "Deep Audit Summary Report" Cohesion: 0.14 @@ -750,13 +768,13 @@ Nodes (11): 1. Detect Test Runner from Tech Stack, 2. Execution Output Capture ( Cohesion: 0.19 Nodes (9): ImagePreviewModal(), ImagePreviewModalProps, getFileType(), Media, MediaManager(), ProductItem, Media, PrescriptionsManager (+1 more) -### Community 107 - "WikiController" -Cohesion: 0.13 -Nodes (13): ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Controller, Get, Param, Query (+5 more) +### Community 107 - "WholesaleApplyDto" +Cohesion: 0.29 +Nodes (6): ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, WholesaleApplyDto ### Community 108 - "PrismaService" -Cohesion: 0.08 -Nodes (19): CategoryQuery, MeliPayamakPattern, MeliPayamakResponse, SendPatternSmsOptions, SmsConfig, CreateContactSubmissionDto, UpdateContactInfoItemDto, MenuType (+11 more) +Cohesion: 0.07 +Nodes (17): CategoryQuery, RevalidationService, Injectable, MeliPayamakPattern, MeliPayamakResponse, SendPatternSmsOptions, SmsConfig, CreateContactSubmissionDto (+9 more) ### Community 109 - "1. Summary of Integrity Repairs Performed" Cohesion: 0.17 @@ -778,9 +796,9 @@ Nodes (10): 1. Pre-Deployment Checklist, 2. Build Verification, 3. Deployment St Cohesion: 0.29 Nodes (5): AppController, Controller, Get, AppService, Injectable -### Community 115 - "AuthService" -Cohesion: 0.14 -Nodes (4): ApiErr, AuthResponse, AuthService, User +### Community 115 - "LoginDto" +Cohesion: 0.33 +Nodes (5): LoginDto, ApiProperty, IsNotEmpty, IsString, MinLength ### Community 116 - "Vazirmatn Changelog" Cohesion: 0.18 @@ -810,9 +828,9 @@ Nodes (9): Compile and run the project, Deployment, Description, License, Projec Cohesion: 0.16 Nodes (4): Delete, Param, AdminService, Injectable -### Community 123 - "CreateEBankCheckoutDto" -Cohesion: 0.22 -Nodes (8): CreateEBankCheckoutDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsNumber, IsOptional, IsString, Min +### Community 123 - "app/page.tsx" +Cohesion: 0.67 +Nodes (3): generateMetadata(), getHomeData(), Home() ### Community 124 - "Repository Map" Cohesion: 0.20 @@ -834,10 +852,6 @@ Nodes (9): Arch Linux, Contributors, Install, Known problems for variable versio Cohesion: 0.11 Nodes (9): AdminController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Post, Put (+1 more) -### Community 129 - "InitiatePaymentDto" -Cohesion: 0.43 -Nodes (7): InitiatePaymentDto, InitiateWalletTopupDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString - ### Community 130 - "Sahel-Font" Cohesion: 0.20 Nodes (9): Arch Linux, Contributors, Install, Known problems for variable version, License, Sahel-Font, To Do (variable), طریقه استفاده از نسخه متغیر variable (+1 more) @@ -902,13 +916,9 @@ Nodes (13): CouponInput, CouponTargetInput, PaginationQuery, CreateUserDto, ApiP Cohesion: 0.25 Nodes (7): Active Core Applications, Current Architecture, Evidence-Based Status Matrix, Excluded / Non-Auditable Artifacts, Major Business Domains Discovered, System Discovery, Technical Architecture Summary -### Community 147 - "UserDashboard.tsx" -Cohesion: 0.10 -Nodes (17): DeleteConfirmModal(), DeleteConfirmModalProps, OrderDetailsModal(), OrderRowSkeleton(), PetProfileSkeleton(), ProductCardSkeleton(), Skeleton(), SkeletonProps (+9 more) - -### Community 148 - "wiki/[slug]/page.tsx" -Cohesion: 0.60 -Nodes (5): generateMetadata(), getRelatedProducts(), getWikiTerm(), WikiTermPage(), generateMedicalWebPageSchema() +### Community 147 - "components/Skeleton.tsx" +Cohesion: 0.21 +Nodes (5): OrderRowSkeleton(), PetProfileSkeleton(), ProductCardSkeleton(), Skeleton(), SkeletonProps ### Community 149 - "SmsSettingsPage.tsx" Cohesion: 0.29 @@ -919,12 +929,12 @@ 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 151 - "auth.service.ts" -Cohesion: 0.09 -Nodes (17): AdminLoginInput, AuthService, LoginInput, RegisterInput, Injectable, SendOtpDto, ApiProperty, IsNotEmpty (+9 more) - -### Community 152 - "cartStore.ts" Cohesion: 0.15 -Nodes (8): ApiErr, Order, OrderItem, OrderService, CartItem, CartStore, Order, mockProduct +Nodes (14): AdminLoginInput, LoginInput, RegisterInput, SendOtpDto, ApiProperty, IsNotEmpty, IsString, Matches (+6 more) + +### Community 152 - "lib/services/api.ts" +Cohesion: 0.06 +Nodes (25): LoginModal, ContactInfoItem, LoginModal(), LoginModalProps, Testimonial, api, ApiErrorPayload, BASE_DOMAIN (+17 more) ### Community 153 - "exclude" Cohesion: 0.22 @@ -1020,7 +1030,7 @@ Nodes (5): نقشه جامع پوشش تست‌های سرتاسری (E2E Test C ### Community 179 - "PaginationDto" Cohesion: 0.07 -Nodes (20): BlogsModule, Module, BlogFilterDto, BlogsService, Injectable, PaginationDto, SortOrder, ApiPropertyOptional (+12 more) +Nodes (29): BlogFilterDto, PaginationDto, SortOrder, ApiPropertyOptional, IsEnum, IsInt, IsOptional, IsString (+21 more) ### Community 180 - "API Contract Specification" Cohesion: 0.50 @@ -1039,8 +1049,8 @@ Cohesion: 0.50 Nodes (3): Overview & Content Foundation, SEO & Content Requirements, 🚀 SEO & Content Strategy Review (12_seo_content) ### Community 184 - "RedisService" -Cohesion: 0.08 -Nodes (12): ApiExcludeController, AppModule, Module, MetricsController, Controller, Get, Res, RedisModule (+4 more) +Cohesion: 0.16 +Nodes (5): RedisModule, Global, Module, RedisService, Injectable ### Community 191 - "graphify reference: add a URL and watch a folder" Cohesion: 0.50 @@ -1070,9 +1080,9 @@ Nodes (3): Select, SelectOption, SelectProps Cohesion: 0.40 Nodes (3): generateMetadata(), formatIngredientDisplayName(), IngredientWiki() -### Community 199 - "auth.controller.ts" -Cohesion: 0.10 -Nodes (19): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength, LoginDto, ApiProperty (+11 more) +### Community 199 - "RegisterDto" +Cohesion: 0.22 +Nodes (8): RegisterDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty, IsOptional, IsString, MinLength ### Community 200 - "application/README.md" Cohesion: 0.50 @@ -1090,9 +1100,13 @@ Nodes (3): ADR-AUTH-001: Admin Panel Authentication Architecture & Token Managem Cohesion: 0.67 Nodes (3): Shabnam Font README, Shabnam Font Sample, Vazir Font +### Community 294 - "ZibalService" +Cohesion: 0.09 +Nodes (4): PaymentService, Injectable, Injectable, ZibalService + ### Community 298 - ".initiateOrderPayment" -Cohesion: 0.20 -Nodes (10): ApiPropertyOptional, IsOptional, IsString, ZibalCallbackQueryDto, ApiBadRequestResponse, ApiOkResponse, Req, Res (+2 more) +Cohesion: 0.32 +Nodes (6): ApiBadRequestResponse, ApiOkResponse, Req, Res, Headers, Ip ### Community 313 - "Modal.tsx" Cohesion: 0.08 @@ -1105,22 +1119,22 @@ Nodes (3): GET(), handleRevalidate(), POST() ## Knowledge Gaps - **1335 isolated node(s):** `$schema`, `collection`, `sourceRoot`, `deleteOutDir`, `name` (+1330 more) These have ≤1 connection - possible missing edges or undocumented components. -- **100 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. +- **114 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 `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `AuthController`, `PetsController`, `WikiController`, `HomeController`, `RevalidationService`, `UsersController`, `OrdersService`?** +- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `AuthController`, `PetsController`, `HomeController`, `UsersService`, `ProductsService`, `PaginationDto`, `OrdersController`?** _High betweenness centrality (0.086) - this node is a cross-community bridge._ -- **Why does `Roles()` connect `Roles` to `WholesaleApplyDto`, `B2BService`, `SettingsController`, `FaqService`, `CmsController`, `tickets.controller.ts`, `SslController`, `BannersService`, `CreateReviewDto`, `TestimonialsService`, `IngredientsService`, `JwtAuthGuard`, `RevalidationService`, `PrescriptionsService`, `SmartAdvisorService`, `MenuService`, `ContactService`?** +- **Why does `Roles()` connect `Roles` to `WholesaleService`, `B2BService`, `SettingsController`, `FaqService`, `CmsController`, `tickets.controller.ts`, `SslController`, `BannersService`, `ReviewsService`, `TestimonialsService`, `IngredientsService`, `JwtAuthGuard`, `ProductsService`, `PrescriptionsService`, `SmartAdvisorService`, `MenuService`, `ContactService`, `payment.controller.ts`?** _High betweenness centrality (0.067) - this node is a cross-community bridge._ -- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `PetsController`, `CmsController`, `tickets.controller.ts`, `auth.controller.ts`, `admin.module.ts`, `PetsController`, `DoctorQueryDto`, `admin.service.ts`, `PaginationDto`, `RevalidationService`, `CreateVideoDto`, `users.controller.ts`?** +- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `admin.module.ts`, `CmsController`, `tickets.controller.ts`, `ReportsController`, `PetsController`, `DoctorQueryDto`, `admin.service.ts`, `UsersService`, `PaginationDto`, `CreateVideoDto`, `auth.service.ts`, `payment.controller.ts`?** _High betweenness centrality (0.034) - this node is a cross-community bridge._ - **What connects `$schema`, `collection`, `sourceRoot` to the rest of the system?** _1335 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `app.module.ts` be split into smaller, more focused modules?** - _Cohesion score 0.06988120195667366 - nodes in this community are weakly interconnected._ + _Cohesion score 0.06801346801346801 - nodes in this community are weakly interconnected._ +- **Should `SettingsController` be split into smaller, more focused modules?** + _Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._ - **Should `ProductService` be split into smaller, more focused modules?** - _Cohesion score 0.060515873015873016 - nodes in this community are weakly interconnected._ -- **Should `SafeImage.tsx` be split into smaller, more focused modules?** - _Cohesion score 0.09462365591397849 - nodes in this community are weakly interconnected._ \ No newline at end of file + _Cohesion score 0.0707070707070707 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/graphify-out/2026-08-26/graph.json b/graphify-out/2026-08-26/graph.json index b411284..4bb8b67 100644 --- a/graphify-out/2026-08-26/graph.json +++ b/graphify-out/2026-08-26/graph.json @@ -55,6 +55,19 @@ "community_name": "app.module.ts", "norm_label": "cmsmodule" }, + { + "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": 1, + "community_name": "app.module.ts", + "norm_label": "revalidationmodule" + }, { "label": "SmsModule", "file_type": "code", @@ -107,19 +120,6 @@ "community_name": "app.module.ts", "norm_label": "ingredientsmodule" }, - { - "label": "MenuModule", - "file_type": "code", - "source_file": "backend/src/menu/menu.module.ts", - "source_location": "L10", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_menu_menu_module_menumodule", - "community": 1, - "community_name": "app.module.ts", - "norm_label": "menumodule" - }, { "label": "PaymentModule", "file_type": "code", @@ -237,19 +237,6 @@ "community_name": "app.module.ts", "norm_label": "wholesalemodule" }, - { - "label": "CreateReviewDto", - "file_type": "code", - "source_file": "backend/src/reviews/dto/create-review.dto.ts", - "source_location": "L11", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_reviews_dto_create_review_dto_createreviewdto", - "community": 10, - "community_name": "CreateReviewDto", - "norm_label": "createreviewdto" - }, { "label": "ReviewsController", "file_type": "code", @@ -260,7 +247,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_reviewscontroller", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "reviewscontroller" }, { @@ -273,7 +260,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_service_reviewsservice", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "reviewsservice" }, { @@ -407,43 +394,17 @@ "norm_label": "prescription" }, { - "label": "WikiController", + "label": "WholesaleApplyDto", "file_type": "code", - "source_file": "backend/src/wiki/wiki.controller.ts", - "source_location": "L18", + "source_file": "backend/src/wholesale/dto/wholesale-apply.dto.ts", + "source_location": "L4", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_wikicontroller", + "id": "backend_src_wholesale_dto_wholesale_apply_dto_wholesaleapplydto", "community": 107, - "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": 107, - "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": 107, - "community_name": "WikiController", - "norm_label": "wikiservice" + "community_name": "WholesaleApplyDto", + "norm_label": "wholesaleapplydto" }, { "label": "CategoryQuery", @@ -458,6 +419,19 @@ "community_name": "PrismaService", "norm_label": "categoryquery" }, + { + "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": 108, + "community_name": "PrismaService", + "norm_label": "revalidationservice" + }, { "label": "MeliPayamakPattern", "file_type": "code", @@ -549,58 +523,6 @@ "community_name": "PrismaService", "norm_label": "menutype" }, - { - "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", @@ -940,56 +862,17 @@ "norm_label": "appservice" }, { - "label": "ApiErr", + "label": "LoginDto", "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L29", + "source_file": "backend/src/auth/dto/login.dto.ts", + "source_location": "L4", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_lib_services_authservice_apierr", + "id": "backend_src_auth_dto_login_dto_logindto", "community": 115, - "community_name": "AuthService", - "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": 115, - "community_name": "AuthService", - "norm_label": "authresponse" - }, - { - "label": "AuthService", - "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L38", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_lib_services_authservice_authservice", - "community": 115, - "community_name": "AuthService", - "norm_label": "authservice" - }, - { - "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": 115, - "community_name": "AuthService", - "norm_label": "user" + "community_name": "LoginDto", + "norm_label": "logindto" }, { "label": "AdminService", @@ -1004,19 +887,6 @@ "community_name": "AdminService", "norm_label": "adminservice" }, - { - "label": "CreateEBankCheckoutDto", - "file_type": "code", - "source_file": "backend/src/payment/dto/ebank-checkout.dto.ts", - "source_location": "L10", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_payment_dto_ebank_checkout_dto_createebankcheckoutdto", - "community": 123, - "community_name": "CreateEBankCheckoutDto", - "norm_label": "createebankcheckoutdto" - }, { "label": "AdminController", "file_type": "code", @@ -1031,30 +901,17 @@ "norm_label": "admincontroller" }, { - "label": "InitiatePaymentDto", + "label": "AppModule", "file_type": "code", - "source_file": "backend/src/payment/dto/initiate-payment.dto.ts", - "source_location": "L4", + "source_file": "backend/src/app.module.ts", + "source_location": "L89", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "backend_src_payment_dto_initiate_payment_dto_initiatepaymentdto", - "community": 129, - "community_name": "InitiatePaymentDto", - "norm_label": "initiatepaymentdto" - }, - { - "label": "InitiateWalletTopupDto", - "file_type": "code", - "source_file": "backend/src/payment/dto/initiate-payment.dto.ts", - "source_location": "L16", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_payment_dto_initiate_payment_dto_initiatewallettopupdto", - "community": 129, - "community_name": "InitiatePaymentDto", - "norm_label": "initiatewallettopupdto" + "id": "backend_src_app_module_appmodule", + "community": 13, + "community_name": "app-audit-verification.e2e-spec.js", + "norm_label": "appmodule" }, { "label": "EnvironmentVariables", @@ -1144,21 +1001,47 @@ "_origin": "ast", "id": "frontend_application_components_addressmodal_addressmodalprops", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "addressmodalprops" }, { - "label": "BackButtonProps", + "label": "AuthModalProps", "file_type": "code", - "source_file": "frontend/application/components/BackButton.tsx", - "source_location": "L8", + "source_file": "frontend/application/components/AuthModal.tsx", + "source_location": "L25", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_components_backbutton_backbuttonprops", + "id": "frontend_application_components_authmodal_authmodalprops", "community": 14, - "community_name": "CheckoutPage.tsx", - "norm_label": "backbuttonprops" + "community_name": "UserDashboard.tsx", + "norm_label": "authmodalprops" + }, + { + "label": "BlogPost", + "file_type": "code", + "source_file": "frontend/application/components/BlogPreviewSection.tsx", + "source_location": "L11", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_components_blogpreviewsection_blogpost", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "blogpost" + }, + { + "label": "DeleteConfirmModalProps", + "file_type": "code", + "source_file": "frontend/application/components/DeleteConfirmModal.tsx", + "source_location": "L6", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_components_deleteconfirmmodal_deleteconfirmmodalprops", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "deleteconfirmmodalprops" }, { "label": "HeaderButtonProps", @@ -1170,9 +1053,22 @@ "_origin": "ast", "id": "frontend_application_components_headerbutton_headerbuttonprops", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "headerbuttonprops" }, + { + "label": "OrderDetailsModalProps", + "file_type": "code", + "source_file": "frontend/application/components/OrderDetailsModal.tsx", + "source_location": "L30", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_components_orderdetailsmodal_orderdetailsmodalprops", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "orderdetailsmodalprops" + }, { "label": "SearchableSelectProps", "file_type": "code", @@ -1183,7 +1079,7 @@ "_origin": "ast", "id": "frontend_application_components_searchableselect_searchableselectprops", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "searchableselectprops" }, { @@ -1196,9 +1092,48 @@ "_origin": "ast", "id": "frontend_application_components_topupmodal_topupmodalprops", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "topupmodalprops" }, + { + "label": "CreateTicketPayload", + "file_type": "code", + "source_file": "frontend/application/lib/services/ticketService.ts", + "source_location": "L34", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_lib_services_ticketservice_createticketpayload", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "createticketpayload" + }, + { + "label": "Ticket", + "file_type": "code", + "source_file": "frontend/application/lib/services/ticketService.ts", + "source_location": "L14", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_lib_services_ticketservice_ticket", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "ticket" + }, + { + "label": "TicketMessage", + "file_type": "code", + "source_file": "frontend/application/lib/services/ticketService.ts", + "source_location": "L3", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_lib_services_ticketservice_ticketmessage", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "ticketmessage" + }, { "label": "Address", "file_type": "code", @@ -1209,7 +1144,7 @@ "_origin": "ast", "id": "frontend_application_lib_store_userstore_address", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "address" }, { @@ -1316,19 +1251,6 @@ "community_name": "admin.service.ts", "norm_label": "updateuserdto" }, - { - "label": "DeleteConfirmModalProps", - "file_type": "code", - "source_file": "frontend/application/components/DeleteConfirmModal.tsx", - "source_location": "L6", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_components_deleteconfirmmodal_deleteconfirmmodalprops", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "deleteconfirmmodalprops" - }, { "label": "SkeletonProps", "file_type": "code", @@ -1339,113 +1261,9 @@ "_origin": "ast", "id": "frontend_application_components_skeleton_skeletonprops", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "skeletonprops" }, - { - "label": "CreateTicketPayload", - "file_type": "code", - "source_file": "frontend/application/lib/services/ticketService.ts", - "source_location": "L34", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_lib_services_ticketservice_createticketpayload", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "createticketpayload" - }, - { - "label": "Ticket", - "file_type": "code", - "source_file": "frontend/application/lib/services/ticketService.ts", - "source_location": "L14", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_lib_services_ticketservice_ticket", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "ticket" - }, - { - "label": "TicketMessage", - "file_type": "code", - "source_file": "frontend/application/lib/services/ticketService.ts", - "source_location": "L3", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_lib_services_ticketservice_ticketmessage", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "ticketmessage" - }, - { - "label": "HealthLog", - "file_type": "code", - "source_file": "frontend/application/lib/store/usePetStore.ts", - "source_location": "L17", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_lib_store_usepetstore_healthlog", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "healthlog" - }, - { - "label": "PetConsumption", - "file_type": "code", - "source_file": "frontend/application/lib/store/usePetStore.ts", - "source_location": "L26", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_lib_store_usepetstore_petconsumption", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "petconsumption" - }, - { - "label": "PetProfile", - "file_type": "code", - "source_file": "frontend/application/lib/store/usePetStore.ts", - "source_location": "L32", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_lib_store_usepetstore_petprofile", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "petprofile" - }, - { - "label": "PetStore", - "file_type": "code", - "source_file": "frontend/application/lib/store/usePetStore.ts", - "source_location": "L50", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_lib_store_usepetstore_petstore", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "petstore" - }, - { - "label": "Reminder", - "file_type": "code", - "source_file": "frontend/application/lib/store/usePetStore.ts", - "source_location": "L8", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_lib_store_usepetstore_reminder", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "reminder" - }, { "label": "PatternItem", "file_type": "code", @@ -1758,19 +1576,6 @@ "community_name": "auth.service.ts", "norm_label": "adminlogininput" }, - { - "label": "AuthService", - "file_type": "code", - "source_file": "backend/src/auth/auth.service.ts", - "source_location": "L37", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_auth_auth_service_authservice", - "community": 151, - "community_name": "auth.service.ts", - "norm_label": "authservice" - }, { "label": "LoginInput", "file_type": "code", @@ -1823,6 +1628,110 @@ "community_name": "auth.service.ts", "norm_label": "verifyotpdto" }, + { + "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": 152, + "community_name": "lib/services/api.ts", + "norm_label": "contactinfoitem" + }, + { + "label": "LoginModalProps", + "file_type": "code", + "source_file": "frontend/application/components/LoginModal.tsx", + "source_location": "L10", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_components_loginmodal_loginmodalprops", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": "loginmodalprops" + }, + { + "label": "Testimonial", + "file_type": "code", + "source_file": "frontend/application/components/TestimonialsSection.tsx", + "source_location": "L9", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_components_testimonialssection_testimonial", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": "testimonial" + }, + { + "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": 152, + "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": 152, + "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": 152, + "community_name": "lib/services/api.ts", + "norm_label": "authresponse" + }, + { + "label": "AuthService", + "file_type": "code", + "source_file": "frontend/application/lib/services/authService.ts", + "source_location": "L38", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_lib_services_authservice_authservice", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": "authservice" + }, + { + "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": 152, + "community_name": "lib/services/api.ts", + "norm_label": "user" + }, { "label": "ApiErr", "file_type": "code", @@ -1833,7 +1742,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_orderservice_apierr", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": "apierr" }, { @@ -1846,7 +1755,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_orderservice_order", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": "order" }, { @@ -1859,7 +1768,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_orderservice_orderitem", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": "orderitem" }, { @@ -1872,7 +1781,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_orderservice_orderservice", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": "orderservice" }, { @@ -1885,7 +1794,7 @@ "_origin": "ast", "id": "frontend_application_lib_store_cartstore_cartitem", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": "cartitem" }, { @@ -1898,7 +1807,7 @@ "_origin": "ast", "id": "frontend_application_lib_store_cartstore_cartstore", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": "cartstore" }, { @@ -1911,9 +1820,61 @@ "_origin": "ast", "id": "frontend_application_lib_store_cartstore_order", "community": 152, - "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": 152, + "community_name": "lib/services/api.ts", + "norm_label": "transaction" + }, + { + "label": "UserProfile", + "file_type": "code", + "source_file": "frontend/application/lib/store/userStore.ts", + "source_location": "L33", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_lib_store_userstore_userprofile", + "community": 152, + "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": 152, + "community_name": "lib/services/api.ts", + "norm_label": "userrole" + }, + { + "label": "UserStore", + "file_type": "code", + "source_file": "frontend/application/lib/store/userStore.ts", + "source_location": "L45", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_lib_store_userstore_userstore", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": "userstore" + }, { "label": "DoctorsController", "file_type": "code", @@ -2083,19 +2044,6 @@ "community_name": "SmsLogQueryDto", "norm_label": "smslogquerydto" }, - { - "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": 179, - "community_name": "PaginationDto", - "norm_label": "blogsmodule" - }, { "label": "BlogFilterDto", "file_type": "code", @@ -2109,19 +2057,6 @@ "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": 179, - "community_name": "PaginationDto", - "norm_label": "blogsservice" - }, { "label": "PaginationDto", "file_type": "code", @@ -2174,6 +2109,45 @@ "community_name": "PaginationDto", "norm_label": "ordersmodule" }, + { + "label": "WikiController", + "file_type": "code", + "source_file": "backend/src/wiki/wiki.controller.ts", + "source_location": "L18", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_wiki_wiki_controller_wikicontroller", + "community": 179, + "community_name": "PaginationDto", + "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": 179, + "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": 179, + "community_name": "PaginationDto", + "norm_label": "wikiservice" + }, { "label": "JwtAuthGuard", "file_type": "code", @@ -2226,32 +2200,6 @@ "community_name": "JwtAuthGuard", "norm_label": "userreqpayload" }, - { - "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": 184, - "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": 184, - "community_name": "RedisService", - "norm_label": "metricscontroller" - }, { "label": "RedisModule", "file_type": "code", @@ -2330,32 +2278,6 @@ "community_name": "update-home.dto.ts", "norm_label": "updatehomedto" }, - { - "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": 19, - "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": 19, - "community_name": "RevalidationService", - "norm_label": "revalidationservice" - }, { "label": "GetProductsDto", "file_type": "code", @@ -2366,7 +2288,7 @@ "_origin": "ast", "id": "backend_src_products_dto_get_products_dto_getproductsdto", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "getproductsdto" }, { @@ -2379,7 +2301,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_productscontroller", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "productscontroller" }, { @@ -2392,7 +2314,7 @@ "_origin": "ast", "id": "backend_src_products_products_module_productsmodule", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "productsmodule" }, { @@ -2405,22 +2327,9 @@ "_origin": "ast", "id": "backend_src_products_products_service_productsservice", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "productsservice" }, - { - "label": "UpdateReviewDto", - "file_type": "code", - "source_file": "backend/src/reviews/dto/update-review.dto.ts", - "source_location": "L4", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_reviews_dto_update_review_dto_updatereviewdto", - "community": 19, - "community_name": "RevalidationService", - "norm_label": "updatereviewdto" - }, { "label": "CreateWikiDto", "file_type": "code", @@ -2473,32 +2382,6 @@ "community_name": "Select.tsx", "norm_label": "selectprops" }, - { - "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": 199, - "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": 199, - "community_name": "auth.controller.ts", - "norm_label": "logindto" - }, { "label": "RegisterDto", "file_type": "code", @@ -2509,9 +2392,22 @@ "_origin": "ast", "id": "backend_src_auth_dto_register_dto_registerdto", "community": 199, - "community_name": "auth.controller.ts", + "community_name": "RegisterDto", "norm_label": "registerdto" }, + { + "label": "SmsLogQuery", + "file_type": "code", + "source_file": "backend/src/common/services/sms.service.ts", + "source_location": "L34", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_common_services_sms_service_smslogquery", + "community": 2, + "community_name": "SettingsController", + "norm_label": "smslogquery" + }, { "label": "SettingsController", "file_type": "code", @@ -2525,6 +2421,19 @@ "community_name": "SettingsController", "norm_label": "settingscontroller" }, + { + "label": "SettingsService", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L145", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice", + "community": 2, + "community_name": "SettingsController", + "norm_label": "settingsservice" + }, { "label": "CreateVideoDto", "file_type": "code", @@ -2694,32 +2603,6 @@ "community_name": "FormField.tsx", "norm_label": "formfieldprops" }, - { - "label": "AuthModalProps", - "file_type": "code", - "source_file": "frontend/application/components/AuthModal.tsx", - "source_location": "L25", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_components_authmodal_authmodalprops", - "community": 22, - "community_name": "toPersian", - "norm_label": "authmodalprops" - }, - { - "label": "LoginModalProps", - "file_type": "code", - "source_file": "frontend/application/components/LoginModal.tsx", - "source_location": "L10", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_components_loginmodal_loginmodalprops", - "community": 22, - "community_name": "toPersian", - "norm_label": "loginmodalprops" - }, { "label": "PrescriptionUploadModalProps", "file_type": "code", @@ -2730,9 +2613,22 @@ "_origin": "ast", "id": "frontend_application_components_prescriptionuploadmodal_prescriptionuploadmodalprops", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "prescriptionuploadmodalprops" }, + { + "label": "SmartAdvisorProps", + "file_type": "code", + "source_file": "frontend/application/components/SmartAdvisor.tsx", + "source_location": "L28", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_components_smartadvisor_smartadvisorprops", + "community": 22, + "community_name": "PetProfile.tsx", + "norm_label": "smartadvisorprops" + }, { "label": "UIState", "file_type": "code", @@ -2743,73 +2639,73 @@ "_origin": "ast", "id": "frontend_application_lib_store_uistore_uistate", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "uistate" }, { - "label": "Transaction", + "label": "HealthLog", "file_type": "code", - "source_file": "frontend/application/lib/store/userStore.ts", - "source_location": "L25", + "source_file": "frontend/application/lib/store/usePetStore.ts", + "source_location": "L17", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_lib_store_userstore_transaction", + "id": "frontend_application_lib_store_usepetstore_healthlog", "community": 22, - "community_name": "toPersian", - "norm_label": "transaction" + "community_name": "PetProfile.tsx", + "norm_label": "healthlog" }, { - "label": "UserProfile", + "label": "PetConsumption", "file_type": "code", - "source_file": "frontend/application/lib/store/userStore.ts", - "source_location": "L33", + "source_file": "frontend/application/lib/store/usePetStore.ts", + "source_location": "L26", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_lib_store_userstore_userprofile", + "id": "frontend_application_lib_store_usepetstore_petconsumption", "community": 22, - "community_name": "toPersian", - "norm_label": "userprofile" + "community_name": "PetProfile.tsx", + "norm_label": "petconsumption" }, { - "label": "UserRole", + "label": "PetProfile", "file_type": "code", - "source_file": "frontend/application/lib/store/userStore.ts", - "source_location": "L11", + "source_file": "frontend/application/lib/store/usePetStore.ts", + "source_location": "L32", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_lib_store_userstore_userrole", + "id": "frontend_application_lib_store_usepetstore_petprofile", "community": 22, - "community_name": "toPersian", - "norm_label": "userrole" + "community_name": "PetProfile.tsx", + "norm_label": "petprofile" }, { - "label": "UserStore", + "label": "PetStore", "file_type": "code", - "source_file": "frontend/application/lib/store/userStore.ts", - "source_location": "L45", + "source_file": "frontend/application/lib/store/usePetStore.ts", + "source_location": "L50", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_lib_store_userstore_userstore", + "id": "frontend_application_lib_store_usepetstore_petstore", "community": 22, - "community_name": "toPersian", - "norm_label": "userstore" + "community_name": "PetProfile.tsx", + "norm_label": "petstore" }, { - "label": "NavigationTarget", + "label": "Reminder", "file_type": "code", - "source_file": "frontend/application/lib/types.ts", - "source_location": "L110", + "source_file": "frontend/application/lib/store/usePetStore.ts", + "source_location": "L8", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_lib_types_navigationtarget", + "id": "frontend_application_lib_store_usepetstore_reminder", "community": 22, - "community_name": "toPersian", - "norm_label": "navigationtarget" + "community_name": "PetProfile.tsx", + "norm_label": "reminder" }, { "label": "InputProps", @@ -2850,6 +2746,19 @@ "community_name": "MenuService", "norm_label": "menucontroller" }, + { + "label": "MenuModule", + "file_type": "code", + "source_file": "backend/src/menu/menu.module.ts", + "source_location": "L10", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_menu_menu_module_menumodule", + "community": 23, + "community_name": "MenuService", + "norm_label": "menumodule" + }, { "label": "MenuService", "file_type": "code", @@ -2915,6 +2824,19 @@ "community_name": "vitest.setup.ts", "norm_label": "mockintersectionobserver" }, + { + "label": "PaymentService", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L19", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice", + "community": 294, + "community_name": "ZibalService", + "norm_label": "paymentservice" + }, { "label": "ZibalService", "file_type": "code", @@ -2941,19 +2863,6 @@ "community_name": "ZibalEBankService", "norm_label": "zibalebankservice" }, - { - "label": "ZibalCallbackQueryDto", - "file_type": "code", - "source_file": "backend/src/payment/dto/verify-payment.dto.ts", - "source_location": "L4", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_payment_dto_verify_payment_dto_zibalcallbackquerydto", - "community": 298, - "community_name": ".initiateOrderPayment", - "norm_label": "zibalcallbackquerydto" - }, { "label": "BlogCategory", "file_type": "code", @@ -3019,19 +2928,6 @@ "community_name": "ProductService", "norm_label": "flipbookcatalogprops" }, - { - "label": "ProductDetailModalProps", - "file_type": "code", - "source_file": "frontend/application/components/catalog/ProductDetailModal.tsx", - "source_location": "L8", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_components_catalog_productdetailmodal_productdetailmodalprops", - "community": 3, - "community_name": "ProductService", - "norm_label": "productdetailmodalprops" - }, { "label": "DosageResult", "file_type": "code", @@ -3071,6 +2967,19 @@ "community_name": "ProductService", "norm_label": "ingredientinfo" }, + { + "label": "PetType", + "file_type": "code", + "source_file": "frontend/application/lib/data/products.ts", + "source_location": "L8", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_lib_data_products_pettype", + "community": 3, + "community_name": "ProductService", + "norm_label": "pettype" + }, { "label": "Product", "file_type": "code", @@ -3435,19 +3344,6 @@ "community_name": "adminRoutes.tsx", "norm_label": "adminrouteconfig" }, - { - "label": "WholesaleApplyDto", - "file_type": "code", - "source_file": "backend/src/wholesale/dto/wholesale-apply.dto.ts", - "source_location": "L4", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_wholesale_dto_wholesale_apply_dto_wholesaleapplydto", - "community": 33, - "community_name": "WholesaleApplyDto", - "norm_label": "wholesaleapplydto" - }, { "label": "WholesaleController", "file_type": "code", @@ -3458,7 +3354,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_wholesalecontroller", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "wholesalecontroller" }, { @@ -3471,7 +3367,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_service_wholesaleservice", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "wholesaleservice" }, { @@ -3683,17 +3579,30 @@ "norm_label": "categoriesservice" }, { - "label": "OrderDetailsModalProps", + "label": "BackButtonProps", "file_type": "code", - "source_file": "frontend/application/components/OrderDetailsModal.tsx", - "source_location": "L30", + "source_file": "frontend/application/components/BackButton.tsx", + "source_location": "L8", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_components_orderdetailsmodal_orderdetailsmodalprops", + "id": "frontend_application_components_backbutton_backbuttonprops", "community": 4, "community_name": "SafeImage.tsx", - "norm_label": "orderdetailsmodalprops" + "norm_label": "backbuttonprops" + }, + { + "label": "ProductDetailModalProps", + "file_type": "code", + "source_file": "frontend/application/components/catalog/ProductDetailModal.tsx", + "source_location": "L8", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_components_catalog_productdetailmodal_productdetailmodalprops", + "community": 4, + "community_name": "SafeImage.tsx", + "norm_label": "productdetailmodalprops" }, { "label": "PodcastInlinePlayerProps", @@ -3994,6 +3903,45 @@ "community_name": "UsersService", "norm_label": "jwtstrategy" }, + { + "label": "AddressDto", + "file_type": "code", + "source_file": "backend/src/users/dto/address.dto.ts", + "source_location": "L4", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_users_dto_address_dto_addressdto", + "community": 48, + "community_name": "UsersService", + "norm_label": "addressdto" + }, + { + "label": "UpdateProfileDto", + "file_type": "code", + "source_file": "backend/src/users/dto/update-profile.dto.ts", + "source_location": "L4", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_users_dto_update_profile_dto_updateprofiledto", + "community": 48, + "community_name": "UsersService", + "norm_label": "updateprofiledto" + }, + { + "label": "UsersController", + "file_type": "code", + "source_file": "backend/src/users/users.controller.ts", + "source_location": "L43", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_users_users_controller_userscontroller", + "community": 48, + "community_name": "UsersService", + "norm_label": "userscontroller" + }, { "label": "UsersModule", "file_type": "code", @@ -4164,17 +4112,30 @@ "norm_label": "smartadvisorservice" }, { - "label": "UsersController", + "label": "CreateReviewDto", "file_type": "code", - "source_file": "backend/src/users/users.controller.ts", - "source_location": "L43", + "source_file": "backend/src/reviews/dto/create-review.dto.ts", + "source_location": "L11", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "backend_src_users_users_controller_userscontroller", + "id": "backend_src_reviews_dto_create_review_dto_createreviewdto", "community": 54, - "community_name": "UsersController", - "norm_label": "userscontroller" + "community_name": "CreateReviewDto", + "norm_label": "createreviewdto" + }, + { + "label": "UpdateReviewDto", + "file_type": "code", + "source_file": "backend/src/reviews/dto/update-review.dto.ts", + "source_location": "L4", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_reviews_dto_update_review_dto_updatereviewdto", + "community": 54, + "community_name": "CreateReviewDto", + "norm_label": "updatereviewdto" }, { "label": "IconPickerModalProps", @@ -4489,30 +4450,17 @@ "norm_label": "ticketsservice" }, { - "label": "AddressDto", + "label": "AuthService", "file_type": "code", - "source_file": "backend/src/users/dto/address.dto.ts", - "source_location": "L4", + "source_file": "backend/src/auth/auth.service.ts", + "source_location": "L37", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "backend_src_users_dto_address_dto_addressdto", + "id": "backend_src_auth_auth_service_authservice", "community": 60, - "community_name": "users.controller.ts", - "norm_label": "addressdto" - }, - { - "label": "UpdateProfileDto", - "file_type": "code", - "source_file": "backend/src/users/dto/update-profile.dto.ts", - "source_location": "L4", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_users_dto_update_profile_dto_updateprofiledto", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "updateprofiledto" + "community_name": "AuthService", + "norm_label": "authservice" }, { "label": "AdminTransactionFilterDto", @@ -4524,9 +4472,61 @@ "_origin": "ast", "id": "backend_src_payment_dto_admin_transaction_filter_dto_admintransactionfilterdto", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "norm_label": "admintransactionfilterdto" }, + { + "label": "CreateEBankCheckoutDto", + "file_type": "code", + "source_file": "backend/src/payment/dto/ebank-checkout.dto.ts", + "source_location": "L10", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_payment_dto_ebank_checkout_dto_createebankcheckoutdto", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "createebankcheckoutdto" + }, + { + "label": "InitiatePaymentDto", + "file_type": "code", + "source_file": "backend/src/payment/dto/initiate-payment.dto.ts", + "source_location": "L4", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_payment_dto_initiate_payment_dto_initiatepaymentdto", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "initiatepaymentdto" + }, + { + "label": "InitiateWalletTopupDto", + "file_type": "code", + "source_file": "backend/src/payment/dto/initiate-payment.dto.ts", + "source_location": "L16", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_payment_dto_initiate_payment_dto_initiatewallettopupdto", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "initiatewallettopupdto" + }, + { + "label": "ZibalCallbackQueryDto", + "file_type": "code", + "source_file": "backend/src/payment/dto/verify-payment.dto.ts", + "source_location": "L4", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_payment_dto_verify_payment_dto_zibalcallbackquerydto", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "zibalcallbackquerydto" + }, { "label": "ClientMetadata", "file_type": "code", @@ -4537,9 +4537,61 @@ "_origin": "ast", "id": "backend_src_payment_payment_service_clientmetadata", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "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": 61, + "community_name": "payment.controller.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": 61, + "community_name": "payment.controller.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": 61, + "community_name": "payment.controller.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": 61, + "community_name": "payment.controller.ts", + "norm_label": "ebankstatementfilter" + }, { "label": "ProductDto", "file_type": "code", @@ -4566,6 +4618,19 @@ "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": "PetsController", "file_type": "code", @@ -4576,7 +4641,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_petscontroller", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "petscontroller" }, { @@ -4589,7 +4654,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_service_petquery", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "petquery" }, { @@ -4602,21 +4667,60 @@ "_origin": "ast", "id": "backend_src_admin_pets_service_petsservice", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "petsservice" }, { - "label": "PaymentService", + "label": "SslCertInfo", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L19", + "source_file": "backend/src/admin/ssl.service.ts", + "source_location": "L7", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice", + "id": "backend_src_admin_ssl_service_sslcertinfo", + "community": 67, + "community_name": "admin.module.ts", + "norm_label": "sslcertinfo" + }, + { + "label": "WikiQuery", + "file_type": "code", + "source_file": "backend/src/admin/wiki.service.ts", + "source_location": "L5", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_admin_wiki_service_wikiquery", + "community": 67, + "community_name": "admin.module.ts", + "norm_label": "wikiquery" + }, + { + "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": "OrdersService", + "file_type": "code", + "source_file": "backend/src/orders/orders.service.ts", + "source_location": "L14", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "backend_src_orders_orders_service_ordersservice", "community": 68, - "community_name": "PaymentService", - "norm_label": "paymentservice" + "community_name": "OrdersService", + "norm_label": "ordersservice" }, { "label": "ButtonProps", @@ -4904,19 +5008,6 @@ "community_name": "seo.module.ts", "norm_label": "seoservice" }, - { - "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": 8, - "community_name": "admin.module.ts", - "norm_label": "adminmodule" - }, { "label": "ReportsController", "file_type": "code", @@ -4927,7 +5018,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_reportscontroller", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "reportscontroller" }, { @@ -4940,47 +5031,21 @@ "_origin": "ast", "id": "backend_src_admin_reports_service_reportsservice", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "reportsservice" }, { - "label": "SslCertInfo", + "label": "HomeClientProps", "file_type": "code", - "source_file": "backend/src/admin/ssl.service.ts", - "source_location": "L7", + "source_file": "frontend/application/app/HomeClient.tsx", + "source_location": "L20", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "backend_src_admin_ssl_service_sslcertinfo", - "community": 8, - "community_name": "admin.module.ts", - "norm_label": "sslcertinfo" - }, - { - "label": "WikiQuery", - "file_type": "code", - "source_file": "backend/src/admin/wiki.service.ts", - "source_location": "L5", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_admin_wiki_service_wikiquery", - "community": 8, - "community_name": "admin.module.ts", - "norm_label": "wikiquery" - }, - { - "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": 8, - "community_name": "admin.module.ts", - "norm_label": "wikiservice" + "id": "frontend_application_app_homeclient_homeclientprops", + "community": 85, + "community_name": "HomeClient.tsx", + "norm_label": "homeclientprops" }, { "label": "BannerPlacementProps", @@ -4992,21 +5057,21 @@ "_origin": "ast", "id": "frontend_application_components_bannerplacement_bannerplacementprops", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "bannerplacementprops" }, { - "label": "PetType", + "label": "FAQItem", "file_type": "code", - "source_file": "frontend/application/lib/data/products.ts", + "source_file": "frontend/application/components/FAQSection.tsx", "source_location": "L8", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_lib_data_products_pettype", + "id": "frontend_application_components_faqsection_faqitem", "community": 85, - "community_name": "ArchivePage.tsx", - "norm_label": "pettype" + "community_name": "HomeClient.tsx", + "norm_label": "faqitem" }, { "label": "B2BInquiry", @@ -5018,7 +5083,7 @@ "_origin": "ast", "id": "frontend_application_lib_types_b2binquiry", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "b2binquiry" }, { @@ -5031,7 +5096,7 @@ "_origin": "ast", "id": "frontend_application_lib_types_banner", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "banner" }, { @@ -5044,9 +5109,22 @@ "_origin": "ast", "id": "frontend_application_lib_types_dosageconfig", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "dosageconfig" }, + { + "label": "HomeApiResponse", + "file_type": "code", + "source_file": "frontend/application/lib/types.ts", + "source_location": "L103", + "_callable": true, + "_callable_class": true, + "_origin": "ast", + "id": "frontend_application_lib_types_homeapiresponse", + "community": 85, + "community_name": "HomeClient.tsx", + "norm_label": "homeapiresponse" + }, { "label": "NavigationHandler", "file_type": "code", @@ -5057,7 +5135,7 @@ "_origin": "ast", "id": "frontend_application_lib_types_navigationhandler", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "navigationhandler" }, { @@ -5070,7 +5148,7 @@ "_origin": "ast", "id": "frontend_application_lib_types_partneraccount", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "partneraccount" }, { @@ -5083,7 +5161,7 @@ "_origin": "ast", "id": "frontend_application_lib_types_prescription", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "prescription" }, { @@ -5096,7 +5174,7 @@ "_origin": "ast", "id": "frontend_application_lib_types_smartadvisorrule", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "smartadvisorrule" }, { @@ -5109,7 +5187,7 @@ "_origin": "ast", "id": "frontend_application_lib_types_testimonial", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "testimonial" }, { @@ -5230,30 +5308,17 @@ "norm_label": "zibalverifyresponse" }, { - "label": "HomeClientProps", + "label": "MetricsController", "file_type": "code", - "source_file": "frontend/application/app/HomeClient.tsx", - "source_location": "L20", + "source_file": "backend/src/common/metrics.controller.ts", + "source_location": "L8", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_app_homeclient_homeclientprops", - "community": 90, - "community_name": "useSettingsStore", - "norm_label": "homeclientprops" - }, - { - "label": "BlogPost", - "file_type": "code", - "source_file": "frontend/application/components/BlogPreviewSection.tsx", - "source_location": "L11", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_components_blogpreviewsection_blogpost", - "community": 90, - "community_name": "useSettingsStore", - "norm_label": "blogpost" + "id": "backend_src_common_metrics_controller_metricscontroller", + "community": 88, + "community_name": "MetricsController", + "norm_label": "metricscontroller" }, { "label": "BrandLogoProps", @@ -5268,71 +5333,6 @@ "community_name": "useSettingsStore", "norm_label": "brandlogoprops" }, - { - "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": "useSettingsStore", - "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": 90, - "community_name": "useSettingsStore", - "norm_label": "faqitem" - }, - { - "label": "SmartAdvisorProps", - "file_type": "code", - "source_file": "frontend/application/components/SmartAdvisor.tsx", - "source_location": "L28", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_components_smartadvisor_smartadvisorprops", - "community": 90, - "community_name": "useSettingsStore", - "norm_label": "smartadvisorprops" - }, - { - "label": "Testimonial", - "file_type": "code", - "source_file": "frontend/application/components/TestimonialsSection.tsx", - "source_location": "L9", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "frontend_application_components_testimonialssection_testimonial", - "community": 90, - "community_name": "useSettingsStore", - "norm_label": "testimonial" - }, - { - "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": "useSettingsStore", - "norm_label": "apierrorpayload" - }, { "label": "ScientificTerm", "file_type": "code", @@ -5360,17 +5360,17 @@ "norm_label": "settingsstore" }, { - "label": "HomeApiResponse", + "label": "NavigationTarget", "file_type": "code", "source_file": "frontend/application/lib/types.ts", - "source_location": "L103", + "source_location": "L110", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "frontend_application_lib_types_homeapiresponse", + "id": "frontend_application_lib_types_navigationtarget", "community": 90, "community_name": "useSettingsStore", - "norm_label": "homeapiresponse" + "norm_label": "navigationtarget" }, { "label": "OrdersController", @@ -5382,22 +5382,9 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_orderscontroller", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "orderscontroller" }, - { - "label": "OrdersService", - "file_type": "code", - "source_file": "backend/src/orders/orders.service.ts", - "source_location": "L14", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_orders_orders_service_ordersservice", - "community": 92, - "community_name": "OrdersService", - "norm_label": "ordersservice" - }, { "label": "BlogPostClientProps", "file_type": "code", @@ -5408,34 +5395,21 @@ "_origin": "ast", "id": "frontend_application_components_blogpostclient_blogpostclientprops", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "community_name": "wiki/[slug]/page.tsx", "norm_label": "blogpostclientprops" }, { - "label": "SmsLogQuery", + "label": "AdminLoginDto", "file_type": "code", - "source_file": "backend/src/common/services/sms.service.ts", - "source_location": "L34", + "source_file": "backend/src/auth/dto/admin-login.dto.ts", + "source_location": "L4", "_callable": true, "_callable_class": true, "_origin": "ast", - "id": "backend_src_common_services_sms_service_smslogquery", + "id": "backend_src_auth_dto_admin_login_dto_adminlogindto", "community": 97, - "community_name": "SettingsService", - "norm_label": "smslogquery" - }, - { - "label": "SettingsService", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L145", - "_callable": true, - "_callable_class": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice", - "community": 97, - "community_name": "SettingsService", - "norm_label": "settingsservice" + "community_name": "AdminLoginDto", + "norm_label": "adminlogindto" }, { "label": "BlogsController", @@ -5450,6 +5424,32 @@ "community_name": "BlogsController", "norm_label": "blogscontroller" }, + { + "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": 99, + "community_name": "BlogsController", + "norm_label": "blogsmodule" + }, + { + "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": 99, + "community_name": "BlogsController", + "norm_label": "blogsservice" + }, { "label": "Roles()", "file_type": "code", @@ -5795,7 +5795,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_reviewscontroller_constructor", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".constructor()" }, { @@ -5807,7 +5807,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_reviewscontroller_createreview", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".createreview()" }, { @@ -5819,7 +5819,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_reviewscontroller_deletereview", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".deletereview()" }, { @@ -5831,7 +5831,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_reviewscontroller_getadminreviews", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".getadminreviews()" }, { @@ -5843,7 +5843,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_reviewscontroller_getproductreviews", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".getproductreviews()" }, { @@ -5855,7 +5855,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_reviewscontroller_updatereviewstatus", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".updatereviewstatus()" }, { @@ -5867,7 +5867,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_service_reviewsservice_createreview", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".createreview()" }, { @@ -5879,7 +5879,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_service_reviewsservice_deletereview", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".deletereview()" }, { @@ -5891,7 +5891,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_service_reviewsservice_getadminreviews", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".getadminreviews()" }, { @@ -5903,7 +5903,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_service_reviewsservice_getproductreviews", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".getproductreviews()" }, { @@ -5915,7 +5915,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_service_reviewsservice_updatereviewstatus", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": ".updatereviewstatus()" }, { @@ -6041,74 +6041,50 @@ { "label": ".constructor()", "file_type": "code", - "source_file": "backend/src/wiki/wiki.controller.ts", - "source_location": "L19", + "source_file": "backend/src/admin/admin.service.ts", + "source_location": "L52", "_callable": true, "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_wikicontroller_constructor", - "community": 107, - "community_name": "WikiController", + "id": "backend_src_admin_admin_service_adminservice_constructor", + "community": 108, + "community_name": "PrismaService", "norm_label": ".constructor()" }, - { - "label": ".findAll()", - "file_type": "code", - "source_file": "backend/src/wiki/wiki.controller.ts", - "source_location": "L24", - "_callable": true, - "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_wikicontroller_findall", - "community": 107, - "community_name": "WikiController", - "norm_label": ".findall()" - }, - { - "label": ".findOne()", - "file_type": "code", - "source_file": "backend/src/wiki/wiki.controller.ts", - "source_location": "L32", - "_callable": true, - "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_wikicontroller_findone", - "community": 107, - "community_name": "WikiController", - "norm_label": ".findone()" - }, { "label": ".constructor()", "file_type": "code", - "source_file": "backend/src/wiki/wiki.service.ts", - "source_location": "L8", + "source_file": "backend/src/admin/blogs.service.ts", + "source_location": "L9", "_callable": true, "_origin": "ast", - "id": "backend_src_wiki_wiki_service_wikiservice_constructor", - "community": 107, - "community_name": "WikiController", + "id": "backend_src_admin_blogs_service_blogsservice_constructor", + "community": 108, + "community_name": "PrismaService", "norm_label": ".constructor()" }, { - "label": ".findAll()", + "label": ".frontendUrl()", "file_type": "code", - "source_file": "backend/src/wiki/wiki.service.ts", - "source_location": "L10", + "source_file": "backend/src/common/revalidation/revalidation.service.ts", + "source_location": "L7", "_callable": true, "_origin": "ast", - "id": "backend_src_wiki_wiki_service_wikiservice_findall", - "community": 107, - "community_name": "WikiController", - "norm_label": ".findall()" + "id": "backend_src_common_revalidation_revalidation_service_revalidationservice_frontendurl", + "community": 108, + "community_name": "PrismaService", + "norm_label": ".frontendurl()" }, { - "label": ".findOneByKey()", + "label": ".secret()", "file_type": "code", - "source_file": "backend/src/wiki/wiki.service.ts", - "source_location": "L52", + "source_file": "backend/src/common/revalidation/revalidation.service.ts", + "source_location": "L15", "_callable": true, "_origin": "ast", - "id": "backend_src_wiki_wiki_service_wikiservice_findonebykey", - "community": 107, - "community_name": "WikiController", - "norm_label": ".findonebykey()" + "id": "backend_src_common_revalidation_revalidation_service_revalidationservice_secret", + "community": 108, + "community_name": "PrismaService", + "norm_label": ".secret()" }, { "label": ".ensureTablesExist()", @@ -6146,6 +6122,18 @@ "community_name": "PrismaService", "norm_label": ".onmoduleinit()" }, + { + "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": 108, + "community_name": "PrismaService", + "norm_label": ".constructor()" + }, { "label": "ConfirmModal()", "file_type": "code", @@ -6530,6 +6518,78 @@ "community_name": "SmsService", "norm_label": ".updatelocalpattern()" }, + { + "label": ".addPattern()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L608", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_addpattern", + "community": 113, + "community_name": "SmsService", + "norm_label": ".addpattern()" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L148", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_constructor", + "community": 113, + "community_name": "SmsService", + "norm_label": ".constructor()" + }, + { + "label": ".editPattern()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L612", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_editpattern", + "community": 113, + "community_name": "SmsService", + "norm_label": ".editpattern()" + }, + { + "label": ".getSmsCredit()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L587", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_getsmscredit", + "community": 113, + "community_name": "SmsService", + "norm_label": ".getsmscredit()" + }, + { + "label": ".getSmsSettings()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L583", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_getsmssettings", + "community": 113, + "community_name": "SmsService", + "norm_label": ".getsmssettings()" + }, + { + "label": ".testSms()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L600", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_testsms", + "community": 113, + "community_name": "SmsService", + "norm_label": ".testsms()" + }, { "label": ".constructor()", "file_type": "code", @@ -6566,114 +6626,6 @@ "community_name": "AppService", "norm_label": ".gethello()" }, - { - "label": ".constructor()", - "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L41", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_lib_services_authservice_authservice_constructor", - "community": 115, - "community_name": "AuthService", - "norm_label": ".constructor()" - }, - { - "label": ".getInstance()", - "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L43", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_lib_services_authservice_authservice_getinstance", - "community": 115, - "community_name": "AuthService", - "norm_label": ".getinstance()" - }, - { - "label": ".getProfile()", - "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L121", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_lib_services_authservice_authservice_getprofile", - "community": 115, - "community_name": "AuthService", - "norm_label": ".getprofile()" - }, - { - "label": ".login()", - "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L103", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_lib_services_authservice_authservice_login", - "community": 115, - "community_name": "AuthService", - "norm_label": ".login()" - }, - { - "label": ".logout()", - "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L152", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_lib_services_authservice_authservice_logout", - "community": 115, - "community_name": "AuthService", - "norm_label": ".logout()" - }, - { - "label": ".register()", - "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L85", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_lib_services_authservice_authservice_register", - "community": 115, - "community_name": "AuthService", - "norm_label": ".register()" - }, - { - "label": ".sendOtp()", - "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L53", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_lib_services_authservice_authservice_sendotp", - "community": 115, - "community_name": "AuthService", - "norm_label": ".sendotp()" - }, - { - "label": ".updateProfile()", - "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L138", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_lib_services_authservice_authservice_updateprofile", - "community": 115, - "community_name": "AuthService", - "norm_label": ".updateprofile()" - }, - { - "label": ".verifyOtp()", - "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", - "source_location": "L67", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_lib_services_authservice_authservice_verifyotp", - "community": 115, - "community_name": "AuthService", - "norm_label": ".verifyotp()" - }, { "label": "parsePersianPrice()", "file_type": "code", @@ -6854,6 +6806,42 @@ "community_name": "AdminService", "norm_label": ".getuserdetails()" }, + { + "label": "generateMetadata()", + "file_type": "code", + "source_file": "frontend/application/app/page.tsx", + "source_location": "L5", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_app_page_generatemetadata", + "community": 123, + "community_name": "app/page.tsx", + "norm_label": "generatemetadata()" + }, + { + "label": "getHomeData()", + "file_type": "code", + "source_file": "frontend/application/app/page.tsx", + "source_location": "L13", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_app_page_gethomedata", + "community": 123, + "community_name": "app/page.tsx", + "norm_label": "gethomedata()" + }, + { + "label": "Home()", + "file_type": "code", + "source_file": "frontend/application/app/page.tsx", + "source_location": "L32", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_app_page_home", + "community": 123, + "community_name": "app/page.tsx", + "norm_label": "home()" + }, { "label": ".adjustWallet()", "file_type": "code", @@ -7178,6 +7166,30 @@ "community_name": "AdminController", "norm_label": ".updateuserrole()" }, + { + "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", @@ -7466,6 +7478,30 @@ "community_name": "layout.tsx", "norm_label": "generateorganizationschema()" }, + { + "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": 14, + "community_name": "UserDashboard.tsx", + "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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "verifycontent()" + }, { "label": "AddressModal()", "file_type": "code", @@ -7475,20 +7511,104 @@ "_origin": "ast", "id": "frontend_application_components_addressmodal_addressmodal", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "addressmodal()" }, { - "label": "BackButton()", + "label": "AuthModal()", "file_type": "code", - "source_file": "frontend/application/components/BackButton.tsx", - "source_location": "L13", + "source_file": "frontend/application/components/AuthModal.tsx", + "source_location": "L38", "_callable": true, "_origin": "ast", - "id": "frontend_application_components_backbutton_backbutton", + "id": "frontend_application_components_authmodal_authmodal", "community": 14, - "community_name": "CheckoutPage.tsx", - "norm_label": "backbutton()" + "community_name": "UserDashboard.tsx", + "norm_label": "authmodal()" + }, + { + "label": "extractOtpFromText()", + "file_type": "code", + "source_file": "frontend/application/components/AuthModal.tsx", + "source_location": "L30", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_components_authmodal_extractotpfromtext", + "community": 14, + "community_name": "UserDashboard.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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "b2bportal()" + }, + { + "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": "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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "cartdrawer()" + }, + { + "label": "CheckoutPage()", + "file_type": "code", + "source_file": "frontend/application/components/CheckoutPage.tsx", + "source_location": "L33", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_components_checkoutpage_checkoutpage", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "checkoutpage()" + }, + { + "label": "DeleteConfirmModal()", + "file_type": "code", + "source_file": "frontend/application/components/DeleteConfirmModal.tsx", + "source_location": "L14", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_components_deleteconfirmmodal_deleteconfirmmodal", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "deleteconfirmmodal()" }, { "label": "HeaderButton()", @@ -7499,9 +7619,69 @@ "_origin": "ast", "id": "frontend_application_components_headerbutton_headerbutton", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "headerbutton()" }, + { + "label": "OrderDetailsModal()", + "file_type": "code", + "source_file": "frontend/application/components/OrderDetailsModal.tsx", + "source_location": "L37", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_components_orderdetailsmodal_orderdetailsmodal", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "orderdetailsmodal()" + }, + { + "label": "getStatusIcon()", + "file_type": "code", + "source_file": "frontend/application/components/OrderDetailsModal.tsx", + "source_location": "L282", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_components_orderdetailsmodal_orderdetailsmodal_getstatusicon", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "getstatusicon()" + }, + { + "label": "getStatusLabel()", + "file_type": "code", + "source_file": "frontend/application/components/OrderDetailsModal.tsx", + "source_location": "L302", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_components_orderdetailsmodal_orderdetailsmodal_getstatuslabel", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "getstatuslabel()" + }, + { + "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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "ordertracking()" + }, + { + "label": "PetProfile()", + "file_type": "code", + "source_file": "frontend/application/components/PetProfile.tsx", + "source_location": "L40", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_components_petprofile_petprofile", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "petprofile()" + }, { "label": "SearchableSelect()", "file_type": "code", @@ -7511,7 +7691,7 @@ "_origin": "ast", "id": "frontend_application_components_searchableselect_searchableselect", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "searchableselect()" }, { @@ -7523,9 +7703,21 @@ "_origin": "ast", "id": "frontend_application_components_topupmodal_topupmodal", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "topupmodal()" }, + { + "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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "userdashboard()" + }, { "label": "cn()", "file_type": "code", @@ -7535,9 +7727,33 @@ "_origin": "ast", "id": "frontend_application_lib_utils_cn", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "cn()" }, + { + "label": "toEnglishDigits()", + "file_type": "code", + "source_file": "frontend/application/lib/utils.ts", + "source_location": "L6", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_lib_utils_toenglishdigits", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "toenglishdigits()" + }, + { + "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", @@ -7643,7 +7859,7 @@ "_origin": "ast", "id": "frontend_application_app_blog_loading_blogloading", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "blogloading()" }, { @@ -7655,7 +7871,7 @@ "_origin": "ast", "id": "frontend_application_app_loading_globalloading", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "globalloading()" }, { @@ -7667,57 +7883,9 @@ "_origin": "ast", "id": "frontend_application_app_shop_loading_shoploading", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "shoploading()" }, - { - "label": "DeleteConfirmModal()", - "file_type": "code", - "source_file": "frontend/application/components/DeleteConfirmModal.tsx", - "source_location": "L14", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_deleteconfirmmodal_deleteconfirmmodal", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "deleteconfirmmodal()" - }, - { - "label": "OrderDetailsModal()", - "file_type": "code", - "source_file": "frontend/application/components/OrderDetailsModal.tsx", - "source_location": "L37", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_orderdetailsmodal_orderdetailsmodal", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "orderdetailsmodal()" - }, - { - "label": "getStatusIcon()", - "file_type": "code", - "source_file": "frontend/application/components/OrderDetailsModal.tsx", - "source_location": "L282", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_orderdetailsmodal_orderdetailsmodal_getstatusicon", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "getstatusicon()" - }, - { - "label": "getStatusLabel()", - "file_type": "code", - "source_file": "frontend/application/components/OrderDetailsModal.tsx", - "source_location": "L302", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_orderdetailsmodal_orderdetailsmodal_getstatuslabel", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "getstatuslabel()" - }, { "label": "OrderRowSkeleton()", "file_type": "code", @@ -7727,7 +7895,7 @@ "_origin": "ast", "id": "frontend_application_components_skeleton_orderrowskeleton", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "orderrowskeleton()" }, { @@ -7739,7 +7907,7 @@ "_origin": "ast", "id": "frontend_application_components_skeleton_petprofileskeleton", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "petprofileskeleton()" }, { @@ -7751,7 +7919,7 @@ "_origin": "ast", "id": "frontend_application_components_skeleton_productcardskeleton", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "productcardskeleton()" }, { @@ -7763,69 +7931,9 @@ "_origin": "ast", "id": "frontend_application_components_skeleton_skeleton", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "skeleton()" }, - { - "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": 148, - "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": 148, - "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": 148, - "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": 148, - "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": 148, - "community_name": "wiki/[slug]/page.tsx", - "norm_label": "generatemedicalwebpageschema()" - }, { "label": "SmsSettingsPage()", "file_type": "code", @@ -7970,138 +8078,138 @@ "community_name": "src/services/api.ts", "norm_label": "processqueue()" }, + { + "label": "LoginModal()", + "file_type": "code", + "source_file": "frontend/application/components/LoginModal.tsx", + "source_location": "L18", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_components_loginmodal_loginmodal", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": "loginmodal()" + }, + { + "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": 152, + "community_name": "lib/services/api.ts", + "norm_label": "getbaseurl()" + }, { "label": ".constructor()", "file_type": "code", - "source_file": "backend/src/auth/auth.controller.ts", + "source_file": "frontend/application/lib/services/authService.ts", + "source_location": "L41", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_lib_services_authservice_authservice_constructor", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": ".constructor()" + }, + { + "label": ".getInstance()", + "file_type": "code", + "source_file": "frontend/application/lib/services/authService.ts", "source_location": "L43", "_callable": true, "_origin": "ast", - "id": "backend_src_auth_auth_controller_authcontroller_constructor", - "community": 151, - "community_name": "auth.service.ts", - "norm_label": ".constructor()" + "id": "frontend_application_lib_services_authservice_authservice_getinstance", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": ".getinstance()" }, { - "label": ".adminLogin()", + "label": ".getProfile()", "file_type": "code", - "source_file": "backend/src/auth/auth.service.ts", - "source_location": "L263", + "source_file": "frontend/application/lib/services/authService.ts", + "source_location": "L121", "_callable": true, "_origin": "ast", - "id": "backend_src_auth_auth_service_authservice_adminlogin", - "community": 151, - "community_name": "auth.service.ts", - "norm_label": ".adminlogin()" - }, - { - "label": ".constructor()", - "file_type": "code", - "source_file": "backend/src/auth/auth.service.ts", - "source_location": "L38", - "_callable": true, - "_origin": "ast", - "id": "backend_src_auth_auth_service_authservice_constructor", - "community": 151, - "community_name": "auth.service.ts", - "norm_label": ".constructor()" + "id": "frontend_application_lib_services_authservice_authservice_getprofile", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": ".getprofile()" }, { "label": ".login()", "file_type": "code", - "source_file": "backend/src/auth/auth.service.ts", - "source_location": "L222", + "source_file": "frontend/application/lib/services/authService.ts", + "source_location": "L103", "_callable": true, "_origin": "ast", - "id": "backend_src_auth_auth_service_authservice_login", - "community": 151, - "community_name": "auth.service.ts", + "id": "frontend_application_lib_services_authservice_authservice_login", + "community": 152, + "community_name": "lib/services/api.ts", "norm_label": ".login()" }, { - "label": ".refresh()", + "label": ".logout()", "file_type": "code", - "source_file": "backend/src/auth/auth.service.ts", - "source_location": "L319", + "source_file": "frontend/application/lib/services/authService.ts", + "source_location": "L152", "_callable": true, "_origin": "ast", - "id": "backend_src_auth_auth_service_authservice_refresh", - "community": 151, - "community_name": "auth.service.ts", - "norm_label": ".refresh()" + "id": "frontend_application_lib_services_authservice_authservice_logout", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": ".logout()" }, { "label": ".register()", "file_type": "code", - "source_file": "backend/src/auth/auth.service.ts", - "source_location": "L167", + "source_file": "frontend/application/lib/services/authService.ts", + "source_location": "L85", "_callable": true, "_origin": "ast", - "id": "backend_src_auth_auth_service_authservice_register", - "community": 151, - "community_name": "auth.service.ts", + "id": "frontend_application_lib_services_authservice_authservice_register", + "community": 152, + "community_name": "lib/services/api.ts", "norm_label": ".register()" }, { "label": ".sendOtp()", "file_type": "code", - "source_file": "backend/src/auth/auth.service.ts", - "source_location": "L45", + "source_file": "frontend/application/lib/services/authService.ts", + "source_location": "L53", "_callable": true, "_origin": "ast", - "id": "backend_src_auth_auth_service_authservice_sendotp", - "community": 151, - "community_name": "auth.service.ts", + "id": "frontend_application_lib_services_authservice_authservice_sendotp", + "community": 152, + "community_name": "lib/services/api.ts", "norm_label": ".sendotp()" }, + { + "label": ".updateProfile()", + "file_type": "code", + "source_file": "frontend/application/lib/services/authService.ts", + "source_location": "L138", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_lib_services_authservice_authservice_updateprofile", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": ".updateprofile()" + }, { "label": ".verifyOtp()", "file_type": "code", - "source_file": "backend/src/auth/auth.service.ts", - "source_location": "L126", + "source_file": "frontend/application/lib/services/authService.ts", + "source_location": "L67", "_callable": true, "_origin": "ast", - "id": "backend_src_auth_auth_service_authservice_verifyotp", - "community": 151, - "community_name": "auth.service.ts", + "id": "frontend_application_lib_services_authservice_authservice_verifyotp", + "community": 152, + "community_name": "lib/services/api.ts", "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": 151, - "community_name": "auth.service.ts", - "norm_label": "normalizemobile()" - }, - { - "label": ".del()", - "file_type": "code", - "source_file": "backend/src/redis/redis.service.ts", - "source_location": "L31", - "_callable": true, - "_origin": "ast", - "id": "backend_src_redis_redis_service_redisservice_del", - "community": 151, - "community_name": "auth.service.ts", - "norm_label": ".del()" - }, - { - "label": ".ttl()", - "file_type": "code", - "source_file": "backend/src/redis/redis.service.ts", - "source_location": "L44", - "_callable": true, - "_origin": "ast", - "id": "backend_src_redis_redis_service_redisservice_ttl", - "community": 151, - "community_name": "auth.service.ts", - "norm_label": ".ttl()" - }, { "label": ".constructor()", "file_type": "code", @@ -8111,7 +8219,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_orderservice_orderservice_constructor", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": ".constructor()" }, { @@ -8123,7 +8231,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_orderservice_orderservice_createorder", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": ".createorder()" }, { @@ -8135,7 +8243,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_orderservice_orderservice_getinstance", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": ".getinstance()" }, { @@ -8147,7 +8255,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_orderservice_orderservice_getorderbyid", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": ".getorderbyid()" }, { @@ -8159,7 +8267,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_orderservice_orderservice_getuserorders", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": ".getuserorders()" }, { @@ -8618,26 +8726,14 @@ "community_name": "schema.ts", "norm_label": "generatevideoobjectschema()" }, - { - "label": ".addComment()", - "file_type": "code", - "source_file": "backend/src/blogs/blogs.service.ts", - "source_location": "L342", - "_callable": true, - "_origin": "ast", - "id": "backend_src_blogs_blogs_service_blogsservice_addcomment", - "community": 179, - "community_name": "PaginationDto", - "norm_label": ".addcomment()" - }, { "label": ".constructor()", "file_type": "code", - "source_file": "backend/src/blogs/blogs.service.ts", - "source_location": "L14", + "source_file": "backend/src/wiki/wiki.controller.ts", + "source_location": "L19", "_callable": true, "_origin": "ast", - "id": "backend_src_blogs_blogs_service_blogsservice_constructor", + "id": "backend_src_wiki_wiki_controller_wikicontroller_constructor", "community": 179, "community_name": "PaginationDto", "norm_label": ".constructor()" @@ -8645,74 +8741,62 @@ { "label": ".findAll()", "file_type": "code", - "source_file": "backend/src/blogs/blogs.service.ts", - "source_location": "L16", + "source_file": "backend/src/wiki/wiki.controller.ts", + "source_location": "L24", "_callable": true, "_origin": "ast", - "id": "backend_src_blogs_blogs_service_blogsservice_findall", + "id": "backend_src_wiki_wiki_controller_wikicontroller_findall", "community": 179, "community_name": "PaginationDto", "norm_label": ".findall()" }, { - "label": ".findCommentsBySlug()", + "label": ".findOne()", "file_type": "code", - "source_file": "backend/src/blogs/blogs.service.ts", - "source_location": "L329", + "source_file": "backend/src/wiki/wiki.controller.ts", + "source_location": "L32", "_callable": true, "_origin": "ast", - "id": "backend_src_blogs_blogs_service_blogsservice_findcommentsbyslug", + "id": "backend_src_wiki_wiki_controller_wikicontroller_findone", "community": 179, "community_name": "PaginationDto", - "norm_label": ".findcommentsbyslug()" + "norm_label": ".findone()" }, { - "label": ".findHomepage()", + "label": ".constructor()", "file_type": "code", - "source_file": "backend/src/blogs/blogs.service.ts", - "source_location": "L99", + "source_file": "backend/src/wiki/wiki.service.ts", + "source_location": "L8", "_callable": true, "_origin": "ast", - "id": "backend_src_blogs_blogs_service_blogsservice_findhomepage", + "id": "backend_src_wiki_wiki_service_wikiservice_constructor", "community": 179, "community_name": "PaginationDto", - "norm_label": ".findhomepage()" + "norm_label": ".constructor()" }, { - "label": ".findOneBySlug()", + "label": ".findAll()", "file_type": "code", - "source_file": "backend/src/blogs/blogs.service.ts", - "source_location": "L140", + "source_file": "backend/src/wiki/wiki.service.ts", + "source_location": "L10", "_callable": true, "_origin": "ast", - "id": "backend_src_blogs_blogs_service_blogsservice_findonebyslug", + "id": "backend_src_wiki_wiki_service_wikiservice_findall", "community": 179, "community_name": "PaginationDto", - "norm_label": ".findonebyslug()" + "norm_label": ".findall()" }, { - "label": ".getCategories()", + "label": ".findOneByKey()", "file_type": "code", - "source_file": "backend/src/blogs/blogs.service.ts", - "source_location": "L302", + "source_file": "backend/src/wiki/wiki.service.ts", + "source_location": "L52", "_callable": true, "_origin": "ast", - "id": "backend_src_blogs_blogs_service_blogsservice_getcategories", + "id": "backend_src_wiki_wiki_service_wikiservice_findonebykey", "community": 179, "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": 179, - "community_name": "PaginationDto", - "norm_label": ".gettags()" + "norm_label": ".findonebykey()" }, { "label": ".handleRequest()", @@ -8750,18 +8834,6 @@ "community_name": "JwtAuthGuard", "norm_label": ".constructor()" }, - { - "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": 184, - "community_name": "RedisService", - "norm_label": "generateopenapi()" - }, { "label": ".configure()", "file_type": "code", @@ -8774,42 +8846,6 @@ "community_name": "RedisService", "norm_label": ".configure()" }, - { - "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": 184, - "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": 184, - "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": 184, - "community_name": "RedisService", - "norm_label": ".getmetrics()" - }, { "label": ".incrementRequestCount()", "file_type": "code", @@ -8870,42 +8906,6 @@ "community_name": "RedisService", "norm_label": ".set()" }, - { - "label": "generateMetadata()", - "file_type": "code", - "source_file": "frontend/application/app/trust-seals/page.tsx", - "source_location": "L7", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_app_trust_seals_page_generatemetadata", - "community": 185, - "community_name": "trust-seals/page.tsx", - "norm_label": "generatemetadata()" - }, - { - "label": "TrustSealsPage()", - "file_type": "code", - "source_file": "frontend/application/app/trust-seals/page.tsx", - "source_location": "L15", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_app_trust_seals_page_trustsealspage", - "community": 185, - "community_name": "trust-seals/page.tsx", - "norm_label": "trustsealspage()" - }, - { - "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": 185, - "community_name": "trust-seals/page.tsx", - "norm_label": "enamadbadge()" - }, { "label": "main()", "file_type": "code", @@ -8930,54 +8930,6 @@ "community_name": "seed-wiki.ts", "norm_label": "main()" }, - { - "label": ".constructor()", - "file_type": "code", - "source_file": "backend/src/admin/admin.service.ts", - "source_location": "L52", - "_callable": true, - "_origin": "ast", - "id": "backend_src_admin_admin_service_adminservice_constructor", - "community": 19, - "community_name": "RevalidationService", - "norm_label": ".constructor()" - }, - { - "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": 19, - "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": 19, - "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": 19, - "community_name": "RevalidationService", - "norm_label": ".secret()" - }, { "label": ".constructor()", "file_type": "code", @@ -8987,7 +8939,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_productscontroller_constructor", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".constructor()" }, { @@ -8999,7 +8951,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_productscontroller_findall", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".findall()" }, { @@ -9011,7 +8963,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_productscontroller_findone", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".findone()" }, { @@ -9023,7 +8975,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_productscontroller_getactivefilters", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".getactivefilters()" }, { @@ -9035,7 +8987,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_productscontroller_getdosageconfig", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".getdosageconfig()" }, { @@ -9047,7 +8999,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_productscontroller_getnavigationfilters", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".getnavigationfilters()" }, { @@ -9059,7 +9011,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_productscontroller_updatedosageconfig", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".updatedosageconfig()" }, { @@ -9071,7 +9023,7 @@ "_origin": "ast", "id": "backend_src_products_products_service_productsservice_constructor", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".constructor()" }, { @@ -9083,7 +9035,7 @@ "_origin": "ast", "id": "backend_src_products_products_service_productsservice_findall", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".findall()" }, { @@ -9095,7 +9047,7 @@ "_origin": "ast", "id": "backend_src_products_products_service_productsservice_findone", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".findone()" }, { @@ -9107,7 +9059,7 @@ "_origin": "ast", "id": "backend_src_products_products_service_productsservice_getactivefilters", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".getactivefilters()" }, { @@ -9119,7 +9071,7 @@ "_origin": "ast", "id": "backend_src_products_products_service_productsservice_getdosageconfig", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".getdosageconfig()" }, { @@ -9131,7 +9083,7 @@ "_origin": "ast", "id": "backend_src_products_products_service_productsservice_getnavigationfilters", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".getnavigationfilters()" }, { @@ -9143,21 +9095,9 @@ "_origin": "ast", "id": "backend_src_products_products_service_productsservice_updatedosageconfig", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": ".updatedosageconfig()" }, - { - "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": 19, - "community_name": "RevalidationService", - "norm_label": ".constructor()" - }, { "label": "generateMetadata()", "file_type": "code", @@ -9207,40 +9147,40 @@ "norm_label": "ingredientwiki()" }, { - "label": "CatalogClient()", + "label": ".clearAllSmsLogs()", "file_type": "code", - "source_file": "frontend/application/app/catalog/CatalogClient.tsx", - "source_location": "L8", + "source_file": "backend/src/common/services/sms.service.ts", + "source_location": "L255", "_callable": true, "_origin": "ast", - "id": "frontend_application_app_catalog_catalogclient_catalogclient", - "community": 198, - "community_name": "catalog/page.tsx", - "norm_label": "catalogclient()" + "id": "backend_src_common_services_sms_service_smsservice_clearallsmslogs", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".clearallsmslogs()" }, { - "label": "CatalogPage()", + "label": ".deleteSmsLog()", "file_type": "code", - "source_file": "frontend/application/app/catalog/page.tsx", - "source_location": "L13", + "source_file": "backend/src/common/services/sms.service.ts", + "source_location": "L248", "_callable": true, "_origin": "ast", - "id": "frontend_application_app_catalog_page_catalogpage", - "community": 198, - "community_name": "catalog/page.tsx", - "norm_label": "catalogpage()" + "id": "backend_src_common_services_sms_service_smsservice_deletesmslog", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".deletesmslog()" }, { - "label": "generateMetadata()", + "label": ".getSmsLogs()", "file_type": "code", - "source_file": "frontend/application/app/catalog/page.tsx", - "source_location": "L5", + "source_file": "backend/src/common/services/sms.service.ts", + "source_location": "L191", "_callable": true, "_origin": "ast", - "id": "frontend_application_app_catalog_page_generatemetadata", - "community": 198, - "community_name": "catalog/page.tsx", - "norm_label": "generatemetadata()" + "id": "backend_src_common_services_sms_service_smsservice_getsmslogs", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".getsmslogs()" }, { "label": ".addPattern()", @@ -9266,6 +9206,18 @@ "community_name": "SettingsController", "norm_label": ".clearallsmslogs()" }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/settings/settings.controller.ts", + "source_location": "L29", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_controller_settingscontroller_constructor", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".constructor()" + }, { "label": ".deleteScientificTerm()", "file_type": "code", @@ -9542,6 +9494,42 @@ "community_name": "SettingsController", "norm_label": ".upsertscientificterm()" }, + { + "label": ".clearAllSmsLogs()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L624", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_clearallsmslogs", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".clearallsmslogs()" + }, + { + "label": ".deleteScientificTerm()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L397", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_deletescientificterm", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".deletescientificterm()" + }, + { + "label": ".deleteSmsLog()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L620", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_deletesmslog", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".deletesmslog()" + }, { "label": ".getCategorySetting()", "file_type": "code", @@ -9554,6 +9542,102 @@ "community_name": "SettingsController", "norm_label": ".getcategorysetting()" }, + { + "label": ".getFinancialSettings()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L270", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_getfinancialsettings", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".getfinancialsettings()" + }, + { + "label": ".getPatterns()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L604", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_getpatterns", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".getpatterns()" + }, + { + "label": ".getScientificTerms()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L372", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_getscientificterms", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".getscientificterms()" + }, + { + "label": ".getSmsLogs()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L616", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_getsmslogs", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".getsmslogs()" + }, + { + "label": ".getUiTexts()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L184", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_getuitexts", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".getuitexts()" + }, + { + "label": ".onModuleInit()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L153", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_onmoduleinit", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".onmoduleinit()" + }, + { + "label": ".seedDefaultUiTexts()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L157", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_seeddefaultuitexts", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".seeddefaultuitexts()" + }, + { + "label": ".updateBulkUiTexts()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L261", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_updatebulkuitexts", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".updatebulkuitexts()" + }, { "label": ".updateCategorySetting()", "file_type": "code", @@ -9566,6 +9650,54 @@ "community_name": "SettingsController", "norm_label": ".updatecategorysetting()" }, + { + "label": ".updateFinancialSettings()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L326", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_updatefinancialsettings", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".updatefinancialsettings()" + }, + { + "label": ".updateSmsSettings()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L591", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_updatesmssettings", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".updatesmssettings()" + }, + { + "label": ".updateUiText()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L229", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_updateuitext", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".updateuitext()" + }, + { + "label": ".upsertScientificTerm()", + "file_type": "code", + "source_file": "backend/src/settings/settings.service.ts", + "source_location": "L376", + "_callable": true, + "_origin": "ast", + "id": "backend_src_settings_settings_service_settingsservice_upsertscientificterm", + "community": 2, + "community_name": "SettingsController", + "norm_label": ".upsertscientificterm()" + }, { "label": ".constructor()", "file_type": "code", @@ -9734,6 +9866,18 @@ "community_name": "seed-custom.ts", "norm_label": "main()" }, + { + "label": "ShopProductPage()", + "file_type": "code", + "source_file": "frontend/application/app/shop/[slug]/page.tsx", + "source_location": "L93", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_app_shop_slug_page_shopproductpage", + "community": 21, + "community_name": "ProductPage.tsx", + "norm_label": "shopproductpage()" + }, { "label": "ProductPage()", "file_type": "code", @@ -9791,7 +9935,7 @@ "_origin": "ast", "id": "frontend_application_app_checkout_success_id_page_successpage", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "successpage()" }, { @@ -9803,104 +9947,20 @@ "_origin": "ast", "id": "frontend_application_app_clientlayout_clientlayout", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "clientlayout()" }, { - "label": "PaymentVerifyPage()", + "label": "FeaturedProducts()", "file_type": "code", - "source_file": "frontend/application/app/payment/verify/page.tsx", - "source_location": "L319", + "source_file": "frontend/application/components/FeaturedProducts.tsx", + "source_location": "L157", "_callable": true, "_origin": "ast", - "id": "frontend_application_app_payment_verify_page_paymentverifypage", + "id": "frontend_application_components_featuredproducts_featuredproducts", "community": 22, - "community_name": "toPersian", - "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": 22, - "community_name": "toPersian", - "norm_label": "verifycontent()" - }, - { - "label": "ArchiveProductCard()", - "file_type": "code", - "source_file": "frontend/application/components/ArchivePage.tsx", - "source_location": "L74", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_archivepage_archiveproductcard", - "community": 22, - "community_name": "toPersian", - "norm_label": "archiveproductcard()" - }, - { - "label": "AuthModal()", - "file_type": "code", - "source_file": "frontend/application/components/AuthModal.tsx", - "source_location": "L38", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_authmodal_authmodal", - "community": 22, - "community_name": "toPersian", - "norm_label": "authmodal()" - }, - { - "label": "extractOtpFromText()", - "file_type": "code", - "source_file": "frontend/application/components/AuthModal.tsx", - "source_location": "L30", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_authmodal_extractotpfromtext", - "community": 22, - "community_name": "toPersian", - "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": 22, - "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": 22, - "community_name": "toPersian", - "norm_label": "cartdrawer()" - }, - { - "label": "CheckoutPage()", - "file_type": "code", - "source_file": "frontend/application/components/CheckoutPage.tsx", - "source_location": "L33", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_checkoutpage_checkoutpage", - "community": 22, - "community_name": "toPersian", - "norm_label": "checkoutpage()" + "community_name": "PetProfile.tsx", + "norm_label": "featuredproducts()" }, { "label": "ProductCard()", @@ -9911,7 +9971,7 @@ "_origin": "ast", "id": "frontend_application_components_featuredproducts_productcard", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "productcard()" }, { @@ -9923,7 +9983,7 @@ "_origin": "ast", "id": "frontend_application_components_header_header", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "header()" }, { @@ -9935,21 +9995,9 @@ "_origin": "ast", "id": "frontend_application_components_header_header_handleclickoutside", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "handleclickoutside()" }, - { - "label": "LoginModal()", - "file_type": "code", - "source_file": "frontend/application/components/LoginModal.tsx", - "source_location": "L18", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_loginmodal_loginmodal", - "community": 22, - "community_name": "toPersian", - "norm_label": "loginmodal()" - }, { "label": "OrderSuccess()", "file_type": "code", @@ -9959,33 +10007,9 @@ "_origin": "ast", "id": "frontend_application_components_ordersuccess_ordersuccess", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.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": 22, - "community_name": "toPersian", - "norm_label": "ordertracking()" - }, - { - "label": "PetProfile()", - "file_type": "code", - "source_file": "frontend/application/components/PetProfile.tsx", - "source_location": "L40", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_petprofile_petprofile", - "community": 22, - "community_name": "toPersian", - "norm_label": "petprofile()" - }, { "label": "PrescriptionUploadModal()", "file_type": "code", @@ -9995,9 +10019,21 @@ "_origin": "ast", "id": "frontend_application_components_prescriptionuploadmodal_prescriptionuploadmodal", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "prescriptionuploadmodal()" }, + { + "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": 22, + "community_name": "PetProfile.tsx", + "norm_label": "searchresultspage()" + }, { "label": "SmartAdvisor()", "file_type": "code", @@ -10007,45 +10043,9 @@ "_origin": "ast", "id": "frontend_application_components_smartadvisor_smartadvisor", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "smartadvisor()" }, - { - "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": 22, - "community_name": "toPersian", - "norm_label": "userdashboard()" - }, - { - "label": "toEnglishDigits()", - "file_type": "code", - "source_file": "frontend/application/lib/utils.ts", - "source_location": "L6", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_lib_utils_toenglishdigits", - "community": 22, - "community_name": "toPersian", - "norm_label": "toenglishdigits()" - }, - { - "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": 22, - "community_name": "toPersian", - "norm_label": "topersian()" - }, { "label": ".constructor()", "file_type": "code", @@ -10262,6 +10262,114 @@ "community_name": "robots.ts", "norm_label": "robots()" }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/payment/payment.controller.ts", + "source_location": "L42", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_controller_paymentcontroller_constructor", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".constructor()" + }, + { + "label": ".adminLiveInquiry()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L845", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_adminliveinquiry", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".adminliveinquiry()" + }, + { + "label": ".adminManualReject()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L988", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_adminmanualreject", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".adminmanualreject()" + }, + { + "label": ".adminManualVerify()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L925", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_adminmanualverify", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".adminmanualverify()" + }, + { + "label": ".checkGatewayHealth()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L1014", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_checkgatewayhealth", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".checkgatewayhealth()" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L22", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_constructor", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".constructor()" + }, + { + "label": ".getAdminTransactionStats()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L798", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_getadmintransactionstats", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".getadmintransactionstats()" + }, + { + "label": ".getTransaction()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L635", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_gettransaction", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".gettransaction()" + }, + { + "label": ".getTransactionByTrackId()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L896", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_gettransactionbytrackid", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".gettransactionbytrackid()" + }, { "label": ".initiateOrderPayment()", "file_type": "code", @@ -10286,6 +10394,42 @@ "community_name": "ZibalService", "norm_label": ".initiatewallettopup()" }, + { + "label": ".inquiryDirectZibal()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L902", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_inquirydirectzibal", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".inquirydirectzibal()" + }, + { + "label": ".reconcilePendingTransactions()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L540", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_reconcilependingtransactions", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".reconcilependingtransactions()" + }, + { + "label": ".verifyAndProcess()", + "file_type": "code", + "source_file": "backend/src/payment/payment.service.ts", + "source_location": "L227", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_payment_service_paymentservice_verifyandprocess", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".verifyandprocess()" + }, { "label": ".apiRequest()", "file_type": "code", @@ -10466,6 +10610,18 @@ "community_name": "ZibalService", "norm_label": ".getrefundlist()" }, + { + "label": ".getResultMessage()", + "file_type": "code", + "source_file": "backend/src/payment/zibal.service.ts", + "source_location": "L779", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_zibal_service_zibalservice_getresultmessage", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".getresultmessage()" + }, { "label": ".getStartUrl()", "file_type": "code", @@ -10478,6 +10634,18 @@ "community_name": "ZibalService", "norm_label": ".getstarturl()" }, + { + "label": ".getStatusMessage()", + "file_type": "code", + "source_file": "backend/src/payment/zibal.service.ts", + "source_location": "L816", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_zibal_service_zibalservice_getstatusmessage", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".getstatusmessage()" + }, { "label": ".getSubMerchantList()", "file_type": "code", @@ -10538,6 +10706,18 @@ "community_name": "ZibalService", "norm_label": ".inquirerefund()" }, + { + "label": ".inquiryPayment()", + "file_type": "code", + "source_file": "backend/src/payment/zibal.service.ts", + "source_location": "L260", + "_callable": true, + "_origin": "ast", + "id": "backend_src_payment_zibal_service_zibalservice_inquirypayment", + "community": 294, + "community_name": "ZibalService", + "norm_label": ".inquirypayment()" + }, { "label": ".requestLazyPayment()", "file_type": "code", @@ -10946,30 +11126,6 @@ "community_name": "ProductService", "norm_label": "normalizesearchtext()" }, - { - "label": "FeaturedProducts()", - "file_type": "code", - "source_file": "frontend/application/components/FeaturedProducts.tsx", - "source_location": "L157", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_components_featuredproducts_featuredproducts", - "community": 3, - "community_name": "ProductService", - "norm_label": "featuredproducts()" - }, - { - "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", - "norm_label": "searchresultspage()" - }, { "label": ".constructor()", "file_type": "code", @@ -11363,7 +11519,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_wholesalecontroller_applyforwholesale", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": ".applyforwholesale()" }, { @@ -11375,7 +11531,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_wholesalecontroller_approvewholesalerequest", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": ".approvewholesalerequest()" }, { @@ -11387,7 +11543,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_wholesalecontroller_constructor", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": ".constructor()" }, { @@ -11399,7 +11555,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_wholesalecontroller_getwholesalerequests", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": ".getwholesalerequests()" }, { @@ -11411,7 +11567,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_wholesalecontroller_rejectwholesalerequest", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": ".rejectwholesalerequest()" }, { @@ -11423,7 +11579,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_service_wholesaleservice_applyforwholesale", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": ".applyforwholesale()" }, { @@ -11435,7 +11591,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_service_wholesaleservice_approvewholesalerequest", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": ".approvewholesalerequest()" }, { @@ -11447,7 +11603,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_service_wholesaleservice_constructor", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": ".constructor()" }, { @@ -11459,7 +11615,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_service_wholesaleservice_getwholesalerequests", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": ".getwholesalerequests()" }, { @@ -11471,7 +11627,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_service_wholesaleservice_rejectwholesalerequest", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": ".rejectwholesalerequest()" }, { @@ -11654,6 +11810,18 @@ "community_name": "AuthController", "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": 35, + "community_name": "AuthController", + "norm_label": ".constructor()" + }, { "label": ".login()", "file_type": "code", @@ -12098,6 +12266,18 @@ "community_name": "CategoriesController", "norm_label": ".updatecategory()" }, + { + "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": 4, + "community_name": "SafeImage.tsx", + "norm_label": "backbutton()" + }, { "label": "ProductDetailModal()", "file_type": "code", @@ -12170,6 +12350,18 @@ "community_name": "SafeImage.tsx", "norm_label": "safeimage()" }, + { + "label": "VetGallery()", + "file_type": "code", + "source_file": "frontend/application/components/VetGallery.tsx", + "source_location": "L71", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_components_vetgallery_vetgallery", + "community": 4, + "community_name": "SafeImage.tsx", + "norm_label": "vetgallery()" + }, { "label": "VideoModalPlayer()", "file_type": "code", @@ -13010,6 +13202,102 @@ "community_name": "UsersService", "norm_label": ".validate()" }, + { + "label": ".addAddress()", + "file_type": "code", + "source_file": "backend/src/users/users.controller.ts", + "source_location": "L131", + "_callable": true, + "_origin": "ast", + "id": "backend_src_users_users_controller_userscontroller_addaddress", + "community": 48, + "community_name": "UsersService", + "norm_label": ".addaddress()" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/users/users.controller.ts", + "source_location": "L44", + "_callable": true, + "_origin": "ast", + "id": "backend_src_users_users_controller_userscontroller_constructor", + "community": 48, + "community_name": "UsersService", + "norm_label": ".constructor()" + }, + { + "label": ".deleteAddress()", + "file_type": "code", + "source_file": "backend/src/users/users.controller.ts", + "source_location": "L179", + "_callable": true, + "_origin": "ast", + "id": "backend_src_users_users_controller_userscontroller_deleteaddress", + "community": 48, + "community_name": "UsersService", + "norm_label": ".deleteaddress()" + }, + { + "label": ".getProfile()", + "file_type": "code", + "source_file": "backend/src/users/users.controller.ts", + "source_location": "L68", + "_callable": true, + "_origin": "ast", + "id": "backend_src_users_users_controller_userscontroller_getprofile", + "community": 48, + "community_name": "UsersService", + "norm_label": ".getprofile()" + }, + { + "label": ".setDefaultAddress()", + "file_type": "code", + "source_file": "backend/src/users/users.controller.ts", + "source_location": "L198", + "_callable": true, + "_origin": "ast", + "id": "backend_src_users_users_controller_userscontroller_setdefaultaddress", + "community": 48, + "community_name": "UsersService", + "norm_label": ".setdefaultaddress()" + }, + { + "label": ".topUpWallet()", + "file_type": "code", + "source_file": "backend/src/users/users.controller.ts", + "source_location": "L223", + "_callable": true, + "_origin": "ast", + "id": "backend_src_users_users_controller_userscontroller_topupwallet", + "community": 48, + "community_name": "UsersService", + "norm_label": ".topupwallet()" + }, + { + "label": ".updateAddress()", + "file_type": "code", + "source_file": "backend/src/users/users.controller.ts", + "source_location": "L159", + "_callable": true, + "_origin": "ast", + "id": "backend_src_users_users_controller_userscontroller_updateaddress", + "community": 48, + "community_name": "UsersService", + "norm_label": ".updateaddress()" + }, + { + "label": ".updateProfile()", + "file_type": "code", + "source_file": "backend/src/users/users.controller.ts", + "source_location": "L103", + "_callable": true, + "_origin": "ast", + "id": "backend_src_users_users_controller_userscontroller_updateprofile", + "community": 48, + "community_name": "UsersService", + "norm_label": ".updateprofile()" + }, { "label": ".addAddress()", "file_type": "code", @@ -14078,102 +14366,6 @@ "community_name": "SmartAdvisorService", "norm_label": ".update()" }, - { - "label": ".addAddress()", - "file_type": "code", - "source_file": "backend/src/users/users.controller.ts", - "source_location": "L131", - "_callable": true, - "_origin": "ast", - "id": "backend_src_users_users_controller_userscontroller_addaddress", - "community": 54, - "community_name": "UsersController", - "norm_label": ".addaddress()" - }, - { - "label": ".constructor()", - "file_type": "code", - "source_file": "backend/src/users/users.controller.ts", - "source_location": "L44", - "_callable": true, - "_origin": "ast", - "id": "backend_src_users_users_controller_userscontroller_constructor", - "community": 54, - "community_name": "UsersController", - "norm_label": ".constructor()" - }, - { - "label": ".deleteAddress()", - "file_type": "code", - "source_file": "backend/src/users/users.controller.ts", - "source_location": "L179", - "_callable": true, - "_origin": "ast", - "id": "backend_src_users_users_controller_userscontroller_deleteaddress", - "community": 54, - "community_name": "UsersController", - "norm_label": ".deleteaddress()" - }, - { - "label": ".getProfile()", - "file_type": "code", - "source_file": "backend/src/users/users.controller.ts", - "source_location": "L68", - "_callable": true, - "_origin": "ast", - "id": "backend_src_users_users_controller_userscontroller_getprofile", - "community": 54, - "community_name": "UsersController", - "norm_label": ".getprofile()" - }, - { - "label": ".setDefaultAddress()", - "file_type": "code", - "source_file": "backend/src/users/users.controller.ts", - "source_location": "L198", - "_callable": true, - "_origin": "ast", - "id": "backend_src_users_users_controller_userscontroller_setdefaultaddress", - "community": 54, - "community_name": "UsersController", - "norm_label": ".setdefaultaddress()" - }, - { - "label": ".topUpWallet()", - "file_type": "code", - "source_file": "backend/src/users/users.controller.ts", - "source_location": "L223", - "_callable": true, - "_origin": "ast", - "id": "backend_src_users_users_controller_userscontroller_topupwallet", - "community": 54, - "community_name": "UsersController", - "norm_label": ".topupwallet()" - }, - { - "label": ".updateAddress()", - "file_type": "code", - "source_file": "backend/src/users/users.controller.ts", - "source_location": "L159", - "_callable": true, - "_origin": "ast", - "id": "backend_src_users_users_controller_userscontroller_updateaddress", - "community": 54, - "community_name": "UsersController", - "norm_label": ".updateaddress()" - }, - { - "label": ".updateProfile()", - "file_type": "code", - "source_file": "backend/src/users/users.controller.ts", - "source_location": "L103", - "_callable": true, - "_origin": "ast", - "id": "backend_src_users_users_controller_userscontroller_updateprofile", - "community": 54, - "community_name": "UsersController", - "norm_label": ".updateprofile()" - }, { "label": "IconPickerModal()", "file_type": "code", @@ -14666,6 +14858,126 @@ "community_name": "tickets.controller.ts", "norm_label": ".updateticketstatus()" }, + { + "label": ".adminLogin()", + "file_type": "code", + "source_file": "backend/src/auth/auth.service.ts", + "source_location": "L263", + "_callable": true, + "_origin": "ast", + "id": "backend_src_auth_auth_service_authservice_adminlogin", + "community": 60, + "community_name": "AuthService", + "norm_label": ".adminlogin()" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "backend/src/auth/auth.service.ts", + "source_location": "L38", + "_callable": true, + "_origin": "ast", + "id": "backend_src_auth_auth_service_authservice_constructor", + "community": 60, + "community_name": "AuthService", + "norm_label": ".constructor()" + }, + { + "label": ".login()", + "file_type": "code", + "source_file": "backend/src/auth/auth.service.ts", + "source_location": "L222", + "_callable": true, + "_origin": "ast", + "id": "backend_src_auth_auth_service_authservice_login", + "community": 60, + "community_name": "AuthService", + "norm_label": ".login()" + }, + { + "label": ".refresh()", + "file_type": "code", + "source_file": "backend/src/auth/auth.service.ts", + "source_location": "L319", + "_callable": true, + "_origin": "ast", + "id": "backend_src_auth_auth_service_authservice_refresh", + "community": 60, + "community_name": "AuthService", + "norm_label": ".refresh()" + }, + { + "label": ".register()", + "file_type": "code", + "source_file": "backend/src/auth/auth.service.ts", + "source_location": "L167", + "_callable": true, + "_origin": "ast", + "id": "backend_src_auth_auth_service_authservice_register", + "community": 60, + "community_name": "AuthService", + "norm_label": ".register()" + }, + { + "label": ".sendOtp()", + "file_type": "code", + "source_file": "backend/src/auth/auth.service.ts", + "source_location": "L45", + "_callable": true, + "_origin": "ast", + "id": "backend_src_auth_auth_service_authservice_sendotp", + "community": 60, + "community_name": "AuthService", + "norm_label": ".sendotp()" + }, + { + "label": ".verifyOtp()", + "file_type": "code", + "source_file": "backend/src/auth/auth.service.ts", + "source_location": "L126", + "_callable": true, + "_origin": "ast", + "id": "backend_src_auth_auth_service_authservice_verifyotp", + "community": 60, + "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": 60, + "community_name": "AuthService", + "norm_label": "normalizemobile()" + }, + { + "label": ".del()", + "file_type": "code", + "source_file": "backend/src/redis/redis.service.ts", + "source_location": "L31", + "_callable": true, + "_origin": "ast", + "id": "backend_src_redis_redis_service_redisservice_del", + "community": 60, + "community_name": "AuthService", + "norm_label": ".del()" + }, + { + "label": ".ttl()", + "file_type": "code", + "source_file": "backend/src/redis/redis.service.ts", + "source_location": "L44", + "_callable": true, + "_origin": "ast", + "id": "backend_src_redis_redis_service_redisservice_ttl", + "community": 60, + "community_name": "AuthService", + "norm_label": ".ttl()" + }, { "label": ".getAdminTransactions()", "file_type": "code", @@ -14675,7 +14987,7 @@ "_origin": "ast", "id": "backend_src_payment_payment_service_paymentservice_getadmintransactions", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "norm_label": ".getadmintransactions()" }, { @@ -14891,7 +15203,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_petscontroller_constructor", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": ".constructor()" }, { @@ -14903,7 +15215,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_petscontroller_deletepet", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": ".deletepet()" }, { @@ -14915,7 +15227,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_petscontroller_getpets", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": ".getpets()" }, { @@ -14927,7 +15239,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_service_petsservice_constructor", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": ".constructor()" }, { @@ -14939,7 +15251,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_service_petsservice_deletepet", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": ".deletepet()" }, { @@ -14951,188 +15263,164 @@ "_origin": "ast", "id": "backend_src_admin_pets_service_petsservice_getpets", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": ".getpets()" }, { "label": ".constructor()", "file_type": "code", - "source_file": "backend/src/payment/payment.controller.ts", - "source_location": "L42", + "source_file": "backend/src/admin/wiki.service.ts", + "source_location": "L13", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_controller_paymentcontroller_constructor", - "community": 68, - "community_name": "PaymentService", + "id": "backend_src_admin_wiki_service_wikiservice_constructor", + "community": 67, + "community_name": "admin.module.ts", "norm_label": ".constructor()" }, { - "label": ".adminLiveInquiry()", + "label": ".createTerm()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L845", + "source_file": "backend/src/admin/wiki.service.ts", + "source_location": "L45", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_adminliveinquiry", - "community": 68, - "community_name": "PaymentService", - "norm_label": ".adminliveinquiry()" + "id": "backend_src_admin_wiki_service_wikiservice_createterm", + "community": 67, + "community_name": "admin.module.ts", + "norm_label": ".createterm()" }, { - "label": ".adminManualReject()", + "label": ".deleteTerm()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L988", + "source_file": "backend/src/admin/wiki.service.ts", + "source_location": "L57", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_adminmanualreject", - "community": 68, - "community_name": "PaymentService", - "norm_label": ".adminmanualreject()" + "id": "backend_src_admin_wiki_service_wikiservice_deleteterm", + "community": 67, + "community_name": "admin.module.ts", + "norm_label": ".deleteterm()" }, { - "label": ".adminManualVerify()", + "label": ".getTerms()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L925", + "source_file": "backend/src/admin/wiki.service.ts", + "source_location": "L15", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_adminmanualverify", - "community": 68, - "community_name": "PaymentService", - "norm_label": ".adminmanualverify()" + "id": "backend_src_admin_wiki_service_wikiservice_getterms", + "community": 67, + "community_name": "admin.module.ts", + "norm_label": ".getterms()" }, { - "label": ".checkGatewayHealth()", + "label": ".updateTerm()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L1014", + "source_file": "backend/src/admin/wiki.service.ts", + "source_location": "L49", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_checkgatewayhealth", + "id": "backend_src_admin_wiki_service_wikiservice_updateterm", + "community": 67, + "community_name": "admin.module.ts", + "norm_label": ".updateterm()" + }, + { + "label": ".checkAndSendRefillReminders()", + "file_type": "code", + "source_file": "backend/src/orders/orders.service.ts", + "source_location": "L400", + "_callable": true, + "_origin": "ast", + "id": "backend_src_orders_orders_service_ordersservice_checkandsendrefillreminders", "community": 68, - "community_name": "PaymentService", - "norm_label": ".checkgatewayhealth()" + "community_name": "OrdersService", + "norm_label": ".checkandsendrefillreminders()" }, { "label": ".constructor()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L22", + "source_file": "backend/src/orders/orders.service.ts", + "source_location": "L17", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_constructor", + "id": "backend_src_orders_orders_service_ordersservice_constructor", "community": 68, - "community_name": "PaymentService", + "community_name": "OrdersService", "norm_label": ".constructor()" }, { - "label": ".getAdminTransactionStats()", + "label": ".create()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L798", + "source_file": "backend/src/orders/orders.service.ts", + "source_location": "L101", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_getadmintransactionstats", + "id": "backend_src_orders_orders_service_ordersservice_create", "community": 68, - "community_name": "PaymentService", - "norm_label": ".getadmintransactionstats()" + "community_name": "OrdersService", + "norm_label": ".create()" }, { - "label": ".getTransaction()", + "label": ".generateTrackingNumber()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L635", + "source_file": "backend/src/orders/orders.service.ts", + "source_location": "L22", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_gettransaction", + "id": "backend_src_orders_orders_service_ordersservice_generatetrackingnumber", "community": 68, - "community_name": "PaymentService", - "norm_label": ".gettransaction()" + "community_name": "OrdersService", + "norm_label": ".generatetrackingnumber()" }, { - "label": ".getTransactionByTrackId()", + "label": ".releaseExpiredInventoryReservations()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L896", + "source_file": "backend/src/orders/orders.service.ts", + "source_location": "L430", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_gettransactionbytrackid", + "id": "backend_src_orders_orders_service_ordersservice_releaseexpiredinventoryreservations", "community": 68, - "community_name": "PaymentService", - "norm_label": ".gettransactionbytrackid()" + "community_name": "OrdersService", + "norm_label": ".releaseexpiredinventoryreservations()" }, { - "label": ".inquiryDirectZibal()", + "label": ".retryPayment()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L902", + "source_file": "backend/src/orders/orders.service.ts", + "source_location": "L452", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_inquirydirectzibal", + "id": "backend_src_orders_orders_service_ordersservice_retrypayment", "community": 68, - "community_name": "PaymentService", - "norm_label": ".inquirydirectzibal()" + "community_name": "OrdersService", + "norm_label": ".retrypayment()" }, { - "label": ".reconcilePendingTransactions()", + "label": ".updateStatus()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L540", + "source_file": "backend/src/orders/orders.service.ts", + "source_location": "L322", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_reconcilependingtransactions", + "id": "backend_src_orders_orders_service_ordersservice_updatestatus", "community": 68, - "community_name": "PaymentService", - "norm_label": ".reconcilependingtransactions()" + "community_name": "OrdersService", + "norm_label": ".updatestatus()" }, { - "label": ".verifyAndProcess()", + "label": ".validateCoupon()", "file_type": "code", - "source_file": "backend/src/payment/payment.service.ts", - "source_location": "L227", + "source_file": "backend/src/orders/orders.service.ts", + "source_location": "L27", "_callable": true, "_origin": "ast", - "id": "backend_src_payment_payment_service_paymentservice_verifyandprocess", + "id": "backend_src_orders_orders_service_ordersservice_validatecoupon", "community": 68, - "community_name": "PaymentService", - "norm_label": ".verifyandprocess()" - }, - { - "label": ".getResultMessage()", - "file_type": "code", - "source_file": "backend/src/payment/zibal.service.ts", - "source_location": "L779", - "_callable": true, - "_origin": "ast", - "id": "backend_src_payment_zibal_service_zibalservice_getresultmessage", - "community": 68, - "community_name": "PaymentService", - "norm_label": ".getresultmessage()" - }, - { - "label": ".getStatusMessage()", - "file_type": "code", - "source_file": "backend/src/payment/zibal.service.ts", - "source_location": "L816", - "_callable": true, - "_origin": "ast", - "id": "backend_src_payment_zibal_service_zibalservice_getstatusmessage", - "community": 68, - "community_name": "PaymentService", - "norm_label": ".getstatusmessage()" - }, - { - "label": ".inquiryPayment()", - "file_type": "code", - "source_file": "backend/src/payment/zibal.service.ts", - "source_location": "L260", - "_callable": true, - "_origin": "ast", - "id": "backend_src_payment_zibal_service_zibalservice_inquirypayment", - "community": 68, - "community_name": "PaymentService", - "norm_label": ".inquirypayment()" + "community_name": "OrdersService", + "norm_label": ".validatecoupon()" }, { "label": "Spinner()", @@ -15266,6 +15554,42 @@ "community_name": "getPageMetadata", "norm_label": "generatemetadata()" }, + { + "label": "CatalogClient()", + "file_type": "code", + "source_file": "frontend/application/app/catalog/CatalogClient.tsx", + "source_location": "L8", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_app_catalog_catalogclient_catalogclient", + "community": 71, + "community_name": "getPageMetadata", + "norm_label": "catalogclient()" + }, + { + "label": "CatalogPage()", + "file_type": "code", + "source_file": "frontend/application/app/catalog/page.tsx", + "source_location": "L13", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_app_catalog_page_catalogpage", + "community": 71, + "community_name": "getPageMetadata", + "norm_label": "catalogpage()" + }, + { + "label": "generateMetadata()", + "file_type": "code", + "source_file": "frontend/application/app/catalog/page.tsx", + "source_location": "L5", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_app_catalog_page_generatemetadata", + "community": 71, + "community_name": "getPageMetadata", + "norm_label": "generatemetadata()" + }, { "label": "Checkout()", "file_type": "code", @@ -15314,42 +15638,6 @@ "community_name": "getPageMetadata", "norm_label": "generatemetadata()" }, - { - "label": "generateMetadata()", - "file_type": "code", - "source_file": "frontend/application/app/page.tsx", - "source_location": "L5", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_app_page_generatemetadata", - "community": 71, - "community_name": "getPageMetadata", - "norm_label": "generatemetadata()" - }, - { - "label": "getHomeData()", - "file_type": "code", - "source_file": "frontend/application/app/page.tsx", - "source_location": "L13", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_app_page_gethomedata", - "community": 71, - "community_name": "getPageMetadata", - "norm_label": "gethomedata()" - }, - { - "label": "Home()", - "file_type": "code", - "source_file": "frontend/application/app/page.tsx", - "source_location": "L32", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_app_page_home", - "community": 71, - "community_name": "getPageMetadata", - "norm_label": "home()" - }, { "label": "generateMetadata()", "file_type": "code", @@ -15471,16 +15759,28 @@ "norm_label": "trackpage()" }, { - "label": "ArchivePage()", + "label": "generateMetadata()", "file_type": "code", - "source_file": "frontend/application/components/ArchivePage.tsx", - "source_location": "L235", + "source_file": "frontend/application/app/trust-seals/page.tsx", + "source_location": "L7", "_callable": true, "_origin": "ast", - "id": "frontend_application_components_archivepage_archivepage", + "id": "frontend_application_app_trust_seals_page_generatemetadata", "community": 71, "community_name": "getPageMetadata", - "norm_label": "archivepage()" + "norm_label": "generatemetadata()" + }, + { + "label": "TrustSealsPage()", + "file_type": "code", + "source_file": "frontend/application/app/trust-seals/page.tsx", + "source_location": "L15", + "_callable": true, + "_origin": "ast", + "id": "frontend_application_app_trust_seals_page_trustsealspage", + "community": 71, + "community_name": "getPageMetadata", + "norm_label": "trustsealspage()" }, { "label": "getPageMetadata()", @@ -15935,7 +16235,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_reportscontroller_constructor", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": ".constructor()" }, { @@ -15947,7 +16247,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_reportscontroller_getreports", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": ".getreports()" }, { @@ -15959,7 +16259,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_service_reportsservice_constructor", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": ".constructor()" }, { @@ -15971,68 +16271,44 @@ "_origin": "ast", "id": "backend_src_admin_reports_service_reportsservice_getdashboardreports", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": ".getdashboardreports()" }, { - "label": ".constructor()", + "label": "HomeClient()", "file_type": "code", - "source_file": "backend/src/admin/wiki.service.ts", - "source_location": "L13", + "source_file": "frontend/application/app/HomeClient.tsx", + "source_location": "L24", "_callable": true, "_origin": "ast", - "id": "backend_src_admin_wiki_service_wikiservice_constructor", - "community": 8, - "community_name": "admin.module.ts", - "norm_label": ".constructor()" + "id": "frontend_application_app_homeclient_homeclient", + "community": 85, + "community_name": "HomeClient.tsx", + "norm_label": "homeclient()" }, { - "label": ".createTerm()", + "label": "ArchivePage()", "file_type": "code", - "source_file": "backend/src/admin/wiki.service.ts", - "source_location": "L45", + "source_file": "frontend/application/components/ArchivePage.tsx", + "source_location": "L235", "_callable": true, "_origin": "ast", - "id": "backend_src_admin_wiki_service_wikiservice_createterm", - "community": 8, - "community_name": "admin.module.ts", - "norm_label": ".createterm()" + "id": "frontend_application_components_archivepage_archivepage", + "community": 85, + "community_name": "HomeClient.tsx", + "norm_label": "archivepage()" }, { - "label": ".deleteTerm()", + "label": "ArchiveProductCard()", "file_type": "code", - "source_file": "backend/src/admin/wiki.service.ts", - "source_location": "L57", + "source_file": "frontend/application/components/ArchivePage.tsx", + "source_location": "L74", "_callable": true, "_origin": "ast", - "id": "backend_src_admin_wiki_service_wikiservice_deleteterm", - "community": 8, - "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": 8, - "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": 8, - "community_name": "admin.module.ts", - "norm_label": ".updateterm()" + "id": "frontend_application_components_archivepage_archiveproductcard", + "community": 85, + "community_name": "HomeClient.tsx", + "norm_label": "archiveproductcard()" }, { "label": "BannerPlacement()", @@ -16043,9 +16319,57 @@ "_origin": "ast", "id": "frontend_application_components_bannerplacement_bannerplacement", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "bannerplacement()" }, + { + "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": 85, + "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": 85, + "community_name": "HomeClient.tsx", + "norm_label": "loadfaqs()" + }, + { + "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": 85, + "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": 85, + "community_name": "HomeClient.tsx", + "norm_label": "loadtestimonials()" + }, { "label": ".getBanners()", "file_type": "code", @@ -16055,7 +16379,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_productservice_productservice_getbanners", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": ".getbanners()" }, { @@ -16131,28 +16455,28 @@ "norm_label": ".verifypayment()" }, { - "label": "NetworkBanner()", + "label": ".constructor()", "file_type": "code", - "source_file": "frontend/application/components/NetworkBanner.tsx", - "source_location": "L7", + "source_file": "backend/src/common/metrics.controller.ts", + "source_location": "L11", "_callable": true, "_origin": "ast", - "id": "frontend_application_components_networkbanner_networkbanner", + "id": "backend_src_common_metrics_controller_metricscontroller_constructor", "community": 88, - "community_name": "NetworkBanner.tsx", - "norm_label": "networkbanner()" + "community_name": "MetricsController", + "norm_label": ".constructor()" }, { - "label": "useNetworkStatus()", + "label": ".getMetrics()", "file_type": "code", - "source_file": "frontend/application/lib/hooks/useNetworkStatus.ts", - "source_location": "L3", + "source_file": "backend/src/common/metrics.controller.ts", + "source_location": "L18", "_callable": true, "_origin": "ast", - "id": "frontend_application_lib_hooks_usenetworkstatus_usenetworkstatus", + "id": "backend_src_common_metrics_controller_metricscontroller_getmetrics", "community": 88, - "community_name": "NetworkBanner.tsx", - "norm_label": "usenetworkstatus()" + "community_name": "MetricsController", + "norm_label": ".getmetrics()" }, { "label": "main()", @@ -16250,18 +16574,6 @@ "community_name": "seed-products.ts", "norm_label": "slugify()" }, - { - "label": "HomeClient()", - "file_type": "code", - "source_file": "frontend/application/app/HomeClient.tsx", - "source_location": "L24", - "_callable": true, - "_origin": "ast", - "id": "frontend_application_app_homeclient_homeclient", - "community": 90, - "community_name": "useSettingsStore", - "norm_label": "homeclient()" - }, { "label": "B2BLandingClient()", "file_type": "code", @@ -16274,30 +16586,6 @@ "community_name": "useSettingsStore", "norm_label": "b2blandingclient()" }, - { - "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": 90, - "community_name": "useSettingsStore", - "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": 90, - "community_name": "useSettingsStore", - "norm_label": "loadblogs()" - }, { "label": "BrandLogo()", "file_type": "code", @@ -16311,28 +16599,16 @@ "norm_label": "brandlogo()" }, { - "label": "FAQSection()", + "label": "EnamadBadge()", "file_type": "code", - "source_file": "frontend/application/components/FAQSection.tsx", - "source_location": "L15", + "source_file": "frontend/application/components/EnamadBadge.tsx", + "source_location": "L9", "_callable": true, "_origin": "ast", - "id": "frontend_application_components_faqsection_faqsection", + "id": "frontend_application_components_enamadbadge_enamadbadge", "community": 90, "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": 90, - "community_name": "useSettingsStore", - "norm_label": "loadfaqs()" + "norm_label": "enamadbadge()" }, { "label": "Footer()", @@ -16383,28 +16659,16 @@ "norm_label": "maintenancepage()" }, { - "label": "TestimonialsSection()", + "label": "NetworkBanner()", "file_type": "code", - "source_file": "frontend/application/components/TestimonialsSection.tsx", - "source_location": "L20", + "source_file": "frontend/application/components/NetworkBanner.tsx", + "source_location": "L7", "_callable": true, "_origin": "ast", - "id": "frontend_application_components_testimonialssection_testimonialssection", + "id": "frontend_application_components_networkbanner_networkbanner", "community": 90, "community_name": "useSettingsStore", - "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": 90, - "community_name": "useSettingsStore", - "norm_label": "loadtestimonials()" + "norm_label": "networkbanner()" }, { "label": "TickerBanner()", @@ -16419,28 +16683,16 @@ "norm_label": "tickerbanner()" }, { - "label": "VetGallery()", + "label": "useNetworkStatus()", "file_type": "code", - "source_file": "frontend/application/components/VetGallery.tsx", - "source_location": "L71", + "source_file": "frontend/application/lib/hooks/useNetworkStatus.ts", + "source_location": "L3", "_callable": true, "_origin": "ast", - "id": "frontend_application_components_vetgallery_vetgallery", + "id": "frontend_application_lib_hooks_usenetworkstatus_usenetworkstatus", "community": 90, "community_name": "useSettingsStore", - "norm_label": "vetgallery()" - }, - { - "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": "useSettingsStore", - "norm_label": "getbaseurl()" + "norm_label": "usenetworkstatus()" }, { "label": ".constructor()", @@ -16451,7 +16703,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_orderscontroller_constructor", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": ".constructor()" }, { @@ -16463,7 +16715,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_orderscontroller_create", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": ".create()" }, { @@ -16475,7 +16727,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_orderscontroller_findall", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": ".findall()" }, { @@ -16487,7 +16739,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_orderscontroller_findone", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": ".findone()" }, { @@ -16499,7 +16751,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_orderscontroller_retrypayment", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": ".retrypayment()" }, { @@ -16511,45 +16763,9 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_orderscontroller_validatecoupon", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": ".validatecoupon()" }, - { - "label": ".checkAndSendRefillReminders()", - "file_type": "code", - "source_file": "backend/src/orders/orders.service.ts", - "source_location": "L400", - "_callable": true, - "_origin": "ast", - "id": "backend_src_orders_orders_service_ordersservice_checkandsendrefillreminders", - "community": 92, - "community_name": "OrdersService", - "norm_label": ".checkandsendrefillreminders()" - }, - { - "label": ".constructor()", - "file_type": "code", - "source_file": "backend/src/orders/orders.service.ts", - "source_location": "L17", - "_callable": true, - "_origin": "ast", - "id": "backend_src_orders_orders_service_ordersservice_constructor", - "community": 92, - "community_name": "OrdersService", - "norm_label": ".constructor()" - }, - { - "label": ".create()", - "file_type": "code", - "source_file": "backend/src/orders/orders.service.ts", - "source_location": "L101", - "_callable": true, - "_origin": "ast", - "id": "backend_src_orders_orders_service_ordersservice_create", - "community": 92, - "community_name": "OrdersService", - "norm_label": ".create()" - }, { "label": ".findAllByUser()", "file_type": "code", @@ -16559,7 +16775,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_service_ordersservice_findallbyuser", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": ".findallbyuser()" }, { @@ -16571,69 +16787,9 @@ "_origin": "ast", "id": "backend_src_orders_orders_service_ordersservice_findone", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": ".findone()" }, - { - "label": ".generateTrackingNumber()", - "file_type": "code", - "source_file": "backend/src/orders/orders.service.ts", - "source_location": "L22", - "_callable": true, - "_origin": "ast", - "id": "backend_src_orders_orders_service_ordersservice_generatetrackingnumber", - "community": 92, - "community_name": "OrdersService", - "norm_label": ".generatetrackingnumber()" - }, - { - "label": ".releaseExpiredInventoryReservations()", - "file_type": "code", - "source_file": "backend/src/orders/orders.service.ts", - "source_location": "L430", - "_callable": true, - "_origin": "ast", - "id": "backend_src_orders_orders_service_ordersservice_releaseexpiredinventoryreservations", - "community": 92, - "community_name": "OrdersService", - "norm_label": ".releaseexpiredinventoryreservations()" - }, - { - "label": ".retryPayment()", - "file_type": "code", - "source_file": "backend/src/orders/orders.service.ts", - "source_location": "L452", - "_callable": true, - "_origin": "ast", - "id": "backend_src_orders_orders_service_ordersservice_retrypayment", - "community": 92, - "community_name": "OrdersService", - "norm_label": ".retrypayment()" - }, - { - "label": ".updateStatus()", - "file_type": "code", - "source_file": "backend/src/orders/orders.service.ts", - "source_location": "L322", - "_callable": true, - "_origin": "ast", - "id": "backend_src_orders_orders_service_ordersservice_updatestatus", - "community": 92, - "community_name": "OrdersService", - "norm_label": ".updatestatus()" - }, - { - "label": ".validateCoupon()", - "file_type": "code", - "source_file": "backend/src/orders/orders.service.ts", - "source_location": "L27", - "_callable": true, - "_origin": "ast", - "id": "backend_src_orders_orders_service_ordersservice_validatecoupon", - "community": 92, - "community_name": "OrdersService", - "norm_label": ".validatecoupon()" - }, { "label": "BlogPostPage()", "file_type": "code", @@ -16643,7 +16799,7 @@ "_origin": "ast", "id": "frontend_application_app_blog_slug_page_blogpostpage", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "community_name": "wiki/[slug]/page.tsx", "norm_label": "blogpostpage()" }, { @@ -16655,7 +16811,7 @@ "_origin": "ast", "id": "frontend_application_app_blog_slug_page_generatemetadata", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "community_name": "wiki/[slug]/page.tsx", "norm_label": "generatemetadata()" }, { @@ -16667,7 +16823,7 @@ "_origin": "ast", "id": "frontend_application_app_blog_slug_page_getblog", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "community_name": "wiki/[slug]/page.tsx", "norm_label": "getblog()" }, { @@ -16679,7 +16835,7 @@ "_origin": "ast", "id": "frontend_application_app_blog_slug_page_safeiso", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "community_name": "wiki/[slug]/page.tsx", "norm_label": "safeiso()" }, { @@ -16691,7 +16847,7 @@ "_origin": "ast", "id": "frontend_application_app_blog_slug_page_safelocaldate", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "community_name": "wiki/[slug]/page.tsx", "norm_label": "safelocaldate()" }, { @@ -16703,20 +16859,56 @@ "_origin": "ast", "id": "frontend_application_app_shop_slug_page_generatemetadata", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "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": "L93", + "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": "blog/[slug]/page.tsx", - "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()", @@ -16727,9 +16919,21 @@ "_origin": "ast", "id": "frontend_application_components_blogpostclient_blogpostclient", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "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", @@ -16739,7 +16943,7 @@ "_origin": "ast", "id": "frontend_application_lib_seo_formatpagetitle", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "community_name": "wiki/[slug]/page.tsx", "norm_label": "formatpagetitle()" }, { @@ -16751,309 +16955,9 @@ "_origin": "ast", "id": "frontend_application_lib_seo_getseoconfig", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "community_name": "wiki/[slug]/page.tsx", "norm_label": "getseoconfig()" }, - { - "label": ".clearAllSmsLogs()", - "file_type": "code", - "source_file": "backend/src/common/services/sms.service.ts", - "source_location": "L255", - "_callable": true, - "_origin": "ast", - "id": "backend_src_common_services_sms_service_smsservice_clearallsmslogs", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".clearallsmslogs()" - }, - { - "label": ".deleteSmsLog()", - "file_type": "code", - "source_file": "backend/src/common/services/sms.service.ts", - "source_location": "L248", - "_callable": true, - "_origin": "ast", - "id": "backend_src_common_services_sms_service_smsservice_deletesmslog", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".deletesmslog()" - }, - { - "label": ".getSmsLogs()", - "file_type": "code", - "source_file": "backend/src/common/services/sms.service.ts", - "source_location": "L191", - "_callable": true, - "_origin": "ast", - "id": "backend_src_common_services_sms_service_smsservice_getsmslogs", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".getsmslogs()" - }, - { - "label": ".constructor()", - "file_type": "code", - "source_file": "backend/src/settings/settings.controller.ts", - "source_location": "L29", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_controller_settingscontroller_constructor", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".constructor()" - }, - { - "label": ".addPattern()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L608", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_addpattern", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".addpattern()" - }, - { - "label": ".clearAllSmsLogs()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L624", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_clearallsmslogs", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".clearallsmslogs()" - }, - { - "label": ".constructor()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L148", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_constructor", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".constructor()" - }, - { - "label": ".deleteScientificTerm()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L397", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_deletescientificterm", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".deletescientificterm()" - }, - { - "label": ".deleteSmsLog()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L620", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_deletesmslog", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".deletesmslog()" - }, - { - "label": ".editPattern()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L612", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_editpattern", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".editpattern()" - }, - { - "label": ".getFinancialSettings()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L270", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_getfinancialsettings", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".getfinancialsettings()" - }, - { - "label": ".getPatterns()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L604", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_getpatterns", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".getpatterns()" - }, - { - "label": ".getScientificTerms()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L372", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_getscientificterms", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".getscientificterms()" - }, - { - "label": ".getSmsCredit()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L587", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_getsmscredit", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".getsmscredit()" - }, - { - "label": ".getSmsLogs()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L616", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_getsmslogs", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".getsmslogs()" - }, - { - "label": ".getSmsSettings()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L583", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_getsmssettings", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".getsmssettings()" - }, - { - "label": ".getUiTexts()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L184", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_getuitexts", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".getuitexts()" - }, - { - "label": ".onModuleInit()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L153", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_onmoduleinit", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".onmoduleinit()" - }, - { - "label": ".seedDefaultUiTexts()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L157", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_seeddefaultuitexts", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".seeddefaultuitexts()" - }, - { - "label": ".testSms()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L600", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_testsms", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".testsms()" - }, - { - "label": ".updateBulkUiTexts()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L261", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_updatebulkuitexts", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".updatebulkuitexts()" - }, - { - "label": ".updateFinancialSettings()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L326", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_updatefinancialsettings", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".updatefinancialsettings()" - }, - { - "label": ".updateSmsSettings()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L591", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_updatesmssettings", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".updatesmssettings()" - }, - { - "label": ".updateUiText()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L229", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_updateuitext", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".updateuitext()" - }, - { - "label": ".upsertScientificTerm()", - "file_type": "code", - "source_file": "backend/src/settings/settings.service.ts", - "source_location": "L376", - "_callable": true, - "_origin": "ast", - "id": "backend_src_settings_settings_service_settingsservice_upsertscientificterm", - "community": 97, - "community_name": "SettingsService", - "norm_label": ".upsertscientificterm()" - }, { "label": ".addComment()", "file_type": "code", @@ -17150,6 +17054,102 @@ "community_name": "BlogsController", "norm_label": ".findtags()" }, + { + "label": ".addComment()", + "file_type": "code", + "source_file": "backend/src/blogs/blogs.service.ts", + "source_location": "L342", + "_callable": true, + "_origin": "ast", + "id": "backend_src_blogs_blogs_service_blogsservice_addcomment", + "community": 99, + "community_name": "BlogsController", + "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": 99, + "community_name": "BlogsController", + "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": 99, + "community_name": "BlogsController", + "norm_label": ".findall()" + }, + { + "label": ".findCommentsBySlug()", + "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_findcommentsbyslug", + "community": 99, + "community_name": "BlogsController", + "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": 99, + "community_name": "BlogsController", + "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": 99, + "community_name": "BlogsController", + "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": 99, + "community_name": "BlogsController", + "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": 99, + "community_name": "BlogsController", + "norm_label": ".gettags()" + }, { "label": "ApiBearerAuth", "file_type": "code", @@ -17348,6 +17348,39 @@ "community_name": "app.module.ts", "norm_label": "module" }, + { + "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": 1, + "community_name": "app.module.ts", + "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": 1, + "community_name": "app.module.ts", + "norm_label": "global" + }, + { + "label": "Module", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_common_revalidation_revalidation_module_ts_module", + "community": 1, + "community_name": "app.module.ts", + "norm_label": "module" + }, { "label": "sms.module.ts", "file_type": "code", @@ -17447,28 +17480,6 @@ "community_name": "app.module.ts", "norm_label": "module" }, - { - "label": "menu.module.ts", - "file_type": "code", - "source_file": "backend/src/menu/menu.module.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_menu_menu_module", - "community": 1, - "community_name": "app.module.ts", - "norm_label": "menu.module.ts" - }, - { - "label": "Module", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_menu_menu_module_ts_module", - "community": 1, - "community_name": "app.module.ts", - "norm_label": "module" - }, { "label": "payment.module.ts", "file_type": "code", @@ -17678,83 +17689,6 @@ "community_name": "app.module.ts", "norm_label": "module" }, - { - "label": "create-review.dto.ts", - "file_type": "code", - "source_file": "backend/src/reviews/dto/create-review.dto.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_reviews_dto_create_review_dto", - "community": 10, - "community_name": "CreateReviewDto", - "norm_label": "create-review.dto.ts" - }, - { - "label": "ApiProperty", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_reviews_dto_create_review_dto_ts_apiproperty", - "community": 10, - "community_name": "CreateReviewDto", - "norm_label": "apiproperty" - }, - { - "label": "IsInt", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_reviews_dto_create_review_dto_ts_isint", - "community": 10, - "community_name": "CreateReviewDto", - "norm_label": "isint" - }, - { - "label": "IsNotEmpty", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_reviews_dto_create_review_dto_ts_isnotempty", - "community": 10, - "community_name": "CreateReviewDto", - "norm_label": "isnotempty" - }, - { - "label": "IsOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_reviews_dto_create_review_dto_ts_isoptional", - "community": 10, - "community_name": "CreateReviewDto", - "norm_label": "isoptional" - }, - { - "label": "IsString", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_reviews_dto_create_review_dto_ts_isstring", - "community": 10, - "community_name": "CreateReviewDto", - "norm_label": "isstring" - }, - { - "label": "Min", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_reviews_dto_create_review_dto_ts_min", - "community": 10, - "community_name": "CreateReviewDto", - "norm_label": "min" - }, { "label": "ApiBearerAuth", "file_type": "code", @@ -17763,7 +17697,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_apibearerauth", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "apibearerauth" }, { @@ -17774,7 +17708,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_apioperation", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "apioperation" }, { @@ -17785,7 +17719,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_apitags", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "apitags" }, { @@ -17796,7 +17730,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_body", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "body" }, { @@ -17807,7 +17741,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_controller", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "controller" }, { @@ -17818,7 +17752,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_delete", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "delete" }, { @@ -17829,7 +17763,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_get", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "get" }, { @@ -17840,7 +17774,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_param", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "param" }, { @@ -17851,7 +17785,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_patch", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "patch" }, { @@ -17862,7 +17796,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_post", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "post" }, { @@ -17873,7 +17807,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_query", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "query" }, { @@ -17884,7 +17818,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_req", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "req" }, { @@ -17895,7 +17829,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_throttle", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "throttle" }, { @@ -17906,7 +17840,7 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_controller_ts_useguards", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "useguards" }, { @@ -17917,20 +17851,9 @@ "_origin": "ast", "id": "backend_src_reviews_reviews_service_ts_injectable", "community": 10, - "community_name": "CreateReviewDto", + "community_name": "ReviewsService", "norm_label": "injectable" }, - { - "label": "Max", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "max", - "community": 10, - "community_name": "CreateReviewDto", - "norm_label": "max" - }, { "label": "16-deep-audit-summary.md", "file_type": "document", @@ -18757,147 +18680,92 @@ "norm_label": "prescriptionsmanager" }, { - "label": "wiki/wiki.controller.ts", + "label": "wholesale-apply.dto.ts", "file_type": "code", - "source_file": "backend/src/wiki/wiki.controller.ts", + "source_file": "backend/src/wholesale/dto/wholesale-apply.dto.ts", "source_location": "L1", "_origin": "ast", - "id": "backend_src_wiki_wiki_controller", + "id": "backend_src_wholesale_dto_wholesale_apply_dto", "community": 107, - "community_name": "WikiController", - "norm_label": "wiki/wiki.controller.ts" + "community_name": "WholesaleApplyDto", + "norm_label": "wholesale-apply.dto.ts" }, { - "label": "ApiNotFoundResponse", + "label": "ApiProperty", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_ts_apinotfoundresponse", + "id": "backend_src_wholesale_dto_wholesale_apply_dto_ts_apiproperty", "community": 107, - "community_name": "WikiController", - "norm_label": "apinotfoundresponse" + "community_name": "WholesaleApplyDto", + "norm_label": "apiproperty" }, { - "label": "ApiOkResponse", + "label": "ApiPropertyOptional", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_ts_apiokresponse", + "id": "backend_src_wholesale_dto_wholesale_apply_dto_ts_apipropertyoptional", "community": 107, - "community_name": "WikiController", - "norm_label": "apiokresponse" + "community_name": "WholesaleApplyDto", + "norm_label": "apipropertyoptional" }, { - "label": "ApiOperation", + "label": "IsNotEmpty", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_ts_apioperation", + "id": "backend_src_wholesale_dto_wholesale_apply_dto_ts_isnotempty", "community": 107, - "community_name": "WikiController", - "norm_label": "apioperation" + "community_name": "WholesaleApplyDto", + "norm_label": "isnotempty" }, { - "label": "ApiTags", + "label": "IsOptional", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_ts_apitags", + "id": "backend_src_wholesale_dto_wholesale_apply_dto_ts_isoptional", "community": 107, - "community_name": "WikiController", - "norm_label": "apitags" + "community_name": "WholesaleApplyDto", + "norm_label": "isoptional" }, { - "label": "Controller", + "label": "IsString", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_ts_controller", + "id": "backend_src_wholesale_dto_wholesale_apply_dto_ts_isstring", "community": 107, - "community_name": "WikiController", - "norm_label": "controller" + "community_name": "WholesaleApplyDto", + "norm_label": "isstring" }, { - "label": "Get", + "label": "admin.service.spec.ts", "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_ts_get", - "community": 107, - "community_name": "WikiController", - "norm_label": "get" - }, - { - "label": "Param", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_ts_param", - "community": 107, - "community_name": "WikiController", - "norm_label": "param" - }, - { - "label": "Query", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_wiki_wiki_controller_ts_query", - "community": 107, - "community_name": "WikiController", - "norm_label": "query" - }, - { - "label": "wiki.module.ts", - "file_type": "code", - "source_file": "backend/src/wiki/wiki.module.ts", + "source_file": "backend/src/admin/admin.service.spec.ts", "source_location": "L1", "_origin": "ast", - "id": "backend_src_wiki_wiki_module", - "community": 107, - "community_name": "WikiController", - "norm_label": "wiki.module.ts" + "id": "backend_src_admin_admin_service_spec", + "community": 108, + "community_name": "PrismaService", + "norm_label": "admin.service.spec.ts" }, { - "label": "Module", + "label": "admin/blogs.service.ts", "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_wiki_wiki_module_ts_module", - "community": 107, - "community_name": "WikiController", - "norm_label": "module" - }, - { - "label": "wiki/wiki.service.ts", - "file_type": "code", - "source_file": "backend/src/wiki/wiki.service.ts", + "source_file": "backend/src/admin/blogs.service.ts", "source_location": "L1", "_origin": "ast", - "id": "backend_src_wiki_wiki_service", - "community": 107, - "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": 107, - "community_name": "WikiController", - "norm_label": "injectable" + "id": "backend_src_admin_blogs_service", + "community": 108, + "community_name": "PrismaService", + "norm_label": "admin/blogs.service.ts" }, { "label": "categories.service.ts", @@ -18910,6 +18778,17 @@ "community_name": "PrismaService", "norm_label": "categories.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": "auth.service.spec.ts", "file_type": "code", @@ -18954,6 +18833,28 @@ "community_name": "PrismaService", "norm_label": "metrics.controller.ts" }, + { + "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": 108, + "community_name": "PrismaService", + "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": 108, + "community_name": "PrismaService", + "norm_label": "injectable" + }, { "label": "sms.service.ts", "file_type": "code", @@ -19009,17 +18910,6 @@ "community_name": "PrismaService", "norm_label": "orders.service.spec.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", @@ -19064,6 +18954,28 @@ "community_name": "PrismaService", "norm_label": "injectable" }, + { + "label": "products.service.ts", + "file_type": "code", + "source_file": "backend/src/products/products.service.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_products_products_service", + "community": 108, + "community_name": "PrismaService", + "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": 108, + "community_name": "PrismaService", + "norm_label": "products.service.spec.ts" + }, { "label": "default-ui-texts.ts", "file_type": "code", @@ -20000,15 +19912,59 @@ "norm_label": "injectable" }, { - "label": "authService.ts", + "label": "login.dto.ts", "file_type": "code", - "source_file": "frontend/application/lib/services/authService.ts", + "source_file": "backend/src/auth/dto/login.dto.ts", "source_location": "L1", "_origin": "ast", - "id": "frontend_application_lib_services_authservice", + "id": "backend_src_auth_dto_login_dto", "community": 115, - "community_name": "AuthService", - "norm_label": "authservice.ts" + "community_name": "LoginDto", + "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": 115, + "community_name": "LoginDto", + "norm_label": "apiproperty" + }, + { + "label": "IsNotEmpty", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_auth_dto_login_dto_ts_isnotempty", + "community": 115, + "community_name": "LoginDto", + "norm_label": "isnotempty" + }, + { + "label": "IsString", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_auth_dto_login_dto_ts_isstring", + "community": 115, + "community_name": "LoginDto", + "norm_label": "isstring" + }, + { + "label": "MinLength", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_auth_dto_login_dto_ts_minlength", + "community": 115, + "community_name": "LoginDto", + "norm_label": "minlength" }, { "label": "vazirmatn-v33.003/CHANGELOG.md", @@ -21210,92 +21166,15 @@ "norm_label": "injectable" }, { - "label": "ebank-checkout.dto.ts", + "label": "app/page.tsx", "file_type": "code", - "source_file": "backend/src/payment/dto/ebank-checkout.dto.ts", + "source_file": "frontend/application/app/page.tsx", "source_location": "L1", "_origin": "ast", - "id": "backend_src_payment_dto_ebank_checkout_dto", + "id": "frontend_application_app_page", "community": 123, - "community_name": "CreateEBankCheckoutDto", - "norm_label": "ebank-checkout.dto.ts" - }, - { - "label": "ApiProperty", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_ebank_checkout_dto_ts_apiproperty", - "community": 123, - "community_name": "CreateEBankCheckoutDto", - "norm_label": "apiproperty" - }, - { - "label": "ApiPropertyOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_ebank_checkout_dto_ts_apipropertyoptional", - "community": 123, - "community_name": "CreateEBankCheckoutDto", - "norm_label": "apipropertyoptional" - }, - { - "label": "IsNotEmpty", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_ebank_checkout_dto_ts_isnotempty", - "community": 123, - "community_name": "CreateEBankCheckoutDto", - "norm_label": "isnotempty" - }, - { - "label": "IsNumber", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_ebank_checkout_dto_ts_isnumber", - "community": 123, - "community_name": "CreateEBankCheckoutDto", - "norm_label": "isnumber" - }, - { - "label": "IsOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_ebank_checkout_dto_ts_isoptional", - "community": 123, - "community_name": "CreateEBankCheckoutDto", - "norm_label": "isoptional" - }, - { - "label": "IsString", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_ebank_checkout_dto_ts_isstring", - "community": 123, - "community_name": "CreateEBankCheckoutDto", - "norm_label": "isstring" - }, - { - "label": "Min", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_ebank_checkout_dto_ts_min", - "community": 123, - "community_name": "CreateEBankCheckoutDto", - "norm_label": "min" + "community_name": "app/page.tsx", + "norm_label": "app/page.tsx" }, { "label": "00-repository-map.md", @@ -21826,70 +21705,48 @@ "norm_label": "useguards" }, { - "label": "initiate-payment.dto.ts", + "label": "bcrypt", "file_type": "code", - "source_file": "backend/src/payment/dto/initiate-payment.dto.ts", + "source_file": "backend/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "backend_package_dependencies_bcrypt", + "community": 129, + "community_name": "bcrypt", + "norm_label": "bcrypt" + }, + { + "label": "bcrypt", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "bcrypt", + "community": 129, + "community_name": "bcrypt", + "norm_label": "bcrypt" + }, + { + "label": "generate-openapi.ts", + "file_type": "code", + "source_file": "backend/scripts/generate-openapi.ts", "source_location": "L1", "_origin": "ast", - "id": "backend_src_payment_dto_initiate_payment_dto", - "community": 129, - "community_name": "InitiatePaymentDto", - "norm_label": "initiate-payment.dto.ts" + "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": "ApiProperty", + "label": "Module", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_payment_dto_initiate_payment_dto_ts_apiproperty", - "community": 129, - "community_name": "InitiatePaymentDto", - "norm_label": "apiproperty" - }, - { - "label": "ApiPropertyOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_initiate_payment_dto_ts_apipropertyoptional", - "community": 129, - "community_name": "InitiatePaymentDto", - "norm_label": "apipropertyoptional" - }, - { - "label": "IsNotEmpty", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_initiate_payment_dto_ts_isnotempty", - "community": 129, - "community_name": "InitiatePaymentDto", - "norm_label": "isnotempty" - }, - { - "label": "IsOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_initiate_payment_dto_ts_isoptional", - "community": 129, - "community_name": "InitiatePaymentDto", - "norm_label": "isoptional" - }, - { - "label": "IsString", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_initiate_payment_dto_ts_isstring", - "community": 129, - "community_name": "InitiatePaymentDto", - "norm_label": "isstring" + "id": "backend_src_app_module_ts_module", + "community": 13, + "community_name": "app-audit-verification.e2e-spec.js", + "norm_label": "module" }, { "label": "env.validation.ts", @@ -22188,6 +22045,17 @@ "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", @@ -22969,6 +22837,28 @@ "community_name": "layout.tsx", "norm_label": "vazirmatn" }, + { + "label": "B2BPortal", + "file_type": "code", + "source_file": "frontend/application/app/ClientLayout.tsx", + "source_location": "L14", + "_origin": "ast", + "id": "frontend_application_app_clientlayout_b2bportal", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "b2bportal" + }, + { + "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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "verify/page.tsx" + }, { "label": "AddressModal.tsx", "file_type": "code", @@ -22977,19 +22867,52 @@ "_origin": "ast", "id": "frontend_application_components_addressmodal", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "addressmodal.tsx" }, { - "label": "BackButton.tsx", + "label": "AuthModal.tsx", "file_type": "code", - "source_file": "frontend/application/components/BackButton.tsx", + "source_file": "frontend/application/components/AuthModal.tsx", "source_location": "L1", "_origin": "ast", - "id": "frontend_application_components_backbutton", + "id": "frontend_application_components_authmodal", "community": 14, - "community_name": "CheckoutPage.tsx", - "norm_label": "backbutton.tsx" + "community_name": "UserDashboard.tsx", + "norm_label": "authmodal.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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "b2bportal.tsx" + }, + { + "label": "BlogPreviewSection.tsx", + "file_type": "code", + "source_file": "frontend/application/components/BlogPreviewSection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_blogpreviewsection", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "blogpreviewsection.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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "cartdrawer.tsx" }, { "label": "CheckoutPage.tsx", @@ -22999,9 +22922,20 @@ "_origin": "ast", "id": "frontend_application_components_checkoutpage", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "checkoutpage.tsx" }, + { + "label": "DeleteConfirmModal.tsx", + "file_type": "code", + "source_file": "frontend/application/components/DeleteConfirmModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_deleteconfirmmodal", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "deleteconfirmmodal.tsx" + }, { "label": "HeaderButton.tsx", "file_type": "code", @@ -23010,9 +22944,31 @@ "_origin": "ast", "id": "frontend_application_components_headerbutton", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "headerbutton.tsx" }, + { + "label": "OrderDetailsModal.tsx", + "file_type": "code", + "source_file": "frontend/application/components/OrderDetailsModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_orderdetailsmodal", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "orderdetailsmodal.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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "ordertracking.tsx" + }, { "label": "SearchableSelect.tsx", "file_type": "code", @@ -23021,9 +22977,31 @@ "_origin": "ast", "id": "frontend_application_components_searchableselect", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "searchableselect.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": 14, + "community_name": "UserDashboard.tsx", + "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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "mockproduct" + }, { "label": "TopUpModal.tsx", "file_type": "code", @@ -23032,7 +23010,7 @@ "_origin": "ast", "id": "frontend_application_components_topupmodal", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "topupmodal.tsx" }, { @@ -23043,9 +23021,20 @@ "_origin": "ast", "id": "frontend_application_components_topupmodal_preset_amounts", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "preset_amounts" }, + { + "label": "UserDashboard.tsx", + "file_type": "code", + "source_file": "frontend/application/components/UserDashboard.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_userdashboard", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "userdashboard.tsx" + }, { "label": "provinces.ts", "file_type": "code", @@ -23054,7 +23043,7 @@ "_origin": "ast", "id": "frontend_application_lib_data_provinces", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "provinces.ts" }, { @@ -23065,7 +23054,7 @@ "_origin": "ast", "id": "frontend_application_lib_data_provinces_iran_provinces", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "iran_provinces" }, { @@ -23076,9 +23065,42 @@ "_origin": "ast", "id": "frontend_application_lib_data_provinces_province_cities", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "province_cities" }, + { + "label": "ticketService.ts", + "file_type": "code", + "source_file": "frontend/application/lib/services/ticketService.ts", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_lib_services_ticketservice", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "ticketservice.ts" + }, + { + "label": "ticketService", + "file_type": "code", + "source_file": "frontend/application/lib/services/ticketService.ts", + "source_location": "L43", + "_origin": "ast", + "id": "frontend_application_lib_services_ticketservice_ticketservice", + "community": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "ticketservice" + }, + { + "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": 14, + "community_name": "UserDashboard.tsx", + "norm_label": "usecartstore" + }, { "label": "utils.ts", "file_type": "code", @@ -23087,7 +23109,7 @@ "_origin": "ast", "id": "frontend_application_lib_utils", "community": 14, - "community_name": "CheckoutPage.tsx", + "community_name": "UserDashboard.tsx", "norm_label": "utils.ts" }, { @@ -23615,7 +23637,7 @@ "_origin": "ast", "id": "frontend_application_app_blog_loading", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "blog/loading.tsx" }, { @@ -23626,7 +23648,7 @@ "_origin": "ast", "id": "frontend_application_app_loading", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "app/loading.tsx" }, { @@ -23637,31 +23659,9 @@ "_origin": "ast", "id": "frontend_application_app_shop_loading", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "shop/loading.tsx" }, - { - "label": "DeleteConfirmModal.tsx", - "file_type": "code", - "source_file": "frontend/application/components/DeleteConfirmModal.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_components_deleteconfirmmodal", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "deleteconfirmmodal.tsx" - }, - { - "label": "PetProfile.tsx", - "file_type": "code", - "source_file": "frontend/application/components/PetProfile.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_components_petprofile", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "petprofile.tsx" - }, { "label": "components/Skeleton.tsx", "file_type": "code", @@ -23670,63 +23670,30 @@ "_origin": "ast", "id": "frontend_application_components_skeleton", "community": 147, - "community_name": "UserDashboard.tsx", + "community_name": "components/Skeleton.tsx", "norm_label": "components/skeleton.tsx" }, { - "label": "UserDashboard.tsx", + "label": "class-transformer", "file_type": "code", - "source_file": "frontend/application/components/UserDashboard.tsx", - "source_location": "L1", + "source_file": "backend/package.json", + "source_location": "L35", "_origin": "ast", - "id": "frontend_application_components_userdashboard", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "userdashboard.tsx" - }, - { - "label": "ticketService.ts", - "file_type": "code", - "source_file": "frontend/application/lib/services/ticketService.ts", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_lib_services_ticketservice", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "ticketservice.ts" - }, - { - "label": "ticketService", - "file_type": "code", - "source_file": "frontend/application/lib/services/ticketService.ts", - "source_location": "L43", - "_origin": "ast", - "id": "frontend_application_lib_services_ticketservice_ticketservice", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "ticketservice" - }, - { - "label": "usePetStore.ts", - "file_type": "code", - "source_file": "frontend/application/lib/store/usePetStore.ts", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_lib_store_usepetstore", - "community": 147, - "community_name": "UserDashboard.tsx", - "norm_label": "usepetstore.ts" - }, - { - "label": "wiki/[slug]/page.tsx", - "file_type": "code", - "source_file": "frontend/application/app/wiki/[slug]/page.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_app_wiki_slug_page", + "id": "backend_package_dependencies_class_transformer", "community": 148, - "community_name": "wiki/[slug]/page.tsx", - "norm_label": "wiki/[slug]/page.tsx" + "community_name": "class-transformer", + "norm_label": "class-transformer" + }, + { + "label": "class-transformer", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "class_transformer", + "community": 148, + "community_name": "class-transformer", + "norm_label": "class-transformer" }, { "label": "SmsSettingsPage.tsx", @@ -24047,6 +24014,28 @@ "community_name": "Product Requirement Document (PRD)", "norm_label": "product requirement document (prd)" }, + { + "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": 151, + "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": 151, + "community_name": "auth.service.ts", + "norm_label": "auth.controller.spec.ts" + }, { "label": "auth.service.ts", "file_type": "code", @@ -24058,17 +24047,6 @@ "community_name": "auth.service.ts", "norm_label": "auth.service.ts" }, - { - "label": "Injectable", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_auth_auth_service_ts_injectable", - "community": 151, - "community_name": "auth.service.ts", - "norm_label": "injectable" - }, { "label": "send-otp.dto.ts", "file_type": "code", @@ -24179,17 +24157,6 @@ "community_name": "auth.service.ts", "norm_label": "matches" }, - { - "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": 151, - "community_name": "auth.service.ts", - "norm_label": "phone.utils.ts" - }, { "label": "Length", "file_type": "code", @@ -24201,6 +24168,105 @@ "community_name": "auth.service.ts", "norm_label": "length" }, + { + "label": "LoginModal", + "file_type": "code", + "source_file": "frontend/application/app/ClientLayout.tsx", + "source_location": "L12", + "_origin": "ast", + "id": "frontend_application_app_clientlayout_loginmodal", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": "loginmodal" + }, + { + "label": "ContactFormClient.tsx", + "file_type": "code", + "source_file": "frontend/application/components/ContactFormClient.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_contactformclient", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": "contactformclient.tsx" + }, + { + "label": "LoginModal.tsx", + "file_type": "code", + "source_file": "frontend/application/components/LoginModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_loginmodal", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": "loginmodal.tsx" + }, + { + "label": "TestimonialsSection.tsx", + "file_type": "code", + "source_file": "frontend/application/components/TestimonialsSection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_testimonialssection", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": "testimonialssection.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": 152, + "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": 152, + "community_name": "lib/services/api.ts", + "norm_label": "api" + }, + { + "label": "BASE_DOMAIN", + "file_type": "code", + "source_file": "frontend/application/lib/services/api.ts", + "source_location": "L14", + "_origin": "ast", + "id": "frontend_application_lib_services_api_base_domain", + "community": 152, + "community_name": "lib/services/api.ts", + "norm_label": "base_domain" + }, + { + "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": 152, + "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": 152, + "community_name": "lib/services/api.ts", + "norm_label": "authservice.ts" + }, { "label": "orderService.ts", "file_type": "code", @@ -24209,7 +24275,7 @@ "_origin": "ast", "id": "frontend_application_lib_services_orderservice", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": "orderservice.ts" }, { @@ -24220,7 +24286,7 @@ "_origin": "ast", "id": "frontend_application_lib_store_cartstore", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": "cartstore.ts" }, { @@ -24231,7 +24297,7 @@ "_origin": "ast", "id": "frontend_application_lib_store_tests_cartstore_test", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": "cartstore.test.ts" }, { @@ -24242,9 +24308,42 @@ "_origin": "ast", "id": "frontend_application_lib_store_tests_cartstore_test_mockproduct", "community": 152, - "community_name": "cartStore.ts", + "community_name": "lib/services/api.ts", "norm_label": "mockproduct" }, + { + "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": 152, + "community_name": "lib/services/api.ts", + "norm_label": "settingsstore.test.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": 152, + "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": 152, + "community_name": "lib/services/api.ts", + "norm_label": "userstore.ts" + }, { "label": "tsconfig.build.json", "file_type": "code", @@ -24521,26 +24620,26 @@ "norm_label": "errorpages.tsx" }, { - "label": "@types/react-dom", + "label": "helmet", "file_type": "code", - "source_file": "frontend/application/package.json", - "source_location": "L27", + "source_file": "backend/package.json", + "source_location": "L38", "_origin": "ast", - "id": "frontend_application_package_devdependencies_types_react_dom", + "id": "backend_package_dependencies_helmet", "community": 158, - "community_name": "@types/react-dom", - "norm_label": "@types/react-dom" + "community_name": "helmet", + "norm_label": "helmet" }, { - "label": "@types/react-dom", + "label": "helmet", "file_type": "concept", - "source_file": "frontend/application/package.json", - "source_location": "L27", + "source_file": "backend/package.json", + "source_location": "L38", "_origin": "ast", - "id": "frontend_application_package_json_types_react_dom", + "id": "helmet", "community": 158, - "community_name": "@types/react-dom", - "norm_label": "@types/react-dom" + "community_name": "helmet", + "norm_label": "helmet" }, { "label": "with-vpn.sh", @@ -26044,28 +26143,6 @@ "community_name": "\u0646\u0642\u0634\u0647 \u062c\u0627\u0645\u0639 \u067e\u0648\u0634\u0634 \u062a\u0633\u062a\u200c\u0647\u0627\u06cc \u0633\u0631\u062a\u0627\u0633\u0631\u06cc (E2E Test Coverage Map) \u2014 \u067e\u0631\u0648\u0698\u0647 Canina", "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": "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": 179, - "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": 179, - "community_name": "PaginationDto", - "norm_label": "admin/blogs.service.ts" - }, { "label": "blogs/blogs.controller.ts", "file_type": "code", @@ -26077,28 +26154,6 @@ "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": 179, - "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": 179, - "community_name": "PaginationDto", - "norm_label": "module" - }, { "label": "blogs/blogs.service.ts", "file_type": "code", @@ -26110,17 +26165,6 @@ "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": 179, - "community_name": "PaginationDto", - "norm_label": "injectable" - }, { "label": "pagination.dto.ts", "file_type": "code", @@ -26308,6 +26352,160 @@ "community_name": "PaginationDto", "norm_label": "orders.service.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": 179, + "community_name": "PaginationDto", + "norm_label": "wiki/wiki.controller.ts" + }, + { + "label": "ApiNotFoundResponse", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_wiki_wiki_controller_ts_apinotfoundresponse", + "community": 179, + "community_name": "PaginationDto", + "norm_label": "apinotfoundresponse" + }, + { + "label": "ApiOkResponse", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_wiki_wiki_controller_ts_apiokresponse", + "community": 179, + "community_name": "PaginationDto", + "norm_label": "apiokresponse" + }, + { + "label": "ApiOperation", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_wiki_wiki_controller_ts_apioperation", + "community": 179, + "community_name": "PaginationDto", + "norm_label": "apioperation" + }, + { + "label": "ApiTags", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_wiki_wiki_controller_ts_apitags", + "community": 179, + "community_name": "PaginationDto", + "norm_label": "apitags" + }, + { + "label": "Controller", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_wiki_wiki_controller_ts_controller", + "community": 179, + "community_name": "PaginationDto", + "norm_label": "controller" + }, + { + "label": "Get", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_wiki_wiki_controller_ts_get", + "community": 179, + "community_name": "PaginationDto", + "norm_label": "get" + }, + { + "label": "Param", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_wiki_wiki_controller_ts_param", + "community": 179, + "community_name": "PaginationDto", + "norm_label": "param" + }, + { + "label": "Query", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_wiki_wiki_controller_ts_query", + "community": 179, + "community_name": "PaginationDto", + "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": 179, + "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": 179, + "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": 179, + "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": 179, + "community_name": "PaginationDto", + "norm_label": "injectable" + }, + { + "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": 18, + "community_name": "JwtAuthGuard", + "norm_label": "admin/blogs.controller.ts" + }, { "label": "categories.controller.ts", "file_type": "code", @@ -26495,17 +26693,6 @@ "community_name": "JwtAuthGuard", "norm_label": "menu.controller.ts" }, - { - "label": "payment.controller.ts", - "file_type": "code", - "source_file": "backend/src/payment/payment.controller.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_payment_payment_controller", - "community": 18, - "community_name": "JwtAuthGuard", - "norm_label": "payment.controller.ts" - }, { "label": "prescriptions.controller.ts", "file_type": "code", @@ -26517,6 +26704,17 @@ "community_name": "JwtAuthGuard", "norm_label": "prescriptions.controller.ts" }, + { + "label": "products.controller.ts", + "file_type": "code", + "source_file": "backend/src/products/products.controller.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_products_products_controller", + "community": 18, + "community_name": "JwtAuthGuard", + "norm_label": "products.controller.ts" + }, { "label": "reviews.controller.ts", "file_type": "code", @@ -26759,83 +26957,6 @@ "community_name": "\ud83d\ude80 SEO & Content Strategy Review (12_seo_content)", "norm_label": "\ud83d\ude80 seo & content strategy review (12_seo_content)" }, - { - "label": "ApiExcludeController", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "apiexcludecontroller", - "community": 184, - "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": 184, - "community_name": "RedisService", - "norm_label": "generate-openapi.ts" - }, - { - "label": "admin.service.spec.ts", - "file_type": "code", - "source_file": "backend/src/admin/admin.service.spec.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_admin_admin_service_spec", - "community": 184, - "community_name": "RedisService", - "norm_label": "admin.service.spec.ts" - }, - { - "label": "Module", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_app_module_ts_module", - "community": 184, - "community_name": "RedisService", - "norm_label": "module" - }, - { - "label": "Controller", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_common_metrics_controller_ts_controller", - "community": 184, - "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": 184, - "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": 184, - "community_name": "RedisService", - "norm_label": "res" - }, { "label": "redis.module.ts", "file_type": "code", @@ -26903,37 +27024,26 @@ "norm_label": "injectable" }, { - "label": "app.e2e-spec.ts", + "label": "js-yaml", "file_type": "code", - "source_file": "backend/test/app.e2e-spec.ts", - "source_location": "L1", + "source_file": "backend/package.json", + "source_location": "L40", "_origin": "ast", - "id": "backend_test_app_e2e_spec_ts_backend_test_app_e2e_spec", - "community": 184, - "community_name": "RedisService", - "norm_label": "app.e2e-spec.ts" + "id": "backend_package_dependencies_js_yaml", + "community": 185, + "community_name": "js-yaml", + "norm_label": "js-yaml" }, { - "label": "trust-seals/page.tsx", - "file_type": "code", - "source_file": "frontend/application/app/trust-seals/page.tsx", - "source_location": "L1", + "label": "js-yaml", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L40", "_origin": "ast", - "id": "frontend_application_app_trust_seals_page", + "id": "js_yaml", "community": 185, - "community_name": "trust-seals/page.tsx", - "norm_label": "trust-seals/page.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": 185, - "community_name": "trust-seals/page.tsx", - "norm_label": "enamadbadge.tsx" + "community_name": "js-yaml", + "norm_label": "js-yaml" }, { "label": "seed-ui-texts.ts", @@ -27045,61 +27155,6 @@ "community_name": "update-home.dto.ts", "norm_label": "update-home.dto.ts" }, - { - "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": 19, - "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": 19, - "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": 19, - "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": 19, - "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": 19, - "community_name": "RevalidationService", - "norm_label": "injectable" - }, { "label": "get-products.dto.ts", "file_type": "code", @@ -27108,7 +27163,7 @@ "_origin": "ast", "id": "backend_src_products_dto_get_products_dto", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "get-products.dto.ts" }, { @@ -27119,7 +27174,7 @@ "_origin": "ast", "id": "backend_src_products_dto_get_products_dto_ts_apipropertyoptional", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "apipropertyoptional" }, { @@ -27130,7 +27185,7 @@ "_origin": "ast", "id": "backend_src_products_dto_get_products_dto_ts_isenum", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "isenum" }, { @@ -27141,7 +27196,7 @@ "_origin": "ast", "id": "backend_src_products_dto_get_products_dto_ts_isoptional", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "isoptional" }, { @@ -27152,20 +27207,9 @@ "_origin": "ast", "id": "backend_src_products_dto_get_products_dto_ts_isstring", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "isstring" }, - { - "label": "products.controller.ts", - "file_type": "code", - "source_file": "backend/src/products/products.controller.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_products_products_controller", - "community": 19, - "community_name": "RevalidationService", - "norm_label": "products.controller.ts" - }, { "label": "products.controller.spec.ts", "file_type": "code", @@ -27174,7 +27218,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_spec", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "products.controller.spec.ts" }, { @@ -27185,7 +27229,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_ts_apioperation", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "apioperation" }, { @@ -27196,7 +27240,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_ts_apitags", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "apitags" }, { @@ -27207,7 +27251,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_ts_body", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "body" }, { @@ -27218,7 +27262,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_ts_controller", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "controller" }, { @@ -27229,7 +27273,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_ts_get", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "get" }, { @@ -27240,7 +27284,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_ts_param", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "param" }, { @@ -27251,7 +27295,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_ts_patch", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "patch" }, { @@ -27262,7 +27306,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_ts_query", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "query" }, { @@ -27273,7 +27317,7 @@ "_origin": "ast", "id": "backend_src_products_products_controller_ts_useguards", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "useguards" }, { @@ -27284,7 +27328,7 @@ "_origin": "ast", "id": "backend_src_products_products_module", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "products.module.ts" }, { @@ -27295,31 +27339,9 @@ "_origin": "ast", "id": "backend_src_products_products_module_ts_module", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "module" }, - { - "label": "products.service.ts", - "file_type": "code", - "source_file": "backend/src/products/products.service.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_products_products_service", - "community": 19, - "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": 19, - "community_name": "RevalidationService", - "norm_label": "products.service.spec.ts" - }, { "label": "Injectable", "file_type": "code", @@ -27328,75 +27350,9 @@ "_origin": "ast", "id": "backend_src_products_products_service_ts_injectable", "community": 19, - "community_name": "RevalidationService", + "community_name": "ProductsService", "norm_label": "injectable" }, - { - "label": "update-review.dto.ts", - "file_type": "code", - "source_file": "backend/src/reviews/dto/update-review.dto.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_reviews_dto_update_review_dto", - "community": 19, - "community_name": "RevalidationService", - "norm_label": "update-review.dto.ts" - }, - { - "label": "ApiProperty", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_reviews_dto_update_review_dto_ts_apiproperty", - "community": 19, - "community_name": "RevalidationService", - "norm_label": "apiproperty" - }, - { - "label": "IsIn", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_reviews_dto_update_review_dto_ts_isin", - "community": 19, - "community_name": "RevalidationService", - "norm_label": "isin" - }, - { - "label": "IsOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_reviews_dto_update_review_dto_ts_isoptional", - "community": 19, - "community_name": "RevalidationService", - "norm_label": "isoptional" - }, - { - "label": "IsString", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_reviews_dto_update_review_dto_ts_isstring", - "community": 19, - "community_name": "RevalidationService", - "norm_label": "isstring" - }, - { - "label": "reviews.service.ts", - "file_type": "code", - "source_file": "backend/src/reviews/reviews.service.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_reviews_reviews_service", - "community": 19, - "community_name": "RevalidationService", - "norm_label": "reviews.service.ts" - }, { "label": "create-wiki.dto.ts", "file_type": "code", @@ -27673,147 +27629,26 @@ "norm_label": "wiki/page.tsx" }, { - "label": "catalog/page.tsx", + "label": "@nestjs/core", "file_type": "code", - "source_file": "frontend/application/app/catalog/page.tsx", - "source_location": "L1", + "source_file": "backend/package.json", + "source_location": "L26", "_origin": "ast", - "id": "frontend_application_app_catalog_page", + "id": "backend_package_dependencies_nestjs_core", "community": 198, - "community_name": "catalog/page.tsx", - "norm_label": "catalog/page.tsx" + "community_name": "@nestjs/core", + "norm_label": "@nestjs/core" }, { - "label": "auth.controller.ts", - "file_type": "code", - "source_file": "backend/src/auth/auth.controller.ts", - "source_location": "L1", + "label": "@nestjs/core", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L26", "_origin": "ast", - "id": "backend_src_auth_auth_controller", - "community": 199, - "community_name": "auth.controller.ts", - "norm_label": "auth.controller.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": 199, - "community_name": "auth.controller.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": 199, - "community_name": "auth.controller.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": 199, - "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": 199, - "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": 199, - "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": 199, - "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": 199, - "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": 199, - "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": 199, - "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": 199, - "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": 199, - "community_name": "auth.controller.ts", - "norm_label": "minlength" + "id": "nestjs_core", + "community": 198, + "community_name": "@nestjs/core", + "norm_label": "@nestjs/core" }, { "label": "register.dto.ts", @@ -27823,7 +27658,7 @@ "_origin": "ast", "id": "backend_src_auth_dto_register_dto", "community": 199, - "community_name": "auth.controller.ts", + "community_name": "RegisterDto", "norm_label": "register.dto.ts" }, { @@ -27834,7 +27669,7 @@ "_origin": "ast", "id": "backend_src_auth_dto_register_dto_ts_apiproperty", "community": 199, - "community_name": "auth.controller.ts", + "community_name": "RegisterDto", "norm_label": "apiproperty" }, { @@ -27845,7 +27680,7 @@ "_origin": "ast", "id": "backend_src_auth_dto_register_dto_ts_apipropertyoptional", "community": 199, - "community_name": "auth.controller.ts", + "community_name": "RegisterDto", "norm_label": "apipropertyoptional" }, { @@ -27856,7 +27691,7 @@ "_origin": "ast", "id": "backend_src_auth_dto_register_dto_ts_isemail", "community": 199, - "community_name": "auth.controller.ts", + "community_name": "RegisterDto", "norm_label": "isemail" }, { @@ -27867,7 +27702,7 @@ "_origin": "ast", "id": "backend_src_auth_dto_register_dto_ts_isnotempty", "community": 199, - "community_name": "auth.controller.ts", + "community_name": "RegisterDto", "norm_label": "isnotempty" }, { @@ -27878,7 +27713,7 @@ "_origin": "ast", "id": "backend_src_auth_dto_register_dto_ts_isoptional", "community": 199, - "community_name": "auth.controller.ts", + "community_name": "RegisterDto", "norm_label": "isoptional" }, { @@ -27889,7 +27724,7 @@ "_origin": "ast", "id": "backend_src_auth_dto_register_dto_ts_isstring", "community": 199, - "community_name": "auth.controller.ts", + "community_name": "RegisterDto", "norm_label": "isstring" }, { @@ -27900,7 +27735,7 @@ "_origin": "ast", "id": "backend_src_auth_dto_register_dto_ts_minlength", "community": 199, - "community_name": "auth.controller.ts", + "community_name": "RegisterDto", "norm_label": "minlength" }, { @@ -28057,6 +27892,17 @@ "community_name": "SettingsController", "norm_label": "useguards" }, + { + "label": "Injectable", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_settings_settings_service_ts_injectable", + "community": 2, + "community_name": "SettingsController", + "norm_label": "injectable" + }, { "label": "create-video.dto.ts", "file_type": "code", @@ -28700,6 +28546,28 @@ "community_name": "graphify reference: transcribe video and audio", "norm_label": "step 2.5 - transcribe video / audio files (only if video files detected)" }, + { + "label": "shop/[slug]/page.tsx", + "file_type": "code", + "source_file": "frontend/application/app/shop/[slug]/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_app_shop_slug_page", + "community": 21, + "community_name": "ProductPage.tsx", + "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": 21, + "community_name": "ProductPage.tsx", + "norm_label": "revalidate" + }, { "label": "ProductPage.tsx", "file_type": "code", @@ -29082,140 +28950,19 @@ "_origin": "ast", "id": "frontend_application_app_checkout_success_id_page", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "[id]/page.tsx" }, { - "label": "ClientLayout.tsx", + "label": "FeaturedProducts.tsx", "file_type": "code", - "source_file": "frontend/application/app/ClientLayout.tsx", + "source_file": "frontend/application/components/FeaturedProducts.tsx", "source_location": "L1", "_origin": "ast", - "id": "frontend_application_app_clientlayout", + "id": "frontend_application_components_featuredproducts", "community": 22, - "community_name": "toPersian", - "norm_label": "clientlayout.tsx" - }, - { - "label": "AuthModal", - "file_type": "code", - "source_file": "frontend/application/app/ClientLayout.tsx", - "source_location": "L13", - "_origin": "ast", - "id": "frontend_application_app_clientlayout_authmodal", - "community": 22, - "community_name": "toPersian", - "norm_label": "authmodal" - }, - { - "label": "B2BPortal", - "file_type": "code", - "source_file": "frontend/application/app/ClientLayout.tsx", - "source_location": "L14", - "_origin": "ast", - "id": "frontend_application_app_clientlayout_b2bportal", - "community": 22, - "community_name": "toPersian", - "norm_label": "b2bportal" - }, - { - "label": "CartDrawer", - "file_type": "code", - "source_file": "frontend/application/app/ClientLayout.tsx", - "source_location": "L11", - "_origin": "ast", - "id": "frontend_application_app_clientlayout_cartdrawer", - "community": 22, - "community_name": "toPersian", - "norm_label": "cartdrawer" - }, - { - "label": "LoginModal", - "file_type": "code", - "source_file": "frontend/application/app/ClientLayout.tsx", - "source_location": "L12", - "_origin": "ast", - "id": "frontend_application_app_clientlayout_loginmodal", - "community": 22, - "community_name": "toPersian", - "norm_label": "loginmodal" - }, - { - "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": 22, - "community_name": "toPersian", - "norm_label": "verify/page.tsx" - }, - { - "label": "AuthModal.tsx", - "file_type": "code", - "source_file": "frontend/application/components/AuthModal.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_components_authmodal", - "community": 22, - "community_name": "toPersian", - "norm_label": "authmodal.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": 22, - "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": 22, - "community_name": "toPersian", - "norm_label": "cartdrawer.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": 22, - "community_name": "toPersian", - "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": 22, - "community_name": "toPersian", - "norm_label": "menu_icons" - }, - { - "label": "LoginModal.tsx", - "file_type": "code", - "source_file": "frontend/application/components/LoginModal.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_components_loginmodal", - "community": 22, - "community_name": "toPersian", - "norm_label": "loginmodal.tsx" + "community_name": "PetProfile.tsx", + "norm_label": "featuredproducts.tsx" }, { "label": "OrderSuccess.tsx", @@ -29225,19 +28972,19 @@ "_origin": "ast", "id": "frontend_application_components_ordersuccess", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "ordersuccess.tsx" }, { - "label": "OrderTracking.tsx", + "label": "PetProfile.tsx", "file_type": "code", - "source_file": "frontend/application/components/OrderTracking.tsx", + "source_file": "frontend/application/components/PetProfile.tsx", "source_location": "L1", "_origin": "ast", - "id": "frontend_application_components_ordertracking", + "id": "frontend_application_components_petprofile", "community": 22, - "community_name": "toPersian", - "norm_label": "ordertracking.tsx" + "community_name": "PetProfile.tsx", + "norm_label": "petprofile.tsx" }, { "label": "PrescriptionUploadModal.tsx", @@ -29247,9 +28994,86 @@ "_origin": "ast", "id": "frontend_application_components_prescriptionuploadmodal", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "prescriptionuploadmodal.tsx" }, + { + "label": "SearchResultsPage.tsx", + "file_type": "code", + "source_file": "frontend/application/components/SearchResultsPage.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_searchresultspage", + "community": 22, + "community_name": "PetProfile.tsx", + "norm_label": "searchresultspage.tsx" + }, + { + "label": "SmartAdvisor.tsx", + "file_type": "code", + "source_file": "frontend/application/components/SmartAdvisor.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_smartadvisor", + "community": 22, + "community_name": "PetProfile.tsx", + "norm_label": "smartadvisor.tsx" + }, + { + "label": "CURRENT_SYMPTOMS", + "file_type": "code", + "source_file": "frontend/application/components/SmartAdvisor.tsx", + "source_location": "L32", + "_origin": "ast", + "id": "frontend_application_components_smartadvisor_current_symptoms", + "community": 22, + "community_name": "PetProfile.tsx", + "norm_label": "current_symptoms" + }, + { + "label": "MEDICAL_HISTORIES", + "file_type": "code", + "source_file": "frontend/application/components/SmartAdvisor.tsx", + "source_location": "L44", + "_origin": "ast", + "id": "frontend_application_components_smartadvisor_medical_histories", + "community": 22, + "community_name": "PetProfile.tsx", + "norm_label": "medical_histories" + }, + { + "label": "FeaturedProducts.test.tsx", + "file_type": "code", + "source_file": "frontend/application/components/__tests__/FeaturedProducts.test.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_tests_featuredproducts_test", + "community": 22, + "community_name": "PetProfile.tsx", + "norm_label": "featuredproducts.test.tsx" + }, + { + "label": "mockProducts", + "file_type": "code", + "source_file": "frontend/application/components/__tests__/FeaturedProducts.test.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "frontend_application_components_tests_featuredproducts_test_mockproducts", + "community": 22, + "community_name": "PetProfile.tsx", + "norm_label": "mockproducts" + }, + { + "label": "mockPush", + "file_type": "code", + "source_file": "frontend/application/components/__tests__/FeaturedProducts.test.tsx", + "source_location": "L35", + "_origin": "ast", + "id": "frontend_application_components_tests_featuredproducts_test_mockpush", + "community": 22, + "community_name": "PetProfile.tsx", + "norm_label": "mockpush" + }, { "label": "Header.test.tsx", "file_type": "code", @@ -29258,20 +29082,9 @@ "_origin": "ast", "id": "frontend_application_components_tests_header_test", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "header.test.tsx" }, - { - "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": 22, - "community_name": "toPersian", - "norm_label": "usecartstore" - }, { "label": "uiStore.ts", "file_type": "code", @@ -29280,7 +29093,7 @@ "_origin": "ast", "id": "frontend_application_lib_store_uistore", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "uistore.ts" }, { @@ -29291,9 +29104,20 @@ "_origin": "ast", "id": "frontend_application_lib_store_uistore_useuistore", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "useuistore" }, + { + "label": "usePetStore.ts", + "file_type": "code", + "source_file": "frontend/application/lib/store/usePetStore.ts", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_lib_store_usepetstore", + "community": 22, + "community_name": "PetProfile.tsx", + "norm_label": "usepetstore.ts" + }, { "label": "usePetStore", "file_type": "code", @@ -29302,20 +29126,9 @@ "_origin": "ast", "id": "frontend_application_lib_store_usepetstore_usepetstore", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "usepetstore" }, - { - "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": 22, - "community_name": "toPersian", - "norm_label": "userstore.ts" - }, { "label": "useUserStore", "file_type": "code", @@ -29324,7 +29137,7 @@ "_origin": "ast", "id": "frontend_application_lib_store_userstore_useuserstore", "community": 22, - "community_name": "toPersian", + "community_name": "PetProfile.tsx", "norm_label": "useuserstore" }, { @@ -29405,26 +29218,26 @@ "norm_label": "references" }, { - "label": "@types/node", + "label": "@nestjs/jwt", "file_type": "code", "source_file": "backend/package.json", - "source_location": "L60", + "source_location": "L27", "_origin": "ast", - "id": "backend_package_devdependencies_types_node", + "id": "backend_package_dependencies_nestjs_jwt", "community": 223, - "community_name": "@types/node", - "norm_label": "@types/node" + "community_name": "@nestjs/jwt", + "norm_label": "@nestjs/jwt" }, { - "label": "@types/node", + "label": "@nestjs/jwt", "file_type": "concept", "source_file": "backend/package.json", - "source_location": "L60", + "source_location": "L27", "_origin": "ast", - "id": "backend_package_json_types_node", + "id": "nestjs_jwt", "community": 223, - "community_name": "@types/node", - "norm_label": "@types/node" + "community_name": "@nestjs/jwt", + "norm_label": "@nestjs/jwt" }, { "label": "jest", @@ -29690,6 +29503,28 @@ "community_name": "MenuService", "norm_label": "useguards" }, + { + "label": "menu.module.ts", + "file_type": "code", + "source_file": "backend/src/menu/menu.module.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_menu_menu_module", + "community": 23, + "community_name": "MenuService", + "norm_label": "menu.module.ts" + }, + { + "label": "Module", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_menu_menu_module_ts_module", + "community": 23, + "community_name": "MenuService", + "norm_label": "module" + }, { "label": "Injectable", "file_type": "code", @@ -29724,26 +29559,26 @@ "norm_label": "graphify" }, { - "label": "typescript", + "label": "@nestjs/throttler", "file_type": "code", "source_file": "backend/package.json", - "source_location": "L76", + "source_location": "L31", "_origin": "ast", - "id": "backend_package_devdependencies_typescript", + "id": "backend_package_dependencies_nestjs_throttler", "community": 231, - "community_name": "typescript", - "norm_label": "typescript" + "community_name": "@nestjs/throttler", + "norm_label": "@nestjs/throttler" }, { - "label": "typescript", + "label": "@nestjs/throttler", "file_type": "concept", "source_file": "backend/package.json", - "source_location": "L76", + "source_location": "L31", "_origin": "ast", - "id": "backend_package_json_typescript", + "id": "nestjs_throttler", "community": 231, - "community_name": "typescript", - "norm_label": "typescript" + "community_name": "@nestjs/throttler", + "norm_label": "@nestjs/throttler" }, { "label": "@eslint/js", @@ -29789,6 +29624,94 @@ "community_name": "tailwindcss", "norm_label": "tailwindcss" }, + { + "label": "passport", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L41", + "_origin": "ast", + "id": "backend_package_dependencies_passport", + "community": 234, + "community_name": "passport", + "norm_label": "passport" + }, + { + "label": "passport", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L41", + "_origin": "ast", + "id": "passport", + "community": 234, + "community_name": "passport", + "norm_label": "passport" + }, + { + "label": "reflect-metadata", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L43", + "_origin": "ast", + "id": "backend_package_dependencies_reflect_metadata", + "community": 235, + "community_name": "reflect-metadata", + "norm_label": "reflect-metadata" + }, + { + "label": "reflect-metadata", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L43", + "_origin": "ast", + "id": "reflect_metadata", + "community": 235, + "community_name": "reflect-metadata", + "norm_label": "reflect-metadata" + }, + { + "label": "swagger-ui-express", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L45", + "_origin": "ast", + "id": "backend_package_dependencies_swagger_ui_express", + "community": 236, + "community_name": "swagger-ui-express", + "norm_label": "swagger-ui-express" + }, + { + "label": "swagger-ui-express", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L45", + "_origin": "ast", + "id": "swagger_ui_express", + "community": 236, + "community_name": "swagger-ui-express", + "norm_label": "swagger-ui-express" + }, + { + "label": "@eslint/eslintrc", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L48", + "_origin": "ast", + "id": "backend_package_devdependencies_eslint_eslintrc", + "community": 237, + "community_name": "@eslint/eslintrc", + "norm_label": "@eslint/eslintrc" + }, + { + "label": "@eslint/eslintrc", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L48", + "_origin": "ast", + "id": "eslint_eslintrc", + "community": 237, + "community_name": "@eslint/eslintrc", + "norm_label": "@eslint/eslintrc" + }, { "label": "prisma", "file_type": "code", @@ -32500,6 +32423,17 @@ "community_name": "TEST-001", "norm_label": "why it matters" }, + { + "label": "Injectable", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_payment_service_ts_injectable", + "community": 294, + "community_name": "ZibalService", + "norm_label": "injectable" + }, { "label": "Injectable", "file_type": "code", @@ -32533,6 +32467,28 @@ "community_name": "eslint-plugin-react-refresh", "norm_label": "eslint-plugin-react-refresh" }, + { + "label": "eslint-plugin-prettier", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L65", + "_origin": "ast", + "id": "backend_package_devdependencies_eslint_plugin_prettier", + "community": 296, + "community_name": "eslint-plugin-prettier", + "norm_label": "eslint-plugin-prettier" + }, + { + "label": "eslint-plugin-prettier", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L65", + "_origin": "ast", + "id": "eslint_plugin_prettier", + "community": 296, + "community_name": "eslint-plugin-prettier", + "norm_label": "eslint-plugin-prettier" + }, { "label": "Injectable", "file_type": "code", @@ -32544,50 +32500,6 @@ "community_name": "ZibalEBankService", "norm_label": "injectable" }, - { - "label": "verify-payment.dto.ts", - "file_type": "code", - "source_file": "backend/src/payment/dto/verify-payment.dto.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_payment_dto_verify_payment_dto", - "community": 298, - "community_name": ".initiateOrderPayment", - "norm_label": "verify-payment.dto.ts" - }, - { - "label": "ApiPropertyOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_verify_payment_dto_ts_apipropertyoptional", - "community": 298, - "community_name": ".initiateOrderPayment", - "norm_label": "apipropertyoptional" - }, - { - "label": "IsOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_verify_payment_dto_ts_isoptional", - "community": 298, - "community_name": ".initiateOrderPayment", - "norm_label": "isoptional" - }, - { - "label": "IsString", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_payment_dto_verify_payment_dto_ts_isstring", - "community": 298, - "community_name": ".initiateOrderPayment", - "norm_label": "isstring" - }, { "label": "ApiBadRequestResponse", "file_type": "code", @@ -32841,17 +32753,6 @@ "community_name": "ProductService", "norm_label": "flipbookcatalog.tsx" }, - { - "label": "FeaturedProducts.tsx", - "file_type": "code", - "source_file": "frontend/application/components/FeaturedProducts.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_components_featuredproducts", - "community": 3, - "community_name": "ProductService", - "norm_label": "featuredproducts.tsx" - }, { "label": "IngredientWiki.tsx", "file_type": "code", @@ -32874,72 +32775,6 @@ "community_name": "ProductService", "norm_label": "ingredient_match_keywords" }, - { - "label": "SearchResultsPage.tsx", - "file_type": "code", - "source_file": "frontend/application/components/SearchResultsPage.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_components_searchresultspage", - "community": 3, - "community_name": "ProductService", - "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", - "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", - "norm_label": "mockproduct" - }, - { - "label": "FeaturedProducts.test.tsx", - "file_type": "code", - "source_file": "frontend/application/components/__tests__/FeaturedProducts.test.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_components_tests_featuredproducts_test", - "community": 3, - "community_name": "ProductService", - "norm_label": "featuredproducts.test.tsx" - }, - { - "label": "mockProducts", - "file_type": "code", - "source_file": "frontend/application/components/__tests__/FeaturedProducts.test.tsx", - "source_location": "L19", - "_origin": "ast", - "id": "frontend_application_components_tests_featuredproducts_test_mockproducts", - "community": 3, - "community_name": "ProductService", - "norm_label": "mockproducts" - }, - { - "label": "mockPush", - "file_type": "code", - "source_file": "frontend/application/components/__tests__/FeaturedProducts.test.tsx", - "source_location": "L35", - "_origin": "ast", - "id": "frontend_application_components_tests_featuredproducts_test_mockpush", - "community": 3, - "community_name": "ProductService", - "norm_label": "mockpush" - }, { "label": "products.ts", "file_type": "code", @@ -33479,6 +33314,50 @@ "community_name": "@types/react", "norm_label": "@types/react" }, + { + "label": "globals", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L66", + "_origin": "ast", + "id": "backend_package_devdependencies_globals", + "community": 306, + "community_name": "globals", + "norm_label": "globals" + }, + { + "label": "globals", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L66", + "_origin": "ast", + "id": "backend_package_json_globals", + "community": 306, + "community_name": "globals", + "norm_label": "globals" + }, + { + "label": "@nestjs/cli", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L50", + "_origin": "ast", + "id": "backend_package_devdependencies_nestjs_cli", + "community": 307, + "community_name": "@nestjs/cli", + "norm_label": "@nestjs/cli" + }, + { + "label": "@nestjs/cli", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L50", + "_origin": "ast", + "id": "nestjs_cli", + "community": 307, + "community_name": "@nestjs/cli", + "norm_label": "@nestjs/cli" + }, { "label": "vitest", "file_type": "code", @@ -34062,6 +33941,28 @@ "community_name": "Modal.tsx", "norm_label": "zibalportalpage" }, + { + "label": "@nestjs/testing", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L52", + "_origin": "ast", + "id": "backend_package_devdependencies_nestjs_testing", + "community": 314, + "community_name": "@nestjs/testing", + "norm_label": "@nestjs/testing" + }, + { + "label": "@nestjs/testing", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L52", + "_origin": "ast", + "id": "nestjs_testing", + "community": 314, + "community_name": "@nestjs/testing", + "norm_label": "@nestjs/testing" + }, { "label": "typescript", "file_type": "code", @@ -34084,6 +33985,28 @@ "community_name": "typescript", "norm_label": "typescript" }, + { + "label": "prettier", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L68", + "_origin": "ast", + "id": "backend_package_devdependencies_prettier", + "community": 316, + "community_name": "prettier", + "norm_label": "prettier" + }, + { + "label": "prettier", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L68", + "_origin": "ast", + "id": "prettier", + "community": 316, + "community_name": "prettier", + "norm_label": "prettier" + }, { "label": "revalidate/route.ts", "file_type": "code", @@ -34106,6 +34029,28 @@ "community_name": "MaskableField.tsx", "norm_label": "maskablefield.tsx" }, + { + "label": "ts-jest", + "file_type": "code", + "source_file": "backend/package.json", + "source_location": "L72", + "_origin": "ast", + "id": "backend_package_devdependencies_ts_jest", + "community": 319, + "community_name": "ts-jest", + "norm_label": "ts-jest" + }, + { + "label": "ts-jest", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L72", + "_origin": "ast", + "id": "ts_jest", + "community": 319, + "community_name": "ts-jest", + "norm_label": "ts-jest" + }, { "label": "App.tsx", "file_type": "code", @@ -34283,70 +34228,92 @@ "norm_label": "lazywithretry.ts" }, { - "label": "wholesale-apply.dto.ts", + "label": "@types/js-yaml", "file_type": "code", - "source_file": "backend/src/wholesale/dto/wholesale-apply.dto.ts", - "source_location": "L1", + "source_file": "backend/package.json", + "source_location": "L58", "_origin": "ast", - "id": "backend_src_wholesale_dto_wholesale_apply_dto", - "community": 33, - "community_name": "WholesaleApplyDto", - "norm_label": "wholesale-apply.dto.ts" + "id": "backend_package_devdependencies_types_js_yaml", + "community": 320, + "community_name": "@types/js-yaml", + "norm_label": "@types/js-yaml" }, { - "label": "ApiProperty", - "file_type": "code", - "source_file": "", - "source_location": "", + "label": "@types/js-yaml", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L58", "_origin": "ast", - "id": "backend_src_wholesale_dto_wholesale_apply_dto_ts_apiproperty", - "community": 33, - "community_name": "WholesaleApplyDto", - "norm_label": "apiproperty" + "id": "types_js_yaml", + "community": 320, + "community_name": "@types/js-yaml", + "norm_label": "@types/js-yaml" }, { - "label": "ApiPropertyOptional", + "label": "@types/supertest", "file_type": "code", - "source_file": "", - "source_location": "", + "source_file": "backend/package.json", + "source_location": "L62", "_origin": "ast", - "id": "backend_src_wholesale_dto_wholesale_apply_dto_ts_apipropertyoptional", - "community": 33, - "community_name": "WholesaleApplyDto", - "norm_label": "apipropertyoptional" + "id": "backend_package_devdependencies_types_supertest", + "community": 321, + "community_name": "@types/supertest", + "norm_label": "@types/supertest" }, { - "label": "IsNotEmpty", - "file_type": "code", - "source_file": "", - "source_location": "", + "label": "@types/supertest", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L62", "_origin": "ast", - "id": "backend_src_wholesale_dto_wholesale_apply_dto_ts_isnotempty", - "community": 33, - "community_name": "WholesaleApplyDto", - "norm_label": "isnotempty" + "id": "types_supertest", + "community": 321, + "community_name": "@types/supertest", + "norm_label": "@types/supertest" }, { - "label": "IsOptional", + "label": "typescript-eslint", "file_type": "code", - "source_file": "", - "source_location": "", + "source_file": "backend/package.json", + "source_location": "L77", "_origin": "ast", - "id": "backend_src_wholesale_dto_wholesale_apply_dto_ts_isoptional", - "community": 33, - "community_name": "WholesaleApplyDto", - "norm_label": "isoptional" + "id": "backend_package_devdependencies_typescript_eslint", + "community": 322, + "community_name": "typescript-eslint", + "norm_label": "typescript-eslint" }, { - "label": "IsString", - "file_type": "code", - "source_file": "", - "source_location": "", + "label": "typescript-eslint", + "file_type": "concept", + "source_file": "backend/package.json", + "source_location": "L77", "_origin": "ast", - "id": "backend_src_wholesale_dto_wholesale_apply_dto_ts_isstring", - "community": 33, - "community_name": "WholesaleApplyDto", - "norm_label": "isstring" + "id": "backend_package_json_typescript_eslint", + "community": 322, + "community_name": "typescript-eslint", + "norm_label": "typescript-eslint" + }, + { + "label": "eslint-config-next", + "file_type": "code", + "source_file": "frontend/application/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "frontend_application_package_devdependencies_eslint_config_next", + "community": 323, + "community_name": "eslint-config-next", + "norm_label": "eslint-config-next" + }, + { + "label": "eslint-config-next", + "file_type": "concept", + "source_file": "frontend/application/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "eslint_config_next", + "community": 323, + "community_name": "eslint-config-next", + "norm_label": "eslint-config-next" }, { "label": "ApiBearerAuth", @@ -34356,7 +34323,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_apibearerauth", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "apibearerauth" }, { @@ -34367,7 +34334,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_apioperation", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "apioperation" }, { @@ -34378,7 +34345,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_apitags", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "apitags" }, { @@ -34389,7 +34356,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_body", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "body" }, { @@ -34400,7 +34367,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_controller", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "controller" }, { @@ -34411,7 +34378,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_get", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "get" }, { @@ -34422,7 +34389,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_param", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "param" }, { @@ -34433,7 +34400,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_post", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "post" }, { @@ -34444,7 +34411,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_put", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "put" }, { @@ -34455,7 +34422,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_request", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "request" }, { @@ -34466,7 +34433,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_controller_ts_useguards", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "useguards" }, { @@ -34477,7 +34444,7 @@ "_origin": "ast", "id": "backend_src_wholesale_wholesale_service_ts_injectable", "community": 33, - "community_name": "WholesaleApplyDto", + "community_name": "WholesaleService", "norm_label": "injectable" }, { @@ -34623,17 +34590,6 @@ "community_name": "B2BService", "norm_label": "injectable" }, - { - "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": 35, - "community_name": "AuthController", - "norm_label": "auth.controller.spec.ts" - }, { "label": "ApiBadRequestResponse", "file_type": "code", @@ -35459,6 +35415,17 @@ "community_name": "CategoriesController", "norm_label": "injectable" }, + { + "label": "BackButton.tsx", + "file_type": "code", + "source_file": "frontend/application/components/BackButton.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_components_backbutton", + "community": 4, + "community_name": "SafeImage.tsx", + "norm_label": "backbutton.tsx" + }, { "label": "ProductDetailModal.tsx", "file_type": "code", @@ -35470,17 +35437,6 @@ "community_name": "SafeImage.tsx", "norm_label": "productdetailmodal.tsx" }, - { - "label": "OrderDetailsModal.tsx", - "file_type": "code", - "source_file": "frontend/application/components/OrderDetailsModal.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_components_orderdetailsmodal", - "community": 4, - "community_name": "SafeImage.tsx", - "norm_label": "orderdetailsmodal.tsx" - }, { "label": "PodcastInlinePlayer.tsx", "file_type": "code", @@ -37098,6 +37054,336 @@ "community_name": "UsersService", "norm_label": "injectable" }, + { + "label": "address.dto.ts", + "file_type": "code", + "source_file": "backend/src/users/dto/address.dto.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_users_dto_address_dto", + "community": 48, + "community_name": "UsersService", + "norm_label": "address.dto.ts" + }, + { + "label": "ApiProperty", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_address_dto_ts_apiproperty", + "community": 48, + "community_name": "UsersService", + "norm_label": "apiproperty" + }, + { + "label": "ApiPropertyOptional", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_address_dto_ts_apipropertyoptional", + "community": 48, + "community_name": "UsersService", + "norm_label": "apipropertyoptional" + }, + { + "label": "IsBoolean", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_address_dto_ts_isboolean", + "community": 48, + "community_name": "UsersService", + "norm_label": "isboolean" + }, + { + "label": "IsNotEmpty", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_address_dto_ts_isnotempty", + "community": 48, + "community_name": "UsersService", + "norm_label": "isnotempty" + }, + { + "label": "IsOptional", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_address_dto_ts_isoptional", + "community": 48, + "community_name": "UsersService", + "norm_label": "isoptional" + }, + { + "label": "IsString", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_address_dto_ts_isstring", + "community": 48, + "community_name": "UsersService", + "norm_label": "isstring" + }, + { + "label": "update-profile.dto.ts", + "file_type": "code", + "source_file": "backend/src/users/dto/update-profile.dto.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_users_dto_update_profile_dto", + "community": 48, + "community_name": "UsersService", + "norm_label": "update-profile.dto.ts" + }, + { + "label": "ApiPropertyOptional", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_update_profile_dto_ts_apipropertyoptional", + "community": 48, + "community_name": "UsersService", + "norm_label": "apipropertyoptional" + }, + { + "label": "IsEmail", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_update_profile_dto_ts_isemail", + "community": 48, + "community_name": "UsersService", + "norm_label": "isemail" + }, + { + "label": "IsOptional", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_update_profile_dto_ts_isoptional", + "community": 48, + "community_name": "UsersService", + "norm_label": "isoptional" + }, + { + "label": "IsString", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_update_profile_dto_ts_isstring", + "community": 48, + "community_name": "UsersService", + "norm_label": "isstring" + }, + { + "label": "MinLength", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_dto_update_profile_dto_ts_minlength", + "community": 48, + "community_name": "UsersService", + "norm_label": "minlength" + }, + { + "label": "users.controller.ts", + "file_type": "code", + "source_file": "backend/src/users/users.controller.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_users_users_controller", + "community": 48, + "community_name": "UsersService", + "norm_label": "users.controller.ts" + }, + { + "label": "users.controller.spec.ts", + "file_type": "code", + "source_file": "backend/src/users/users.controller.spec.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_users_users_controller_spec", + "community": 48, + "community_name": "UsersService", + "norm_label": "users.controller.spec.ts" + }, + { + "label": "ApiBadRequestResponse", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_apibadrequestresponse", + "community": 48, + "community_name": "UsersService", + "norm_label": "apibadrequestresponse" + }, + { + "label": "ApiBearerAuth", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_apibearerauth", + "community": 48, + "community_name": "UsersService", + "norm_label": "apibearerauth" + }, + { + "label": "ApiCreatedResponse", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_apicreatedresponse", + "community": 48, + "community_name": "UsersService", + "norm_label": "apicreatedresponse" + }, + { + "label": "ApiOkResponse", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_apiokresponse", + "community": 48, + "community_name": "UsersService", + "norm_label": "apiokresponse" + }, + { + "label": "ApiOperation", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_apioperation", + "community": 48, + "community_name": "UsersService", + "norm_label": "apioperation" + }, + { + "label": "ApiTags", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_apitags", + "community": 48, + "community_name": "UsersService", + "norm_label": "apitags" + }, + { + "label": "Body", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_body", + "community": 48, + "community_name": "UsersService", + "norm_label": "body" + }, + { + "label": "Controller", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_controller", + "community": 48, + "community_name": "UsersService", + "norm_label": "controller" + }, + { + "label": "Delete", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_delete", + "community": 48, + "community_name": "UsersService", + "norm_label": "delete" + }, + { + "label": "Get", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_get", + "community": 48, + "community_name": "UsersService", + "norm_label": "get" + }, + { + "label": "Param", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_param", + "community": 48, + "community_name": "UsersService", + "norm_label": "param" + }, + { + "label": "Patch", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_patch", + "community": 48, + "community_name": "UsersService", + "norm_label": "patch" + }, + { + "label": "Post", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_post", + "community": 48, + "community_name": "UsersService", + "norm_label": "post" + }, + { + "label": "Req", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_req", + "community": 48, + "community_name": "UsersService", + "norm_label": "req" + }, + { + "label": "UseGuards", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_users_users_controller_ts_useguards", + "community": 48, + "community_name": "UsersService", + "norm_label": "useguards" + }, { "label": "users.module.ts", "file_type": "code", @@ -37604,17 +37890,6 @@ "community_name": "devDependencies", "norm_label": "eslint" }, - { - "label": "eslint-config-next", - "file_type": "code", - "source_file": "frontend/application/package.json", - "source_location": "L30", - "_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", @@ -37659,6 +37934,17 @@ "community_name": "devDependencies", "norm_label": "@types/node" }, + { + "label": "@types/react-dom", + "file_type": "code", + "source_file": "frontend/application/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "frontend_application_package_devdependencies_types_react_dom", + "community": 50, + "community_name": "devDependencies", + "norm_label": "@types/react-dom" + }, { "label": "@vitejs/plugin-react", "file_type": "code", @@ -37670,17 +37956,6 @@ "community_name": "devDependencies", "norm_label": "@vitejs/plugin-react" }, - { - "label": "eslint-config-next", - "file_type": "concept", - "source_file": "frontend/application/package.json", - "source_location": "L30", - "_origin": "ast", - "id": "eslint_config_next", - "community": 50, - "community_name": "devDependencies", - "norm_label": "eslint-config-next" - }, { "label": "eslint", "file_type": "concept", @@ -37725,6 +38000,17 @@ "community_name": "devDependencies", "norm_label": "@types/node" }, + { + "label": "@types/react-dom", + "file_type": "concept", + "source_file": "frontend/application/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "frontend_application_package_json_types_react_dom", + "community": 50, + "community_name": "devDependencies", + "norm_label": "@types/react-dom" + }, { "label": "@vitejs/plugin-react", "file_type": "concept", @@ -38188,180 +38474,158 @@ "norm_label": "injectable" }, { - "label": "users.controller.spec.ts", + "label": "create-review.dto.ts", "file_type": "code", - "source_file": "backend/src/users/users.controller.spec.ts", + "source_file": "backend/src/reviews/dto/create-review.dto.ts", "source_location": "L1", "_origin": "ast", - "id": "backend_src_users_users_controller_spec", + "id": "backend_src_reviews_dto_create_review_dto", "community": 54, - "community_name": "UsersController", - "norm_label": "users.controller.spec.ts" + "community_name": "CreateReviewDto", + "norm_label": "create-review.dto.ts" }, { - "label": "ApiBadRequestResponse", + "label": "ApiProperty", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_apibadrequestresponse", + "id": "backend_src_reviews_dto_create_review_dto_ts_apiproperty", "community": 54, - "community_name": "UsersController", - "norm_label": "apibadrequestresponse" + "community_name": "CreateReviewDto", + "norm_label": "apiproperty" }, { - "label": "ApiBearerAuth", + "label": "IsInt", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_apibearerauth", + "id": "backend_src_reviews_dto_create_review_dto_ts_isint", "community": 54, - "community_name": "UsersController", - "norm_label": "apibearerauth" + "community_name": "CreateReviewDto", + "norm_label": "isint" }, { - "label": "ApiCreatedResponse", + "label": "IsNotEmpty", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_apicreatedresponse", + "id": "backend_src_reviews_dto_create_review_dto_ts_isnotempty", "community": 54, - "community_name": "UsersController", - "norm_label": "apicreatedresponse" + "community_name": "CreateReviewDto", + "norm_label": "isnotempty" }, { - "label": "ApiOkResponse", + "label": "IsOptional", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_apiokresponse", + "id": "backend_src_reviews_dto_create_review_dto_ts_isoptional", "community": 54, - "community_name": "UsersController", - "norm_label": "apiokresponse" + "community_name": "CreateReviewDto", + "norm_label": "isoptional" }, { - "label": "ApiOperation", + "label": "IsString", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_apioperation", + "id": "backend_src_reviews_dto_create_review_dto_ts_isstring", "community": 54, - "community_name": "UsersController", - "norm_label": "apioperation" + "community_name": "CreateReviewDto", + "norm_label": "isstring" }, { - "label": "ApiTags", + "label": "Min", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_apitags", + "id": "backend_src_reviews_dto_create_review_dto_ts_min", "community": 54, - "community_name": "UsersController", - "norm_label": "apitags" + "community_name": "CreateReviewDto", + "norm_label": "min" }, { - "label": "Body", + "label": "update-review.dto.ts", + "file_type": "code", + "source_file": "backend/src/reviews/dto/update-review.dto.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_reviews_dto_update_review_dto", + "community": 54, + "community_name": "CreateReviewDto", + "norm_label": "update-review.dto.ts" + }, + { + "label": "ApiProperty", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_body", + "id": "backend_src_reviews_dto_update_review_dto_ts_apiproperty", "community": 54, - "community_name": "UsersController", - "norm_label": "body" + "community_name": "CreateReviewDto", + "norm_label": "apiproperty" }, { - "label": "Controller", + "label": "IsIn", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_controller", + "id": "backend_src_reviews_dto_update_review_dto_ts_isin", "community": 54, - "community_name": "UsersController", - "norm_label": "controller" + "community_name": "CreateReviewDto", + "norm_label": "isin" }, { - "label": "Delete", + "label": "IsOptional", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_delete", + "id": "backend_src_reviews_dto_update_review_dto_ts_isoptional", "community": 54, - "community_name": "UsersController", - "norm_label": "delete" + "community_name": "CreateReviewDto", + "norm_label": "isoptional" }, { - "label": "Get", + "label": "IsString", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_get", + "id": "backend_src_reviews_dto_update_review_dto_ts_isstring", "community": 54, - "community_name": "UsersController", - "norm_label": "get" + "community_name": "CreateReviewDto", + "norm_label": "isstring" }, { - "label": "Param", + "label": "reviews.service.ts", + "file_type": "code", + "source_file": "backend/src/reviews/reviews.service.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_reviews_reviews_service", + "community": 54, + "community_name": "CreateReviewDto", + "norm_label": "reviews.service.ts" + }, + { + "label": "Max", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_users_users_controller_ts_param", + "id": "max", "community": 54, - "community_name": "UsersController", - "norm_label": "param" - }, - { - "label": "Patch", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_users_controller_ts_patch", - "community": 54, - "community_name": "UsersController", - "norm_label": "patch" - }, - { - "label": "Post", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_users_controller_ts_post", - "community": 54, - "community_name": "UsersController", - "norm_label": "post" - }, - { - "label": "Req", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_users_controller_ts_req", - "community": 54, - "community_name": "UsersController", - "norm_label": "req" - }, - { - "label": "UseGuards", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_users_controller_ts_useguards", - "community": 54, - "community_name": "UsersController", - "norm_label": "useguards" + "community_name": "CreateReviewDto", + "norm_label": "max" }, { "label": "IconPickerModal.tsx", @@ -39629,158 +39893,26 @@ "norm_label": "injectable" }, { - "label": "address.dto.ts", + "label": "Injectable", "file_type": "code", - "source_file": "backend/src/users/dto/address.dto.ts", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_auth_auth_service_ts_injectable", + "community": 60, + "community_name": "AuthService", + "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_users_dto_address_dto", + "id": "backend_src_common_utils_phone_utils", "community": 60, - "community_name": "users.controller.ts", - "norm_label": "address.dto.ts" - }, - { - "label": "ApiProperty", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_address_dto_ts_apiproperty", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "apiproperty" - }, - { - "label": "ApiPropertyOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_address_dto_ts_apipropertyoptional", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "apipropertyoptional" - }, - { - "label": "IsBoolean", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_address_dto_ts_isboolean", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "isboolean" - }, - { - "label": "IsNotEmpty", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_address_dto_ts_isnotempty", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "isnotempty" - }, - { - "label": "IsOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_address_dto_ts_isoptional", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "isoptional" - }, - { - "label": "IsString", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_address_dto_ts_isstring", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "isstring" - }, - { - "label": "update-profile.dto.ts", - "file_type": "code", - "source_file": "backend/src/users/dto/update-profile.dto.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_users_dto_update_profile_dto", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "update-profile.dto.ts" - }, - { - "label": "ApiPropertyOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_update_profile_dto_ts_apipropertyoptional", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "apipropertyoptional" - }, - { - "label": "IsEmail", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_update_profile_dto_ts_isemail", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "isemail" - }, - { - "label": "IsOptional", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_update_profile_dto_ts_isoptional", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "isoptional" - }, - { - "label": "IsString", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_update_profile_dto_ts_isstring", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "isstring" - }, - { - "label": "MinLength", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_users_dto_update_profile_dto_ts_minlength", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "minlength" - }, - { - "label": "users.controller.ts", - "file_type": "code", - "source_file": "backend/src/users/users.controller.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_users_users_controller", - "community": 60, - "community_name": "users.controller.ts", - "norm_label": "users.controller.ts" + "community_name": "AuthService", + "norm_label": "phone.utils.ts" }, { "label": "admin-transaction-filter.dto.ts", @@ -39790,7 +39922,7 @@ "_origin": "ast", "id": "backend_src_payment_dto_admin_transaction_filter_dto", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "norm_label": "admin-transaction-filter.dto.ts" }, { @@ -39801,7 +39933,7 @@ "_origin": "ast", "id": "backend_src_payment_dto_admin_transaction_filter_dto_ts_apipropertyoptional", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "norm_label": "apipropertyoptional" }, { @@ -39812,7 +39944,7 @@ "_origin": "ast", "id": "backend_src_payment_dto_admin_transaction_filter_dto_ts_isin", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "norm_label": "isin" }, { @@ -39823,7 +39955,7 @@ "_origin": "ast", "id": "backend_src_payment_dto_admin_transaction_filter_dto_ts_isnumber", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "norm_label": "isnumber" }, { @@ -39834,7 +39966,7 @@ "_origin": "ast", "id": "backend_src_payment_dto_admin_transaction_filter_dto_ts_isoptional", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "norm_label": "isoptional" }, { @@ -39845,7 +39977,7 @@ "_origin": "ast", "id": "backend_src_payment_dto_admin_transaction_filter_dto_ts_isstring", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "norm_label": "isstring" }, { @@ -39856,9 +39988,218 @@ "_origin": "ast", "id": "backend_src_payment_dto_admin_transaction_filter_dto_ts_type", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "norm_label": "type" }, + { + "label": "ebank-checkout.dto.ts", + "file_type": "code", + "source_file": "backend/src/payment/dto/ebank-checkout.dto.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_payment_dto_ebank_checkout_dto", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "ebank-checkout.dto.ts" + }, + { + "label": "ApiProperty", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_ebank_checkout_dto_ts_apiproperty", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "apiproperty" + }, + { + "label": "ApiPropertyOptional", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_ebank_checkout_dto_ts_apipropertyoptional", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "apipropertyoptional" + }, + { + "label": "IsNotEmpty", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_ebank_checkout_dto_ts_isnotempty", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "isnotempty" + }, + { + "label": "IsNumber", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_ebank_checkout_dto_ts_isnumber", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "isnumber" + }, + { + "label": "IsOptional", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_ebank_checkout_dto_ts_isoptional", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "isoptional" + }, + { + "label": "IsString", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_ebank_checkout_dto_ts_isstring", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "isstring" + }, + { + "label": "Min", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_ebank_checkout_dto_ts_min", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "min" + }, + { + "label": "initiate-payment.dto.ts", + "file_type": "code", + "source_file": "backend/src/payment/dto/initiate-payment.dto.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_payment_dto_initiate_payment_dto", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "initiate-payment.dto.ts" + }, + { + "label": "ApiProperty", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_initiate_payment_dto_ts_apiproperty", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "apiproperty" + }, + { + "label": "ApiPropertyOptional", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_initiate_payment_dto_ts_apipropertyoptional", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "apipropertyoptional" + }, + { + "label": "IsNotEmpty", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_initiate_payment_dto_ts_isnotempty", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "isnotempty" + }, + { + "label": "IsOptional", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_initiate_payment_dto_ts_isoptional", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "isoptional" + }, + { + "label": "IsString", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_initiate_payment_dto_ts_isstring", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "isstring" + }, + { + "label": "verify-payment.dto.ts", + "file_type": "code", + "source_file": "backend/src/payment/dto/verify-payment.dto.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_payment_dto_verify_payment_dto", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "verify-payment.dto.ts" + }, + { + "label": "ApiPropertyOptional", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_verify_payment_dto_ts_apipropertyoptional", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "apipropertyoptional" + }, + { + "label": "IsOptional", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_verify_payment_dto_ts_isoptional", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "isoptional" + }, + { + "label": "IsString", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_payment_dto_verify_payment_dto_ts_isstring", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "isstring" + }, + { + "label": "payment.controller.ts", + "file_type": "code", + "source_file": "backend/src/payment/payment.controller.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_payment_payment_controller", + "community": 61, + "community_name": "payment.controller.ts", + "norm_label": "payment.controller.ts" + }, { "label": "payment.service.ts", "file_type": "code", @@ -39867,9 +40208,20 @@ "_origin": "ast", "id": "backend_src_payment_payment_service", "community": 61, - "community_name": "payment.service.ts", + "community_name": "payment.controller.ts", "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": 61, + "community_name": "payment.controller.ts", + "norm_label": "zibal-ebank.service.ts" + }, { "label": "ApiPropertyOptional", "file_type": "code", @@ -39947,17 +40299,6 @@ "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", @@ -39969,17 +40310,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", @@ -40002,17 +40332,6 @@ "community_name": "dependencies", "norm_label": "compression" }, - { - "label": "helmet", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L38", - "_origin": "ast", - "id": "backend_package_dependencies_helmet", - "community": 63, - "community_name": "dependencies", - "norm_label": "helmet" - }, { "label": "ioredis", "file_type": "code", @@ -40024,17 +40343,6 @@ "community_name": "dependencies", "norm_label": "ioredis" }, - { - "label": "js-yaml", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L40", - "_origin": "ast", - "id": "backend_package_dependencies_js_yaml", - "community": 63, - "community_name": "dependencies", - "norm_label": "js-yaml" - }, { "label": "@nestjs/common", "file_type": "code", @@ -40046,28 +40354,6 @@ "community_name": "dependencies", "norm_label": "@nestjs/common" }, - { - "label": "@nestjs/core", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L26", - "_origin": "ast", - "id": "backend_package_dependencies_nestjs_core", - "community": 63, - "community_name": "dependencies", - "norm_label": "@nestjs/core" - }, - { - "label": "@nestjs/jwt", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L27", - "_origin": "ast", - "id": "backend_package_dependencies_nestjs_jwt", - "community": 63, - "community_name": "dependencies", - "norm_label": "@nestjs/jwt" - }, { "label": "@nestjs/passport", "file_type": "code", @@ -40101,28 +40387,6 @@ "community_name": "dependencies", "norm_label": "@nestjs/swagger" }, - { - "label": "@nestjs/throttler", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L31", - "_origin": "ast", - "id": "backend_package_dependencies_nestjs_throttler", - "community": 63, - "community_name": "dependencies", - "norm_label": "@nestjs/throttler" - }, - { - "label": "passport", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L41", - "_origin": "ast", - "id": "backend_package_dependencies_passport", - "community": 63, - "community_name": "dependencies", - "norm_label": "passport" - }, { "label": "passport-jwt", "file_type": "code", @@ -40145,17 +40409,6 @@ "community_name": "dependencies", "norm_label": "@prisma/client" }, - { - "label": "reflect-metadata", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L43", - "_origin": "ast", - "id": "backend_package_dependencies_reflect_metadata", - "community": 63, - "community_name": "dependencies", - "norm_label": "reflect-metadata" - }, { "label": "rxjs", "file_type": "code", @@ -40167,28 +40420,6 @@ "community_name": "dependencies", "norm_label": "rxjs" }, - { - "label": "swagger-ui-express", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L45", - "_origin": "ast", - "id": "backend_package_dependencies_swagger_ui_express", - "community": 63, - "community_name": "dependencies", - "norm_label": "swagger-ui-express" - }, - { - "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", @@ -40200,17 +40431,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", @@ -40233,17 +40453,6 @@ "community_name": "dependencies", "norm_label": "compression" }, - { - "label": "helmet", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L38", - "_origin": "ast", - "id": "helmet", - "community": 63, - "community_name": "dependencies", - "norm_label": "helmet" - }, { "label": "ioredis", "file_type": "concept", @@ -40255,17 +40464,6 @@ "community_name": "dependencies", "norm_label": "ioredis" }, - { - "label": "js-yaml", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L40", - "_origin": "ast", - "id": "js_yaml", - "community": 63, - "community_name": "dependencies", - "norm_label": "js-yaml" - }, { "label": "@nestjs/common", "file_type": "concept", @@ -40277,28 +40475,6 @@ "community_name": "dependencies", "norm_label": "@nestjs/common" }, - { - "label": "@nestjs/core", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L26", - "_origin": "ast", - "id": "nestjs_core", - "community": 63, - "community_name": "dependencies", - "norm_label": "@nestjs/core" - }, - { - "label": "@nestjs/jwt", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L27", - "_origin": "ast", - "id": "nestjs_jwt", - "community": 63, - "community_name": "dependencies", - "norm_label": "@nestjs/jwt" - }, { "label": "@nestjs/passport", "file_type": "concept", @@ -40332,28 +40508,6 @@ "community_name": "dependencies", "norm_label": "@nestjs/swagger" }, - { - "label": "@nestjs/throttler", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L31", - "_origin": "ast", - "id": "nestjs_throttler", - "community": 63, - "community_name": "dependencies", - "norm_label": "@nestjs/throttler" - }, - { - "label": "passport", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L41", - "_origin": "ast", - "id": "passport", - "community": 63, - "community_name": "dependencies", - "norm_label": "passport" - }, { "label": "passport-jwt", "file_type": "concept", @@ -40376,17 +40530,6 @@ "community_name": "dependencies", "norm_label": "@prisma/client" }, - { - "label": "reflect-metadata", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L43", - "_origin": "ast", - "id": "reflect_metadata", - "community": 63, - "community_name": "dependencies", - "norm_label": "reflect-metadata" - }, { "label": "rxjs", "file_type": "concept", @@ -40398,17 +40541,6 @@ "community_name": "dependencies", "norm_label": "rxjs" }, - { - "label": "swagger-ui-express", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L45", - "_origin": "ast", - "id": "swagger_ui_express", - "community": 63, - "community_name": "dependencies", - "norm_label": "swagger-ui-express" - }, { "label": "tsconfig.node.json", "file_type": "code", @@ -40761,6 +40893,50 @@ "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": "admin/pets.controller.ts", "file_type": "code", @@ -40769,7 +40945,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "admin/pets.controller.ts" }, { @@ -40780,7 +40956,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_ts_apibearerauth", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "apibearerauth" }, { @@ -40791,7 +40967,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_ts_apioperation", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "apioperation" }, { @@ -40802,7 +40978,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_ts_apiquery", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "apiquery" }, { @@ -40813,7 +40989,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_ts_apitags", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "apitags" }, { @@ -40824,7 +41000,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_ts_controller", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "controller" }, { @@ -40835,7 +41011,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_ts_delete", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "delete" }, { @@ -40846,7 +41022,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_ts_get", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "get" }, { @@ -40857,7 +41033,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_ts_param", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "param" }, { @@ -40868,7 +41044,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_ts_query", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "query" }, { @@ -40879,7 +41055,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_controller_ts_useguards", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "useguards" }, { @@ -40890,7 +41066,7 @@ "_origin": "ast", "id": "backend_src_admin_pets_service", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", "norm_label": "admin/pets.service.ts" }, { @@ -40901,7 +41077,51 @@ "_origin": "ast", "id": "backend_src_admin_pets_service_ts_injectable", "community": 67, - "community_name": "PetsController", + "community_name": "admin.module.ts", + "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": "admin/wiki.controller.ts", + "file_type": "code", + "source_file": "backend/src/admin/wiki.controller.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_admin_wiki_controller", + "community": 67, + "community_name": "admin.module.ts", + "norm_label": "admin/wiki.controller.ts" + }, + { + "label": "admin/wiki.service.ts", + "file_type": "code", + "source_file": "backend/src/admin/wiki.service.ts", + "source_location": "L1", + "_origin": "ast", + "id": "backend_src_admin_wiki_service", + "community": 67, + "community_name": "admin.module.ts", + "norm_label": "admin/wiki.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" }, { @@ -40910,9 +41130,9 @@ "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_payment_payment_service_ts_injectable", + "id": "backend_src_orders_orders_service_ts_injectable", "community": 68, - "community_name": "PaymentService", + "community_name": "OrdersService", "norm_label": "injectable" }, { @@ -41553,6 +41773,17 @@ "community_name": "getPageMetadata", "norm_label": "about/page.tsx" }, + { + "label": "catalog/page.tsx", + "file_type": "code", + "source_file": "frontend/application/app/catalog/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_app_catalog_page", + "community": 71, + "community_name": "getPageMetadata", + "norm_label": "catalog/page.tsx" + }, { "label": "checkout/page.tsx", "file_type": "code", @@ -41575,17 +41806,6 @@ "community_name": "getPageMetadata", "norm_label": "dashboard/page.tsx" }, - { - "label": "app/page.tsx", - "file_type": "code", - "source_file": "frontend/application/app/page.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_app_page", - "community": 71, - "community_name": "getPageMetadata", - "norm_label": "app/page.tsx" - }, { "label": "privacy/page.tsx", "file_type": "code", @@ -41641,6 +41861,17 @@ "community_name": "getPageMetadata", "norm_label": "track/page.tsx" }, + { + "label": "trust-seals/page.tsx", + "file_type": "code", + "source_file": "frontend/application/app/trust-seals/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_app_trust_seals_page", + "community": 71, + "community_name": "getPageMetadata", + "norm_label": "trust-seals/page.tsx" + }, { "label": "seo.ts", "file_type": "code", @@ -43060,50 +43291,6 @@ "community_name": "\ud83c\udfe2 AI Software Agency \u2014 Master Orchestration Protocol v3", "norm_label": "your identity" }, - { - "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": 8, - "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": 8, - "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": 8, - "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": 8, - "community_name": "admin.module.ts", - "norm_label": "media.service.ts" - }, { "label": "reports.controller.ts", "file_type": "code", @@ -43112,7 +43299,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "reports.controller.ts" }, { @@ -43123,7 +43310,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_ts_apibearerauth", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "apibearerauth" }, { @@ -43134,7 +43321,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_ts_apioperation", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "apioperation" }, { @@ -43145,7 +43332,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_ts_apiquery", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "apiquery" }, { @@ -43156,7 +43343,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_ts_apitags", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "apitags" }, { @@ -43167,7 +43354,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_ts_controller", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "controller" }, { @@ -43178,7 +43365,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_ts_get", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "get" }, { @@ -43189,7 +43376,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_ts_query", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "query" }, { @@ -43200,20 +43387,9 @@ "_origin": "ast", "id": "backend_src_admin_reports_controller_ts_useguards", "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "useguards" }, - { - "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": 8, - "community_name": "admin.module.ts", - "norm_label": "reports.service.ts" - }, { "label": "Injectable", "file_type": "code", @@ -43222,51 +43398,7 @@ "_origin": "ast", "id": "backend_src_admin_reports_service_ts_injectable", "community": 8, - "community_name": "admin.module.ts", - "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": 8, - "community_name": "admin.module.ts", - "norm_label": "ssl.service.ts" - }, - { - "label": "admin/wiki.controller.ts", - "file_type": "code", - "source_file": "backend/src/admin/wiki.controller.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_admin_wiki_controller", - "community": 8, - "community_name": "admin.module.ts", - "norm_label": "admin/wiki.controller.ts" - }, - { - "label": "admin/wiki.service.ts", - "file_type": "code", - "source_file": "backend/src/admin/wiki.service.ts", - "source_location": "L1", - "_origin": "ast", - "id": "backend_src_admin_wiki_service", - "community": 8, - "community_name": "admin.module.ts", - "norm_label": "admin/wiki.service.ts" - }, - { - "label": "Injectable", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_admin_wiki_service_ts_injectable", - "community": 8, - "community_name": "admin.module.ts", + "community_name": "ReportsController", "norm_label": "injectable" }, { @@ -44402,6 +44534,17 @@ "community_name": "Role & Core Objective", "norm_label": "your domain \u2014 what you review (only these areas)" }, + { + "label": "HomeClient.tsx", + "file_type": "code", + "source_file": "frontend/application/app/HomeClient.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "frontend_application_app_homeclient", + "community": 85, + "community_name": "HomeClient.tsx", + "norm_label": "homeclient.tsx" + }, { "label": "ArchivePage.tsx", "file_type": "code", @@ -44410,7 +44553,7 @@ "_origin": "ast", "id": "frontend_application_components_archivepage", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "archivepage.tsx" }, { @@ -44421,7 +44564,7 @@ "_origin": "ast", "id": "frontend_application_components_archivepage_category_map", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "category_map" }, { @@ -44432,7 +44575,7 @@ "_origin": "ast", "id": "frontend_application_components_archivepage_icon_map", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "icon_map" }, { @@ -44443,9 +44586,20 @@ "_origin": "ast", "id": "frontend_application_components_bannerplacement", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "bannerplacement.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": 85, + "community_name": "HomeClient.tsx", + "norm_label": "faqsection.tsx" + }, { "label": "types.ts", "file_type": "code", @@ -44454,7 +44608,7 @@ "_origin": "ast", "id": "frontend_application_lib_types", "community": 85, - "community_name": "ArchivePage.tsx", + "community_name": "HomeClient.tsx", "norm_label": "types.ts" }, { @@ -44667,26 +44821,48 @@ "norm_label": "sonner" }, { - "label": "NetworkBanner.tsx", + "label": "ApiExcludeController", "file_type": "code", - "source_file": "frontend/application/components/NetworkBanner.tsx", - "source_location": "L1", + "source_file": "", + "source_location": "", "_origin": "ast", - "id": "frontend_application_components_networkbanner", + "id": "apiexcludecontroller", "community": 88, - "community_name": "NetworkBanner.tsx", - "norm_label": "networkbanner.tsx" + "community_name": "MetricsController", + "norm_label": "apiexcludecontroller" }, { - "label": "useNetworkStatus.ts", + "label": "Controller", "file_type": "code", - "source_file": "frontend/application/lib/hooks/useNetworkStatus.ts", - "source_location": "L1", + "source_file": "", + "source_location": "", "_origin": "ast", - "id": "frontend_application_lib_hooks_usenetworkstatus", + "id": "backend_src_common_metrics_controller_ts_controller", "community": 88, - "community_name": "NetworkBanner.tsx", - "norm_label": "usenetworkstatus.ts" + "community_name": "MetricsController", + "norm_label": "controller" + }, + { + "label": "Get", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_common_metrics_controller_ts_get", + "community": 88, + "community_name": "MetricsController", + "norm_label": "get" + }, + { + "label": "Res", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_common_metrics_controller_ts_res", + "community": 88, + "community_name": "MetricsController", + "norm_label": "res" }, { "label": "seed.ts", @@ -44798,83 +44974,6 @@ "community_name": "devDependencies", "norm_label": "eslint" }, - { - "label": "@eslint/eslintrc", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L48", - "_origin": "ast", - "id": "backend_package_devdependencies_eslint_eslintrc", - "community": 9, - "community_name": "devDependencies", - "norm_label": "@eslint/eslintrc" - }, - { - "label": "eslint-plugin-prettier", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L65", - "_origin": "ast", - "id": "backend_package_devdependencies_eslint_plugin_prettier", - "community": 9, - "community_name": "devDependencies", - "norm_label": "eslint-plugin-prettier" - }, - { - "label": "globals", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L66", - "_origin": "ast", - "id": "backend_package_devdependencies_globals", - "community": 9, - "community_name": "devDependencies", - "norm_label": "globals" - }, - { - "label": "@nestjs/cli", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L50", - "_origin": "ast", - "id": "backend_package_devdependencies_nestjs_cli", - "community": 9, - "community_name": "devDependencies", - "norm_label": "@nestjs/cli" - }, - { - "label": "@nestjs/testing", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L52", - "_origin": "ast", - "id": "backend_package_devdependencies_nestjs_testing", - "community": 9, - "community_name": "devDependencies", - "norm_label": "@nestjs/testing" - }, - { - "label": "prettier", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L68", - "_origin": "ast", - "id": "backend_package_devdependencies_prettier", - "community": 9, - "community_name": "devDependencies", - "norm_label": "prettier" - }, - { - "label": "ts-jest", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L72", - "_origin": "ast", - "id": "backend_package_devdependencies_ts_jest", - "community": 9, - "community_name": "devDependencies", - "norm_label": "ts-jest" - }, { "label": "@types/bcryptjs", "file_type": "code", @@ -44887,37 +44986,26 @@ "norm_label": "@types/bcryptjs" }, { - "label": "@types/js-yaml", + "label": "@types/node", "file_type": "code", "source_file": "backend/package.json", - "source_location": "L58", + "source_location": "L60", "_origin": "ast", - "id": "backend_package_devdependencies_types_js_yaml", + "id": "backend_package_devdependencies_types_node", "community": 9, "community_name": "devDependencies", - "norm_label": "@types/js-yaml" + "norm_label": "@types/node" }, { - "label": "@types/supertest", + "label": "typescript", "file_type": "code", "source_file": "backend/package.json", - "source_location": "L62", + "source_location": "L76", "_origin": "ast", - "id": "backend_package_devdependencies_types_supertest", + "id": "backend_package_devdependencies_typescript", "community": 9, "community_name": "devDependencies", - "norm_label": "@types/supertest" - }, - { - "label": "typescript-eslint", - "file_type": "code", - "source_file": "backend/package.json", - "source_location": "L77", - "_origin": "ast", - "id": "backend_package_devdependencies_typescript_eslint", - "community": 9, - "community_name": "devDependencies", - "norm_label": "typescript-eslint" + "norm_label": "typescript" }, { "label": "eslint", @@ -44931,92 +45019,26 @@ "norm_label": "eslint" }, { - "label": "globals", + "label": "@types/node", "file_type": "concept", "source_file": "backend/package.json", - "source_location": "L66", + "source_location": "L60", "_origin": "ast", - "id": "backend_package_json_globals", + "id": "backend_package_json_types_node", "community": 9, "community_name": "devDependencies", - "norm_label": "globals" + "norm_label": "@types/node" }, { - "label": "typescript-eslint", + "label": "typescript", "file_type": "concept", "source_file": "backend/package.json", - "source_location": "L77", + "source_location": "L76", "_origin": "ast", - "id": "backend_package_json_typescript_eslint", + "id": "backend_package_json_typescript", "community": 9, "community_name": "devDependencies", - "norm_label": "typescript-eslint" - }, - { - "label": "@eslint/eslintrc", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L48", - "_origin": "ast", - "id": "eslint_eslintrc", - "community": 9, - "community_name": "devDependencies", - "norm_label": "@eslint/eslintrc" - }, - { - "label": "eslint-plugin-prettier", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L65", - "_origin": "ast", - "id": "eslint_plugin_prettier", - "community": 9, - "community_name": "devDependencies", - "norm_label": "eslint-plugin-prettier" - }, - { - "label": "@nestjs/cli", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L50", - "_origin": "ast", - "id": "nestjs_cli", - "community": 9, - "community_name": "devDependencies", - "norm_label": "@nestjs/cli" - }, - { - "label": "@nestjs/testing", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L52", - "_origin": "ast", - "id": "nestjs_testing", - "community": 9, - "community_name": "devDependencies", - "norm_label": "@nestjs/testing" - }, - { - "label": "prettier", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L68", - "_origin": "ast", - "id": "prettier", - "community": 9, - "community_name": "devDependencies", - "norm_label": "prettier" - }, - { - "label": "ts-jest", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L72", - "_origin": "ast", - "id": "ts_jest", - "community": 9, - "community_name": "devDependencies", - "norm_label": "ts-jest" + "norm_label": "typescript" }, { "label": "@types/bcryptjs", @@ -45030,37 +45052,37 @@ "norm_label": "@types/bcryptjs" }, { - "label": "@types/js-yaml", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L58", - "_origin": "ast", - "id": "types_js_yaml", - "community": 9, - "community_name": "devDependencies", - "norm_label": "@types/js-yaml" - }, - { - "label": "@types/supertest", - "file_type": "concept", - "source_file": "backend/package.json", - "source_location": "L62", - "_origin": "ast", - "id": "types_supertest", - "community": 9, - "community_name": "devDependencies", - "norm_label": "@types/supertest" - }, - { - "label": "HomeClient.tsx", + "label": "ClientLayout.tsx", "file_type": "code", - "source_file": "frontend/application/app/HomeClient.tsx", + "source_file": "frontend/application/app/ClientLayout.tsx", "source_location": "L1", "_origin": "ast", - "id": "frontend_application_app_homeclient", + "id": "frontend_application_app_clientlayout", "community": 90, "community_name": "useSettingsStore", - "norm_label": "homeclient.tsx" + "norm_label": "clientlayout.tsx" + }, + { + "label": "AuthModal", + "file_type": "code", + "source_file": "frontend/application/app/ClientLayout.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "frontend_application_app_clientlayout_authmodal", + "community": 90, + "community_name": "useSettingsStore", + "norm_label": "authmodal" + }, + { + "label": "CartDrawer", + "file_type": "code", + "source_file": "frontend/application/app/ClientLayout.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "frontend_application_app_clientlayout_cartdrawer", + "community": 90, + "community_name": "useSettingsStore", + "norm_label": "cartdrawer" }, { "label": "B2BLandingClient.tsx", @@ -45073,17 +45095,6 @@ "community_name": "useSettingsStore", "norm_label": "b2blandingclient.tsx" }, - { - "label": "BlogPreviewSection.tsx", - "file_type": "code", - "source_file": "frontend/application/components/BlogPreviewSection.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_components_blogpreviewsection", - "community": 90, - "community_name": "useSettingsStore", - "norm_label": "blogpreviewsection.tsx" - }, { "label": "BrandLogo.tsx", "file_type": "code", @@ -45096,26 +45107,15 @@ "norm_label": "brandlogo.tsx" }, { - "label": "ContactFormClient.tsx", + "label": "EnamadBadge.tsx", "file_type": "code", - "source_file": "frontend/application/components/ContactFormClient.tsx", + "source_file": "frontend/application/components/EnamadBadge.tsx", "source_location": "L1", "_origin": "ast", - "id": "frontend_application_components_contactformclient", + "id": "frontend_application_components_enamadbadge", "community": 90, "community_name": "useSettingsStore", - "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": 90, - "community_name": "useSettingsStore", - "norm_label": "faqsection.tsx" + "norm_label": "enamadbadge.tsx" }, { "label": "Footer.tsx", @@ -45128,6 +45128,28 @@ "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": 90, + "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": 90, + "community_name": "useSettingsStore", + "norm_label": "menu_icons" + }, { "label": "Hero.tsx", "file_type": "code", @@ -45151,48 +45173,15 @@ "norm_label": "maintenancepage.tsx" }, { - "label": "SmartAdvisor.tsx", + "label": "NetworkBanner.tsx", "file_type": "code", - "source_file": "frontend/application/components/SmartAdvisor.tsx", + "source_file": "frontend/application/components/NetworkBanner.tsx", "source_location": "L1", "_origin": "ast", - "id": "frontend_application_components_smartadvisor", + "id": "frontend_application_components_networkbanner", "community": 90, "community_name": "useSettingsStore", - "norm_label": "smartadvisor.tsx" - }, - { - "label": "CURRENT_SYMPTOMS", - "file_type": "code", - "source_file": "frontend/application/components/SmartAdvisor.tsx", - "source_location": "L32", - "_origin": "ast", - "id": "frontend_application_components_smartadvisor_current_symptoms", - "community": 90, - "community_name": "useSettingsStore", - "norm_label": "current_symptoms" - }, - { - "label": "MEDICAL_HISTORIES", - "file_type": "code", - "source_file": "frontend/application/components/SmartAdvisor.tsx", - "source_location": "L44", - "_origin": "ast", - "id": "frontend_application_components_smartadvisor_medical_histories", - "community": 90, - "community_name": "useSettingsStore", - "norm_label": "medical_histories" - }, - { - "label": "TestimonialsSection.tsx", - "file_type": "code", - "source_file": "frontend/application/components/TestimonialsSection.tsx", - "source_location": "L1", - "_origin": "ast", - "id": "frontend_application_components_testimonialssection", - "community": 90, - "community_name": "useSettingsStore", - "norm_label": "testimonialssection.tsx" + "norm_label": "networkbanner.tsx" }, { "label": "Footer.test.tsx", @@ -45228,48 +45217,15 @@ "norm_label": "tickerbanner.tsx" }, { - "label": "lib/services/api.ts", + "label": "useNetworkStatus.ts", "file_type": "code", - "source_file": "frontend/application/lib/services/api.ts", + "source_file": "frontend/application/lib/hooks/useNetworkStatus.ts", "source_location": "L1", "_origin": "ast", - "id": "frontend_application_lib_services_api", + "id": "frontend_application_lib_hooks_usenetworkstatus", "community": 90, "community_name": "useSettingsStore", - "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": "useSettingsStore", - "norm_label": "api" - }, - { - "label": "BASE_DOMAIN", - "file_type": "code", - "source_file": "frontend/application/lib/services/api.ts", - "source_location": "L14", - "_origin": "ast", - "id": "frontend_application_lib_services_api_base_domain", - "community": 90, - "community_name": "useSettingsStore", - "norm_label": "base_domain" - }, - { - "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": "useSettingsStore", - "norm_label": "baseurl" + "norm_label": "usenetworkstatus.ts" }, { "label": "settingsStore.ts", @@ -45293,28 +45249,6 @@ "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": 90, - "community_name": "useSettingsStore", - "norm_label": "settingsstore.test.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": 90, - "community_name": "useSettingsStore", - "norm_label": "userstore.test.ts" - }, { "label": "02-audit-plan.md", "file_type": "document", @@ -45499,7 +45433,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_apibadrequestresponse", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "apibadrequestresponse" }, { @@ -45510,7 +45444,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_apibearerauth", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "apibearerauth" }, { @@ -45521,7 +45455,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_apicreatedresponse", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "apicreatedresponse" }, { @@ -45532,7 +45466,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_apinotfoundresponse", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "apinotfoundresponse" }, { @@ -45543,7 +45477,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_apiokresponse", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "apiokresponse" }, { @@ -45554,7 +45488,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_apioperation", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "apioperation" }, { @@ -45565,7 +45499,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_apitags", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "apitags" }, { @@ -45576,7 +45510,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_body", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "body" }, { @@ -45587,7 +45521,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_controller", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "controller" }, { @@ -45598,7 +45532,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_get", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "get" }, { @@ -45609,7 +45543,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_param", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "param" }, { @@ -45620,7 +45554,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_post", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "post" }, { @@ -45631,7 +45565,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_query", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "query" }, { @@ -45642,7 +45576,7 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_req", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "req" }, { @@ -45653,20 +45587,9 @@ "_origin": "ast", "id": "backend_src_orders_orders_controller_ts_useguards", "community": 92, - "community_name": "OrdersService", + "community_name": "OrdersController", "norm_label": "useguards" }, - { - "label": "Injectable", - "file_type": "code", - "source_file": "", - "source_location": "", - "_origin": "ast", - "id": "backend_src_orders_orders_service_ts_injectable", - "community": 92, - "community_name": "OrdersService", - "norm_label": "injectable" - }, { "label": "@nestjs/schematics", "file_type": "code", @@ -45862,7 +45785,7 @@ "_origin": "ast", "id": "frontend_application_app_blog_slug_page", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "community_name": "wiki/[slug]/page.tsx", "norm_label": "blog/[slug]/page.tsx" }, { @@ -45873,30 +45796,19 @@ "_origin": "ast", "id": "frontend_application_app_blog_slug_page_revalidate", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "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": "blog/[slug]/page.tsx", - "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": "blog/[slug]/page.tsx", - "norm_label": "revalidate" + "community_name": "wiki/[slug]/page.tsx", + "norm_label": "wiki/[slug]/page.tsx" }, { "label": "BlogPostClient.tsx", @@ -45906,7 +45818,7 @@ "_origin": "ast", "id": "frontend_application_components_blogpostclient", "community": 95, - "community_name": "blog/[slug]/page.tsx", + "community_name": "wiki/[slug]/page.tsx", "norm_label": "blogpostclient.tsx" }, { @@ -46273,15 +46185,70 @@ "norm_label": "vitest.setup.ts" }, { - "label": "Injectable", + "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": 97, + "community_name": "AdminLoginDto", + "norm_label": "admin-login.dto.ts" + }, + { + "label": "ApiProperty", "file_type": "code", "source_file": "", "source_location": "", "_origin": "ast", - "id": "backend_src_settings_settings_service_ts_injectable", + "id": "backend_src_auth_dto_admin_login_dto_ts_apiproperty", "community": 97, - "community_name": "SettingsService", - "norm_label": "injectable" + "community_name": "AdminLoginDto", + "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": 97, + "community_name": "AdminLoginDto", + "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": 97, + "community_name": "AdminLoginDto", + "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": 97, + "community_name": "AdminLoginDto", + "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": 97, + "community_name": "AdminLoginDto", + "norm_label": "minlength" }, { "label": "scripts", @@ -46602,6 +46569,39 @@ "community_name": "BlogsController", "norm_label": "useguards" }, + { + "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": 99, + "community_name": "BlogsController", + "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": 99, + "community_name": "BlogsController", + "norm_label": "module" + }, + { + "label": "Injectable", + "file_type": "code", + "source_file": "", + "source_location": "", + "_origin": "ast", + "id": "backend_src_blogs_blogs_service_ts_injectable", + "community": 99, + "community_name": "BlogsController", + "norm_label": "injectable" + }, { "label": "Vazirmatn Authors", "_origin": "semantic", @@ -49701,6 +49701,18 @@ "source": "frontend_application_components_addressmodal_addressmodal", "target": "frontend_application_lib_utils_cn" }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "frontend/application/components/ArchivePage.tsx", + "source_location": "L247", + "weight": 1.0, + "_origin": "ast", + "source": "frontend_application_components_archivepage_archivepage", + "target": "frontend_application_lib_store_settingsstore_usesettingsstore" + }, { "relation": "calls", "context": "call", @@ -132737,5 +132749,5 @@ } ], "hyperedges": [], - "built_at_commit": "0b52f9e9e46eb6d6edbc2b1fbfe6beb948f62f36" + "built_at_commit": "9daaa22677f07401a30849d0bf153d0543670bfd" } \ No newline at end of file diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md index 28441db..87ca126 100644 --- a/graphify-out/GRAPH_REPORT.md +++ b/graphify-out/GRAPH_REPORT.md @@ -1,25 +1,25 @@ # Graph Report - canina (2026-08-26) ## Corpus Check -- 586 files · ~1,330,935 words +- 586 files · ~1,331,190 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 4104 nodes · 7380 edges · 324 communities (210 shown, 114 thin omitted) +- 4104 nodes · 7388 edges · 319 communities (205 shown, 114 thin omitted) - Extraction: 96% EXTRACTED · 4% INFERRED · 0% AMBIGUOUS · INFERRED: 281 edges (avg confidence: 0.79) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `9daaa226` +- Built from commit: `c825268b` - 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 -- SettingsController +- SmsService - ProductService -- SafeImage.tsx +- ProductPage.tsx - CmsController - tickets.controller.ts - Button.tsx @@ -29,15 +29,15 @@ - MediaSelector.tsx - index.ts - app-audit-verification.e2e-spec.js -- UserDashboard.tsx +- toPersian - src/services/api.ts - DoctorQueryDto - schema.ts - JwtAuthGuard -- ProductsService +- RevalidationService - CreateVideoDto -- ProductPage.tsx -- PetProfile.tsx +- userStore.ts +- useCartStore - MenuService - BE-001 - FE-001 @@ -50,7 +50,7 @@ - adminRoutes.tsx - WholesaleService - B2BService -- AuthController +- auth.service.ts - FaqService - راهنمای تست سیستم (Software Testing) - Button @@ -75,15 +75,15 @@ - Role & Core Objective - ContactService - compilerOptions -- AuthService -- payment.controller.ts +- PaymentService +- payment.service.ts - ProductDto - dependencies - compilerOptions - app.e2e-spec.js - AdminQueryDto - admin.module.ts -- OrdersService +- CheckoutPage.tsx - Required Review Group Closures - compilerOptions - getPageMetadata @@ -102,16 +102,16 @@ - HomeClient.tsx - zibal.service.ts - dependencies -- MetricsController +- CreateEBankCheckoutDto - seed-products.ts - useSettingsStore - Reconciled Audit Roles & Assignments -- OrdersController +- OrdersService - @nestjs/schematics - Phase 3.1 — Human Review Preparation and Master Backlog Critique -- wiki/[slug]/page.tsx +- blog/[slug]/page.tsx - compilerOptions -- AdminLoginDto +- InitiatePaymentDto - scripts - BlogsController - Deep Audit Summary Report @@ -127,9 +127,9 @@ - Operational Rules & Boundaries - Operational Rules & Boundaries - Operational Rules & Boundaries -- SmsService +- videos/page.tsx - AppService -- LoginDto +- @nestjs/swagger - Vazirmatn Changelog - Vazirmatn Font فونت وزیرمتن - Operational Rules & Boundaries @@ -143,7 +143,7 @@ - admin-panel/package.json - Sahel-Font - AdminController -- bcrypt +- globals - Sahel-Font - Role & Core Objective - orchestrate.py @@ -165,7 +165,7 @@ - class-transformer - SmsSettingsPage.tsx - Product Requirement Document (PRD) -- auth.service.ts +- @types/react-dom - lib/services/api.ts - exclude - Baseline Command Plan & Reconciled Command History @@ -189,8 +189,6 @@ - Phase 3 Audit Traceability Matrix - rebuild_honest_ledger.js - validate_evidence_grade.js -- CreateOrderDto -- SmsLogQueryDto - نقشه جامع پوشش تست‌های سرتاسری (E2E Test Coverage Map) — پروژه Canina - PaginationDto - API Contract Specification @@ -212,7 +210,6 @@ - Select.tsx - wiki/page.tsx - @nestjs/core -- RegisterDto - application/README.md - deploy.sh - 🔒 Security & Performance Review (09_devops_security) @@ -293,7 +290,6 @@ - Production Docker Compose - Staging Docker Compose - ZibalService -- eslint-plugin-react-refresh - eslint-plugin-prettier - ZibalEBankService - .initiateOrderPayment @@ -319,12 +315,11 @@ - @types/js-yaml - @types/supertest - typescript-eslint -- eslint-config-next ## God Nodes (most connected - your core abstractions) 1. `Roles()` - 106 edges 2. `PrismaService` - 87 edges -3. `useSettingsStore` - 56 edges +3. `useSettingsStore` - 61 edges 4. `api` - 44 edges 5. `SmsService` - 43 edges 6. `PaginationDto` - 41 edges @@ -346,31 +341,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/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` +- 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` - 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 (324 total, 114 thin omitted) +## Communities (319 total, 114 thin omitted) ### Community 0 - "Roles" -Cohesion: 0.24 +Cohesion: 0.23 Nodes (13): Roles(), PaymentController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get (+5 more) ### Community 1 - "app.module.ts" -Cohesion: 0.07 -Nodes (37): B2BModule, Module, BannersModule, Module, CmsModule, Module, RevalidationModule, Global (+29 more) +Cohesion: 0.08 +Nodes (34): B2BModule, Module, BannersModule, Module, CmsModule, Module, SmsModule, Global (+26 more) -### Community 2 - "SettingsController" -Cohesion: 0.10 -Nodes (18): SmsLogQuery, SettingsController, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+10 more) +### Community 2 - "SmsService" +Cohesion: 0.05 +Nodes (27): SmsLogQuery, SmsService, Injectable, SmsLogQueryDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional (+19 more) ### Community 3 - "ProductService" Cohesion: 0.07 -Nodes (30): dynamic, revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate, BlogCategory (+22 more) +Nodes (31): dynamic, revalidate, DEFAULT_CATEGORIES, dynamic, revalidate, dynamic, revalidate, BlogCategory (+23 more) -### Community 4 - "SafeImage.tsx" -Cohesion: 0.08 -Nodes (21): BackButton(), BackButtonProps, ProductDetailModalProps, PLAYBACK_RATES, PodcastInlinePlayer(), PodcastInlinePlayerProps, PLAYBACK_RATES, PodcastPlayerModal() (+13 more) +### Community 4 - "ProductPage.tsx" +Cohesion: 0.07 +Nodes (29): revalidate, BackButton(), BackButtonProps, PLAYBACK_RATES, PodcastInlinePlayer(), PodcastInlinePlayerProps, PLAYBACK_RATES, PodcastPlayerModal() (+21 more) ### Community 5 - "CmsController" Cohesion: 0.09 @@ -408,9 +403,9 @@ Nodes (24): backend, frontend, playwright.config.ts, @playwright/test, tests/**/ Cohesion: 0.06 Nodes (28): AppModule, Module, EnvironmentVariables, IsNotEmpty, IsOptional, IsString, validateEnv(), CustomHttpExceptionFilter (+20 more) -### Community 14 - "UserDashboard.tsx" -Cohesion: 0.08 -Nodes (38): B2BPortal, VerifyContent(), AddressModal(), AddressModalProps, AuthModal(), AuthModalProps, extractOtpFromText(), B2BPortal() (+30 more) +### Community 14 - "toPersian" +Cohesion: 0.11 +Nodes (19): CartDrawer, AuthModal(), AuthModalProps, extractOtpFromText(), BlogPost, BlogPreviewSection(), CartDrawer(), HeaderButton() (+11 more) ### Community 15 - "src/services/api.ts" Cohesion: 0.08 @@ -421,28 +416,28 @@ Cohesion: 0.09 Nodes (24): DoctorsController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Delete, Get (+16 more) ### Community 17 - "schema.ts" -Cohesion: 0.14 -Nodes (18): B2BPage(), generateMetadata(), ContactPage(), generateMetadata(), generateMetadata(), getInitialVideos(), Videos(), ContactFormClient() (+10 more) +Cohesion: 0.15 +Nodes (18): B2BPage(), generateMetadata(), ContactPage(), generateMetadata(), generateMetadata(), getRelatedProducts(), getWikiTerm(), WikiTermPage() (+10 more) ### Community 18 - "JwtAuthGuard" Cohesion: 0.19 Nodes (7): JwtAuthGuard, Injectable, ROLES_KEY, RequestWithUser, RolesGuard, Injectable, UserReqPayload -### Community 19 - "ProductsService" -Cohesion: 0.09 -Nodes (19): GetProductsDto, ApiPropertyOptional, IsEnum, IsOptional, IsString, ProductsController, ApiOperation, ApiTags (+11 more) +### Community 19 - "RevalidationService" +Cohesion: 0.07 +Nodes (24): RevalidationModule, Global, Module, RevalidationService, Injectable, GetProductsDto, ApiPropertyOptional, IsEnum (+16 more) ### Community 20 - "CreateVideoDto" Cohesion: 0.07 Nodes (31): CreateVideoDto, ApiProperty, ApiPropertyOptional, IsBoolean, IsNotEmpty, IsOptional, IsString, UpdateVideoDto (+23 more) -### Community 21 - "ProductPage.tsx" -Cohesion: 0.14 -Nodes (13): revalidate, CalculatorState, ICON_MAP, ProductPage(), ProductReviews, useCalculatorStore, ProductReviews(), ProductReviewsProps (+5 more) - -### Community 22 - "PetProfile.tsx" +### Community 21 - "userStore.ts" Cohesion: 0.11 -Nodes (23): ClientLayout(), FeaturedProducts(), ProductCard(), Header(), OrderSuccess(), PrescriptionUploadModal(), PrescriptionUploadModalProps, SearchResultsPage() (+15 more) +Nodes (11): LoginModal, LoginModal(), LoginModalProps, ApiErr, AuthResponse, AuthService, User, Transaction (+3 more) + +### Community 22 - "useCartStore" +Cohesion: 0.10 +Nodes (27): ClientLayout(), VerifyContent(), FeaturedProducts(), ProductCard(), Header(), OrderSuccess(), OrderTracking(), PetProfile() (+19 more) ### Community 23 - "MenuService" Cohesion: 0.11 @@ -492,9 +487,9 @@ Nodes (14): ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param, Cohesion: 0.12 Nodes (16): B2BController, ApiBearerAuth, ApiOperation, ApiTags, Body, Controller, Get, Param (+8 more) -### Community 35 - "AuthController" -Cohesion: 0.25 -Nodes (13): AuthController, ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+5 more) +### Community 35 - "auth.service.ts" +Cohesion: 0.06 +Nodes (46): AuthController, ApiBadRequestResponse, ApiBearerAuth, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+38 more) ### Community 36 - "FaqService" Cohesion: 0.12 @@ -550,11 +545,11 @@ Nodes (41): DEFAULT_JWT_REFRESH_SECRET, DEFAULT_JWT_SECRET, getJwtSecret(), Auth ### Community 49 - "devDependencies" Cohesion: 0.11 -Nodes (19): autoprefixer, devDependencies, autoprefixer, eslint, @eslint/js, globals, postcss, @types/node (+11 more) +Nodes (19): autoprefixer, eslint-plugin-react-refresh, devDependencies, autoprefixer, eslint, @eslint/js, eslint-plugin-react-refresh, postcss (+11 more) ### Community 50 - "devDependencies" Cohesion: 0.13 -Nodes (15): devDependencies, eslint, jsdom, tailwindcss, @tailwindcss/postcss, @types/node, @types/react-dom, @vitejs/plugin-react (+7 more) +Nodes (15): eslint-config-next, devDependencies, eslint, eslint-config-next, jsdom, tailwindcss, @tailwindcss/postcss, @types/node (+7 more) ### Community 51 - "BlogsController" Cohesion: 0.07 @@ -592,13 +587,9 @@ Nodes (12): ContactController, Body, Controller, Get, Param, Post, Put, Query (+ Cohesion: 0.06 Nodes (30): compilerOptions, allowSyntheticDefaultImports, baseUrl, declaration, emitDecoratorMetadata, esModuleInterop, experimentalDecorators, forceConsistentCasingInFileNames (+22 more) -### Community 60 - "AuthService" -Cohesion: 0.21 -Nodes (3): AuthService, Injectable, normalizeMobile() - -### Community 61 - "payment.controller.ts" -Cohesion: 0.07 -Nodes (31): AdminTransactionFilterDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type, CreateEBankCheckoutDto (+23 more) +### Community 61 - "payment.service.ts" +Cohesion: 0.20 +Nodes (8): AdminTransactionFilterDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type, ClientMetadata ### Community 62 - "ProductDto" Cohesion: 0.18 @@ -606,7 +597,7 @@ Nodes (7): ProductDto, ApiPropertyOptional, IsArray, IsBoolean, IsNumber, IsOpti ### Community 63 - "dependencies" Cohesion: 0.09 -Nodes (23): dependencies, bcryptjs, class-validator, compression, ioredis, @nestjs/common, @nestjs/passport, @nestjs/platform-express (+15 more) +Nodes (23): dependencies, bcrypt, bcryptjs, class-validator, compression, ioredis, @nestjs/common, @nestjs/passport (+15 more) ### Community 64 - "compilerOptions" Cohesion: 0.10 @@ -621,8 +612,12 @@ Cohesion: 0.17 Nodes (7): ApiQuery, Get, Query, AdminQueryDto, ApiPropertyOptional, IsOptional, IsString ### Community 67 - "admin.module.ts" -Cohesion: 0.06 -Nodes (20): AdminModule, Module, PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller (+12 more) +Cohesion: 0.07 +Nodes (19): AdminModule, Module, PetsController, ApiBearerAuth, ApiOperation, ApiQuery, ApiTags, Controller (+11 more) + +### Community 68 - "CheckoutPage.tsx" +Cohesion: 0.25 +Nodes (12): AddressModal(), AddressModalProps, CheckoutPage(), SearchableSelect(), SearchableSelectProps, PRESET_AMOUNTS, TopUpModal(), TopUpModalProps (+4 more) ### Community 69 - "Required Review Group Closures" Cohesion: 0.10 @@ -686,7 +681,7 @@ Nodes (16): 1. Active Secret Scanning (All Modified Files), 2. Docker Container ### Community 85 - "HomeClient.tsx" Cohesion: 0.11 -Nodes (20): HomeClient(), HomeClientProps, ArchivePage(), ArchiveProductCard(), CATEGORY_MAP, ICON_MAP, BannerPlacement(), BannerPlacementProps (+12 more) +Nodes (21): HomeClient(), HomeClientProps, ArchivePage(), ArchiveProductCard(), CATEGORY_MAP, ICON_MAP, BannerPlacement(), BannerPlacementProps (+13 more) ### Community 86 - "zibal.service.ts" Cohesion: 0.16 @@ -696,49 +691,49 @@ Nodes (9): GatewayHealthResult, IPaymentGateway, PaymentInquiryResult, PaymentRe Cohesion: 0.12 Nodes (17): dependencies, axios, lucide-react, motion, next, react, react-dom, sonner (+9 more) -### Community 88 - "MetricsController" -Cohesion: 0.29 -Nodes (5): ApiExcludeController, MetricsController, Controller, Get, Res +### Community 88 - "CreateEBankCheckoutDto" +Cohesion: 0.22 +Nodes (8): CreateEBankCheckoutDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsNumber, IsOptional, IsString, Min ### Community 89 - "seed-products.ts" Cohesion: 0.17 Nodes (12): prisma, main(), prisma, determineSuitableFor(), findOrCreateCategory(), getProductImageUrl(), main(), parseSize() (+4 more) ### Community 90 - "useSettingsStore" -Cohesion: 0.14 -Nodes (18): AuthModal, CartDrawer, B2BLandingClient(), BrandLogo(), BrandLogoProps, EnamadBadge(), Footer(), MENU_ICONS (+10 more) +Cohesion: 0.15 +Nodes (17): AuthModal, B2BPortal, B2BLandingClient(), B2BPortal(), BrandLogo(), BrandLogoProps, EnamadBadge(), Footer() (+9 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 - "OrdersController" -Cohesion: 0.14 -Nodes (16): OrdersController, ApiBadRequestResponse, ApiBearerAuth, ApiCreatedResponse, ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags (+8 more) +### Community 92 - "OrdersService" +Cohesion: 0.06 +Nodes (35): CreateOrderDto, OrderItemDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional (+27 more) ### Community 94 - "Phase 3.1 — Human Review Preparation and Master Backlog Critique" 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 - "wiki/[slug]/page.tsx" -Cohesion: 0.20 -Nodes (16): BlogPostPage(), generateMetadata(), getBlog(), revalidate, safeIso(), safeLocalDate(), generateMetadata(), generateMetadata() (+8 more) +### Community 95 - "blog/[slug]/page.tsx" +Cohesion: 0.28 +Nodes (11): BlogPostPage(), generateMetadata(), getBlog(), revalidate, safeIso(), safeLocalDate(), generateMetadata(), BlogPostClient() (+3 more) ### Community 96 - "compilerOptions" Cohesion: 0.06 Nodes (32): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+24 more) -### Community 97 - "AdminLoginDto" -Cohesion: 0.29 -Nodes (6): AdminLoginDto, ApiProperty, IsEmail, IsNotEmpty, IsString, MinLength +### Community 97 - "InitiatePaymentDto" +Cohesion: 0.43 +Nodes (7): InitiatePaymentDto, InitiateWalletTopupDto, ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString ### Community 98 - "scripts" Cohesion: 0.13 Nodes (15): scripts, build, build:nest, docs:generate, lint, seo:backfill, start, start:debug (+7 more) ### Community 99 - "BlogsController" -Cohesion: 0.08 -Nodes (19): BlogsController, ApiBearerAuth, ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+11 more) +Cohesion: 0.15 +Nodes (15): BlogsController, ApiBearerAuth, ApiNotFoundResponse, ApiOkResponse, ApiOperation, ApiTags, Body, Controller (+7 more) ### Community 100 - "Deep Audit Summary Report" Cohesion: 0.14 @@ -774,7 +769,7 @@ Nodes (6): ApiProperty, ApiPropertyOptional, IsNotEmpty, IsOptional, IsString, W ### Community 108 - "PrismaService" Cohesion: 0.07 -Nodes (17): CategoryQuery, RevalidationService, Injectable, MeliPayamakPattern, MeliPayamakResponse, SendPatternSmsOptions, SmsConfig, CreateContactSubmissionDto (+9 more) +Nodes (20): CategoryQuery, WikiQuery, MeliPayamakPattern, MeliPayamakResponse, SendPatternSmsOptions, SmsConfig, CreateContactSubmissionDto, UpdateContactInfoItemDto (+12 more) ### Community 109 - "1. Summary of Integrity Repairs Performed" Cohesion: 0.17 @@ -792,14 +787,14 @@ 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 - "videos/page.tsx" +Cohesion: 0.47 +Nodes (5): generateMetadata(), getInitialVideos(), Videos(), VideosPage(), generateVideoObjectSchema() + ### Community 114 - "AppService" Cohesion: 0.29 Nodes (5): AppController, Controller, Get, AppService, Injectable -### Community 115 - "LoginDto" -Cohesion: 0.33 -Nodes (5): LoginDto, ApiProperty, IsNotEmpty, IsString, MinLength - ### Community 116 - "Vazirmatn Changelog" Cohesion: 0.18 Nodes (10): 32.0.0, 32.1, 32.101, 32.102, 33.000, 33.001, 33.002, 33.003 (+2 more) @@ -928,13 +923,9 @@ Nodes (7): PatternItem, SmsConfigState, SmsLogItem, SmsLogStats, SmsSettingsPage 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 151 - "auth.service.ts" -Cohesion: 0.15 -Nodes (14): AdminLoginInput, LoginInput, RegisterInput, SendOtpDto, ApiProperty, IsNotEmpty, IsString, Matches (+6 more) - ### Community 152 - "lib/services/api.ts" -Cohesion: 0.06 -Nodes (25): LoginModal, ContactInfoItem, LoginModal(), LoginModalProps, Testimonial, api, ApiErrorPayload, BASE_DOMAIN (+17 more) +Cohesion: 0.08 +Nodes (21): ContactInfoItem, DeleteConfirmModal(), DeleteConfirmModalProps, Testimonial, TestimonialsSection(), api, ApiErrorPayload, BASE_DOMAIN (+13 more) ### Community 153 - "exclude" Cohesion: 0.22 @@ -1016,21 +1007,13 @@ Nodes (4): evidenceList, ledger, mandatoryMap, mandatoryScope Cohesion: 0.40 Nodes (4): activeFiles, errors, validationOutput, warnings -### Community 176 - "CreateOrderDto" -Cohesion: 0.22 -Nodes (11): CreateOrderDto, OrderItemDto, ApiProperty, ApiPropertyOptional, IsArray, IsNotEmpty, IsNumber, IsOptional (+3 more) - -### Community 177 - "SmsLogQueryDto" -Cohesion: 0.25 -Nodes (7): SmsLogQueryDto, ApiPropertyOptional, IsIn, IsNumber, IsOptional, IsString, Type - ### 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) ### Community 179 - "PaginationDto" -Cohesion: 0.07 -Nodes (29): BlogFilterDto, PaginationDto, SortOrder, ApiPropertyOptional, IsEnum, IsInt, IsOptional, IsString (+21 more) +Cohesion: 0.06 +Nodes (27): BlogsModule, Module, BlogFilterDto, BlogsService, Injectable, PaginationDto, SortOrder, ApiPropertyOptional (+19 more) ### Community 180 - "API Contract Specification" Cohesion: 0.50 @@ -1049,8 +1032,8 @@ Cohesion: 0.50 Nodes (3): Overview & Content Foundation, SEO & Content Requirements, 🚀 SEO & Content Strategy Review (12_seo_content) ### Community 184 - "RedisService" -Cohesion: 0.16 -Nodes (5): RedisModule, Global, Module, RedisService, Injectable +Cohesion: 0.07 +Nodes (13): ApiExcludeController, AuthService, Injectable, MetricsController, Controller, Get, Res, normalizeMobile() (+5 more) ### Community 191 - "graphify reference: add a URL and watch a folder" Cohesion: 0.50 @@ -1080,10 +1063,6 @@ Nodes (3): Select, SelectOption, SelectProps Cohesion: 0.40 Nodes (3): generateMetadata(), formatIngredientDisplayName(), IngredientWiki() -### Community 199 - "RegisterDto" -Cohesion: 0.22 -Nodes (8): RegisterDto, ApiProperty, ApiPropertyOptional, IsEmail, IsNotEmpty, IsOptional, IsString, MinLength - ### Community 200 - "application/README.md" Cohesion: 0.50 Nodes (3): Deploy on Vercel, Getting Started, Learn More @@ -1100,13 +1079,9 @@ Nodes (3): ADR-AUTH-001: Admin Panel Authentication Architecture & Token Managem Cohesion: 0.67 Nodes (3): Shabnam Font README, Shabnam Font Sample, Vazir Font -### Community 294 - "ZibalService" -Cohesion: 0.09 -Nodes (4): PaymentService, Injectable, Injectable, ZibalService - ### Community 298 - ".initiateOrderPayment" -Cohesion: 0.32 -Nodes (6): ApiBadRequestResponse, ApiOkResponse, Req, Res, Headers, Ip +Cohesion: 0.18 +Nodes (10): ApiPropertyOptional, IsOptional, IsString, ZibalCallbackQueryDto, ApiBadRequestResponse, ApiOkResponse, Req, Res (+2 more) ### Community 313 - "Modal.tsx" Cohesion: 0.08 @@ -1124,17 +1099,17 @@ Nodes (3): GET(), handleRevalidate(), POST() ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `AuthController`, `PetsController`, `HomeController`, `UsersService`, `ProductsService`, `PaginationDto`, `OrdersController`?** +- **Why does `ApiResponse` connect `src/services/api.ts` to `BlogsController`, `auth.service.ts`, `PetsController`, `HomeController`, `UsersService`, `RevalidationService`, `PaginationDto`, `OrdersService`?** _High betweenness centrality (0.086) - this node is a cross-community bridge._ -- **Why does `Roles()` connect `Roles` to `WholesaleService`, `B2BService`, `SettingsController`, `FaqService`, `CmsController`, `tickets.controller.ts`, `SslController`, `BannersService`, `ReviewsService`, `TestimonialsService`, `IngredientsService`, `JwtAuthGuard`, `ProductsService`, `PrescriptionsService`, `SmartAdvisorService`, `MenuService`, `ContactService`, `payment.controller.ts`?** +- **Why does `Roles()` connect `Roles` to `WholesaleService`, `B2BService`, `SmsService`, `FaqService`, `CmsController`, `tickets.controller.ts`, `SslController`, `BannersService`, `ReviewsService`, `TestimonialsService`, `IngredientsService`, `JwtAuthGuard`, `RevalidationService`, `PrescriptionsService`, `SmartAdvisorService`, `MenuService`, `ContactService`, `PaymentService`?** _High betweenness centrality (0.067) - this node is a cross-community bridge._ -- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `admin.module.ts`, `CmsController`, `tickets.controller.ts`, `ReportsController`, `PetsController`, `DoctorQueryDto`, `admin.service.ts`, `UsersService`, `PaginationDto`, `CreateVideoDto`, `auth.service.ts`, `payment.controller.ts`?** +- **Why does `JwtAuthGuard` connect `JwtAuthGuard` to `admin.module.ts`, `auth.service.ts`, `CmsController`, `tickets.controller.ts`, `PetsController`, `DoctorQueryDto`, `admin.service.ts`, `UsersService`, `PaginationDto`, `RevalidationService`, `CreateVideoDto`, `OrdersService`?** _High betweenness centrality (0.034) - this node is a cross-community bridge._ - **What connects `$schema`, `collection`, `sourceRoot` to the rest of the system?** _1335 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `app.module.ts` be split into smaller, more focused modules?** - _Cohesion score 0.06801346801346801 - nodes in this community are weakly interconnected._ -- **Should `SettingsController` be split into smaller, more focused modules?** - _Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._ + _Cohesion score 0.07529411764705882 - nodes in this community are weakly interconnected._ +- **Should `SmsService` be split into smaller, more focused modules?** + _Cohesion score 0.05287128712871287 - nodes in this community are weakly interconnected._ - **Should `ProductService` be split into smaller, more focused modules?** - _Cohesion score 0.0707070707070707 - nodes in this community are weakly interconnected._ \ No newline at end of file + _Cohesion score 0.06654567453115548 - 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 96ff6f8..911e6a0 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":59220,"mtime_ns":1786885876782371300,"indexed_at_ns":1787726739767253200,"word_count":5730,"hashes":{"backend/prisma/seed-products-data.json":"9d1262f8264478eb43ec48f073f817d46fc193d666cd9364f3bb95c1629f25c7"}},"backend/prisma/seed-products.ts":{"size":28268,"mtime_ns":1787127978219270600,"indexed_at_ns":1787726728749556400,"word_count":2063},"backend/prisma/seed-ui-texts.ts":{"size":9191,"mtime_ns":1787127978221789800,"indexed_at_ns":1787726728757558800,"word_count":755},"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":9712,"mtime_ns":1787564362261174000,"indexed_at_ns":1787726728822736900,"word_count":966},"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":30386,"mtime_ns":1787579631756175500,"indexed_at_ns":1787726728841653400,"word_count":3056},"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":634,"mtime_ns":1786799852178706400,"indexed_at_ns":1787726728875856900,"word_count":60},"backend/src/admin/dto/product.dto.ts":{"size":6434,"mtime_ns":1787579631762178300,"indexed_at_ns":1787726728882424900,"word_count":521},"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":2713,"mtime_ns":1786876983651534500,"indexed_at_ns":1787726728902532200,"word_count":283},"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":2667,"mtime_ns":1787645037369588600,"indexed_at_ns":1787726729111864500,"word_count":238},"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":9915,"mtime_ns":1787644197139946100,"indexed_at_ns":1787726729123858800,"word_count":1093},"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":31964,"mtime_ns":1787072106396073600,"indexed_at_ns":1787726729265265900,"word_count":3028},"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":4690,"mtime_ns":1787127978233104000,"indexed_at_ns":1787726729298791600,"word_count":451},"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":4089,"mtime_ns":1787645037374260500,"indexed_at_ns":1787726729404030400,"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":17203,"mtime_ns":1787127978236103400,"indexed_at_ns":1787726729460936600,"word_count":1611},"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":19167,"mtime_ns":1787564362263176000,"indexed_at_ns":1787726729498694600,"word_count":1574},"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":30818,"mtime_ns":1787564362264174300,"indexed_at_ns":1787726729511641700,"word_count":2752},"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":269,"mtime_ns":1783764561723672400,"indexed_at_ns":1787726729642530900,"word_count":28},"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":7493,"mtime_ns":1787579631773583700,"indexed_at_ns":1787726729653656200,"word_count":762},"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":19291,"mtime_ns":1787564362266172200,"indexed_at_ns":1787726729732056900,"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":8977,"mtime_ns":1787072106423347900,"indexed_at_ns":1787726729751701000,"word_count":708},"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":20225,"mtime_ns":1787461919455310100,"indexed_at_ns":1787726729769779600,"word_count":1589},"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":8207,"mtime_ns":1787127978253040800,"indexed_at_ns":1787726729889415400,"word_count":782},"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":2732,"mtime_ns":1786971396047872400,"indexed_at_ns":1787726729921804200,"word_count":290},"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":2627,"mtime_ns":1785330913149233300,"indexed_at_ns":1787726729946807300,"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":2193,"mtime_ns":1786883225811564200,"indexed_at_ns":1787726730078567700,"word_count":127},"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":1785570791953119000,"indexed_at_ns":1787726739792704600,"word_count":84,"hashes":{"frontend/admin-panel/package.json":"6d61fb108392e86320c75b42e69ba7138bdc47bba4883fafbeb6e661cc5f51e4"}},"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":1747,"mtime_ns":1786954681825535900,"indexed_at_ns":1787726734038847900,"word_count":147},"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":35899,"mtime_ns":1787577523704353400,"indexed_at_ns":1787726734080159100,"word_count":2719},"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":27812,"mtime_ns":1787469989144204800,"indexed_at_ns":1787726734179658200,"word_count":2147},"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":13303,"mtime_ns":1787467799882925200,"indexed_at_ns":1787726734207782600,"word_count":928},"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":11545,"mtime_ns":1787127978262361000,"indexed_at_ns":1787726734221391500,"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":55864,"mtime_ns":1787729527929396100,"indexed_at_ns":1787729932305956500,"word_count":4169},"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":119422,"mtime_ns":1787640978245565100,"indexed_at_ns":1787726734281548900,"word_count":7835},"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":20769,"mtime_ns":1787467799897934900,"indexed_at_ns":1787726734294738100,"word_count":1479},"frontend/admin-panel/src/pages/SeoSettingsPage.tsx":{"size":15089,"mtime_ns":1787467799899934200,"indexed_at_ns":1787726734302505600,"word_count":1137},"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":78907,"mtime_ns":1787467799904439000,"indexed_at_ns":1787726734327410400,"word_count":5444},"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":16821,"mtime_ns":1787467799907448000,"indexed_at_ns":1787726734343379300,"word_count":1133},"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":70758,"mtime_ns":1787564362267171200,"indexed_at_ns":1787726734368359700,"word_count":5750},"frontend/admin-panel/src/pages/Users.tsx":{"size":39503,"mtime_ns":1787661363262635500,"indexed_at_ns":1787726734375869000,"word_count":2663},"frontend/admin-panel/src/pages/Videos.tsx":{"size":22648,"mtime_ns":1787467799914548300,"indexed_at_ns":1787726734383949000,"word_count":1604},"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":1786896758433963000,"indexed_at_ns":1787726734415809200,"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":4146,"mtime_ns":1787139270957407700,"indexed_at_ns":1787726734427790900,"word_count":454},"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":7677,"mtime_ns":1787729523443454500,"indexed_at_ns":1787729932508942000,"word_count":698},"frontend/application/app/HomeClient.tsx":{"size":13521,"mtime_ns":1787729995237438500,"indexed_at_ns":1787733017668598600,"word_count":876},"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":3318,"mtime_ns":1787581191870074600,"indexed_at_ns":1787726734552322400,"word_count":340},"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":1389,"mtime_ns":1786872121566485100,"indexed_at_ns":1787726734564982500,"word_count":129},"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":4776,"mtime_ns":1787644197144196600,"indexed_at_ns":1787726734617397100,"word_count":400},"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":1003,"mtime_ns":1787139270974959500,"indexed_at_ns":1787726734635909300,"word_count":114},"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":8722,"mtime_ns":1787579631787104400,"indexed_at_ns":1787726734672932300,"word_count":786},"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":3391,"mtime_ns":1787578481506463600,"indexed_at_ns":1787726734685442300,"word_count":301},"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":16148,"mtime_ns":1786799852571178400,"indexed_at_ns":1787726734756265200,"word_count":1109},"frontend/application/components/ArchivePage.tsx":{"size":40336,"mtime_ns":1787733116379106500,"indexed_at_ns":1787733156896068300,"word_count":3145},"frontend/application/components/AuthModal.tsx":{"size":45254,"mtime_ns":1787729527932395300,"indexed_at_ns":1787729932749855000,"word_count":2996},"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":1787564348689902000,"indexed_at_ns":1787726734793846300,"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":18802,"mtime_ns":1787641161059331400,"indexed_at_ns":1787726734805497100,"word_count":1239},"frontend/application/components/BlogPreviewSection.tsx":{"size":7847,"mtime_ns":1787729995238555000,"indexed_at_ns":1787733017937261500,"word_count":564},"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":1787733125106751500,"indexed_at_ns":1787733156948965200,"word_count":1448},"frontend/application/components/CheckoutPage.tsx":{"size":40480,"mtime_ns":1787729527934394700,"indexed_at_ns":1787729932802425200,"word_count":2746},"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":11758,"mtime_ns":1787733067653488600,"indexed_at_ns":1787733156990802700,"word_count":1015},"frontend/application/components/Footer.tsx":{"size":13707,"mtime_ns":1787644197154198800,"indexed_at_ns":1787726734881167600,"word_count":903},"frontend/application/components/Header.tsx":{"size":37307,"mtime_ns":1787729527936394600,"indexed_at_ns":1787729932849601000,"word_count":2603},"frontend/application/components/HeaderButton.tsx":{"size":2242,"mtime_ns":1786799852637156100,"indexed_at_ns":1787726734893172700,"word_count":208},"frontend/application/components/Hero.tsx":{"size":19224,"mtime_ns":1787729995241796300,"indexed_at_ns":1787733018008184500,"word_count":1617},"frontend/application/components/IngredientWiki.tsx":{"size":20337,"mtime_ns":1786965281374206800,"indexed_at_ns":1787726734906680500,"word_count":1496},"frontend/application/components/LoginModal.tsx":{"size":13846,"mtime_ns":1786885876932267500,"indexed_at_ns":1787726734914249200,"word_count":1121},"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":36149,"mtime_ns":1787564348694929900,"indexed_at_ns":1787726734935086200,"word_count":2477},"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":83314,"mtime_ns":1787564348695930500,"indexed_at_ns":1787726734959758100,"word_count":5882},"frontend/application/components/PodcastInlinePlayer.tsx":{"size":17030,"mtime_ns":1787579631796809000,"indexed_at_ns":1787726734967757900,"word_count":1382},"frontend/application/components/PodcastPlayerModal.tsx":{"size":18090,"mtime_ns":1787564348697931500,"indexed_at_ns":1787726734976259700,"word_count":1485},"frontend/application/components/PrescriptionUploadModal.tsx":{"size":18907,"mtime_ns":1786965281385656300,"indexed_at_ns":1787726734983772300,"word_count":1331},"frontend/application/components/ProductPage.tsx":{"size":76318,"mtime_ns":1787733067654619000,"indexed_at_ns":1787733157072863300,"word_count":5465},"frontend/application/components/ProductReviews.tsx":{"size":16108,"mtime_ns":1787048863691774800,"indexed_at_ns":1787726734999417900,"word_count":1194},"frontend/application/components/SafeImage.tsx":{"size":3568,"mtime_ns":1787733067656210200,"indexed_at_ns":1787733157083868300,"word_count":337},"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":36898,"mtime_ns":1787729995242888100,"indexed_at_ns":1787733018101293500,"word_count":2820},"frontend/application/components/TestimonialsSection.tsx":{"size":6677,"mtime_ns":1787729995243926600,"indexed_at_ns":1787733018108759600,"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":5074,"mtime_ns":1787733067657251700,"indexed_at_ns":1787733157120059800,"word_count":425},"frontend/application/components/TopUpModal.tsx":{"size":9381,"mtime_ns":1787406597303349300,"indexed_at_ns":1787726735057286900,"word_count":741},"frontend/application/components/UserDashboard.tsx":{"size":92697,"mtime_ns":1787394935320317600,"indexed_at_ns":1787726735063292200,"word_count":5939},"frontend/application/components/VetGallery.tsx":{"size":8392,"mtime_ns":1787729995244963400,"indexed_at_ns":1787733018135397500,"word_count":653},"frontend/application/components/VideoModalPlayer.tsx":{"size":24486,"mtime_ns":1787729523449452000,"indexed_at_ns":1787729932989630600,"word_count":1842},"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":24406,"mtime_ns":1787733067658300800,"indexed_at_ns":1787733157184851700,"word_count":1943},"frontend/application/components/catalog/FlipbookCatalog.tsx":{"size":35854,"mtime_ns":1787733067659340100,"indexed_at_ns":1787733157190424300,"word_count":3111},"frontend/application/components/catalog/ProductDetailModal.tsx":{"size":7763,"mtime_ns":1786872121572482100,"indexed_at_ns":1787726735143987500,"word_count":557},"frontend/application/eslint.config.mjs":{"size":747,"mtime_ns":1787148092358055900,"indexed_at_ns":1787726735150541200,"word_count":61},"frontend/application/lib/data/products.ts":{"size":104224,"mtime_ns":1787578481513988500,"indexed_at_ns":1787726735158143700,"word_count":9748},"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":683,"mtime_ns":1787579631802834900,"indexed_at_ns":1787726735179751500,"word_count":59},"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":8046,"mtime_ns":1787139270988834800,"indexed_at_ns":1787726735198345500,"word_count":737},"frontend/application/lib/services/api.ts":{"size":3694,"mtime_ns":1786954681844297300,"indexed_at_ns":1787726735203856100,"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":15840,"mtime_ns":1787579631803836100,"indexed_at_ns":1787726735223578000,"word_count":1409},"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":1234,"mtime_ns":1786967385871970500,"indexed_at_ns":1787726735237739200,"word_count":144},"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":10320,"mtime_ns":1787729523453454600,"indexed_at_ns":1787729933162841900,"word_count":894},"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":2274,"mtime_ns":1787579631805387200,"indexed_at_ns":1787726735310154400,"word_count":208},"frontend/application/package.json":{"size":844,"mtime_ns":1787640978247182300,"indexed_at_ns":1787726739799715600,"word_count":72,"hashes":{"frontend/application/package.json":"6f60e7e1648827d0553bb5db6faa06d1a77f6809f0a6370f9b9517c91dd19db7"}},"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/hero-section-image.png":{"size":6990105,"mtime_ns":1783856793095044200,"indexed_at_ns":1787726735461222100,"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":2166,"mtime_ns":1787077093990777200,"indexed_at_ns":1787726739209165700,"word_count":120},"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":1787640978248234500,"indexed_at_ns":1787726739230479800,"word_count":202},"scripts/start-dev.js":{"size":1689,"mtime_ns":1787072106514646900,"indexed_at_ns":1787726739236447600,"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"}}} \ 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":59220,"mtime_ns":1786885876782371300,"indexed_at_ns":1787726739767253200,"word_count":5730,"hashes":{"backend/prisma/seed-products-data.json":"9d1262f8264478eb43ec48f073f817d46fc193d666cd9364f3bb95c1629f25c7"}},"backend/prisma/seed-products.ts":{"size":28268,"mtime_ns":1787127978219270600,"indexed_at_ns":1787726728749556400,"word_count":2063},"backend/prisma/seed-ui-texts.ts":{"size":9191,"mtime_ns":1787127978221789800,"indexed_at_ns":1787726728757558800,"word_count":755},"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":9712,"mtime_ns":1787564362261174000,"indexed_at_ns":1787726728822736900,"word_count":966},"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":30386,"mtime_ns":1787579631756175500,"indexed_at_ns":1787726728841653400,"word_count":3056},"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":634,"mtime_ns":1786799852178706400,"indexed_at_ns":1787726728875856900,"word_count":60},"backend/src/admin/dto/product.dto.ts":{"size":6434,"mtime_ns":1787579631762178300,"indexed_at_ns":1787726728882424900,"word_count":521},"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":2713,"mtime_ns":1786876983651534500,"indexed_at_ns":1787726728902532200,"word_count":283},"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":2667,"mtime_ns":1787645037369588600,"indexed_at_ns":1787726729111864500,"word_count":238},"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":9915,"mtime_ns":1787644197139946100,"indexed_at_ns":1787726729123858800,"word_count":1093},"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":31964,"mtime_ns":1787072106396073600,"indexed_at_ns":1787726729265265900,"word_count":3028},"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":4690,"mtime_ns":1787127978233104000,"indexed_at_ns":1787726729298791600,"word_count":451},"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":4089,"mtime_ns":1787645037374260500,"indexed_at_ns":1787726729404030400,"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":17203,"mtime_ns":1787127978236103400,"indexed_at_ns":1787726729460936600,"word_count":1611},"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":19167,"mtime_ns":1787564362263176000,"indexed_at_ns":1787726729498694600,"word_count":1574},"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":30818,"mtime_ns":1787564362264174300,"indexed_at_ns":1787726729511641700,"word_count":2752},"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":269,"mtime_ns":1783764561723672400,"indexed_at_ns":1787726729642530900,"word_count":28},"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":7493,"mtime_ns":1787579631773583700,"indexed_at_ns":1787726729653656200,"word_count":762},"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":19291,"mtime_ns":1787564362266172200,"indexed_at_ns":1787726729732056900,"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":8977,"mtime_ns":1787072106423347900,"indexed_at_ns":1787726729751701000,"word_count":708},"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":20225,"mtime_ns":1787461919455310100,"indexed_at_ns":1787726729769779600,"word_count":1589},"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":8207,"mtime_ns":1787127978253040800,"indexed_at_ns":1787726729889415400,"word_count":782},"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":2732,"mtime_ns":1786971396047872400,"indexed_at_ns":1787726729921804200,"word_count":290},"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":2627,"mtime_ns":1785330913149233300,"indexed_at_ns":1787726729946807300,"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":2193,"mtime_ns":1786883225811564200,"indexed_at_ns":1787726730078567700,"word_count":127},"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":1785570791953119000,"indexed_at_ns":1787726739792704600,"word_count":84,"hashes":{"frontend/admin-panel/package.json":"6d61fb108392e86320c75b42e69ba7138bdc47bba4883fafbeb6e661cc5f51e4"}},"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":1747,"mtime_ns":1786954681825535900,"indexed_at_ns":1787726734038847900,"word_count":147},"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":35899,"mtime_ns":1787577523704353400,"indexed_at_ns":1787726734080159100,"word_count":2719},"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":27812,"mtime_ns":1787469989144204800,"indexed_at_ns":1787726734179658200,"word_count":2147},"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":13303,"mtime_ns":1787467799882925200,"indexed_at_ns":1787726734207782600,"word_count":928},"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":11545,"mtime_ns":1787127978262361000,"indexed_at_ns":1787726734221391500,"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":55864,"mtime_ns":1787729527929396100,"indexed_at_ns":1787729932305956500,"word_count":4169},"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":119422,"mtime_ns":1787640978245565100,"indexed_at_ns":1787726734281548900,"word_count":7835},"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":20769,"mtime_ns":1787467799897934900,"indexed_at_ns":1787726734294738100,"word_count":1479},"frontend/admin-panel/src/pages/SeoSettingsPage.tsx":{"size":15089,"mtime_ns":1787467799899934200,"indexed_at_ns":1787726734302505600,"word_count":1137},"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":78907,"mtime_ns":1787467799904439000,"indexed_at_ns":1787726734327410400,"word_count":5444},"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":16821,"mtime_ns":1787467799907448000,"indexed_at_ns":1787726734343379300,"word_count":1133},"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":70758,"mtime_ns":1787564362267171200,"indexed_at_ns":1787726734368359700,"word_count":5750},"frontend/admin-panel/src/pages/Users.tsx":{"size":39503,"mtime_ns":1787661363262635500,"indexed_at_ns":1787726734375869000,"word_count":2663},"frontend/admin-panel/src/pages/Videos.tsx":{"size":22648,"mtime_ns":1787467799914548300,"indexed_at_ns":1787726734383949000,"word_count":1604},"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":1786896758433963000,"indexed_at_ns":1787726734415809200,"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":4146,"mtime_ns":1787139270957407700,"indexed_at_ns":1787726734427790900,"word_count":454},"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":7677,"mtime_ns":1787729523443454500,"indexed_at_ns":1787729932508942000,"word_count":698},"frontend/application/app/HomeClient.tsx":{"size":13521,"mtime_ns":1787729995237438500,"indexed_at_ns":1787733017668598600,"word_count":876},"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":3318,"mtime_ns":1787581191870074600,"indexed_at_ns":1787726734552322400,"word_count":340},"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":1389,"mtime_ns":1786872121566485100,"indexed_at_ns":1787726734564982500,"word_count":129},"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":4776,"mtime_ns":1787644197144196600,"indexed_at_ns":1787726734617397100,"word_count":400},"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":1003,"mtime_ns":1787139270974959500,"indexed_at_ns":1787726734635909300,"word_count":114},"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":8722,"mtime_ns":1787579631787104400,"indexed_at_ns":1787726734672932300,"word_count":786},"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":3391,"mtime_ns":1787578481506463600,"indexed_at_ns":1787726734685442300,"word_count":301},"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":16148,"mtime_ns":1786799852571178400,"indexed_at_ns":1787726734756265200,"word_count":1109},"frontend/application/components/ArchivePage.tsx":{"size":40336,"mtime_ns":1787733215547923900,"indexed_at_ns":1787737992341536900,"word_count":3145},"frontend/application/components/AuthModal.tsx":{"size":45254,"mtime_ns":1787729527932395300,"indexed_at_ns":1787729932749855000,"word_count":2996},"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":1787564348689902000,"indexed_at_ns":1787726734793846300,"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":18802,"mtime_ns":1787641161059331400,"indexed_at_ns":1787726734805497100,"word_count":1239},"frontend/application/components/BlogPreviewSection.tsx":{"size":7847,"mtime_ns":1787729995238555000,"indexed_at_ns":1787733017937261500,"word_count":564},"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":40480,"mtime_ns":1787729527934394700,"indexed_at_ns":1787729932802425200,"word_count":2746},"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":11758,"mtime_ns":1787733067653488600,"indexed_at_ns":1787733156990802700,"word_count":1015},"frontend/application/components/Footer.tsx":{"size":13707,"mtime_ns":1787644197154198800,"indexed_at_ns":1787726734881167600,"word_count":903},"frontend/application/components/Header.tsx":{"size":37307,"mtime_ns":1787729527936394600,"indexed_at_ns":1787729932849601000,"word_count":2603},"frontend/application/components/HeaderButton.tsx":{"size":2242,"mtime_ns":1786799852637156100,"indexed_at_ns":1787726734893172700,"word_count":208},"frontend/application/components/Hero.tsx":{"size":19224,"mtime_ns":1787729995241796300,"indexed_at_ns":1787733018008184500,"word_count":1617},"frontend/application/components/IngredientWiki.tsx":{"size":20337,"mtime_ns":1786965281374206800,"indexed_at_ns":1787726734906680500,"word_count":1496},"frontend/application/components/LoginModal.tsx":{"size":13846,"mtime_ns":1786885876932267500,"indexed_at_ns":1787726734914249200,"word_count":1121},"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":36149,"mtime_ns":1787564348694929900,"indexed_at_ns":1787726734935086200,"word_count":2477},"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":83314,"mtime_ns":1787564348695930500,"indexed_at_ns":1787726734959758100,"word_count":5882},"frontend/application/components/PodcastInlinePlayer.tsx":{"size":17030,"mtime_ns":1787579631796809000,"indexed_at_ns":1787726734967757900,"word_count":1382},"frontend/application/components/PodcastPlayerModal.tsx":{"size":18090,"mtime_ns":1787564348697931500,"indexed_at_ns":1787726734976259700,"word_count":1485},"frontend/application/components/PrescriptionUploadModal.tsx":{"size":18907,"mtime_ns":1786965281385656300,"indexed_at_ns":1787726734983772300,"word_count":1331},"frontend/application/components/ProductPage.tsx":{"size":76318,"mtime_ns":1787733067654619000,"indexed_at_ns":1787733157072863300,"word_count":5465},"frontend/application/components/ProductReviews.tsx":{"size":16108,"mtime_ns":1787048863691774800,"indexed_at_ns":1787726734999417900,"word_count":1194},"frontend/application/components/SafeImage.tsx":{"size":4070,"mtime_ns":1787737859503690800,"indexed_at_ns":1787737992551732900,"word_count":376},"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":36898,"mtime_ns":1787729995242888100,"indexed_at_ns":1787733018101293500,"word_count":2820},"frontend/application/components/TestimonialsSection.tsx":{"size":6677,"mtime_ns":1787729995243926600,"indexed_at_ns":1787733018108759600,"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":5074,"mtime_ns":1787733067657251700,"indexed_at_ns":1787733157120059800,"word_count":425},"frontend/application/components/TopUpModal.tsx":{"size":9381,"mtime_ns":1787406597303349300,"indexed_at_ns":1787726735057286900,"word_count":741},"frontend/application/components/UserDashboard.tsx":{"size":92697,"mtime_ns":1787394935320317600,"indexed_at_ns":1787726735063292200,"word_count":5939},"frontend/application/components/VetGallery.tsx":{"size":8392,"mtime_ns":1787729995244963400,"indexed_at_ns":1787733018135397500,"word_count":653},"frontend/application/components/VideoModalPlayer.tsx":{"size":24486,"mtime_ns":1787729523449452000,"indexed_at_ns":1787729932989630600,"word_count":1842},"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":26699,"mtime_ns":1787737919777804400,"indexed_at_ns":1787737992664729500,"word_count":2123},"frontend/application/components/catalog/FlipbookCatalog.tsx":{"size":36610,"mtime_ns":1787737945603868700,"indexed_at_ns":1787737992672279600,"word_count":3147},"frontend/application/components/catalog/ProductDetailModal.tsx":{"size":7763,"mtime_ns":1786872121572482100,"indexed_at_ns":1787726735143987500,"word_count":557},"frontend/application/eslint.config.mjs":{"size":747,"mtime_ns":1787148092358055900,"indexed_at_ns":1787726735150541200,"word_count":61},"frontend/application/lib/data/products.ts":{"size":104224,"mtime_ns":1787578481513988500,"indexed_at_ns":1787726735158143700,"word_count":9748},"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":683,"mtime_ns":1787579631802834900,"indexed_at_ns":1787726735179751500,"word_count":59},"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":8046,"mtime_ns":1787139270988834800,"indexed_at_ns":1787726735198345500,"word_count":737},"frontend/application/lib/services/api.ts":{"size":3694,"mtime_ns":1786954681844297300,"indexed_at_ns":1787726735203856100,"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":15840,"mtime_ns":1787579631803836100,"indexed_at_ns":1787726735223578000,"word_count":1409},"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":1234,"mtime_ns":1786967385871970500,"indexed_at_ns":1787726735237739200,"word_count":144},"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":10320,"mtime_ns":1787729523453454600,"indexed_at_ns":1787729933162841900,"word_count":894},"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":2274,"mtime_ns":1787579631805387200,"indexed_at_ns":1787726735310154400,"word_count":208},"frontend/application/package.json":{"size":844,"mtime_ns":1787640978247182300,"indexed_at_ns":1787726739799715600,"word_count":72,"hashes":{"frontend/application/package.json":"6f60e7e1648827d0553bb5db6faa06d1a77f6809f0a6370f9b9517c91dd19db7"}},"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/hero-section-image.png":{"size":6990105,"mtime_ns":1783856793095044200,"indexed_at_ns":1787726735461222100,"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":2166,"mtime_ns":1787077093990777200,"indexed_at_ns":1787726739209165700,"word_count":120},"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":1787640978248234500,"indexed_at_ns":1787726739230479800,"word_count":202},"scripts/start-dev.js":{"size":1689,"mtime_ns":1787072106514646900,"indexed_at_ns":1787726739236447600,"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"}}} \ No newline at end of file diff --git a/graphify-out/graph.html b/graphify-out/graph.html index 76f132d..da96bd5 100644 --- a/graphify-out/graph.html +++ b/graphify-out/graph.html @@ -63,12 +63,12 @@
-
4104 nodes · 7380 edges · 324 communities
+
4104 nodes · 7388 edges · 319 communities