{"id":5382,"date":"2025-04-27T10:00:29","date_gmt":"2025-04-27T06:30:29","guid":{"rendered":"https:\/\/parmin.cloud\/blog\/?p=5382"},"modified":"2025-04-22T10:23:12","modified_gmt":"2025-04-22T06:53:12","slug":"%d9%88%d8%a7%d8%a8%d8%b3%d8%aa%da%af%db%8c-%d8%af%d8%a7%db%8c%d8%b1%d9%87%d8%a7%db%8c-%d8%af%d8%b1-nestjs","status":"publish","type":"post","link":"https:\/\/parmin.cloud\/blog\/%d9%88%d8%a7%d8%a8%d8%b3%d8%aa%da%af%db%8c-%d8%af%d8%a7%db%8c%d8%b1%d9%87%d8%a7%db%8c-%d8%af%d8%b1-nestjs\/","title":{"rendered":"\u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u062f\u0631 NestJS"},"content":{"rendered":"<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0628\u0631\u0627\u06cc \u062f\u0646\u0628\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0634\u0645\u0627 \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u2022 \u0646\u0635\u0628 Node.js<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lparen\">(\u0646\u0633\u062e\u0647<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> &gt;= 12) \u0628\u0631 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u062e\u0648\u062f. \u0634\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0646\u0635\u0628 Node.js \u0631\u0627 \u0645\u0637\u0627\u0644\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u2022 \u06cc\u06a9 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u06a9\u062f \u0645\u0627\u0646\u0646\u062f VSCode.<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u2022 \u0622\u0634\u0646\u0627\u06cc\u06cc \u0642\u0628\u0644\u06cc \u0628\u0627 \u0645\u0641\u0627\u0647\u06cc\u0645 Dependency Injection\u060c providers\u060c controllers \u0648 modules \u062f\u0631 NestJS.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0628\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062d\u0627\u0644 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u062f\u0642\u06cc\u0642\u200c\u062a\u0631 \u0628\u0647 \u062e\u0637\u0627\u06cc\u06cc \u06a9\u0647 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 OrdersModule \u0648 PaymentModule \u0628\u0647 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648\u0627\u0628\u0633\u062a\u0647\u200c\u0627\u0646\u062f \u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u0645. \u0627\u06cc\u0646 \u062e\u0637\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">Nest cannot create the PaymentModule instance.<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">The module at index<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lbracket\">[0]<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> of the PaymentModule<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;imports&#8221;<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> array is undefined.<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 NestJS\u060c \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0647 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648\u0627\u0628\u0633\u062a\u0647 \u0628\u0627\u0634\u0646\u062f\u060c \u0627\u0645\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062f\u0648 \u0645\u0627\u0698\u0648\u0644 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u0646\u062f\u060c \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 NestJS \u0642\u0627\u062f\u0631 \u0628\u0647 \u062d\u0644 \u0622\u0646 \u0646\u06cc\u0633\u062a. \u0627\u06cc\u0646 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u0647\u0631 \u0645\u0627\u0698\u0648\u0644 \u0645\u0646\u062a\u0638\u0631 \u0627\u0633\u062a \u062a\u0627 \u0645\u0627\u0698\u0648\u0644 \u062f\u06cc\u06af\u0631 \u0628\u0647\u200c\u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u0627\u0648\u0644\u06cc\u0647\u200c\u0633\u0627\u0632\u06cc \u0634\u0648\u062f \u062a\u0627 \u062e\u0648\u062f\u0634 \u0647\u0645 \u0628\u062a\u0648\u0627\u0646\u062f \u0634\u0631\u0648\u0639 \u0628\u0647 \u06a9\u0627\u0631 \u06a9\u0646\u062f\u060c \u06a9\u0647 \u0627\u06cc\u0646 \u0628\u0627\u0639\u062b \u0627\u06cc\u062c\u0627\u062f \u0628\u0646\u200c\u0628\u0633\u062a \u0645\u06cc\u200c\u0634\u0648\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0648\u0642\u062a\u06cc NestJS \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0631\u0627 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0627\u0628\u062a\u062f\u0627 \u062a\u0645\u0627\u0645 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0634\u0628\u06cc\u0647\u200c\u0633\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0633\u067e\u0633 \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627\u06cc \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 \u0627\u0628\u062a\u062f\u0627\u060c NestJS \u0628\u0647 \u0622\u0631\u0627\u06cc\u0647 imports \u062f\u0631 \u0645\u0627\u0698\u0648\u0644 \u0627\u0635\u0644\u06cc<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lparen\">(\u0645\u0627\u0646\u0646\u062f<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> app.module.ts) \u0646\u06af\u0627\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0634\u0631\u0648\u0639 \u0628\u0647 \u062d\u0644 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc \u0622\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06af\u0631 \u062f\u0631 OrdersModule\u060c PaymentModule \u0648\u0627\u0631\u062f \u0634\u062f\u0647 \u0628\u0627\u0634\u062f\u060c NestJS \u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f PaymentModule \u0631\u0627 \u062d\u0644 \u06a9\u0646\u062f. \u0627\u0645\u0627 \u0648\u0642\u062a\u06cc \u0628\u0647 PaymentModule \u0645\u06cc\u200c\u0631\u0633\u062f\u060c \u0645\u06cc\u200c\u0628\u06cc\u0646\u062f \u06a9\u0647 OrdersModule \u0646\u06cc\u0632 \u062f\u0631 \u0644\u06cc\u0633\u062a \u0648\u0627\u0631\u062f\u0627\u062a \u0622\u0646 \u0627\u0633\u062a. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646\u060c NestJS \u0628\u0627\u06cc\u062f \u0627\u0628\u062a\u062f\u0627 OrdersModule \u0631\u0627 \u062d\u0644 \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u062d\u0644\u0642\u0647 \u0628\u06cc\u200c\u067e\u0627\u06cc\u0627\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0686\u0631\u0627 \u06a9\u0647 OrdersModule \u0645\u0646\u062a\u0638\u0631 PaymentModule \u0627\u0633\u062a \u0648 PaymentModule \u0645\u0646\u062a\u0638\u0631 OrdersModule \u0627\u0633\u062a. \u0627\u06cc\u0646\u06af\u0648\u0646\u0647 \u06cc\u06a9 \u0628\u0646\u200c\u0628\u0633\u062a \u0628\u0647 \u0648\u062c\u0648\u062f \u0645\u06cc\u200c\u0622\u06cc\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0631\u0641\u0639 \u062e\u0637\u0627\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0628\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0628\u0631\u0627\u06cc \u062d\u0644 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644\u060c NestJS \u0627\u0632 \u062a\u0627\u0628\u0639 \u06a9\u0645\u06a9\u06cc forwardRef \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0628\u0647 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648\u0627\u0628\u0633\u062a\u0647 \u0634\u0648\u0646\u062f \u0628\u062f\u0648\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u0627\u0639\u062b \u0628\u0646\u200c\u0628\u0633\u062a \u0634\u0648\u0646\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 \u06a9\u062f \u0632\u06cc\u0631\u060c \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 forwardRef\u060c \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u0635\u062d\u06cc\u062d \u0648\u0627\u0631\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u062d\u0644 \u0634\u0648\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0641\u0627\u06cc\u0644 payment.module.ts:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { Module, forwardRef } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;@nestjs\/common&#8221;;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { PaymentService } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;.\/payment.service&#8221;;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { PaymentController } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;.\/payment.controller&#8221;;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { OrdersModule } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;..\/orders\/orders.module&#8221;;<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">@Module({<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 imports:<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lbracket\">[forwardRef(()<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> =&gt; OrdersModule)], \u00a0\/\/ \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 forwardRef \u0628\u0631\u0627\u06cc \u062d\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 controllers:<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lbracket\">[PaymentController],<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 providers:<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lbracket\">[PaymentService],<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 exports:<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lbracket\">[PaymentService],<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">})<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">export class PaymentModule {}<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0641\u0627\u06cc\u0644 orders.module.ts:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { Module, forwardRef } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;@nestjs\/common&#8221;;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { OrdersService } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;.\/orders.service&#8221;;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { OrdersController } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;.\/orders.controller&#8221;;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { PaymentModule } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;..\/payment\/payment.module&#8221;;<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">@Module({<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 imports:<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lbracket\">[forwardRef(()<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> =&gt; PaymentModule)], \u00a0\/\/ \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 forwardRef \u0628\u0631\u0627\u06cc \u062d\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 controllers:<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lbracket\">[OrdersController],<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 providers:<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lbracket\">[OrdersService],<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 exports:<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lbracket\">[OrdersService],<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">})<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">export class OrdersModule {}<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 forwardRef\u060c \u0645\u0627 \u0645\u06cc\u200c\u06af\u0648\u06cc\u06cc\u0645 \u06a9\u0647 \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0628\u0627\u06cc\u062f \u0628\u0639\u062f\u0627\u064b \u0648\u0627\u0631\u062f \u0634\u0648\u0646\u062f \u0648 NestJS \u0642\u0627\u062f\u0631 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u06a9\u0647 \u0627\u06cc\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0631\u0627 \u062d\u0644 \u06a9\u0646\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062d\u0627\u0644\u0627 \u06a9\u062f \u062e\u0648\u062f \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0631\u0627 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f. \u067e\u0633 \u0627\u0632 \u0627\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u060c \u0628\u0627\u06cc\u062f \u062e\u0637\u0627 \u0628\u0631\u0637\u0631\u0641 \u0634\u0648\u062f \u0648 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0634\u0645\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0627\u062c\u0631\u0627 \u0634\u0648\u062f.<\/span><\/div>\n<div>\n<figure><img decoding=\"async\" src=\"https:\/\/paper-attachments.dropboxusercontent.com\/s_DC00C90BA22EA86B878CC400763A96F616A954837161E89140EFA696188AC197_1745003848576_file.jpeg\" \/><figcaption><\/figcaption><\/figure>\n<\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 \u06a9\u062f \u0628\u0627\u0644\u0627\u060c forwardRef \u0628\u0631\u0627\u06cc \u067e\u0648\u0634\u0634 \u062f\u0627\u062f\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u062f\u0631 \u0647\u0631 \u062f\u0648 \u0645\u0627\u0698\u0648\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a \u062a\u0627 \u0627\u0632 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 \u0648 \u0641\u0648\u0631\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u0645\u062a\u0642\u0627\u0628\u0644 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0634\u0648\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a\u060c \u0648\u0642\u062a\u06cc NestJS \u0641\u0631\u0622\u06cc\u0646\u062f \u0627\u0648\u0644\u06cc\u0647\u200c\u0633\u0627\u0632\u06cc \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0631\u0627 \u0634\u0631\u0648\u0639 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 forwardRef \u0631\u0627 \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647 imports \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u062a\u0644\u0627\u0634 \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0647\u0631 \u062f\u0648 \u0645\u0627\u0698\u0648\u0644 \u0631\u0627 \u062d\u0644 \u06a9\u0646\u062f. \u0628\u0644\u06a9\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0631\u0627 \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u0627\u0645\u0627 \u062d\u0644 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u062a\u0623\u062e\u06cc\u0631 \u0645\u06cc\u200c\u0627\u0646\u062f\u0627\u0632\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646\u060c \u0647\u0631 \u062f\u0648 \u0645\u0627\u0698\u0648\u0644 OrdersModule \u0648 PaymentModule \u0628\u0647 \u0628\u0627\u0641\u062a \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0628\u062f\u0648\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u0622\u0646\u200c\u0647\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u06a9\u0627\u0645\u0644 \u062d\u0644 \u0634\u0648\u0646\u062f \u062a\u0627 \u0627\u0632 \u0628\u0646\u200c\u0628\u0633\u062a \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0634\u0648\u062f. \u067e\u0633 \u0627\u0632 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0647\u0645\u0647 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u060c NestJS \u0628\u0647 \u0633\u0631\u0627\u063a \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u0645\u0639\u0648\u0642\u0647 \u0645\u06cc\u200c\u0631\u0648\u062f \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 forwardRef \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0631\u0627 \u062d\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0631\u0641\u0639 \u062e\u0637\u0627\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0628\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 \u0628\u062e\u0634 \u0642\u0628\u0644\u06cc\u060c \u0646\u062d\u0648\u0647 \u062d\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u062f\u0631 \u0633\u0637\u062d \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0631\u0627 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u06cc\u062f. \u062d\u0627\u0644\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634\u060c \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u06a9\u0647 \u062f\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u0634\u0648\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 \u0633\u0646\u0627\u0631\u06cc\u0648\u06cc \u062c\u062f\u06cc\u062f\u060c \u062f\u0631 OrdersService \u06cc\u06a9 \u0633\u0641\u0627\u0631\u0634 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0622\u0646 \u0631\u0627 \u062f\u0631 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u0648 \u0633\u067e\u0633 \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0645\u062a\u062f processPayment \u0631\u0627 \u0628\u0631\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0634 \u0633\u0641\u0627\u0631\u0634 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f. \u062f\u0631 PaymentService\u060c \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0645\u062a\u062f processPayment \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0628\u0644\u0627\u0641\u0627\u0635\u0644\u0647 \u0645\u062a\u062f updateOrderStatus \u0631\u0627 \u0628\u0631\u0627\u06cc \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0648\u0636\u0639\u06cc\u062a \u0633\u0641\u0627\u0631\u0634 \u0628\u0647 \u0648\u0636\u0639\u06cc\u062a \u0645\u0648\u0641\u0642 \u06cc\u0627 \u0647\u0631 \u0648\u0636\u0639\u06cc\u062a\u06cc \u06a9\u0647 \u0628\u062e\u0648\u0627\u0647\u06cc\u062f\u060c \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0646\u062d\u0648\u0647 \u062a\u0632\u0631\u06cc\u0642 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u062f\u0631 \u0647\u0631 \u062f\u0648 \u0633\u0631\u0648\u06cc\u0633 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a:<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0641\u0627\u06cc\u0644 order.service.ts:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">interface IOrder {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 id: number;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 customerName: string;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 item: string;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 orderDate: Date;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 totalAmount: number;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">}<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">@Injectable()<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">export class OrdersService {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 constructor(private readonly paymentService: PaymentService) {}<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 async getAllOrders(): Promise&lt;IOrder[]&gt; {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 const mockOrders: IOrder[] = [<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 \u00a0 id: 1,<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 \u00a0 customerName:<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-apos\">&#8216;Taofiq&#8217;,<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 \u00a0 item:<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-apos\">&#8216;Airpod&#8217;,<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 \u00a0 orderDate: new Date(),<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 \u00a0 totalAmount: 900,<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 },<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 ];<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 return mockOrders;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 }<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 async createOrder(createOrderDTO: CreateOrderDTO): Promise&lt;any&gt; {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \/\/ mock data to simulate order creation<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 const newOrder: any = {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 id: Math.floor(Math.random() * 100) + 1,<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 &#8230;createOrderDTO,<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 orderDate: new Date(createOrderDTO.orderDate),<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 };<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 await this.paymentService.processPayment(newOrder.id);<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 return newOrder;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 }<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 async updateOrderStatus(orderId: string, status: string) {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \/\/ update the order status here in the database<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 console.log(`Order ${orderId} status updated to ${status}`);<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 }<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">}<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0641\u0627\u06cc\u0644 payment.service.ts:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">@Injectable()<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">export class PaymentService {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 constructor(private readonly ordersService: OrdersService) {}<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 async processPayment(orderId: string) {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \/\/ In a real scenario, you would interact with a payment gateway.<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 console.log(`Processing payment for order ${orderId}`);<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 const paymentSuccessful = true;<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 if<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lparen\">(paymentSuccessful)<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 \/\/ Once payment is successful, update the order status to<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;Paid&#8221;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 await this.ordersService.updateOrderStatus(orderId,<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-apos\">&#8216;Paid&#8217;);<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 }<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 }<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">}<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u0648\u0642\u062a\u06cc \u06a9\u062f \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0631\u062f\u0647 \u0648 \u0633\u0631\u0648\u0631 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0628\u0627 \u0627\u06cc\u0646 \u062e\u0637\u0627 \u0645\u0648\u0627\u062c\u0647 \u0645\u06cc\u200c\u0634\u0648\u06cc\u062f:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">Nest cannot create the OrdersService instance.<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">The module at index<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lbracket\">[0]<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> of the OrdersService<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-quot\">&#8220;providers&#8221;<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> array is undefined.<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0627\u06cc\u0646 \u062e\u0637\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0647\u0645\u0686\u0646\u0627\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u062f\u0631 \u0633\u0637\u062d \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f. \u0628\u0631\u0627\u06cc \u0631\u0641\u0639 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644\u060c \u0628\u0627\u06cc\u062f \u0627\u0632 forwardRef \u0628\u0631\u0627\u06cc \u062d\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0628\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645. \u0628\u0647 \u0639\u0628\u0627\u0631\u062a \u062f\u06cc\u06af\u0631\u060c \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 OrdersService \u0628\u0647 PaymentService \u0648 \u0628\u0631\u0639\u06a9\u0633 \u0648\u0627\u0628\u0633\u062a\u0647 \u0627\u0633\u062a\u060c \u0628\u0627\u06cc\u062f \u0647\u0645\u0627\u0646\u0646\u062f \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u060c \u0627\u06cc\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0631\u0627 \u062a\u0623\u062e\u06cc\u0631 \u0628\u06cc\u0646\u062f\u0627\u0632\u06cc\u0645 \u062a\u0627 \u0627\u0632 \u0627\u06cc\u062c\u0627\u062f \u0628\u0646\u200c\u0628\u0633\u062a \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0634\u0648\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a\u060c \u0645\u0634\u0627\u0628\u0647 \u0631\u0648\u0634 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 forwardRef \u062f\u0631 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u060c \u0628\u0627\u06cc\u062f \u062f\u0631 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0646\u06cc\u0632 \u0627\u0632 \u0622\u0646 \u0628\u0647\u0631\u0647 \u0628\u0628\u0631\u06cc\u0645.<\/span><\/div>\n<div>\n<figure><img decoding=\"async\" src=\"https:\/\/paper-attachments.dropboxusercontent.com\/s_DC00C90BA22EA86B878CC400763A96F616A954837161E89140EFA696188AC197_1745003871279_file.jpeg\" \/><figcaption><\/figcaption><\/figure>\n<\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0627\u06cc\u0646 \u062e\u0637\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0627\u062a\u0641\u0627\u0642 \u0645\u06cc\u200c\u0627\u0641\u062a\u062f \u06a9\u0647 \u0633\u06cc\u0633\u062a\u0645 \u062a\u0632\u0631\u06cc\u0642 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lparen\">(Dependency<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> Injection) \u062f\u0631 NestJS \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 \u0628\u06cc\u0646 OrdersService \u0648 PaymentService \u0631\u0627 \u062d\u0644 \u06a9\u0646\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0648\u0642\u062a\u06cc \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0634\u0631\u0648\u0639 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0647\u0631 \u062f\u0648 \u0645\u0627\u0698\u0648\u0644 OrdersModule \u0648 PaymentModule \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u062b\u0628\u062a \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0633\u067e\u0633 NestJS \u062a\u0644\u0627\u0634 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 PaymentService \u0631\u0627 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u06a9\u0646\u062f \u0648 \u0645\u062a\u0648\u062c\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0628\u0631\u0627\u06cc \u062a\u0632\u0631\u06cc\u0642 \u0628\u0647 \u0622\u0646 \u0628\u0647 OrdersService \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f. NestJS \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u06cc\u06a9 \u0646\u0645\u0648\u0646\u0647 \u0627\u0632 OrdersService \u062f\u0631 \u0645\u062d\u062f\u0648\u062f\u0647 PaymentModule \u0645\u06cc\u200c\u06af\u0631\u062f\u062f \u06a9\u0647 \u0628\u0627\u0639\u062b \u0627\u06cc\u062c\u0627\u062f \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u062f\u0631 \u0633\u0637\u062d \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0628\u0631\u0627\u06cc \u062d\u0644 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062f\u06a9\u0648\u0631\u0627\u062a\u0648\u0631 @Inject \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u062a\u0627\u0628\u0639 forwardRef \u062f\u0631 \u0633\u0627\u0632\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0647 NestJS \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f \u06a9\u0647 \u062d\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0631\u0627 \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0633\u0637\u062d \u0645\u0627\u0698\u0648\u0644 \u0627\u0632 forwardRef \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u06cc\u0645 \u0628\u0647 \u062a\u0623\u062e\u06cc\u0631 \u0628\u06cc\u0646\u062f\u0627\u0632\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0646\u0645\u0648\u0646\u0647 \u06a9\u062f:<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0641\u0627\u06cc\u0644 order.service.ts:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">@Injectable()<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">export class OrdersService {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 constructor(<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 @Inject(forwardRef(() =&gt; PaymentService))<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 private readonly paymentService: PaymentService,<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 ) {}<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">}<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0641\u0627\u06cc\u0644 payment.service.ts:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">@Injectable()<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">export class PaymentService {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 constructor(<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 @Inject(forwardRef(() =&gt; OrdersService))<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 private readonly ordersService: OrdersService,<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 ) {}<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">}<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 @Inject(forwardRef(() =&gt; ServiceName))\u060c \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 DI \u062f\u0631 NestJS \u062d\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u0645\u0634\u062e\u0635 \u0634\u062f\u0647 \u0631\u0627 \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0647 \u0622\u0646 \u0646\u06cc\u0627\u0632 \u0646\u0628\u0627\u0634\u062f \u0628\u0647 \u062a\u0623\u062e\u06cc\u0631 \u0645\u06cc\u200c\u0627\u0646\u062f\u0627\u0632\u062f. \u062d\u0627\u0644\u0627 \u0647\u0631 \u062f\u0648 OrdersService \u0648 PaymentService \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u062f\u0648\u0646 \u0646\u06cc\u0627\u0632 \u0641\u0648\u0631\u06cc \u0628\u0647 \u062d\u0644 \u06a9\u0627\u0645\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0634\u0648\u0646\u062f. \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0631\u0627 \u062f\u0631 \u0633\u0637\u062d \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0634\u06a9\u0633\u062a\u0647 \u0648 \u0628\u0647 NestJS \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u0645\u0648\u0641\u0642\u06cc\u062a\u200c\u0622\u0645\u06cc\u0632 \u062a\u0632\u0631\u06cc\u0642 \u06a9\u0646\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0645\u0627\u0698\u0648\u0644 \u0645\u0634\u062a\u0631\u06a9 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0631\u0627\u0647\u200c\u062d\u0644 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0641\u0631\u0636 \u06a9\u0646\u06cc\u062f \u062f\u0631 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062a\u062c\u0627\u0631\u062a \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u06cc\u06a9\u06cc \u0634\u0645\u0627\u060c \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0641\u0631\u0622\u06cc\u0646\u062f \u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a \u0633\u0641\u0627\u0631\u0634\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0635\u0648\u0631\u062a \u0639\u062f\u0645 \u0631\u0636\u0627\u06cc\u062a \u062b\u0628\u062a \u06a9\u0646\u0646\u062f. \u0627\u06cc\u0646 \u0648\u06cc\u0698\u06af\u06cc \u0634\u0627\u0645\u0644 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc Order \u0648 Payment \u0645\u06cc\u200c\u0634\u0648\u062f.<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u2022 OrderService \u0628\u0627\u06cc\u062f \u0634\u0631\u0627\u06cc\u0637 \u0635\u0644\u0627\u062d\u06cc\u062a \u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a \u0633\u0641\u0627\u0631\u0634 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u062f<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lparen\">(\u0645\u062b\u0644\u0627\u064b<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> \u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc \u0628\u0627\u0632\u06af\u0634\u062a \u06cc\u0627 \u0627\u06cc\u0646\u06a9\u0647 \u0622\u06cc\u0627 \u0642\u0628\u0644\u0627\u064b \u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a \u0634\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631).<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u2022 PaymentService \u0628\u0627\u06cc\u062f \u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0647\u0631 \u062f\u0631\u06af\u0627\u0647 \u067e\u0631\u062f\u0627\u062e\u062a\u06cc \u06a9\u0647 \u062a\u0635\u0645\u06cc\u0645 \u062f\u0627\u0631\u06cc\u062f \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u06a9\u0646\u06cc\u062f \u067e\u0631\u062f\u0627\u0632\u0634 \u06a9\u0631\u062f\u0647 \u0648 \u0628\u0647 OrderService \u0628\u06af\u0648\u06cc\u062f \u06a9\u0647 \u0648\u0636\u0639\u06cc\u062a \u0633\u0641\u0627\u0631\u0634 \u0631\u0627 \u0628\u0647<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-ldquo\">\u201c\u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> \u0634\u062f\u0647\u201d \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0627\u06cc\u0646 \u062d\u0627\u0644\u062a \u0628\u0627\u0639\u062b \u0627\u06cc\u062c\u0627\u062f \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u0632\u06cc\u0631\u0627 OrderService \u0628\u0647 PaymentService \u0628\u0631\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0634 \u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f \u0648 PaymentService \u0628\u0647 OrderService \u0628\u0631\u0627\u06cc \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0648\u0636\u0639\u06cc\u062a \u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0628\u0647 \u062c\u0627\u06cc \u062d\u0644 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0627\u0628\u0639 forwardRef\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627 \u0631\u0627 \u0627\u0632 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u062c\u062f\u0627 \u06a9\u0631\u062f\u0647 \u0648 \u0627\u0632 \u06cc\u06a9 \u0645\u0627\u0698\u0648\u0644 \u0645\u0634\u062a\u0631\u06a9 \u0628\u0647 \u0646\u0627\u0645 RefundManagementModule \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0641\u0631\u0622\u06cc\u0646\u062f \u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a \u0631\u0627 \u0628\u0647 \u0634\u0631\u062d \u0632\u06cc\u0631 \u0647\u0645\u0627\u0647\u0646\u06af \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0641\u0627\u06cc\u0644 refund-management.service.ts:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { Injectable } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-apos\">&#8216;@nestjs\/common&#8217;;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { OrderService } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-apos\">&#8216;.\/order.service&#8217;;<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">import { PaymentService } from<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-apos\">&#8216;.\/payment.service&#8217;;<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">@Injectable()<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">export class RefundManagementService {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 constructor(<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 private orderService: OrderService,<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 private paymentService: PaymentService<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 ) {}<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 async processRefund(orderId: string) {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 const eligible = await this.orderService.checkRefundEligibility(orderId);<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 if<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lparen\">(!eligible)<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 throw new Error(&#8216;Order not eligible for refund&#8217;);<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 }<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 const refundSuccessful = await this.paymentService.processRefund(orderId);<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 if<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lparen\">(refundSuccessful)<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> {<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 \u00a0 await this.orderService.updateOrderStatus(orderId,<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-apos\">&#8216;Refunded&#8217;);<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 \u00a0 }<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u00a0 }<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">}<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c checkRefundEligibility \u0634\u0631\u0627\u06cc\u0637 \u0635\u0644\u0627\u062d\u06cc\u062a \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a \u06cc\u06a9 \u0633\u0641\u0627\u0631\u0634 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06af\u0631 \u0645\u0639\u06cc\u0627\u0631\u0647\u0627\u06cc \u0635\u0644\u0627\u062d\u06cc\u062a \u067e\u0627\u0633 \u0634\u0648\u062f\u060c \u0628\u0647 \u067e\u0631\u062f\u0627\u0632\u0634 \u0628\u0627\u0632\u067e\u0631\u062f\u0627\u062e\u062a \u0628\u0631\u0627\u06cc \u0622\u0646 \u0633\u0641\u0627\u0631\u0634 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0645\u062a\u062f processRefund \u062f\u0631 PaymentService \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f. \u0633\u067e\u0633 \u0627\u06cc\u0646 \u0633\u0631\u0648\u06cc\u0633 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u0645\u0627\u0698\u0648\u0644 RefundManagementModule \u0635\u0627\u062f\u0631 \u0634\u062f\u0647 \u0648 \u062f\u0631 \u0647\u0631 \u06cc\u06a9 \u0627\u0632 OrdersService \u0648 PaymentModule \u0648\u0627\u0631\u062f \u0634\u0648\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u062f\u06cc\u06af\u0631 \u062f\u0648 \u0645\u0627\u0698\u0648\u0644 \u0628\u0647 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0648\u0627\u0628\u0633\u062a\u0647 \u0646\u06cc\u0633\u062a\u0646\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0646\u06a9\u062a\u0647:<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0646\u0648\u0634\u062a\u0646 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u200c\u0647\u0627\u06cc \u0633\u0631\u0648\u0631\u06cc \u062e\u0648\u062f \u0647\u0633\u062a\u06cc\u062f\u060c \u0628\u0627\u06cc\u062f \u062a\u0627 \u062d\u062f \u0627\u0645\u06a9\u0627\u0646 \u0627\u0632 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u06cc\u062f. \u0647\u0646\u06af\u0627\u0645\u06cc \u06a9\u0647 \u0645\u062a\u0648\u062c\u0647 \u0634\u062f\u06cc\u062f \u06a9\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u062f\u0627\u0631\u06cc\u062f\u060c \u0633\u0639\u06cc \u06a9\u0646\u06cc\u062f \u0631\u0627\u0647\u200c\u0647\u0627\u06cc\u06cc \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u0633\u0627\u0632\u06cc \u0645\u0639\u0645\u0627\u0631\u06cc \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062e\u0648\u062f \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u06a9\u062f \u062e\u0648\u062f \u0631\u0627 \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u0628\u0647\u200c\u0637\u0648\u0631\u06cc\u200c\u06a9\u0647 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0627\u0631\u0632\u06cc\u0627\u0628\u06cc \u062a\u0646\u0628\u0644 \u0645\u0627\u0646\u0646\u062f \u0645\u062a\u062f forwardRef \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0627\u06af\u0631 \u062f\u0648 \u0633\u0631\u0648\u06cc\u0633 \u062f\u0631 \u06cc\u06a9 \u0632\u0645\u06cc\u0646\u0647 \u0645\u0627\u0698\u0648\u0644 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06cc\u06a9 \u0645\u062a\u062f \u062f\u0627\u0631\u0646\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u0645\u0634\u062a\u0631\u06a9 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u06cc\u06a9 \u0627\u0631\u0627\u0626\u0647\u200c\u062f\u0647\u0646\u062f\u0647 \u0648 \u0645\u0627\u0698\u0648\u0644 utility \u0645\u062e\u0635\u0648\u0635 \u062e\u0648\u062f \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f.<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Madge \u0628\u0631\u0627\u06cc \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0628\u0631\u0627\u06cc \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u062f\u0631 \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u062e\u0648\u062f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0627\u0628\u0632\u0627\u0631 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647\u200c\u0627\u06cc \u0628\u0647 \u0646\u0627\u0645 Madge \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. Madge \u06cc\u06a9 \u06af\u0631\u0627\u0641 \u0628\u0635\u0631\u06cc \u0627\u0632 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc \u0634\u0645\u0627 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u200c\u0647\u0627\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0631\u0627 \u062f\u0631 \u06a9\u062f \u0634\u0645\u0627 \u067e\u06cc\u062f\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 Madge \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc\u060c \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 npm i madge \u06cc\u0627 yarn add madge \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0633\u067e\u0633 \u062f\u0633\u062a\u0648\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">npx madge<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-hyphen\">&#8211;circular<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> src\/main.ts<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u06cc\u0627<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">yarn madge<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-hyphen\">&#8211;circular<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> src\/main.ts<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0645\u062a\u062f circular() \u0622\u0631\u0627\u06cc\u0647\u200c\u0627\u06cc \u0627\u0632 \u062a\u0645\u0627\u0645 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u062f\u0627\u0631\u0646\u062f \u0631\u0627 \u0628\u0627\u0632 \u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f. \u0628\u0631\u0627\u06cc \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0646\u06af\u0627\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u067e\u06a9\u06cc\u062c \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0628\u0647 <\/span><span class=\"attrlink url author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"><a class=\"attrlink\" href=\"https:\/\/github.com\/pahen\/madge\" target=\"_blank\" rel=\"noreferrer nofollow noopener\" data-target-href=\"https:\/\/github.com\/pahen\/madge\"><u>\u0627\u06cc\u0646 \u0644\u06cc\u0646\u06a9<\/u><\/a><\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> \u0645\u0631\u0627\u062c\u0639\u0647 \u06a9\u0646\u06cc\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0628\u0627\u06cc\u062f \u062e\u0631\u0648\u062c\u06cc \u0645\u0634\u0627\u0628\u0647 \u0632\u06cc\u0631 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0634\u0645\u0627 \u06a9\u062c\u0627 \u0647\u0633\u062a\u0646\u062f:<\/span><\/div>\n<div>\n<figure><img decoding=\"async\" src=\"https:\/\/paper-attachments.dropboxusercontent.com\/s_DC00C90BA22EA86B878CC400763A96F616A954837161E89140EFA696188AC197_1745003892399_file.jpeg\" \/><figcaption><\/figcaption><\/figure>\n<\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062a\u0632\u0626\u06cc\u0646\u200c\u06a9\u0646\u0646\u062f\u0647 @Inject \u06cc\u06a9\u06cc \u0627\u0632 \u0627\u062c\u0632\u0627\u06cc \u0627\u0633\u0627\u0633\u06cc \u0633\u06cc\u0633\u062a\u0645 \u062a\u0632\u0631\u06cc\u0642 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lparen\">(DI)<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> \u062f\u0631 NestJS \u0627\u0633\u062a. \u0639\u0645\u0644\u06a9\u0631\u062f \u0627\u0635\u0644\u06cc \u0622\u0646\u060c \u062a\u0639\u0631\u06cc\u0641 \u0635\u0631\u06cc\u062d \u06cc\u06a9 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0628\u0647 \u06cc\u06a9 \u06a9\u0644\u0627\u0633<\/span> <span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq h-lparen\">(\u0645\u0639\u0645\u0648\u0644\u0627\u064b<\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> \u06cc\u06a9 provider) \u062a\u0632\u0631\u06cc\u0642 \u0634\u0648\u062f.<\/span><\/div>\n<div><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u0646\u062a\u06cc\u062c\u0647\u200c\u06af\u06cc\u0631\u06cc<\/span><\/div>\n<div><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u062f\u0631 NestJS\u060c \u0627\u0646\u0648\u0627\u0639 \u0622\u0646 \u0648 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0631\u0641\u0639 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644 \u067e\u0631\u062f\u0627\u062e\u062a\u06cc\u062f. \u06a9\u062f \u0645\u0646\u0628\u0639 \u06a9\u0627\u0645\u0644 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0631\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f <\/span><span class=\"attrlink url author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"><a class=\"attrlink\" href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noreferrer nofollow noopener\" data-target-href=\"https:\/\/github.com\/\"><u>\u0627\u06cc\u0646\u062c\u0627 \u062f\u0631 \u06af\u06cc\u062a\u200c\u0647\u0627\u0628<\/u><\/a><\/span><span class=\" author-d-1gg9uz65z1iz85zgdz68zmqkz84zo2qowz81zz86zjz78zz78zoz67zz77zz69zxz85zhz73znz77zz85zl4z73zz84zz122zkz84zz89zfcz89zkckq\"> \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f.<\/span><\/div>\n<div style='text-align:center' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627 \u0628\u0631\u0627\u06cc \u062f\u0646\u0628\u0627\u0644 \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u0634\u0645\u0627 \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f: \u2022 \u0646\u0635\u0628 Node.js (\u0646\u0633\u062e\u0647 &gt;= 12) \u0628\u0631 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u062e\u0648\u062f. \u0634\u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0646\u0635\u0628 Node.js \u0631\u0627 \u0645\u0637\u0627\u0644\u0639\u0647 \u06a9\u0646\u06cc\u062f. \u2022 \u06cc\u06a9 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u06a9\u062f \u0645\u0627\u0646\u0646\u062f VSCode. \u2022 \u0622\u0634\u0646\u0627\u06cc\u06cc \u0642\u0628\u0644\u06cc \u0628\u0627 \u0645\u0641\u0627\u0647\u06cc\u0645 Dependency Injection\u060c providers\u060c controllers \u0648 modules \u062f\u0631 NestJS. \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062f\u0627\u06cc\u0631\u0647\u200c\u0627\u06cc \u0628\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u062d\u0627\u0644 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5383,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"yasr_overall_rating":0,"yasr_post_is_review":"","yasr_auto_insert_disabled":"","yasr_review_type":"","footnotes":""},"categories":[67],"tags":[411,413,259],"class_list":["post-5382","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-67","tag-nestjs","tag-413","tag-259"],"aioseo_notices":[],"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":0,"sum_votes":0},"_links":{"self":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/5382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/comments?post=5382"}],"version-history":[{"count":1,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/5382\/revisions"}],"predecessor-version":[{"id":5385,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/5382\/revisions\/5385"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media\/5383"}],"wp:attachment":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media?parent=5382"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/categories?post=5382"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/tags?post=5382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}