Skip to content

Instantly share code, notes, and snippets.

View nasrulhazim's full-sized avatar
🎯
Focusing

Nasrul Hazim nasrulhazim

🎯
Focusing
View GitHub Profile
@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: "[email protected]"
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;
@nasrulhazim
nasrulhazim / GitHubController.php
Created May 6, 2020 21:55
Webhook Handler Controller
<?php
namespace App\Http\Controllers\Webhooks;
use App\Http\Controllers\Controller;
use App\Models\WebhookCall;
use App\WebhookClient\SignatureValidator\GitHubSignatureValidator;
use Illuminate\Http\Request;
use Spatie\WebhookClient\WebhookConfig;
use Spatie\WebhookClient\WebhookProcessor;
@nasrulhazim
nasrulhazim / GitHub.php
Created May 6, 2020 21:53
GitHub Payload
<?php
namespace App\WebhookClient\Payload;
use App\Contracts\WebhookPayload;
use Illuminate\Support\Str;
class GitHub implements \App\Contracts\WebhookPayload
{
protected $header;
@nasrulhazim
nasrulhazim / laravel.yml
Created April 23, 2020 13:59
GitHub Action for Laravel
name: Unit Test
on:
push:
branches:
- develop
pull_request:
branches:
- develop
release:
@nasrulhazim
nasrulhazim / LearnMiddlewareTest.php
Last active April 14, 2020 00:30
Learn Middleware Test
<?php
namespace Tests\Feature;
use App\Http\Middleware\LearnUnitTestMiddleware;
use Tests\TestCase;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Mockery;