Skip to content

Change package name to laravel-workflow-loader #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question
url: https://github.com/soap/laravel-workflow-storage/discussions/new?category=q-a
url: https://github.com/soap/laravel-workflow-loader/discussions/new?category=q-a
about: Ask the community for help
- name: Request a feature
url: https://github.com/soap/laravel-workflow-storage/discussions/new?category=ideas
url: https://github.com/soap/laravel-workflow-loader/discussions/new?category=ideas
about: Share ideas for new features
- name: Report a security issue
url: https://github.com/soap/laravel-workflow-storage/security/policy
url: https://github.com/soap/laravel-workflow-loader/security/policy
about: Learn how to notify us for sensitive bugs
2 changes: 1 addition & 1 deletion .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
env:
DB_USERNAME: root
DB_PASSWORD: root
DB_DATABASE: workflow_storage_testing
DB_DATABASE: workflow_loader_testing
run: |
sudo /etc/init.d/mysql start
mysql -e 'CREATE DATABASE ${{ env.DB_DATABASE }};' -u${{ env.DB_USERNAME }} -p${{ env.DB_PASSWORD }}
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Changelog

All notable changes to `laravel-workflow-storage` will be documented in this file.
All notable changes to `laravel-workflow-loader` will be documented in this file.
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Database storage for Laravel workflow configuration
# Database Loader for Laravel workflow configuration

[![Latest Version on Packagist](https://img.shields.io/packagist/v/soap/laravel-workflow-storage.svg?style=flat-square)](https://packagist.org/packages/soap/laravel-workflow-storage)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/soap/laravel-workflow-storage/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/soap/laravel-workflow-storage/actions?query=workflow%3Arun-tests+branch%3Amain)
[![PHPStan](https://github.com/soap/laravel-workflow-storage/actions/workflows/phpstan.yml/badge.svg)](https://github.com/soap/laravel-workflow-storage/actions/workflows/phpstan.yml)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/soap/laravel-workflow-storage/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/soap/laravel-workflow-storage/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/soap/laravel-workflow-storage.svg?style=flat-square)](https://packagist.org/packages/soap/laravel-workflow-storage)
[![Latest Version on Packagist](https://img.shields.io/packagist/v/soap/laravel-workflow-loader.svg?style=flat-square)](https://packagist.org/packages/soap/laravel-workflow-loader)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/soap/laravel-workflow-loader/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/soap/laravel-workflow-loader/actions?query=workflow%3Arun-tests+branch%3Amain)
[![PHPStan](https://github.com/soap/laravel-workflow-loader/actions/workflows/phpstan.yml/badge.svg)](https://github.com/soap/laravel-workflow-loader/actions/workflows/phpstan.yml)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/soap/laravel-workflow-loader/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/soap/laravel-workflow-loader/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/soap/laravel-workflow-loader.svg?style=flat-square)](https://packagist.org/packages/soap/laravel-workflow-loader)

This package extends [zerodahero/laravel-workflow](https://github.com/zerodahero/laravel-workflow) by adding option to store workflow configuration in database. Laravel workflow only support loading configuration form Laravel configuration. This package provides user to change workflow configuration without helping from developers.

Expand All @@ -16,20 +16,20 @@ This package extends [zerodahero/laravel-workflow](https://github.com/zerodahero
You can install the package via composer:

```bash
composer require soap/laravel-workflow-storage
composer require soap/laravel-workflow-loader
```

You can publish and run the migrations with:

```bash
php artisan vendor:publish --tag="workflow-storage-migrations"
php artisan vendor:publish --tag="workflow-loader-migrations"
php artisan migrate
```

You can publish the config file with:

```bash
php artisan vendor:publish --tag="workflow-storage-config"
php artisan vendor:publish --tag="workflow-loader-config"
```

This is the contents of the published config file:
Expand Down
10 changes: 5 additions & 5 deletions canvas.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
preset: package

namespace: Soap\WorkflowStorage
namespace: Soap\WorkflowLoader
user-auth-model:

paths:
Expand All @@ -15,13 +15,13 @@ migration:
prefix: ''

console:
namespace: Soap\WorkflowStorage\Console
namespace: Soap\WorkflowLoader\Console

model:
namespace: Soap\WorkflowStorage\Models
namespace: Soap\WorkflowLoader\Models

provider:
namespace: Soap\WorkflowStorage\Providers
namespace: Soap\WorkflowLoader\Providers

testing:
namespace: Soap\WorkflowStorage\Tests
namespace: Soap\WorkflowLoader\Tests
20 changes: 10 additions & 10 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"name": "soap/laravel-workflow-storage",
"description": "This is my package laravel-workflow-storage",
"name": "soap/laravel-workflow-loader",
"description": "This is my package laravel-workflow-loader",
"keywords": [
"Soap",
"laravel",
"laravel-workflow-storage"
"laravel-workflow-loader"
],
"homepage": "https://github.com/soap/laravel-workflow-storage",
"homepage": "https://github.com/soap/laravel-workflow-loader",
"license": "MIT",
"authors": [
{
Expand Down Expand Up @@ -37,20 +37,20 @@
},
"autoload": {
"psr-4": {
"Soap\\WorkflowStorage\\": "src/",
"Soap\\WorkflowStorage\\Database\\Factories\\": "database/factories/"
"Soap\\WorkflowLoader\\": "src/",
"Soap\\WorkflowLoader\\Database\\Factories\\": "database/factories/"
}
},
"autoload-dev": {
"psr-4": {
"Soap\\WorkflowStorage\\Tests\\": "tests/",
"Soap\\WorkflowLoader\\Tests\\": "tests/",
"Workbench\\App\\": "workbench/app/",
"Workbench\\Database\\Factories\\": "workbench/database/factories/"
}
},
"scripts": {
"post-autoload-dump": "@composer run prepare",
"clear": "@php vendor/bin/testbench package:purge-laravel-workflow-storage --ansi",
"clear": "@php vendor/bin/testbench package:purge-laravel-workflow-loader --ansi",
"prepare": "@php vendor/bin/testbench package:discover --ansi",
"build": [
"@composer run prepare",
Expand All @@ -76,10 +76,10 @@
"extra": {
"laravel": {
"providers": [
"Soap\\WorkflowStorage\\WorkflowStorageServiceProvider"
"Soap\\WorkflowLoader\\WorkflowLoaderServiceProvider"
],
"aliases": {
"WorkflowStorage": "Soap\\WorkflowStorage\\Facades\\WorkflowStorage"
"WorkflowLoader": "Soap\\WorkflowLoader\\Facades\\WorkflowLoader"
}
}
},
Expand Down
4 changes: 2 additions & 2 deletions config/workflow-storage.php → config/workflow_loader.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?php

return [
'databaseStorage' => [
'databaseLoader' => [
'tableNames' => [
'workflows' => 'workflows',
'workflow_states' => 'workflow_states',
'workflow_transitions' => 'workflow_transitions',
'workflow_state_transitions' => 'workflow_state_transitions',
],
'loaderClass' => \Soap\WorkflowStorage\DatabaseStorage::class,
'loaderClass' => \Soap\WorkflowLoader\DatabaseLoader::class,
],
];
4 changes: 2 additions & 2 deletions database/factories/WorkflowFactory.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php

namespace Soap\WorkflowStorage\Database\Factories;
namespace Soap\WorkflowLoader\Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;
use Soap\WorkflowStorage\Models\Workflow;
use Soap\WorkflowLoader\Models\Workflow;

class WorkflowFactory extends Factory
{
Expand Down
8 changes: 4 additions & 4 deletions database/factories/WorkflowStateFactory.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace Soap\WorkflowStorage\Database\Factories;
namespace Soap\WorkflowLoader\Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;
use Soap\WorkflowStorage\Models\Workflow;
use Soap\WorkflowStorage\Models\WorkflowState;
use Soap\WorkflowLoader\Models\Workflow;
use Soap\WorkflowLoader\Models\WorkflowState;

class WorkflowStateFactory extends Factory
{
Expand Down Expand Up @@ -40,7 +40,7 @@ public function finalState()

public function forWorkflow(int|Workflow $workflow)
{
$workflowId = is_int($workflow) ? $workflow : $workflow->id;
$workflowId = is_int($workflow) ? $workflow : $workflow->getKey();

return $this->state(function (array $attributes) use ($workflowId) {
return [
Expand Down
4 changes: 2 additions & 2 deletions database/factories/WorkflowTransitionFactory.php
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?php

namespace Soap\WorkflowStorage\Database\Factories;
namespace Soap\WorkflowLoader\Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;
use Soap\WorkflowStorage\Models\WorkflowTransition;
use Soap\WorkflowLoader\Models\WorkflowTransition;

class WorkflowTransitionFactory extends Factory
{
Expand Down
2 changes: 1 addition & 1 deletion phpunit.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<env name="CACHE_DRIVER" value="array" />
<env name="DB_CONNECTION" value="mysql" />
<env name="DB_USERNAME" value="root" />
<env name="DB_DATABASE" value="workflow_storage_testing" />
<env name="DB_DATABASE" value="workflow_loader_testing" />
<env name="MAIL_MAILER" value="array" />
<env name="QUEUE_CONNECTION" value="sync" />
<env name="SESSION_DRIVER" value="array" />
Expand Down
4 changes: 2 additions & 2 deletions resources/stubs/WorkflowServiceProvider.php.stub
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Soap\WorkflowStorage\DatabaseLoader;
use Soap\WorkflowLoader\DatabaseLoader;

class WorkflowServiceProvider extends ServiceProvider
{
Expand All @@ -15,7 +15,7 @@ class WorkflowServiceProvider extends ServiceProvider
public function boot()
{
$registy = app()->make('workflow');
$workflowLoader = app()->make('workflow-storage');
$workflowLoader = app()->make('workflow-loader');
foreach ($wokflowLoader->all() as $workflow => $config) {
$registy->addFromArray($workflow, $config);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?php

namespace Soap\WorkflowStorage\Commands;
namespace Soap\WorkflowLoader\Commands;

use Illuminate\Console\Command;

class WorkflowStorageListCommand extends Command
class WorkflowLoaderListCommand extends Command
{
public $signature = 'wf-storage:list-workflows';
public $signature = 'wf-Loader:list-workflows';

public $description = 'List all workflows';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?php

namespace Soap\WorkflowStorage\Contracts;
namespace Soap\WorkflowLoader\Contracts;

interface WorkflowDatabaseStorage extends WorkflowStorage
interface WorkflowDatabaseLoader extends WorkflowLoader
{
public function getWorkflowTableName(): string;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?php

namespace Soap\WorkflowStorage\Contracts;
namespace Soap\WorkflowLoader\Contracts;

interface WorkflowStorage
interface WorkflowLoader
{
public function all(): array;

Expand Down
15 changes: 9 additions & 6 deletions src/DatabaseStorage.php → src/DatabaseLoader.php
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
<?php

namespace Soap\WorkflowStorage;
namespace Soap\WorkflowLoader;

use Soap\WorkflowStorage\Contracts\WorkflowDatabaseStorage;
use Soap\WorkflowLoader\Contracts\WorkflowDatabaseLoader;

class DatabaseStorage implements WorkflowDatabaseStorage
class DatabaseLoader implements WorkflowDatabaseLoader
{
const KEY_TABLENAMES = 'tableNames';
const KEY_TABLE_NAMES = 'tableNames';

/**
* @var array
*/
protected $config;

public function __construct(array $config)
public function __construct(?array $config)
{
if (! isset($config[self::KEY_TABLE_NAMES])) {
throw new \InvalidArgumentException('Table names not found in config');
}
$this->config = $config;
}

public function getTableNames(): array
{
return $this->config[self::KEY_TABLENAMES];
return $this->config[self::KEY_TABLE_NAMES];
}

public function getTableName(string $name): string
Expand Down
2 changes: 1 addition & 1 deletion src/Enums/WorkflowTypeEnum.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Soap\WorkflowStorage\Enums;
namespace Soap\WorkflowLoader\Enums;

enum WorkflowTypeEnum: string
{
Expand Down
16 changes: 16 additions & 0 deletions src/Facades/WorkflowLoader.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

namespace Soap\WorkflowLoader\Facades;

use Illuminate\Support\Facades\Facade;

/**
* @see \Soap\WorkflowLoader\WorkflowLoader
*/
class WorkflowLoader extends Facade
{
protected static function getFacadeAccessor(): string
{
return \Soap\WorkflowLoader\WorkflowLoader::class;
}
}
16 changes: 0 additions & 16 deletions src/Facades/WorkflowStorage.php

This file was deleted.

2 changes: 1 addition & 1 deletion src/KeyConstant.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Soap\WorkflowStorage;
namespace Soap\WorkflowLoader;

class KeyConstant
{
Expand Down
8 changes: 4 additions & 4 deletions src/Models/Workflow.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?php

namespace Soap\WorkflowStorage\Models;
namespace Soap\WorkflowLoader\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Soap\WorkflowStorage\DatabaseStorage;
use Soap\WorkflowStorage\Enums\WorkflowTypeEnum;
use Soap\WorkflowLoader\DatabaseLoader;
use Soap\WorkflowLoader\Enums\WorkflowTypeEnum;

class Workflow extends Model
{
Expand All @@ -22,7 +22,7 @@ class Workflow extends Model

public function getTable(): string
{
return app(DatabaseStorage::class)->getWorkflowTableName();
return app(DatabaseLoader::class)->getWorkflowTableName();
}

public function states(): HasMany
Expand Down
Loading