Skip to content

Instantly share code, notes, and snippets.

View nasrulhazim's full-sized avatar
🎯
Focusing

Nasrul Hazim Bin Mohamad nasrulhazim

🎯
Focusing
View GitHub Profile
@nasrulhazim
nasrulhazim / unit-test.yaml
Created February 11, 2021 17:20
Laravel GitHub Action
name: Unit Test
on:
push:
branches: [ develop ]
pull_request:
branches: [ master, develop ]
jobs:
unit-test:
@nasrulhazim
nasrulhazim / KeyGenerateCommand.php
Created November 29, 2020 22:18
Generate Application Key Command In Lumen
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Console\ConfirmableTrait;
use Illuminate\Encryption\Encrypter;
class KeyGenerateCommand extends Command
{
@nasrulhazim
nasrulhazim / ci.yml
Created November 20, 2020 15:32
GitHub Action - MySQL Service for Laravel with Multiple Databases
name: Unit Test
on:
push:
branches: [develop]
pull_request:
branches: [master, develop]
jobs:
PHPUnit:
@nasrulhazim
nasrulhazim / import-huge-sql.sh
Created October 29, 2020 11:59
Import Large MySQL File
# create prepend sql commands
echo "set autocommit=0;set unique_checks=0;set foreign_key_checks=0;" > prepend.sql
# prepend huge.sql above commands
cat huge.sql >> prepend.sql
# create append sql commands
echo "set autocommit=1;set unique_checks=1;set foreign_key_checks=1;" > append.sql
# prepend huge.sql with append.sql
@nasrulhazim
nasrulhazim / openapi-generator.sh
Created October 29, 2020 02:27
Generate Client SDK using Open API Generator
### References
# https://openapi-generator.tech/docs/generators
# https://openapi-generator.tech/docs/usage#examples
# Generate the PHP SDK for Pet Store API
$ openapi-generator generate -g php -o /path/to/sdk/php -i /path/to/petstore.yaml
# Generate the Java SDK for Pet Store API
$ openapi-generator generate -g java -o /path/to/sdk/java -i /path/to/petstore.yaml
@nasrulhazim
nasrulhazim / petstore.yaml
Created October 29, 2020 02:09
Pet Store Open API Specification
swagger: "2.0"
info:
description: "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters."
version: "1.0.0"
title: "Swagger Petstore"
termsOfService: "http://swagger.io/terms/"
contact:
email: "apiteam@swagger.io"
license:
name: "Apache 2.0"
@nasrulhazim
nasrulhazim / MicrosoftTeam.php
Created May 6, 2020 22:00
Microsoft Team Transformer from Webhook
<?php
namespace App\WebhookClient\Transformers;
use App\Contracts\WebhookPayload as Payload;
class MicrosoftTeam
{
public static function transform(Payload $payload): array
{
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateWebhookCallsTable extends Migration
{
public function up()
{
Schema::create('webhook_calls', function (Blueprint $table) {
@nasrulhazim
nasrulhazim / WebhookCall.php
Created May 6, 2020 21:58
Extend Webhook Call Model
<?php
namespace App\Models;
use App\Traits\HasMediaExtended as MediaTrait;
use CleaniqueCoders\LaravelUuid\Contracts\HasUuid as HasUuidContract;
use CleaniqueCoders\LaravelUuid\Traits\HasUuid;
use Illuminate\Http\Request;
use OwenIt\Auditing\Auditable as AuditableTrait;
use OwenIt\Auditing\Contracts\Auditable as AuditableContract;
@nasrulhazim
nasrulhazim / GitHubSignatureValidator.php
Created May 6, 2020 21:55
GitHub Signature Validator
<?php
namespace App\WebhookClient\SignatureValidator;
use Illuminate\Http\Request;
use Illuminate\Validation\UnauthorizedException;
use Spatie\WebhookClient\SignatureValidator\SignatureValidator;
use Spatie\WebhookClient\WebhookConfig;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;