Skip to content

Instantly share code, notes, and snippets.

View sawirricardo's full-sized avatar
👋

Ricardo Sawir sawirricardo

👋
View GitHub Profile
@sawirricardo
sawirricardo / EnableSsrMiddleware.php
Last active September 17, 2022 13:55
laravel inertia setup
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class EnableSsrMiddleware
{
protected $expect = [
@sawirricardo
sawirricardo / django-packages.sh
Last active February 14, 2023 03:40
Django must use packages
poetry add django;
poetry add djangorestframework;
poetry add django-cors-headers;
poetry add drf-extensions;
poetry add django-environ;
poetry add django-extensions;
poetry add django-filter;
poetry add django-storages;
poetry add django-redis;
poetry add django-lifecycle;
@sawirricardo
sawirricardo / session-timezone.blade.php
Created August 4, 2023 03:56
Update timezone using Laravel Livewire Volt
<?php
$updateTimezone = fn($timezone) => session()->put('timezone', $timezone);
?>
<div x-init="$wire.updateTimezone(Intl.DateTimeFormat().resolvedOptions().timeZone)"></div>
@sawirricardo
sawirricardo / app.js
Created August 8, 2023 03:40
make livewire send timezone on each request
import './bootstrap';
window.addEventListener('livewire:init', () => {
Livewire.hook('request', ({ options }) => {
options.headers["X-Timezone"] = Intl.DateTimeFormat().resolvedOptions().timeZone;
})
})
@sawirricardo
sawirricardo / app.blade.php
Created September 4, 2023 15:56
Handle 419 token expired
<meta http-equiv="refresh" content="{{ config('session.lifetime')*60 }}" />
@sawirricardo
sawirricardo / TransactionEncapsulation.php
Last active November 22, 2023 13:33
It captures responses, handles DB transactions, and allows custom error messages.
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class TransactionEncapsulation
{
@sawirricardo
sawirricardo / HasPeriodColumns.php
Last active December 19, 2023 15:16
HasPeriodColumns
<?php
namespace App\Support\Traits;
use Carbon\CarbonInterface;
use Illuminate\Contracts\Database\Eloquent\Builder;
trait HasPeriodColumns
{
public function scopeOverlapping(Builder $query, CarbonInterface $start, CarbonInterface $end, string $startColumn, string $endColumn): Builder
@sawirricardo
sawirricardo / select_tables_for_postgres.sql
Last active January 20, 2024 08:41
get all tables postgreSQL
select
c.relname as name,
n.nspname as schema,
pg_total_relation_size (c.oid) as size,
obj_description (c.oid, 'pg_class') as comment
from
pg_class c,
pg_namespace n
where
c.relkind in ('r', 'p')
@sawirricardo
sawirricardo / select_views_postgres.sql
Created January 20, 2024 08:24
Select views for postgresql
select
viewname as name,
schemaname as schema,
definition from pg_views
where
schemaname not in ('pg_catalog', 'information_schema')
order by
viewname;
@sawirricardo
sawirricardo / select_types_postgres.sql
Created January 20, 2024 08:31
Select types for postgresql
select
t.typname as name,
n.nspname as schema,
t.typtype as type,
t.typcategory as category,
(
(
t.typinput = 'array_in'::regproc
and t.typoutput = 'array_out'::regproc
)