Files
clinicpro/graphify-out/cache/ast/v0.8.44/e9d828bddc99129d0ac0c37ce23b83257fec16b7033074557acecb4757d88f14.json
T
hamed c2c6ae4d02 feat(migrations): add national_code_verified flag to users and normalize bank_account representation
- 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.
2026-06-25 19:38:47 +03:30

1 line
14 KiB
JSON

{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_service_otpservice_php", "label": "OtpService.php", "file_type": "code", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L1"}, {"id": "service_otpservice_otpservice", "label": "OtpService", "file_type": "code", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L13"}, {"id": "service_otpservice_otpservice_construct", "label": ".__construct()", "file_type": "code", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L15"}, {"id": "service_otpservice_otpservice_key", "label": ".key()", "file_type": "code", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L23"}, {"id": "service_otpservice_otpservice_grantkey", "label": ".grantKey()", "file_type": "code", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L29"}, {"id": "service_otpservice_otpservice_issuegrant", "label": ".issueGrant()", "file_type": "code", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L34"}, {"id": "service_otpservice_otpservice_consumegrant", "label": ".consumeGrant()", "file_type": "code", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L45"}, {"id": "service_otpservice_otpservice_sendcode", "label": ".sendCode()", "file_type": "code", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L59"}, {"id": "service_otpservice_otpservice_verifycode", "label": ".verifyCode()", "file_type": "code", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L79"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_service_otpservice_php", "target": "errorcodes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_service_otpservice_php", "target": "appexception", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_service_otpservice_php", "target": "smslog", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_service_otpservice_php", "target": "smsservice", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_service_otpservice_php", "target": "smstextresolver", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L9", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_service_otpservice_php", "target": "uuid", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L10", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_service_otpservice_php", "target": "cacheinterface", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L11", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_auth_service_otpservice_php", "target": "service_otpservice_otpservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L13", "weight": 1.0}, {"source": "service_otpservice_otpservice", "target": "service_otpservice_otpservice_construct", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L15", "weight": 1.0}, {"source": "service_otpservice_otpservice", "target": "service_otpservice_otpservice_key", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L23", "weight": 1.0}, {"source": "service_otpservice_otpservice", "target": "service_otpservice_otpservice_grantkey", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L29", "weight": 1.0}, {"source": "service_otpservice_otpservice", "target": "service_otpservice_otpservice_issuegrant", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L34", "weight": 1.0}, {"source": "service_otpservice_otpservice", "target": "service_otpservice_otpservice_consumegrant", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L45", "weight": 1.0}, {"source": "service_otpservice_otpservice", "target": "service_otpservice_otpservice_sendcode", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L59", "weight": 1.0}, {"source": "service_otpservice_otpservice", "target": "service_otpservice_otpservice_verifycode", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L79", "weight": 1.0}, {"source": "service_otpservice_otpservice_issuegrant", "target": "service_otpservice_otpservice_grantkey", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L37", "weight": 1.0}, {"source": "service_otpservice_otpservice_consumegrant", "target": "service_otpservice_otpservice_grantkey", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L47", "weight": 1.0}, {"source": "service_otpservice_otpservice_sendcode", "target": "service_otpservice_otpservice_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L66", "weight": 1.0}, {"source": "service_otpservice_otpservice_verifycode", "target": "service_otpservice_otpservice_key", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L81", "weight": 1.0}, {"source": "service_otpservice_otpservice_verifycode", "target": "service_otpservice_otpservice_issuegrant", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "src/Auth/Service/OtpService.php", "source_location": "L104", "weight": 1.0}], "raw_calls": [{"caller_nid": "service_otpservice_otpservice_key", "callee": "str_replace", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L26", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_issuegrant", "callee": "bin2hex", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L36", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_issuegrant", "callee": "random_bytes", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L36", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_issuegrant", "callee": "getItem", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L37", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_issuegrant", "callee": "expiresAfter", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L39", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_issuegrant", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L40", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_consumegrant", "callee": "getItem", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L47", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_consumegrant", "callee": "isHit", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L49", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_consumegrant", "callee": "get", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L53", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_consumegrant", "callee": "delete", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L54", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_sendcode", "callee": "toRfc4122", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L61", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_sendcode", "callee": "Uuid", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L61", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_sendcode", "callee": "str_pad", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L64", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_sendcode", "callee": "random_int", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L64", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_sendcode", "callee": "getItem", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L66", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_sendcode", "callee": "json_encode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L67", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_sendcode", "callee": "expiresAfter", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L68", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_sendcode", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L69", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_sendcode", "callee": "resolve", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L72", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_sendcode", "callee": "dispatchAsync", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L73", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_verifycode", "callee": "getItem", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L81", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_verifycode", "callee": "isHit", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L83", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_verifycode", "callee": "json_decode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L87", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_verifycode", "callee": "get", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L87", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_verifycode", "callee": "delete", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L90", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_verifycode", "callee": "hash_equals", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L94", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_verifycode", "callee": "json_encode", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L96", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_verifycode", "callee": "expiresAfter", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L97", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_verifycode", "callee": "save", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L98", "receiver": null}, {"caller_nid": "service_otpservice_otpservice_verifycode", "callee": "delete", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Auth/Service/OtpService.php", "source_location": "L102", "receiver": null}]}