From a147cf313055a23c64e869baa97347ace62c41f3 Mon Sep 17 00:00:00 2001 From: bitbucket Date: Mon, 22 Jul 2024 13:41:45 +0530 Subject: [PATCH] CHNAGE_ push notification : GWM --- app/Config/Routes.php | 2 ++ app/Config/google-services.json | 13 ++++++++ app/Controllers/EmployeeRestController.php | 38 +++++++++++++++++++++- composer.json | 4 ++- 4 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 app/Config/google-services.json diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 14f1ef6a..aae95756 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -323,6 +323,8 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) { $routes->get("getAdvertisementImage", "EmployeeRestController::getAdvertisementImage"); }); +$routes->get("sendPushNotification", "EmployeeRestController::sendPushNotification"); + diff --git a/app/Config/google-services.json b/app/Config/google-services.json new file mode 100644 index 00000000..f465fcd7 --- /dev/null +++ b/app/Config/google-services.json @@ -0,0 +1,13 @@ +{ + "type": "service_account", + "project_id": "push-notification-enrollment", + "private_key_id": "979d0fcd0ce95d31367f3150d34ee0044ca51b0d", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC4Xsan6ESIzM12\nG15gRU361Yy6PVmoMzTToWtZHPEcDRd9weFNlCXjmX+WAqdgD/hQ42GcZQVCndse\nEQGJHbRu/ifMKGo53zxOpshNZnCSxojAGWIGrIHFE5kFumiKz9drW9vPWsFLtgx0\nEAW0T7su1MejjH33GftHG8k/q3uyWoU0+OFRD6emhYkFdVsucwR27hE7GsFwE+CF\nnRdSWQ5mu2e8J7q9Qbpgot5d7uk7iJgpiyNdChPvqUZ7XeknVrw1F4REZlbAkVjb\nFuwKg5qtG97LZ1NkyYqFmssA1rNkqSi4+T+2/ERegdwyA6W4/HLT9fPbSl4v1MvB\ntJlGYkMpAgMBAAECggEABhspdCUmo+s4gMleQkz5TK3m58IhZocvoDSv4/cn6xhp\n50HVDucxrAyI47R5y54ryK4HLRFRb8ffmmrQxLRFpgln0wShpAIHMsmmR531a38E\nx2vvya3L7HV+M2jdjn9csJMNwBvO3A2O8wcW0UZ0uhPU+s8r2tOy9UNv0lqBEcKM\nUxCtk7UxcLEM3btDP5I4oEHVo2f5jzPeb99KHbYQV/vc0BtA1wtuYTzGT2EhBpTG\nN1rbQhlj6iJ6vMwHETWrctNMohCQNQEv/QIC/NWYPNRqmtrJfNe29XGWN9IIhv0e\n/ZmhdzoO+uhJW4VaWpI93nB5ZAa6LHqJSg+OyrPoawKBgQDd45Aiq7d+4Z+kDZYu\n72bgW5CGhyck2hrqHpBdHA960AYIftw/wHgI9xb9Z8hi+Lh+W18xDywOLoaz7TJV\nElj2Gh3oj2ZLzDpeyqV9UOgz11dbm6yYUK8jl7zyajBt7RhGcdj+4x+YjUTT6O61\nuxm2ZbKsb/0er/W6DlKDVvpWSwKBgQDUtqowATEaGTrd+eutanRwtv+rdptVcadj\nD4H3XdY4PAsVSp1mT9knGgh7c5elI0lBH/VD/IbM5uPXOc7judnIK4RgKScrJT2P\nekyEJnXyFAZGS3WTFG7fzeXn/cNNx5MCZE2Yay7LqqON8Kg08IvvesiTushrDlMJ\nX8cunSyz2wKBgDIOwZigxq/QNNSs4AHMrpfU8GD5IqKUtde1d3oZ94AMaCAIhqW3\nRR04qS4X+MQjOnP/JxWJR7YXVvpGe8FndzxmHfM2Tqyw8UYrT3RbCVeQsDuRfjmK\nkkhkVhMWU8Co6X4S9xJhqOIglLN97ESBZkaY4Ns4FJGUvsnvqzvIJofLAoGBAKJO\ny2eb0TK/46ozJEELxNOo30efVgGJmpa844e0A1yffDl/2MCT1ve+JpDEcAbi+OeH\nkieRTe6Vk27LvnEHhAT4J6cUX73NSb7sK+x+SGsyGmOS+qEC62M8gdxWRqtXyHX/\nwTG3P1rK1sfcxQy4K57NSrVmxbzijjvN6HdKGS0XAoGATtsid5pypcZ0BsYUp/27\neS6z++ewo7QCVCBPa4Ag4nX56/0kdrECvy/ISMDjggNv+mR8hpyCjfm9ztJ88njB\nUBu1jzLBZ+u5gEjmtu43qvuDJNobyb+evDSReEJmify943vFZqnkIhFlwg1PcS6S\nCd+pr559KWURPIgfxb7S/JU=\n-----END PRIVATE KEY-----\n", + "client_email": "firebase-adminsdk-gzzkw@push-notification-enrollment.iam.gserviceaccount.com", + "client_id": "109128197176743587316", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-gzzkw%40push-notification-enrollment.iam.gserviceaccount.com", + "universe_domain": "googleapis.com" +} diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 95e93d2e..3851457e 100644 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -42,6 +42,11 @@ use Illuminate\Http\Request; use App\Controllers\EmployeeServiceController; +use Kreait\Firebase\Factory; +use Kreait\Firebase\Messaging\CloudMessage; +use Kreait\Firebase\Messaging\Notification; +use Kreait\Firebase\Exception\MessagingException; + class EmployeeRestController extends AdminController { @@ -2237,7 +2242,7 @@ class EmployeeRestController extends AdminController "waiverofpreexistingdiseases" => "Waiver of Pre-existing Diseases", "maternitycoverage" => "Maternity Coverage", "babyday1cover" => "Baby Day 1 Cover", - "9monthwaitingperiodwaived" => "9-month waiting Period –waived", + "9monthwaitingperiodwaived" => "9-month waiting Period �waived", "coverfromthedateofjoining" => "Cover from the date of Joining", "waiverof1,2,3&4thyearexclusions" => "Waiver of 1, 2, 3 & 4th year Exclusions", "waiverof30dayswaitingperiod" => "Waiver of 30 days waiting period", @@ -2376,6 +2381,37 @@ class EmployeeRestController extends AdminController // return $this->respond(['status' => 'failed', 'code' => 500, 'message' => 'An error occurred', 'error' => $th->getMessage()], 500); // } } + + + + + + public function sendPushNotification() + { + $deviceToken = 'ffvc39yhRk-J-vGE9luw6l:APA91bFgNv7lzvA3lGuJ_pMDHdZ_rey6SMg11P2DvJk-WWiBs0nXWCF0lo5nEka3dn3DeTCS5yx0WrHs1yKj5faitBQYKeKxLg2VpUkDcmk3FrTDGkZdHcnW1Go0G0K8dYAkajRIjSEJ'; + $title = 'Nhance'; + $body = 'All your policy enrolled successfully ..!'; + + // Initialize Firebase with the service account + $firebase = (new Factory) + ->withServiceAccount(APPPATH . 'Config/google-services.json') + ->createMessaging(); + + $notification = Notification::create($title, $body); + $message = CloudMessage::withTarget('token', $deviceToken) + ->withNotification($notification); + + try { + $firebase->send($message); + return $this->response->setJSON(['status' => 'success']); + } catch (MessagingException $e) { + return $this->response->setJSON(['status' => 'error', 'message' => $e->getMessage()]); + } + } + + + + } \ No newline at end of file diff --git a/composer.json b/composer.json index 9f2ec667..da1c83ff 100644 --- a/composer.json +++ b/composer.json @@ -23,7 +23,9 @@ "phpoffice/phpspreadsheet": "^2.1", "psr/log": "^1.1", "slim/slim": "^4.13", - "zircote/swagger-php": "^4.8" + "zircote/swagger-php": "^4.8", + "psr/http-message": "^1.0", + "kreait/firebase-php":"^7.0" }, "require-dev": { "codeigniter/coding-standard": "^1.7",