Skip to content

Instantly share code, notes, and snippets.

View koyablue's full-sized avatar
👾
Thriving

koyablue

👾
Thriving
View GitHub Profile
<?php
namespace App\Http\Controllers;
use App\Http\Requests\FileImportRequest;
use App\Services\FileImport\JoblistFileImportService;
class FileImportController extends Controller
{
private $service;
<?php
namespace App\Http\Requests;
use App\Models\Dto\FileImportDto;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class FileImportRequest extends FormRequest
{
<?php
namespace App\Services\FileImport;
use App\Models\Dto\FileImportDto;
class JoblistFileImportService
{
/**
* processFile
<?php
namespace App\Services\FileImport;
use App\Models\Dto\FileImportDto;
use App\Services\FileImport\ImporterFactory;
use App\Services\FileImport\Interface\FileImporterInterface;
class JoblistFileImportContext
{
<?php
namespace App\Services\FileImport;
use App\Services\FileImport\Importer\DeliveryJoblistFileImporter;
use App\Services\FileImport\Importer\OfficeWorkJoblistFileImporter;
use App\Services\FileImport\Importer\RestaurantJoblistFileImporter;
use App\Services\FileImport\Interface\FileImporterInterface;
class ImporterFactory
<?php
namespace App\Services\FileImport\Importer;
use App\Models\Dto\FileImportDto;
use App\Services\FileImport\Interface\FileImporterInterface;
class OfficeWorkJoblistFileImporter implements FileImporterInterface
{
public static function type(): int
<?php
namespace App\Services\FileImport\Interface;
use App\Models\Dto\FileImportDto;
interface FileImporterInterface
{
/**
* type
<?php
namespace App\Services\FileImport;
use App\Services\FileImport\Interface\FileImporterInterface;
class ImporterFactory
{
public function createImporter(): FileImporterInterface
{
<?php
namespace App\Models\Dto;
use Illuminate\Http\UploadedFile;
class FileImportDto
{
public UploadedFile $uploadedFile;
public int $fileType;
<?php
namespace App\Services\FileImport\Importer;
use App\Models\Dto\FileImportDto;
use App\Services\FileImport\Interface\FileImporterInterface;
class OfficeWorkJoblistFileImporter implements FileImporterInterface
{
public function readData(FileImportDto $fileDto): array