This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace Database\Seeders; | |
use Illuminate\Database\Seeder; | |
use Illuminate\Support\Facades\DB; | |
class CountriesTableSeeder extends Seeder | |
{ | |
/** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace Database\Seeders; | |
use Illuminate\Database\Console\Seeds\WithoutModelEvents; | |
use Illuminate\Database\Seeder; | |
use Illuminate\Support\Facades\DB; | |
class StateSeeder extends Seeder | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
private function getTimeline(array $dates, int $maxDays = 20) | |
{ | |
$weekHolder = []; | |
$startDate = null; | |
foreach ($dates as $index => $date) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$validator = Validator::make( | |
$request->all(), | |
[ | |
// you need to pass the question key so that it acts as a validator to make sure we have the array contents. | |
// if the question key is not added and the form requests doesn't come with the array contents, the validation will be skipped | |
'question' => 'required', | |
"question.*.id" => "required|integer", // This will validate each `question` array item | |
"question.*.applicant_answer" => "required|integer", // T |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* This gist assumes that you already have your auth properly set up | |
* | |
* At the point of registration or however your flow works, you send a verification link | |
* | |
* the laravel default is to send the verification link with the domain for your backend (e.g localhsot:8000) | |
* | |
* You don't want that: to generate a signed url that references your frontend domain (e.g localhost:3000) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace Illuminate\Foundation\Http\Middleware; | |
//legendary way laravel authenticates SPAs expecially with sanctum | |
// compare the hash_equals of the server session token (session value generated by hashing the user's password) with the cookie sent to the frontend | |
class VerifyCsrfToken | |
{ | |
/** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script setup> | |
//So in vuejs 3, to declare an integer prop, ideally, you should declare an object passing the prop as an object key and the expected dataype as value for that key | |
const props = defineProps({ totalPages : Number}) | |
//another tip: when in the parent component, to pass the value for that integer prop, vuejs expects it to be a dynamic prop binding | |
</script> | |
<template> | |
<!--- inside parent component --> | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace App\Traits; | |
use Illuminate\Http\JsonResponse; | |
trait ApiResponse | |
{ | |
protected function success(array|object $data = [], string $message = '', int $code = 200): JsonResponse |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
public function uploadToAzureCloud($request) | |
{ | |
try { | |
$storageAccountName = config('services.azure_storage.account_name'); | |
$containerName = config('services.azure_storage.container'); | |
$accessKey = config('services.azure_storage.key'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Function to create a shared access signature (SAS) token | |
private function getSasToken($accountName, $accountKey, $containerName) | |
{ | |
$sasExpiry = time() + 3600; // Token expires in 1 hour | |
$sasResource = "https://$accountName.blob.core.windows.net/$containerName"; | |
$sasString = utf8_encode(urlencode($sasResource) . "\n$sasExpiry"); | |
$sig = base64_encode(hash_hmac('sha256', $sasString, base64_decode($accountKey), true)); |
NewerOlder