Skip to content

Instantly share code, notes, and snippets.

View marksparrish's full-sized avatar

Mark Parrish marksparrish

View GitHub Profile
@marksparrish
marksparrish / UserSeeder.php
Created October 17, 2021 17:03
User, Team Seeder for Laravel Jetstream with Teams
<?php
namespace Database\Seeders;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Database\Seeder;
use App\Models\Team;
use App\Models\User;
use Laravel\Jetstream\Jetstream;
class Users extends Seeder
{
@marksparrish
marksparrish / JetstreamWithTeamsServiceProvider.php
Created October 19, 2021 17:53
Initial JetstreamWithTeamsServiceProvider.php
<?php
namespace App\Providers;
use App\Actions\Jetstream\AddTeamMember;
use App\Actions\Jetstream\CreateTeam;
use App\Actions\Jetstream\DeleteTeam;
use App\Actions\Jetstream\DeleteUser;
use App\Actions\Jetstream\InviteTeamMember;
use App\Actions\Jetstream\RemoveTeamMember;
@marksparrish
marksparrish / TeamPolicy.php
Created October 19, 2021 17:55
Initial TeamPolicy.php
<?php
namespace App\Policies;
use App\Models\Team;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class TeamPolicy
{
@marksparrish
marksparrish / UpdatedTeamPolicy.php
Last active October 19, 2021 20:52
Personal Teams can add members
<?php
namespace App\Policies;
use App\Models\Team;
use App\Models\User;
use Illuminate\Auth\Access\HandlesAuthorization;
class TeamPolicy
{
@marksparrish
marksparrish / Findable.php
Last active November 15, 2021 18:52
Laravel ElasticSearch Findable Trait
<?php
namespace App\Elastic;
use Illuminate\Support\Str;
/** @package App\Elastic */
trait Findable
{
public static function finder()
@marksparrish
marksparrish / ProductBuilder.php
Last active October 31, 2021 21:10
Laravel ElasticSearch Builder Class
<?php
namespace App\Elastic\Builders;
use App\Elastic\ElasticEngine;
use App\Models\Tag;
class ProductBuilder extends ElasticEngine
{
/**
@marksparrish
marksparrish / ElasticEngine.php
Last active November 15, 2021 19:38
Laravel ElasticSearch Engine Abstract Class
<?php
namespace App\Elastic;
use Elasticsearch\Client;
use Elasticsearch\ClientBuilder;
use Elasticsearch\Common\Exceptions\RuntimeException as ExceptionsRuntimeException;
use Exception;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Collection;
@marksparrish
marksparrish / Builder.php
Last active November 15, 2021 19:40
Laravel Elasticsearch Builder Class
<?php
namespace App\Elastic\Builders;
use App\Elastic\ElasticEngine;
// This is the generic builder class that extends the ElasticEngine
class Builder extends ElasticEngine
{
public function __construct($model)
@marksparrish
marksparrish / SearchResults.php
Last active November 7, 2021 20:06
Laravel Elasticsearch SearchResults Class
<?php
namespace App\Elastic;
use Illuminate\Support\Collection;
use Illuminate\Container\Container;
use Illuminate\Contracts\Container\BindingResolutionException;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Str;
@marksparrish
marksparrish / importer.py
Created November 7, 2021 15:54
Laravel Elasticsearch Python Index Importer
import time
import pandas as pd
from es_pandas import es_pandas
import numpy as np
def gather(sql):
print("Getting...")
data_url = 'mysql+mysqldb://sail:password@127.0.0.1:3306/sales'
print(sql)
df = pd.read_sql_query(sql=sql,con=data_url)