- Added a new column `national_code_verified` to the `users` table. - Normalized the `bank_account` field in the `representations` table from a single object to an array of IBANs with a default `verified` status of false. feat(ApiIrService): implement identity verification client for api.ir - Created `ApiIrService` to handle identity verification via api.ir. - Implemented methods for matching national code with mobile and IBAN with national code and birth date. - Added error handling and logging for external API requests.
1 line
14 KiB
JSON
1 line
14 KiB
JSON
{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_claude_prompt_doctor_clinic_address_access_md", "label": "doctor-clinic-address-access.md", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L1"}, {"id": "prompt_doctor_clinic_address_access_\u062f\u0633\u062a\u0631\u0633\u06cc_\u067e\u0632\u0634\u06a9_\u0628\u0647_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc_\u0622\u062f\u0631\u0633", "label": "\u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u0632\u0634\u06a9 \u0628\u0647 \u0622\u062f\u0631\u0633\u200c\u0647\u0627\u06cc \u06a9\u0644\u06cc\u0646\u06cc\u06a9\u200c\u0647\u0627\u06cc \u0639\u0636\u0648 + \u0627\u062c\u0628\u0627\u0631\u06cc \u06a9\u0631\u062f\u0646 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0622\u062f\u0631\u0633", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L1"}, {"id": "prompt_doctor_clinic_address_access_\u0632\u0645\u06cc\u0646\u0647", "label": "\u0632\u0645\u06cc\u0646\u0647", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L3"}, {"id": "prompt_doctor_clinic_address_access_\u0645\u0634\u06a9\u0644_\u0647\u062f\u0641", "label": "\u0645\u0634\u06a9\u0644 / \u0647\u062f\u0641", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L11"}, {"id": "prompt_doctor_clinic_address_access_\u0641\u0627\u06cc\u0644_\u0647\u0627\u06cc_\u0645\u0631\u062a\u0628\u0637", "label": "\u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L19"}, {"id": "prompt_doctor_clinic_address_access_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", "label": "\u0648\u0636\u0639\u06cc\u062a \u0641\u0639\u0644\u06cc", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L30"}, {"id": "prompt_doctor_clinic_address_access_backend_doctoraddress_toarray_\u0641\u0627\u06cc\u0644_src_doctor_entity_doctoraddress_php_\u062e\u0637_112", "label": "Backend \u2014 DoctorAddress::toArray() (\u0641\u0627\u06cc\u0644: `src/Doctor/Entity/DoctorAddress.php`, \u062e\u0637 112)", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L32"}, {"id": "prompt_doctor_clinic_address_access_backend_listaddresses_\u062f\u0631_doctorcontroller_\u062e\u0637_671", "label": "Backend \u2014 listAddresses \u062f\u0631 DoctorController (\u062e\u0637 671)", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L48"}, {"id": "prompt_doctor_clinic_address_access_frontend_addrschema_\u062f\u0631_doctordetailpage_tsx_\u062e\u0637_772", "label": "Frontend \u2014 addrSchema \u062f\u0631 DoctorDetailPage.tsx (\u062e\u0637 772)", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L62"}, {"id": "prompt_doctor_clinic_address_access_frontend_sessioneditor_\u062e\u0637_1082_1085", "label": "Frontend \u2014 SessionEditor (\u062e\u0637 1082-1085)", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L76"}, {"id": "prompt_doctor_clinic_address_access_\u0648\u0636\u0639\u06cc\u062a_clinicrepository", "label": "\u0648\u0636\u0639\u06cc\u062a ClinicRepository", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L85"}, {"id": "prompt_doctor_clinic_address_access_\u0648\u0638\u0627\u06cc\u0641", "label": "\u0648\u0638\u0627\u06cc\u0641", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L102"}, {"id": "prompt_doctor_clinic_address_access_\u06f1_backend_\u0627\u0636\u0627\u0641\u0647_\u06a9\u0631\u062f\u0646_clinic_name_\u0628\u0647_doctoraddress_toarray", "label": "\u06f1. Backend \u2014 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 `clinic_name` \u0628\u0647 `DoctorAddress::toArray()`", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L104"}, {"id": "prompt_doctor_clinic_address_access_\u06f2_backend_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0631\u0627_\u062f\u0631_listaddresses_\u0634\u0627\u0645\u0644_\u06a9\u0646", "label": "\u06f2. Backend \u2014 \u0622\u062f\u0631\u0633\u200c\u0647\u0627\u06cc \u06a9\u0644\u06cc\u0646\u06cc\u06a9\u200c\u0647\u0627\u06cc \u0639\u0636\u0648 \u0631\u0627 \u062f\u0631 `listAddresses` \u0634\u0627\u0645\u0644 \u06a9\u0646", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L125"}, {"id": "prompt_doctor_clinic_address_access_\u06f3_frontend_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627_\u062f\u0631_addrschema", "label": "\u06f3. Frontend \u2014 \u0627\u062c\u0628\u0627\u0631\u06cc \u06a9\u0631\u062f\u0646 \u0641\u06cc\u0644\u062f\u0647\u0627 \u062f\u0631 `addrSchema`", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L165"}, {"id": "prompt_doctor_clinic_address_access_\u0646\u06a9\u0627\u062a_\u0645\u0647\u0645", "label": "\u0646\u06a9\u0627\u062a \u0645\u0647\u0645", "file_type": "document", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L204"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_claude_prompt_doctor_clinic_address_access_md", "target": "prompt_doctor_clinic_address_access_\u062f\u0633\u062a\u0631\u0633\u06cc_\u067e\u0632\u0634\u06a9_\u0628\u0647_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc_\u0622\u062f\u0631\u0633", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L1", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u062f\u0633\u062a\u0631\u0633\u06cc_\u067e\u0632\u0634\u06a9_\u0628\u0647_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc_\u0622\u062f\u0631\u0633", "target": "prompt_doctor_clinic_address_access_\u0632\u0645\u06cc\u0646\u0647", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L3", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u062f\u0633\u062a\u0631\u0633\u06cc_\u067e\u0632\u0634\u06a9_\u0628\u0647_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc_\u0622\u062f\u0631\u0633", "target": "prompt_doctor_clinic_address_access_\u0645\u0634\u06a9\u0644_\u0647\u062f\u0641", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L11", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u062f\u0633\u062a\u0631\u0633\u06cc_\u067e\u0632\u0634\u06a9_\u0628\u0647_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc_\u0622\u062f\u0631\u0633", "target": "prompt_doctor_clinic_address_access_\u0641\u0627\u06cc\u0644_\u0647\u0627\u06cc_\u0645\u0631\u062a\u0628\u0637", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L19", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u062f\u0633\u062a\u0631\u0633\u06cc_\u067e\u0632\u0634\u06a9_\u0628\u0647_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc_\u0622\u062f\u0631\u0633", "target": "prompt_doctor_clinic_address_access_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L30", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", "target": "prompt_doctor_clinic_address_access_backend_doctoraddress_toarray_\u0641\u0627\u06cc\u0644_src_doctor_entity_doctoraddress_php_\u062e\u0637_112", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L32", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", "target": "prompt_doctor_clinic_address_access_backend_listaddresses_\u062f\u0631_doctorcontroller_\u062e\u0637_671", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L48", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", "target": "prompt_doctor_clinic_address_access_frontend_addrschema_\u062f\u0631_doctordetailpage_tsx_\u062e\u0637_772", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L62", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u0648\u0636\u0639\u06cc\u062a_\u0641\u0639\u0644\u06cc", "target": "prompt_doctor_clinic_address_access_frontend_sessioneditor_\u062e\u0637_1082_1085", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L76", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u062f\u0633\u062a\u0631\u0633\u06cc_\u067e\u0632\u0634\u06a9_\u0628\u0647_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc_\u0622\u062f\u0631\u0633", "target": "prompt_doctor_clinic_address_access_\u0648\u0636\u0639\u06cc\u062a_clinicrepository", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L85", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u062f\u0633\u062a\u0631\u0633\u06cc_\u067e\u0632\u0634\u06a9_\u0628\u0647_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc_\u0622\u062f\u0631\u0633", "target": "prompt_doctor_clinic_address_access_\u0648\u0638\u0627\u06cc\u0641", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L102", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_doctor_clinic_address_access_\u06f1_backend_\u0627\u0636\u0627\u0641\u0647_\u06a9\u0631\u062f\u0646_clinic_name_\u0628\u0647_doctoraddress_toarray", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L104", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_doctor_clinic_address_access_\u06f2_backend_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0631\u0627_\u062f\u0631_listaddresses_\u0634\u0627\u0645\u0644_\u06a9\u0646", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L125", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u0648\u0638\u0627\u06cc\u0641", "target": "prompt_doctor_clinic_address_access_\u06f3_frontend_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627_\u062f\u0631_addrschema", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L165", "weight": 1.0}, {"source": "prompt_doctor_clinic_address_access_\u062f\u0633\u062a\u0631\u0633\u06cc_\u067e\u0632\u0634\u06a9_\u0628\u0647_\u0622\u062f\u0631\u0633_\u0647\u0627\u06cc_\u06a9\u0644\u06cc\u0646\u06cc\u06a9_\u0647\u0627\u06cc_\u0639\u0636\u0648_\u0627\u062c\u0628\u0627\u0631\u06cc_\u06a9\u0631\u062f\u0646_\u0641\u06cc\u0644\u062f\u0647\u0627\u06cc_\u0622\u062f\u0631\u0633", "target": "prompt_doctor_clinic_address_access_\u0646\u06a9\u0627\u062a_\u0645\u0647\u0645", "relation": "contains", "confidence": "EXTRACTED", "source_file": ".claude/prompt/doctor-clinic-address-access.md", "source_location": "L204", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0} |