FEATURE: add another repositories

This commit is contained in:
Michal Kváček
2016-10-18 22:35:06 +02:00
parent 662700b4f2
commit 4f6a006ad9
47 changed files with 410 additions and 400 deletions
@@ -0,0 +1,40 @@
<?php
namespace App\CMS\Contracts\Content;
use App\Http\Requests\Request;
use App\Models\Content\Content;
interface AdvancedContentModifier {
/**
* Save module-specific values into database
*
* @param Content $content
* @param Request $request
*
* @return mixed
*/
public static function createNew(Content &$content, Request $request);
/**
* Method used for editing existing content page.
*
* Reason why it is separated from createNew() method is simple - we need to save history of changes.
*
* @param Content $content
* @param Request $request
* @param string $revisionId
*
* @return mixed
*/
public static function edit(Content &$content, Request $request, $revisionId);
/**
* Method called right after content page is marked as deleted
*
* This method is supposed to clean after "deleted" page.
*
* @param Content $content
*
* @return mixed
*/
public static function delete(Content $content);
}
@@ -1,5 +1,5 @@
<?php
namespace App\CMS\Handlers\Contracts;
namespace App\CMS\Contracts\Modules;
use App\Http\Requests\Request;
use App\Models\Content\Content;
@@ -18,51 +18,6 @@ interface AppHandler extends BaseModuleHandler
public static function getHistoryHandler();
/**
* Load some extra data for content management form?
*
* @param Content $content
*
* @return mixed
*/
public static function loadExtraData(Content $content);
/**
* Save module-specific values into database
*
* @param Content $content
* @param Request $request
*
* @return mixed
* @internal param Widget $widget
*/
public static function createNew(Content &$content, Request $request);
/**
* Method used for editing existing content page.
*
* Reason why it is separated from createNew() method is simple - we need to save history of changes.
*
* @param Content $content
* @param Request $request
*
* @param $revisionID string ID of revision used
*
* @return int number of edited fields
*/
public static function edit(Content &$content, Request $request, $revisionID);
/**
* Method called right after content page is marked as deleted
*
* This method is supposed to clean after "deleted" page.
*
* @param Content $content
*
* @return mixed
*/
public static function delete(Content $content);
/**
* Getter for section names in creating/editing content resource
*
@@ -1,5 +1,5 @@
<?php
namespace App\CMS\Handlers\Contracts;
namespace App\CMS\Contracts\Modules;
use App\Models\User;
@@ -15,11 +15,4 @@ interface BaseModuleHandler
*/
public static function registerAdminMenu(User $user);
/**
* Install module.
*
* This method is called after inserting info about module into database. It can be called only using Artisan in
* CLI.
*/
public static function install();
}
@@ -0,0 +1,23 @@
<?php
namespace App\CMS\Contracts\Modules;
use App\Models\Module;
interface InstallableModule {
/**
* Install module.
*
* This method is called after inserting info about module into database. It can be called only using Artisan in
* CLI.
*/
public static function install();
/**
* Uninstalls module
*
* @param Module $module
*
* @return mixed
*/
public static function uninstall(Module $module);
}
@@ -1,9 +1,8 @@
<?php
namespace App\CMS\Handlers\Contracts;
namespace App\CMS\Contracts\Modules;
use App\Http\Requests\Request;
use App\Models\Content\Content;
use App\Models\Module;
/**
* Interface TemplateHandler
@@ -14,15 +13,6 @@ use App\Models\Module;
*/
interface TemplateHandler extends BaseModuleHandler
{
/**
* Uninstall template
*
* Delete some items in database, delete files etc.
*
* @param Module $template
*/
public static function uninstall(Module $template);
/**
* Get list of registered templates and supported modules.
*
+2 -4
View File
@@ -3,11 +3,9 @@ namespace App\CMS\Contracts\Repositories;
interface Module extends BaseRepository {
public function supportsCategories();
public function getCreateContentTitle(\App\Models\Module $module);
public function getCreateContentTitle();
public function getUpdateContentTitle();
public function getUpdateContentTitle(\App\Models\Module $module);
public function getOverviewTitle(\App\Models\Module $module);
}
@@ -0,0 +1,18 @@
<?php
namespace App\CMS\Contracts\Repositories;
use App\Models\Module as ModuleModel;
interface Template
{
const EDITED_TEMPLATES_DIRECTORY = 'custom';
const ASSETS_DIRECTORY = 'assets';
const MODULES_DIRECTORY = 'modules';
const TEMPLATE_SUFFIX = '.blade.php';
const CUSTOM_EDIT_DIRECTORY = 1;
const ORIGINAL_DIRECTORY = 2;
public function getPathToTemplate();
public function getForModule(ModuleModel $module);
}