/opt/mawid/.git
NameSizeModeActions
gk/-0755rm
hooks/-0755rm
info/-0755rm
logs/-0755rm
objects/-0755rm
refs/-0755rm
COMMIT_EDITMSG1350644editdlrm
config1370644editdlrm
description730644editdlrm
HEAD210644editdlrm
index168680644editdlrm
Edit: /opt/mawid/.git/index (16868B)
DIRC—j[`>8‹§æj[`>8„´ío�¤õ­Œw™É3ØóÁ  Nù¦ÈÄó­ .env.examplej[b“4�ÌSj[b“4�ÌSãI�¤õcJ¤å¡ìÄØÅE Œ[˜Š;�ï .gitignorejW‹]Ã#ºjW‹]¸YãH�¤õâ"�Ý µ›z˜Ôç ñ›]*ÿL.nvmrcjW‹c ¢“ãjW‹c ‘þãO�¤õ4/4Õ¯ZÐt*M0Ïøßè+1apps/api/src/appointments/appointments.service.tsj[`78;.&j[`785çâíon�¤õ�Ù?ì0+ï¼»­�@–�p]7¸×̆$apps/api/src/auth/auth.controller.tsjW�g/ÎjW�g.þv›äò �¤õÝÓ�·Yð¹ kz>eQ¦SÉá– apps/api/src/auth/auth.module.tsjW�».¥" jW�». wŽäô#�¤õ Q¬í‚dÏ¥0Ú½ÝfK¯äu§Q&apps/api/src/auth/auth.service.spec.tsjW�`µ’ojW�`°ô!äñÿ�¤õÿ±ÐÓÏÛvÇÃw w:éÏ0§~ÿ!apps/api/src/auth/auth.service.tsjW�T+½Ì[jW�T+¸Ï¥äñè�¤õe}ئbÉž¾eöjãí3+apps/api/src/auth/current-user.decorator.tsjW�Y3xÿjW�Y3l¤uäñö�¤õLT•†…‡$콬›Õõc9õ�Ó#apps/api/src/auth/jwt-auth.guard.tsjW�R à¸ÿjW�R Ùïÿäñá�¤õ–³„^+8†r^™¹uŸ9(È(‹$%apps/api/src/auth/public.decorator.tsjW�uá"jW�uÚäò�¤õÛ4/Á}HO(bŽ 6ÿÞËÇÕ=™(apps/api/src/clinic/clinic.controller.tsjW�v·íjW�vŽ1äò�¤õð`Ú�â[aŠ�P!Bl°gá%8d$apps/api/src/clinic/clinic.module.tsjW�q ‘äjW�q …aäò�¤õ©}v�Ú˜ñ²õáÍÅ©·ïZ’%apps/api/src/clinic/clinic.service.tsj[`$ „z�j[`$ ~ÌíoI�¤õ�àt²cT_èž Ëþ5Ò¶B$apps/api/src/common/sentry.filter.tsjW�P wÈýjW�P s)8äñÞ�¤õO j»ÏºáTC>†?Œ9lT„¦*apps/api/src/common/zod-validation.pipe.tsjW‹Ã5²ÂãjW‹Ã5¡Ô‡ã§�¤õV ßÙã¢Ûrˆ·zû§—êÿçapps/api/src/config/env.spec.tsj[`>`"Dj[`>XÉ<ío~�¤õpzg›´SYÓ0ݳ^Éu"gV'apps/api/src/config/env.tsj[Wã`Rj[W×™uì‹)�¤õÿb÷XXßît6Ì1åG ¸Þ+‚?�6apps/api/src/conversations/conversations.controller.tsj[W"…Ïj[W"~ϱì‹,�¤õ0…— xØÃtH*ða,ª‹æ,¢2apps/api/src/conversations/conversations.module.tsj\Æè,F+êj\Æè,F+êðÛ.�¤õ �ž‡ñÔXaíyäÄãK§Œ£ˆ»óÉÀ3apps/api/src/conversations/conversations.service.tsjW‹Åu¨SjW‹Åi«›ãª�¤õlŸPbB¥ Â%jÚZ�Oü|lð-apps/api/src/health/health.controller.spec.tsj[`4.+j[`4)Uíoe�¤õP†'Q·Áï’ì__§+fnèÌ¥å0(apps/api/src/health/health.controller.tsj[`(4ZPíj[`(4SD¸íoQ�¤õ!ö_ZÊù¨É¸g*aŒ# apps/api/src/main.tsj[`WóŽcj[`Wç™Wío˜�¤õ¶kZ$� �š{%¾Õ¬»cœ“,apps/api/src/patients/patients.controller.tsj[`e+Çý>j[`e+¼„Þío«�¤õ+‘}›\ÃÌç©ãUÙ˜‰¥y Œ)+apps/api/src/patients/patients.gdpr.spec.tsj[Vô>±ºj[Vô:o†ì‹�¤õ ù§I(òKÞ´Â8“¥\´›‰m[(apps/api/src/patients/patients.module.tsj[`OÍúj[`OÇãío‹�¤õªÍðÓÔ‘™\K j8œ¶²yý‰'Y)apps/api/src/patients/patients.service.tsjW�M/[þ¿jW�M/U«äñ×�¤õÒrBo`GË»ê}±šD/K $apps/api/src/prisma/prisma.module.tsjW�L*Ÿ²¬jW�L*›¬äñÒ�¤õYq®[¶^eÔÕU$o¢ñ`äòY�¤õŒób]€aôÎ(ød�4¸õë¿)apps/api/src/services/services.service.tsjW�ƒêT¿jW�ƒål äòM�¤õÏ}Ný;MܲÇÆt%§íxŸ·&apps/api/src/staff/staff.controller.tsjW�… =.tjW�… 1ùšäòO�¤õñ“ÆÄciv"yI85ì¸èM"apps/api/src/staff/staff.module.tsjW�~ (?…jW�~ $�Räò;�¤õ Ñâ|ÉDk… o7 l†gÎ_ò#apps/api/src/staff/staff.service.tsj[W$~ “j[W$tkyì‹f�¤õ‡åšT:sÛ…gyߺ!È~ß`¦Ÿ*apps/api/src/summary/summary.controller.tsj[X¯§ºîjI�½õ½ÈH'Þ¿¾-apps/api/src/summary/weekly-summary.worker.tsjW�É ïù.jW�É åÆ©äô<�¤õ ó&N�Ü_b fÞ˜£bíNF¯L\$apps/api/src/tenancy/tenancy.spec.tsj[T“2Ã!Œj[T“2¼0]ìmó�¤õkOÓçQLBUüŸì9œ†4¤X'apps/api/src/waitlist/waitlist-queue.tsj[TÎ’Ú®j[TΉEìnö�¤õ%¯ðý¹Ò�›Æ½ßªÝ¤I^TïC¿/apps/api/src/waitlist/waitlist-reply.service.tsj[UX1eûÁj[UX1`ȉìr �¤õ7ZÁ;„¢Øò¡éÇçÃÊ• CÉ×ñN*apps/api/src/waitlist/waitlist.e2e.spec.tsj[TÒ(O#±j[TÒ(CÄìo�¤õ EØñ@V Ü) ÅËT¶€ÝÈúq¬(apps/api/src/waitlist/waitlist.module.tsj[TÁ3=Uzj[TÁ38¢„ìn¡�¤õ3Ë-BÞ[Ó­DÛ'¡I%b†u]Ôƒ)apps/api/src/waitlist/waitlist.service.tsj[TË Ég2j[TË ¿0ðìnº�¤õ­@áM^�Õía)¥Aå¥ V·Â<“(apps/api/src/waitlist/waitlist.worker.tsj[Tˆd®#j[Tˆ^êìmË�¤õÑn°?qþ®Í?¨&-p­¨¤€Óú/apps/api/src/whatsapp/owner-notifier.service.tsj[TŽ íøÏj[TŽ æ=øìmÖ�¤õHVÂp³p®éÓãŽs)ö[ÐgFB'apps/api/src/whatsapp/wa-core.module.tsjW•mÆ£øjW•m·î­å:¦�¤õÈCêªàƒ _W�'»€SÉ¿eá‡'apps/api/src/whatsapp/wa-http.client.tsj[U"1 V‘j[U"0ý6ãìpì�¤õÊeQ�Ć’·›Í؆ r³„CŒ0apps/api/src/whatsapp/wa-inbound.service.spec.tsj[\ü!‚j[\÷J@ìêù�¤õ7�;�£5Æy¬qúïhr¨�ÐìèàL+apps/api/src/whatsapp/wa-inbound.service.tsjW–0$P¬ÔjW–0$F@ŠåNR�¤õ £Ò Uª‡¨1Â\šäš§‰Í˜Œ…¶+apps/api/src/whatsapp/wa-outbound.worker.tsjW•o9íljW•o9£Tå:²�¤õ¿‘îGÓ!Nè “Ó7˜%‘[Π]iÎ!apps/api/src/whatsapp/wa-queue.tsjW›é79ÀâjW›é74(CåÅô�¤õ_'³4ØÝ#Å=¶Ñ¾‘²ó†v©±{N*apps/api/src/whatsapp/wa-sender.service.tsjW•Ö­QÀjW•Ö©#Äå<€�¤õð:àÛÌ} ´zÖh@—îÎ'*apps/api/src/whatsapp/wa-signature.spec.tsjW•cuÍËjW•ckr˜å:—�¤õ–Jç–Íi=‡*ÒÞ!FîÌo Ô�‘%apps/api/src/whatsapp/wa-signature.tsjW•`RjW•`Jfå:“�¤õ“Jå½[»D$ëHíª8å‡Ä¹S.!apps/api/src/whatsapp/wa-types.tsjW–5 “ø�jW–5 �F2åN³�¤õ |\UñæÀa™7¦ ºÈmÚ˜lãIR3apps/api/src/whatsapp/wa-webhook.controller.spec.tsj[b'ÔÂj[b':àüí‰�¤õÂ-Biwï—ôF “ Aq 6.apps/api/src/whatsapp/wa-webhook.controller.tsjW•Úö· jW•ÚìmWå<Š�¤õ\9/ŽÝÊßçnºÓÍòå¾y)·'apps/api/src/whatsapp/wa-window.spec.tsjW•e7Œ#�jW•e7‡l_å:›�¤õý .,‚Ý%ýØ*~Fo¾AC¦ØÕ"apps/api/src/whatsapp/wa-window.tsj[T÷2/ïmj[T÷2(ÙÉìp6�¤õCf.óý€ý…< ™ß™<ÆÌjc(apps/api/src/whatsapp/whatsapp.module.tsjW‹­-‚jŽjW‹­-}Tžãv�¤õ5È7‡08’µþ•Øw÷+t‘ú2µÌapps/api/tsconfig.jsonj\Í4×#j\Í4Ë™ ñ��¤õmCa´Õ8@—T5ÐÚb8‘úapps/dashboard/Dockerfilej[X&$(�Íj[X&$$6ÿì�Y�¤õGZÎ/aé(ÚŒƒ ¯tI"S&é4apps/dashboard/app/(app)/conversations/[id]/page.tsxj[Xg(j[X –Zì�>�¤õ~?%€÷±Û.$��s_àC¯–_µ/apps/dashboard/app/(app)/conversations/page.tsxj[W½%Ï$Rj[W½%Ê93ì�L�¤õ oôs\B­zåàA7&»„NoæEã#apps/dashboard/app/(app)/layout.tsxj[Wú±¤!j[Wú¬O ì��¤õ>"½š¼y±àÁk¦¸*‡H}l„Š.«/apps/dashboard/app/(app)/patients/[id]/page.tsxj[X$ï�xj[X$å§'ì�*�¤õoŸB§ÖZ¨>ºe±ôþ[vb*apps/dashboard/app/(app)/patients/page.tsxj[Xi8ª+Lj[Xi8¤˜^ì’é�¤õ8ÂsøM(É8WˆNïÖ¯[ßµ‹Ï*apps/dashboard/app/(app)/settings/page.tsxjW‹Ò2ßG²jW‹Ò2Ú& ã"�¤õÔµ…†â‘ùÜ}o£€ª<R¸Kapps/dashboard/app/globals.cssj[W®7 Mj[W®7ž´ìŽÒ�¤õð„Žþ‰Ëê'Á™}«Æ©Êþ«-apps/dashboard/app/layout.tsxj[Wµ:½Çj[Wµ6mìŽá�¤õvê�-/d9=pVÒ¸q9¨ ­ÏˆR>!apps/dashboard/app/login/page.tsxj[W©_j[W©úåìŽÅ�¤õ͸.÷Ü‚_ç)b¿g‡ü>øÈ‡j apps/dashboard/components/ui.tsxj[Z#Ö× j[Z#чÒì»…�¤õ ¤-(*ÅPÀ4U’¾©¬t“TŽ2Èapps/dashboard/lib/api.tsj[W›t¶àj[W›n¼mìŽ�¤õ&è8bÙãè1¿3­d)£ ÔÜ$Napps/dashboard/lib/i18n.tsxjWŒmYÉßjWŒmYÉßäÕ0�¤õƒµ”Ê)p¨'U\(¢S°—6~Øapps/dashboard/next-env.d.tsjW‹Ð98“åjW‹Ð9-t‡ã �¤õ�”dzÞw…ñÍbò€®w×UÎG5�apps/dashboard/next.config.tsjW‹Ì3˜pjW‹Ì3އ­ã¸�¤õ¤)¹E6sqñh ë³E-x;l@…apps/dashboard/package.jsonjW‹Ñ6ýo;jW‹Ñ6ø|Jã�¤õF£J=V É´8™[Äi"È¡ò8!apps/dashboard/postcss.config.mjsjW‹Ï-YôõjW‹Ï-Só-ãÝ�¤õ2¯íÇD<_œ�Ä=c1nZŠÛtéapps/dashboard/tsconfig.jsonj[`µ.òt:j[`‹9;(…íoß�íõ• ‡žñRøÏˆG"u4°ÿ` deploy.shj\Í9±å-j\Í9®>™ñŠ�¤õn¤žãn˜jkz„P<æWæ92úÚdocker-compose.droplet.ymlj\Í:-SÞj\Í:'`Àñ‹�¤õ XäõRU®vQ´sÅ4¡QbîÔ®docker-compose.prod.ymlj[\60êj[\6,‹ãìêô�¤õ‹dWª·S…ÒZÿ¾»RâL*Œdocker-compose.ymlj[`Ä*­»j[`Ä*§Å7íp5�¤õ‡†°>†³ùý)¹¢¼½E&`�ÿ“eslint.config.mjsjWŒX*”ª–jWŒX*�^äÔs�¤õk—Îì‹v>fš/z)F˯«DB package.jsonj[^î$ÙNj[^î ¾Üìí�¤õ¯fÍØC£: “ƇšëÇBL’Ùpackages/db/package.jsonjW�(�“ŒjW�(�“Œäñ‹�¤õ&ëQo\…°^M<ÈþúÌ,òÜͺ˜?packages/db/prisma/migrations/20260715135032_init/migration.sqljW•+;„à¯jW•+;„à¯å9õ�¤õ¬`)V[{ÄügÎJúÝNÀ"c^ÜXpackages/db/prisma/migrations/20260715141155_add_clinic_wa_phone_number_id/migration.sqljW›¾&H`WjW›¾&H`Wåŧ�¤õjò~ è#¡uŒy[&Ô¿6K‰ÎŠ[packages/db/prisma/migrations/20260715143957_add_appointment_unconfirmed_risk/migration.sqlj[Tf%EJxj[Tf%EJxìms�¤õ¦Î˜`𼋠‹ÿy×�€Fo®Hpackages/db/prisma/migrations/20260718102437_add_slot_hold/migration.sqljW�(“ ‚jW�(“ ‚äñŒ�¤õ€MWͰյ¿óGQ5šNç9¿x1packages/db/prisma/migrations/migration_lock.tomlj[T*¶Gj[T~ìly�¤õuTøŠ’RÞ-ì[Åß„bæ¿jµ6� packages/db/prisma/schema.prismajW”Ý/þ=³jW”Ý/÷æüå1á�¤õ¼ÔÚcL´ú·õº¼û•çÝÇA’packages/db/prisma/seed.tsj[_d—G›j[_d’Áãí)Þ�¤õɼð”ïšÎ…WlȧVØ!”«�c packages/db/prisma/tsconfig.jsonjW‹6�Û¼jW‹6}ÁDãË�¤õ雡]w+OìÜ’ß�„ß)2�ôpackages/db/src/index.tsjW‹|90ùjW‹|.yðã£�¤õ‰Z$˜œÓ Ï7IÊ~`Ôè=mÛ±Gpackages/db/tsconfig.jsonjW‹p1 ­jW‹p1Sûã†�¤õh‘]×]`>{H{©`G~J îæpackages/shared/package.jsonj[V¿7{…j[V¿7.›슷�¤õ¼v„L‘¥T§¾ qùÅï B½ø=!packages/shared/src/i18n/index.tsjW�ð2þynjW�ð2÷Käî#�¤õ÷“aÍžsL$å°ÅŠåvw““èl²Úpackages/shared/src/index.tsj[V¶øôùj[V¶ð|€슡�¤õ(³[ÁWà‰‹j¿aGXÔăR·?p*packages/shared/src/schemas/appointment.tsjW�å$Ì5]jW�å$¿ÙCäî�¤õÝ�i&ü‰÷TS-؆ãóNUÓƒr£#packages/shared/src/schemas/auth.tsj[T�–>j[T�v ìmŸ�¤õ_âbßbuÜ+•$üDk¨âCš%packages/shared/src/schemas/clinic.tsj[V¸ T8j[V¸ Lé«슦�¤õ¸:žixàK_À²¢ÀÇK¥ ø€$packages/shared/src/schemas/index.tsjW�îØ9)jW�îÎF¾äî�¤õ<È<Ñðóa•¥¢ÕýXB&,K>À&packages/shared/src/schemas/service.tsjW�ë&@'7jW�ë&9Pßäî�¤õ&xúÄ ›�jXzÅ &�ƒ²‘­$packages/shared/src/schemas/staff.tsjW�ã&A"ôjW�ã&:Xäî�¤õýK)Úwa¹Gï”m‚Â7†qKâ,packages/shared/src/schemas/working-hours.tsjW‹r é&ªjW‹r ßGã��¤õ‰Z$˜œÓ Ï7IÊ~`Ôè=mÛ±Gpackages/shared/tsconfig.jsonj[`ÃÀJj[`e ‹í<à�¤õÇÂŒ…!ØWŽ´ŸDhVWåV ONÀpnpm-lock.yamljW”ÿ*ZjW”ÿ*Jæå98�¤õ¹j|1LJËb¾RV¸«4Š´Z„ �²pnpm-workspace.yamlj[`µ.ó)aj[`r:"ŒíoÁ�íõʨڎE;~�7îDXfcnÔBscripts/backup.shj\ÈSæj\Çö †ˆðè÷�íõ°ì+¤óX}¹ÿŒ¾�æúø»K™scripts/demo-reset.shj[b/îˆôj[b/èè®í‰#�¤õ Ù¦‰=R´‹— `ð¾ÚIÈ?òjÂ'scripts/load-sanity.mjsj[`µ.ó¿j[`u2Ù?íoÉ�íõ9ýˆØ»Î’øÂÕ‹£[®È¤*Ûscripts/restore.shjW‹gb¡jW‹gWK!ã^�¤õ<óS\KÿôíÝ�ÄŸxÃW÷pštsconfig.base.jsonTREE151 3 «kÅ|檯ƒ�upºùâ�÷R4oapps104 2 ÆÓ¨3Ý yœ»òùgR:Ýî*UÆapi85 1 QädL;�ò‡ªÙÄ„Ú|JìwB“src81 17 `çOKn“ÆÈð)îÈ©B0‘Öauth7 0 ÖÑüÃG   ¥Á޹ňŽuwagent10 0 Ø"¥pÈöŽ6B+9Ñ^ààÍðstaff3 0 «AÂ([qªÌˆ>Ÿ¡m±ß#Htclinic3 0 L¡’L“‰ÎZ³«ÉÙ4*ºý¾icommon2 0 ꃋ¨pëÊÒ…ÑãÒÁ¿uÆgçconfig2 0 ´‹^!ÞŽÙy%/Z î\>K’‰health2 0 Qü¦¹nãl?•ómX !ݽ1{áprisma2 0 Å%|XÕFÑ,^��«u˜É8ÎDsummary5 0 ÀJ$>O?ºHÐ4îä=„ìévØH¡tenancy1 0 †»óY’ ô«צ-O¬…Ûpápatients4 0 ´TÊìWzG,*ë”» »4ÀËservices3 0 ¯7bøRÌU€’‹Û?CåýT/Æô`waitlist6 0 ’É25K¦÷‚üt^brëÒq›¦whatsapp16 0 _E¬7y6G9Ù2w�d›òQ reminders7 0 6†>îk ÊoÌäܦؖ €TZappointments3 0 \E³Ô4¼$þQÀ±!,tܰ5> conversations3 0 úLà,�fBÓžeÚ(³†Ë›õ‚dashboard19 3 €OÓ<¬·®�¡wu?ÝÃoÛ`app10 2 $e¢›)ãU§{–9 Á}”X(app)7 3 sRå”bpßlÇ’Éž­ýN‚\Øšpatients2 1 PE×/zûg–^Á ›íø¬?[id]1 0 ¼óQ»ÒÛ«û¸=�EwÈr~W"`5settings1 0 }ÙZª¤P‚ü*4.ÁO �)æ Éconversations2 1 »Á´ÔV¿ŽÖžK-–»<-æÖ[id]1 0 ‚þ2¼Y3‘ b»…ÍÅ�@nlálogin1 0 %¯CÈS$œ¾¼1¨?/†V�ì™lib2 0 B=r¥ ÎÝŸW½ûÆÈ¨èÉØÕcomponents1 0 ‚ZÔi¿óV'¤S•G5ÿz>…Zscripts4 0 ¨½I�”¯‚Oªèªµˆ!Ž©êð¶¢packages22 2 ÜH`p#Øô«²‚ø¿Ô²™l;›db11 2 ! ÿHµ;?‡Pè‹Aôýï_òsrc1 0 Q½ú°JJµŽx(kYôå6ÛàÍpprisma8 1 Ðûä*'æ°|{XRM †q4lmigrations5 4 ȳíL1y5)òïSÜNöĶ�20260715135032_init1 0 ÀIé¬ÑŽØ¡5ã�ê·�\ƒ—20260718102437_add_slot_hold1 0 qÑrÅÀÑê†ör ´ãíœáÇŒ20260715141155_add_clinic_wa_phone_number_id1 0 ¯¶p®"éÁFÂÚYDŽ‚Æà=« 20260715143957_add_appointment_unconfirmed_risk1 0 0¼•“µÀWÿQ u�v_‡þshared11 1 ]�”·ÁgЋ7ü¶Ç¾Ás°Žv¦Dsrc9 2 Ì{íðKNNÅí(áØá M¹™ôi18n1 0 …$ÐÇ'É b