mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-10-01 01:36:00 -04:00
Compare commits
23 Commits
578586e51f
...
1ee55e9948
Author | SHA1 | Date | |
---|---|---|---|
|
1ee55e9948 | ||
|
911c71ae10 | ||
|
e3f8ba4e26 | ||
|
f2e95af6f3 | ||
|
b5efa6b545 | ||
|
14ced9049b | ||
|
913489b5d0 | ||
|
e6b23f0257 | ||
|
037ac4ca42 | ||
|
1ac3ba12a7 | ||
|
2a2b207e54 | ||
|
3356d43fbf | ||
|
ee27953249 | ||
|
cee4fc9a87 | ||
|
7d50fdccd7 | ||
|
cf6dc6587b | ||
|
4a00d295cb | ||
|
51ed5f5230 | ||
|
ba25a3e1b7 | ||
|
bc18dc7da6 | ||
|
5e8ec56196 | ||
|
9ca088a4e2 | ||
|
008e7a4d25 |
2
.github/workflows/test-migrations.yml
vendored
2
.github/workflows/test-migrations.yml
vendored
@ -8,7 +8,7 @@ jobs:
|
|||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
php: ['7.4', '8.0', '8.1', '8.2']
|
php: ['8.0', '8.1', '8.2']
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
|
|
||||||
|
2
.github/workflows/test-php.yml
vendored
2
.github/workflows/test-php.yml
vendored
@ -8,7 +8,7 @@ jobs:
|
|||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
php: ['7.4', '8.0', '8.1', '8.2']
|
php: ['8.0', '8.1', '8.2']
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
|
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
* Do not edit this file unless you're happy to maintain any changes yourself.
|
* Do not edit this file unless you're happy to maintain any changes yourself.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Facade;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
|
||||||
// The environment to run BookStack in.
|
// The environment to run BookStack in.
|
||||||
@ -98,7 +100,13 @@ return [
|
|||||||
// Encryption cipher
|
// Encryption cipher
|
||||||
'cipher' => 'AES-256-CBC',
|
'cipher' => 'AES-256-CBC',
|
||||||
|
|
||||||
// Application Services Provides
|
// Maintenance Mode Driver
|
||||||
|
'maintenance' => [
|
||||||
|
'driver' => 'file',
|
||||||
|
// 'store' => 'redis',
|
||||||
|
],
|
||||||
|
|
||||||
|
// Application Service Providers
|
||||||
'providers' => [
|
'providers' => [
|
||||||
|
|
||||||
// Laravel Framework Service Providers...
|
// Laravel Framework Service Providers...
|
||||||
@ -141,58 +149,9 @@ return [
|
|||||||
BookStack\Providers\ViewTweaksServiceProvider::class,
|
BookStack\Providers\ViewTweaksServiceProvider::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
// Class Aliases
|
||||||
|--------------------------------------------------------------------------
|
// This array of class aliases to be registered on application start.
|
||||||
| Class Aliases
|
'aliases' => Facade::defaultAliases()->merge([
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| This array of class aliases will be registered when this application
|
|
||||||
| is started. However, feel free to register as many as you wish as
|
|
||||||
| the aliases are "lazy" loaded so they don't hinder performance.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Class aliases, Registered on application start
|
|
||||||
'aliases' => [
|
|
||||||
// Laravel
|
|
||||||
'App' => Illuminate\Support\Facades\App::class,
|
|
||||||
'Arr' => Illuminate\Support\Arr::class,
|
|
||||||
'Artisan' => Illuminate\Support\Facades\Artisan::class,
|
|
||||||
'Auth' => Illuminate\Support\Facades\Auth::class,
|
|
||||||
'Blade' => Illuminate\Support\Facades\Blade::class,
|
|
||||||
'Bus' => Illuminate\Support\Facades\Bus::class,
|
|
||||||
'Cache' => Illuminate\Support\Facades\Cache::class,
|
|
||||||
'Config' => Illuminate\Support\Facades\Config::class,
|
|
||||||
'Cookie' => Illuminate\Support\Facades\Cookie::class,
|
|
||||||
'Crypt' => Illuminate\Support\Facades\Crypt::class,
|
|
||||||
'Date' => Illuminate\Support\Facades\Date::class,
|
|
||||||
'DB' => Illuminate\Support\Facades\DB::class,
|
|
||||||
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
|
|
||||||
'Event' => Illuminate\Support\Facades\Event::class,
|
|
||||||
'File' => Illuminate\Support\Facades\File::class,
|
|
||||||
'Gate' => Illuminate\Support\Facades\Gate::class,
|
|
||||||
'Hash' => Illuminate\Support\Facades\Hash::class,
|
|
||||||
'Http' => Illuminate\Support\Facades\Http::class,
|
|
||||||
'Lang' => Illuminate\Support\Facades\Lang::class,
|
|
||||||
'Log' => Illuminate\Support\Facades\Log::class,
|
|
||||||
'Mail' => Illuminate\Support\Facades\Mail::class,
|
|
||||||
'Notification' => Illuminate\Support\Facades\Notification::class,
|
|
||||||
'Password' => Illuminate\Support\Facades\Password::class,
|
|
||||||
'Queue' => Illuminate\Support\Facades\Queue::class,
|
|
||||||
'RateLimiter' => Illuminate\Support\Facades\RateLimiter::class,
|
|
||||||
'Redirect' => Illuminate\Support\Facades\Redirect::class,
|
|
||||||
// 'Redis' => Illuminate\Support\Facades\Redis::class,
|
|
||||||
'Request' => Illuminate\Support\Facades\Request::class,
|
|
||||||
'Response' => Illuminate\Support\Facades\Response::class,
|
|
||||||
'Route' => Illuminate\Support\Facades\Route::class,
|
|
||||||
'Schema' => Illuminate\Support\Facades\Schema::class,
|
|
||||||
'Session' => Illuminate\Support\Facades\Session::class,
|
|
||||||
'Storage' => Illuminate\Support\Facades\Storage::class,
|
|
||||||
'Str' => Illuminate\Support\Str::class,
|
|
||||||
'URL' => Illuminate\Support\Facades\URL::class,
|
|
||||||
'Validator' => Illuminate\Support\Facades\Validator::class,
|
|
||||||
'View' => Illuminate\Support\Facades\View::class,
|
|
||||||
|
|
||||||
// Laravel Packages
|
// Laravel Packages
|
||||||
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
|
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
|
||||||
|
|
||||||
@ -202,7 +161,7 @@ return [
|
|||||||
// Custom BookStack
|
// Custom BookStack
|
||||||
'Activity' => BookStack\Facades\Activity::class,
|
'Activity' => BookStack\Facades\Activity::class,
|
||||||
'Theme' => BookStack\Facades\Theme::class,
|
'Theme' => BookStack\Facades\Theme::class,
|
||||||
],
|
])->toArray(),
|
||||||
|
|
||||||
// Proxy configuration
|
// Proxy configuration
|
||||||
'proxies' => env('APP_PROXIES', ''),
|
'proxies' => env('APP_PROXIES', ''),
|
||||||
|
@ -14,7 +14,7 @@ return [
|
|||||||
// This option controls the default broadcaster that will be used by the
|
// This option controls the default broadcaster that will be used by the
|
||||||
// framework when an event needs to be broadcast. This can be set to
|
// framework when an event needs to be broadcast. This can be set to
|
||||||
// any of the connections defined in the "connections" array below.
|
// any of the connections defined in the "connections" array below.
|
||||||
'default' => env('BROADCAST_DRIVER', 'pusher'),
|
'default' => 'null',
|
||||||
|
|
||||||
// Broadcast Connections
|
// Broadcast Connections
|
||||||
// Here you may define all of the broadcast connections that will be used
|
// Here you may define all of the broadcast connections that will be used
|
||||||
@ -22,21 +22,7 @@ return [
|
|||||||
// each available type of connection are provided inside this array.
|
// each available type of connection are provided inside this array.
|
||||||
'connections' => [
|
'connections' => [
|
||||||
|
|
||||||
'pusher' => [
|
// Default options removed since we don't use broadcasting.
|
||||||
'driver' => 'pusher',
|
|
||||||
'key' => env('PUSHER_APP_KEY'),
|
|
||||||
'secret' => env('PUSHER_APP_SECRET'),
|
|
||||||
'app_id' => env('PUSHER_APP_ID'),
|
|
||||||
'options' => [
|
|
||||||
'cluster' => env('PUSHER_APP_CLUSTER'),
|
|
||||||
'useTLS' => true,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
|
|
||||||
'redis' => [
|
|
||||||
'driver' => 'redis',
|
|
||||||
'connection' => 'default',
|
|
||||||
],
|
|
||||||
|
|
||||||
'log' => [
|
'log' => [
|
||||||
'driver' => 'log',
|
'driver' => 'log',
|
||||||
|
@ -87,6 +87,6 @@ return [
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_cache'),
|
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_cache_'),
|
||||||
|
|
||||||
];
|
];
|
||||||
|
@ -33,17 +33,20 @@ return [
|
|||||||
'driver' => 'local',
|
'driver' => 'local',
|
||||||
'root' => public_path(),
|
'root' => public_path(),
|
||||||
'visibility' => 'public',
|
'visibility' => 'public',
|
||||||
|
'throw' => true,
|
||||||
],
|
],
|
||||||
|
|
||||||
'local_secure_attachments' => [
|
'local_secure_attachments' => [
|
||||||
'driver' => 'local',
|
'driver' => 'local',
|
||||||
'root' => storage_path('uploads/files/'),
|
'root' => storage_path('uploads/files/'),
|
||||||
|
'throw' => true,
|
||||||
],
|
],
|
||||||
|
|
||||||
'local_secure_images' => [
|
'local_secure_images' => [
|
||||||
'driver' => 'local',
|
'driver' => 'local',
|
||||||
'root' => storage_path('uploads/images/'),
|
'root' => storage_path('uploads/images/'),
|
||||||
'visibility' => 'public',
|
'visibility' => 'public',
|
||||||
|
'throw' => true,
|
||||||
],
|
],
|
||||||
|
|
||||||
's3' => [
|
's3' => [
|
||||||
@ -54,6 +57,7 @@ return [
|
|||||||
'bucket' => env('STORAGE_S3_BUCKET', 'your-bucket'),
|
'bucket' => env('STORAGE_S3_BUCKET', 'your-bucket'),
|
||||||
'endpoint' => env('STORAGE_S3_ENDPOINT', null),
|
'endpoint' => env('STORAGE_S3_ENDPOINT', null),
|
||||||
'use_path_style_endpoint' => env('STORAGE_S3_ENDPOINT', null) !== null,
|
'use_path_style_endpoint' => env('STORAGE_S3_ENDPOINT', null) !== null,
|
||||||
|
'throw' => true,
|
||||||
],
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
@ -21,6 +21,15 @@ return [
|
|||||||
// one of the channels defined in the "channels" configuration array.
|
// one of the channels defined in the "channels" configuration array.
|
||||||
'default' => env('LOG_CHANNEL', 'single'),
|
'default' => env('LOG_CHANNEL', 'single'),
|
||||||
|
|
||||||
|
// Deprecations Log Channel
|
||||||
|
// This option controls the log channel that should be used to log warnings
|
||||||
|
// regarding deprecated PHP and library features. This allows you to get
|
||||||
|
// your application ready for upcoming major versions of dependencies.
|
||||||
|
'deprecations' => [
|
||||||
|
'channel' => 'null',
|
||||||
|
'trace' => false,
|
||||||
|
],
|
||||||
|
|
||||||
// Log Channels
|
// Log Channels
|
||||||
// Here you may configure the log channels for your application. Out of
|
// Here you may configure the log channels for your application. Out of
|
||||||
// the box, Laravel uses the Monolog PHP logging library. This gives
|
// the box, Laravel uses the Monolog PHP logging library. This gives
|
||||||
|
@ -14,13 +14,7 @@ return [
|
|||||||
// From Laravel 7+ this is MAIL_MAILER in laravel.
|
// From Laravel 7+ this is MAIL_MAILER in laravel.
|
||||||
// Kept as MAIL_DRIVER in BookStack to prevent breaking change.
|
// Kept as MAIL_DRIVER in BookStack to prevent breaking change.
|
||||||
// Options: smtp, sendmail, log, array
|
// Options: smtp, sendmail, log, array
|
||||||
'driver' => env('MAIL_DRIVER', 'smtp'),
|
'default' => env('MAIL_DRIVER', 'smtp'),
|
||||||
|
|
||||||
// SMTP host address
|
|
||||||
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
|
|
||||||
|
|
||||||
// SMTP host port
|
|
||||||
'port' => env('MAIL_PORT', 587),
|
|
||||||
|
|
||||||
// Global "From" address & name
|
// Global "From" address & name
|
||||||
'from' => [
|
'from' => [
|
||||||
@ -28,17 +22,42 @@ return [
|
|||||||
'name' => env('MAIL_FROM_NAME', 'BookStack'),
|
'name' => env('MAIL_FROM_NAME', 'BookStack'),
|
||||||
],
|
],
|
||||||
|
|
||||||
// Email encryption protocol
|
// Mailer Configurations
|
||||||
|
// Available mailing methods and their settings.
|
||||||
|
'mailers' => [
|
||||||
|
'smtp' => [
|
||||||
|
'transport' => 'smtp',
|
||||||
|
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
|
||||||
|
'port' => env('MAIL_PORT', 587),
|
||||||
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
|
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
|
||||||
|
|
||||||
// SMTP server username
|
|
||||||
'username' => env('MAIL_USERNAME'),
|
'username' => env('MAIL_USERNAME'),
|
||||||
|
|
||||||
// SMTP server password
|
|
||||||
'password' => env('MAIL_PASSWORD'),
|
'password' => env('MAIL_PASSWORD'),
|
||||||
|
'timeout' => null,
|
||||||
|
'local_domain' => env('MAIL_EHLO_DOMAIN'),
|
||||||
|
],
|
||||||
|
|
||||||
// Sendmail application path
|
'sendmail' => [
|
||||||
'sendmail' => '/usr/sbin/sendmail -bs',
|
'transport' => 'sendmail',
|
||||||
|
'path' => '/usr/sbin/sendmail -bs',
|
||||||
|
],
|
||||||
|
|
||||||
|
'log' => [
|
||||||
|
'transport' => 'log',
|
||||||
|
'channel' => env('MAIL_LOG_CHANNEL'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'array' => [
|
||||||
|
'transport' => 'array',
|
||||||
|
],
|
||||||
|
|
||||||
|
'failover' => [
|
||||||
|
'transport' => 'failover',
|
||||||
|
'mailers' => [
|
||||||
|
'smtp',
|
||||||
|
'log',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
// Email markdown configuration
|
// Email markdown configuration
|
||||||
'markdown' => [
|
'markdown' => [
|
||||||
@ -47,11 +66,4 @@ return [
|
|||||||
resource_path('views/vendor/mail'),
|
resource_path('views/vendor/mail'),
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
// Log Channel
|
|
||||||
// If you are using the "log" driver, you may specify the logging channel
|
|
||||||
// if you prefer to keep mail messages separate from other log entries
|
|
||||||
// for simpler reading. Otherwise, the default channel will be used.
|
|
||||||
'log_channel' => env('MAIL_LOG_CHANNEL'),
|
|
||||||
|
|
||||||
];
|
];
|
||||||
|
@ -2,18 +2,18 @@
|
|||||||
|
|
||||||
namespace BookStack\Entities\Tools\Markdown;
|
namespace BookStack\Entities\Tools\Markdown;
|
||||||
|
|
||||||
use League\CommonMark\Block\Element\AbstractBlock;
|
use League\CommonMark\Extension\CommonMark\Node\Block\ListItem;
|
||||||
use League\CommonMark\Block\Element\ListItem;
|
use League\CommonMark\Extension\CommonMark\Renderer\Block\ListItemRenderer;
|
||||||
use League\CommonMark\Block\Element\Paragraph;
|
|
||||||
use League\CommonMark\Block\Renderer\BlockRendererInterface;
|
|
||||||
use League\CommonMark\Block\Renderer\ListItemRenderer;
|
|
||||||
use League\CommonMark\ElementRendererInterface;
|
|
||||||
use League\CommonMark\Extension\TaskList\TaskListItemMarker;
|
use League\CommonMark\Extension\TaskList\TaskListItemMarker;
|
||||||
use League\CommonMark\HtmlElement;
|
use League\CommonMark\Node\Block\Paragraph;
|
||||||
|
use League\CommonMark\Node\Node;
|
||||||
|
use League\CommonMark\Renderer\ChildNodeRendererInterface;
|
||||||
|
use League\CommonMark\Renderer\NodeRendererInterface;
|
||||||
|
use League\CommonMark\Util\HtmlElement;
|
||||||
|
|
||||||
class CustomListItemRenderer implements BlockRendererInterface
|
class CustomListItemRenderer implements NodeRendererInterface
|
||||||
{
|
{
|
||||||
protected $baseRenderer;
|
protected ListItemRenderer $baseRenderer;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@ -23,11 +23,11 @@ class CustomListItemRenderer implements BlockRendererInterface
|
|||||||
/**
|
/**
|
||||||
* @return HtmlElement|string|null
|
* @return HtmlElement|string|null
|
||||||
*/
|
*/
|
||||||
public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, bool $inTightList = false)
|
public function render(Node $node, ChildNodeRendererInterface $childRenderer)
|
||||||
{
|
{
|
||||||
$listItem = $this->baseRenderer->render($block, $htmlRenderer, $inTightList);
|
$listItem = $this->baseRenderer->render($node, $childRenderer);
|
||||||
|
|
||||||
if ($this->startsTaskListItem($block)) {
|
if ($node instanceof ListItem && $this->startsTaskListItem($node) && $listItem instanceof HtmlElement) {
|
||||||
$listItem->setAttribute('class', 'task-list-item');
|
$listItem->setAttribute('class', 'task-list-item');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
namespace BookStack\Entities\Tools\Markdown;
|
namespace BookStack\Entities\Tools\Markdown;
|
||||||
|
|
||||||
use League\CommonMark\ConfigurableEnvironmentInterface;
|
use League\CommonMark\Environment\EnvironmentBuilderInterface;
|
||||||
use League\CommonMark\Extension\ExtensionInterface;
|
use League\CommonMark\Extension\ExtensionInterface;
|
||||||
use League\CommonMark\Extension\Strikethrough\Strikethrough;
|
use League\CommonMark\Extension\Strikethrough\Strikethrough;
|
||||||
use League\CommonMark\Extension\Strikethrough\StrikethroughDelimiterProcessor;
|
use League\CommonMark\Extension\Strikethrough\StrikethroughDelimiterProcessor;
|
||||||
|
|
||||||
class CustomStrikeThroughExtension implements ExtensionInterface
|
class CustomStrikeThroughExtension implements ExtensionInterface
|
||||||
{
|
{
|
||||||
public function register(ConfigurableEnvironmentInterface $environment)
|
public function register(EnvironmentBuilderInterface $environment): void
|
||||||
{
|
{
|
||||||
$environment->addDelimiterProcessor(new StrikethroughDelimiterProcessor());
|
$environment->addDelimiterProcessor(new StrikethroughDelimiterProcessor());
|
||||||
$environment->addInlineRenderer(Strikethrough::class, new CustomStrikethroughRenderer());
|
$environment->addRenderer(Strikethrough::class, new CustomStrikethroughRenderer());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,25 +2,23 @@
|
|||||||
|
|
||||||
namespace BookStack\Entities\Tools\Markdown;
|
namespace BookStack\Entities\Tools\Markdown;
|
||||||
|
|
||||||
use League\CommonMark\ElementRendererInterface;
|
|
||||||
use League\CommonMark\Extension\Strikethrough\Strikethrough;
|
use League\CommonMark\Extension\Strikethrough\Strikethrough;
|
||||||
use League\CommonMark\HtmlElement;
|
use League\CommonMark\Node\Node;
|
||||||
use League\CommonMark\Inline\Element\AbstractInline;
|
use League\CommonMark\Renderer\ChildNodeRendererInterface;
|
||||||
use League\CommonMark\Inline\Renderer\InlineRendererInterface;
|
use League\CommonMark\Renderer\NodeRendererInterface;
|
||||||
|
use League\CommonMark\Util\HtmlElement;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a somewhat clone of the League\CommonMark\Extension\Strikethrough\StrikethroughRender
|
* This is a somewhat clone of the League\CommonMark\Extension\Strikethrough\StrikethroughRender
|
||||||
* class but modified slightly to use <s> HTML tags instead of <del> in order to
|
* class but modified slightly to use <s> HTML tags instead of <del> in order to
|
||||||
* match front-end markdown-it rendering.
|
* match front-end markdown-it rendering.
|
||||||
*/
|
*/
|
||||||
class CustomStrikethroughRenderer implements InlineRendererInterface
|
class CustomStrikethroughRenderer implements NodeRendererInterface
|
||||||
{
|
{
|
||||||
public function render(AbstractInline $inline, ElementRendererInterface $htmlRenderer)
|
public function render(Node $node, ChildNodeRendererInterface $childRenderer)
|
||||||
{
|
{
|
||||||
if (!($inline instanceof Strikethrough)) {
|
Strikethrough::assertInstanceOf($node);
|
||||||
throw new \InvalidArgumentException('Incompatible inline type: ' . get_class($inline));
|
|
||||||
}
|
|
||||||
|
|
||||||
return new HtmlElement('s', $inline->getData('attributes', []), $htmlRenderer->renderInlines($inline->children()));
|
return new HtmlElement('s', $node->data->get('attributes'), $childRenderer->renderNodes($node->children()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,8 +4,9 @@ namespace BookStack\Entities\Tools\Markdown;
|
|||||||
|
|
||||||
use BookStack\Facades\Theme;
|
use BookStack\Facades\Theme;
|
||||||
use BookStack\Theming\ThemeEvents;
|
use BookStack\Theming\ThemeEvents;
|
||||||
use League\CommonMark\Block\Element\ListItem;
|
use League\CommonMark\Environment\Environment;
|
||||||
use League\CommonMark\Environment;
|
use League\CommonMark\Extension\CommonMark\CommonMarkCoreExtension;
|
||||||
|
use League\CommonMark\Extension\CommonMark\Node\Block\ListItem;
|
||||||
use League\CommonMark\Extension\Table\TableExtension;
|
use League\CommonMark\Extension\Table\TableExtension;
|
||||||
use League\CommonMark\Extension\TaskList\TaskListExtension;
|
use League\CommonMark\Extension\TaskList\TaskListExtension;
|
||||||
use League\CommonMark\MarkdownConverter;
|
use League\CommonMark\MarkdownConverter;
|
||||||
@ -21,15 +22,16 @@ class MarkdownToHtml
|
|||||||
|
|
||||||
public function convert(): string
|
public function convert(): string
|
||||||
{
|
{
|
||||||
$environment = Environment::createCommonMarkEnvironment();
|
$environment = new Environment();
|
||||||
|
$environment->addExtension(new CommonMarkCoreExtension());
|
||||||
$environment->addExtension(new TableExtension());
|
$environment->addExtension(new TableExtension());
|
||||||
$environment->addExtension(new TaskListExtension());
|
$environment->addExtension(new TaskListExtension());
|
||||||
$environment->addExtension(new CustomStrikeThroughExtension());
|
$environment->addExtension(new CustomStrikeThroughExtension());
|
||||||
$environment = Theme::dispatch(ThemeEvents::COMMONMARK_ENVIRONMENT_CONFIGURE, $environment) ?? $environment;
|
$environment = Theme::dispatch(ThemeEvents::COMMONMARK_ENVIRONMENT_CONFIGURE, $environment) ?? $environment;
|
||||||
$converter = new MarkdownConverter($environment);
|
$converter = new MarkdownConverter($environment);
|
||||||
|
|
||||||
$environment->addBlockRenderer(ListItem::class, new CustomListItemRenderer(), 10);
|
$environment->addRenderer(ListItem::class, new CustomListItemRenderer(), 10);
|
||||||
|
|
||||||
return $converter->convertToHtml($this->markdown);
|
return $converter->convert($this->markdown)->getContent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,25 +2,18 @@
|
|||||||
|
|
||||||
namespace BookStack\Exceptions;
|
namespace BookStack\Exceptions;
|
||||||
|
|
||||||
use Whoops\Handler\Handler;
|
use Illuminate\Contracts\Foundation\ExceptionRenderer;
|
||||||
|
|
||||||
class WhoopsBookStackPrettyHandler extends Handler
|
class BookStackExceptionHandlerPage implements ExceptionRenderer
|
||||||
{
|
{
|
||||||
/**
|
public function render($throwable)
|
||||||
* @return int|null A handler may return nothing, or a Handler::HANDLE_* constant
|
|
||||||
*/
|
|
||||||
public function handle()
|
|
||||||
{
|
{
|
||||||
$exception = $this->getException();
|
return view('errors.debug', [
|
||||||
|
'error' => $throwable->getMessage(),
|
||||||
echo view('errors.debug', [
|
'errorClass' => get_class($throwable),
|
||||||
'error' => $exception->getMessage(),
|
'trace' => $throwable->getTraceAsString(),
|
||||||
'errorClass' => get_class($exception),
|
|
||||||
'trace' => $exception->getTraceAsString(),
|
|
||||||
'environment' => $this->getEnvironment(),
|
'environment' => $this->getEnvironment(),
|
||||||
])->render();
|
])->render();
|
||||||
|
|
||||||
return Handler::QUIT;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function safeReturn(callable $callback, $default = null)
|
protected function safeReturn(callable $callback, $default = null)
|
@ -17,7 +17,7 @@ class Handler extends ExceptionHandler
|
|||||||
/**
|
/**
|
||||||
* A list of the exception types that are not reported.
|
* A list of the exception types that are not reported.
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array<int, class-string<\Throwable>>
|
||||||
*/
|
*/
|
||||||
protected $dontReport = [
|
protected $dontReport = [
|
||||||
NotFoundException::class,
|
NotFoundException::class,
|
||||||
@ -25,9 +25,9 @@ class Handler extends ExceptionHandler
|
|||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of the inputs that are never flashed for validation exceptions.
|
* A list of the inputs that are never flashed to the session on validation exceptions.
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array<int, string>
|
||||||
*/
|
*/
|
||||||
protected $dontFlash = [
|
protected $dontFlash = [
|
||||||
'current_password',
|
'current_password',
|
||||||
@ -98,6 +98,7 @@ class Handler extends ExceptionHandler
|
|||||||
];
|
];
|
||||||
|
|
||||||
if ($e instanceof ValidationException) {
|
if ($e instanceof ValidationException) {
|
||||||
|
$responseData['error']['message'] = 'The given data was invalid.';
|
||||||
$responseData['error']['validation'] = $e->errors();
|
$responseData['error']['validation'] = $e->errors();
|
||||||
$code = $e->status;
|
$code = $e->status;
|
||||||
}
|
}
|
||||||
|
@ -9,10 +9,8 @@ class Request extends LaravelRequest
|
|||||||
/**
|
/**
|
||||||
* Override the default request methods to get the scheme and host
|
* Override the default request methods to get the scheme and host
|
||||||
* to directly use the custom APP_URL, if set.
|
* to directly use the custom APP_URL, if set.
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
*/
|
||||||
public function getSchemeAndHttpHost()
|
public function getSchemeAndHttpHost(): string
|
||||||
{
|
{
|
||||||
$appUrl = config('app.url', null);
|
$appUrl = config('app.url', null);
|
||||||
|
|
||||||
@ -27,10 +25,8 @@ class Request extends LaravelRequest
|
|||||||
* Override the default request methods to get the base URL
|
* Override the default request methods to get the base URL
|
||||||
* to directly use the custom APP_URL, if set.
|
* to directly use the custom APP_URL, if set.
|
||||||
* The base URL never ends with a / but should start with one if not empty.
|
* The base URL never ends with a / but should start with one if not empty.
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
*/
|
||||||
public function getBaseUrl()
|
public function getBaseUrl(): string
|
||||||
{
|
{
|
||||||
$appUrl = config('app.url', null);
|
$appUrl = config('app.url', null);
|
||||||
|
|
||||||
|
@ -8,16 +8,16 @@ use BookStack\Entities\Models\Book;
|
|||||||
use BookStack\Entities\Models\Bookshelf;
|
use BookStack\Entities\Models\Bookshelf;
|
||||||
use BookStack\Entities\Models\Chapter;
|
use BookStack\Entities\Models\Chapter;
|
||||||
use BookStack\Entities\Models\Page;
|
use BookStack\Entities\Models\Page;
|
||||||
use BookStack\Exceptions\WhoopsBookStackPrettyHandler;
|
use BookStack\Exceptions\BookStackExceptionHandlerPage;
|
||||||
use BookStack\Settings\SettingService;
|
use BookStack\Settings\SettingService;
|
||||||
use BookStack\Util\CspService;
|
use BookStack\Util\CspService;
|
||||||
use GuzzleHttp\Client;
|
use GuzzleHttp\Client;
|
||||||
|
use Illuminate\Contracts\Foundation\ExceptionRenderer;
|
||||||
use Illuminate\Database\Eloquent\Relations\Relation;
|
use Illuminate\Database\Eloquent\Relations\Relation;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
use Illuminate\Support\Facades\URL;
|
use Illuminate\Support\Facades\URL;
|
||||||
use Illuminate\Support\ServiceProvider;
|
use Illuminate\Support\ServiceProvider;
|
||||||
use Psr\Http\Client\ClientInterface as HttpClientInterface;
|
use Psr\Http\Client\ClientInterface as HttpClientInterface;
|
||||||
use Whoops\Handler\HandlerInterface;
|
|
||||||
|
|
||||||
class AppServiceProvider extends ServiceProvider
|
class AppServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
@ -26,7 +26,7 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
* @var string[]
|
* @var string[]
|
||||||
*/
|
*/
|
||||||
public $bindings = [
|
public $bindings = [
|
||||||
HandlerInterface::class => WhoopsBookStackPrettyHandler::class,
|
ExceptionRenderer::class => BookStackExceptionHandlerPage::class,
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -24,11 +24,22 @@ class EventServiceProvider extends ServiceProvider
|
|||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register any other events for your application.
|
* Register any events for your application.
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function boot()
|
public function boot()
|
||||||
{
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine if events and listeners should be automatically discovered.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function shouldDiscoverEvents()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ class RouteServiceProvider extends ServiceProvider
|
|||||||
protected function configureRateLimiting()
|
protected function configureRateLimiting()
|
||||||
{
|
{
|
||||||
RateLimiter::for('api', function (Request $request) {
|
RateLimiter::for('api', function (Request $request) {
|
||||||
return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());
|
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,8 +65,8 @@ class ThemeEvents
|
|||||||
* Provides the commonmark library environment for customization before it's used to render markdown content.
|
* Provides the commonmark library environment for customization before it's used to render markdown content.
|
||||||
* If the listener returns a non-null value, that will be used as an environment instead.
|
* If the listener returns a non-null value, that will be used as an environment instead.
|
||||||
*
|
*
|
||||||
* @param \League\CommonMark\ConfigurableEnvironmentInterface $environment
|
* @param \League\CommonMark\Environment\Environment $environment
|
||||||
* @returns \League\CommonMark\ConfigurableEnvironmentInterface|null
|
* @returns \League\CommonMark\Environment\Environment|null
|
||||||
*/
|
*/
|
||||||
const COMMONMARK_ENVIRONMENT_CONFIGURE = 'commonmark_environment_configure';
|
const COMMONMARK_ENVIRONMENT_CONFIGURE = 'commonmark_environment_configure';
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ use Illuminate\Contracts\Filesystem\Filesystem as Storage;
|
|||||||
use Illuminate\Filesystem\FilesystemManager;
|
use Illuminate\Filesystem\FilesystemManager;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use League\Flysystem\Util;
|
use League\Flysystem\WhitespacePathNormalizer;
|
||||||
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
||||||
|
|
||||||
class AttachmentService
|
class AttachmentService
|
||||||
@ -54,7 +54,7 @@ class AttachmentService
|
|||||||
*/
|
*/
|
||||||
protected function adjustPathForStorageDisk(string $path): string
|
protected function adjustPathForStorageDisk(string $path): string
|
||||||
{
|
{
|
||||||
$path = Util::normalizePath(str_replace('uploads/files/', '', $path));
|
$path = (new WhitespacePathNormalizer())->normalizePath(str_replace('uploads/files/', '', $path));
|
||||||
|
|
||||||
if ($this->getStorageDiskName() === 'local_secure_attachments') {
|
if ($this->getStorageDiskName() === 'local_secure_attachments') {
|
||||||
return $path;
|
return $path;
|
||||||
|
@ -20,7 +20,7 @@ use Illuminate\Support\Str;
|
|||||||
use Intervention\Image\Exception\NotSupportedException;
|
use Intervention\Image\Exception\NotSupportedException;
|
||||||
use Intervention\Image\Image as InterventionImage;
|
use Intervention\Image\Image as InterventionImage;
|
||||||
use Intervention\Image\ImageManager;
|
use Intervention\Image\ImageManager;
|
||||||
use League\Flysystem\Util;
|
use League\Flysystem\WhitespacePathNormalizer;
|
||||||
use Psr\SimpleCache\InvalidArgumentException;
|
use Psr\SimpleCache\InvalidArgumentException;
|
||||||
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
||||||
use Symfony\Component\HttpFoundation\StreamedResponse;
|
use Symfony\Component\HttpFoundation\StreamedResponse;
|
||||||
@ -29,10 +29,9 @@ class ImageService
|
|||||||
{
|
{
|
||||||
protected ImageManager $imageTool;
|
protected ImageManager $imageTool;
|
||||||
protected Cache $cache;
|
protected Cache $cache;
|
||||||
protected $storageUrl;
|
|
||||||
protected FilesystemManager $fileSystem;
|
protected FilesystemManager $fileSystem;
|
||||||
|
|
||||||
protected static $supportedExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp'];
|
protected static array $supportedExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp'];
|
||||||
|
|
||||||
public function __construct(ImageManager $imageTool, FilesystemManager $fileSystem, Cache $cache)
|
public function __construct(ImageManager $imageTool, FilesystemManager $fileSystem, Cache $cache)
|
||||||
{
|
{
|
||||||
@ -73,7 +72,7 @@ class ImageService
|
|||||||
*/
|
*/
|
||||||
protected function adjustPathForStorageDisk(string $path, string $imageType = ''): string
|
protected function adjustPathForStorageDisk(string $path, string $imageType = ''): string
|
||||||
{
|
{
|
||||||
$path = Util::normalizePath(str_replace('uploads/images/', '', $path));
|
$path = (new WhitespacePathNormalizer())->normalizePath(str_replace('uploads/images/', '', $path));
|
||||||
|
|
||||||
if ($this->usingSecureImages($imageType)) {
|
if ($this->usingSecureImages($imageType)) {
|
||||||
return $path;
|
return $path;
|
||||||
@ -548,7 +547,7 @@ class ImageService
|
|||||||
// Check the image file exists
|
// Check the image file exists
|
||||||
&& $disk->exists($imagePath)
|
&& $disk->exists($imagePath)
|
||||||
// Check the file is likely an image file
|
// Check the file is likely an image file
|
||||||
&& strpos($disk->getMimetype($imagePath), 'image/') === 0;
|
&& strpos($disk->mimeType($imagePath), 'image/') === 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -661,13 +660,12 @@ class ImageService
|
|||||||
*/
|
*/
|
||||||
private function getPublicUrl(string $filePath): string
|
private function getPublicUrl(string $filePath): string
|
||||||
{
|
{
|
||||||
if (is_null($this->storageUrl)) {
|
|
||||||
$storageUrl = config('filesystems.url');
|
$storageUrl = config('filesystems.url');
|
||||||
|
|
||||||
// Get the standard public s3 url if s3 is set as storage type
|
// Get the standard public s3 url if s3 is set as storage type
|
||||||
// Uses the nice, short URL if bucket name has no periods in otherwise the longer
|
// Uses the nice, short URL if bucket name has no periods in otherwise the longer
|
||||||
// region-based url will be used to prevent http issues.
|
// region-based url will be used to prevent http issues.
|
||||||
if ($storageUrl == false && config('filesystems.images') === 's3') {
|
if (!$storageUrl && config('filesystems.images') === 's3') {
|
||||||
$storageDetails = config('filesystems.disks.s3');
|
$storageDetails = config('filesystems.disks.s3');
|
||||||
if (strpos($storageDetails['bucket'], '.') === false) {
|
if (strpos($storageDetails['bucket'], '.') === false) {
|
||||||
$storageUrl = 'https://' . $storageDetails['bucket'] . '.s3.amazonaws.com';
|
$storageUrl = 'https://' . $storageDetails['bucket'] . '.s3.amazonaws.com';
|
||||||
@ -676,10 +674,7 @@ class ImageService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->storageUrl = $storageUrl;
|
$basePath = $storageUrl ?: url('/');
|
||||||
}
|
|
||||||
|
|
||||||
$basePath = ($this->storageUrl == false) ? url('/') : $this->storageUrl;
|
|
||||||
|
|
||||||
return rtrim($basePath, '/') . $filePath;
|
return rtrim($basePath, '/') . $filePath;
|
||||||
}
|
}
|
||||||
|
@ -130,7 +130,7 @@ class LanguageManager
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
if (!empty($locales)) {
|
if (!empty($locales)) {
|
||||||
setlocale(LC_TIME, ...$locales);
|
setlocale(LC_TIME, $locales[0], ...array_slice($locales, 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "project",
|
"type": "project",
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.4|^8.0",
|
"php": "^8.0.2",
|
||||||
"ext-curl": "*",
|
"ext-curl": "*",
|
||||||
"ext-dom": "*",
|
"ext-dom": "*",
|
||||||
"ext-fileinfo": "*",
|
"ext-fileinfo": "*",
|
||||||
@ -19,36 +19,34 @@
|
|||||||
"bacon/bacon-qr-code": "^2.0",
|
"bacon/bacon-qr-code": "^2.0",
|
||||||
"barryvdh/laravel-dompdf": "^2.0",
|
"barryvdh/laravel-dompdf": "^2.0",
|
||||||
"barryvdh/laravel-snappy": "^1.0",
|
"barryvdh/laravel-snappy": "^1.0",
|
||||||
"doctrine/dbal": "^3.1",
|
"doctrine/dbal": "^3.5",
|
||||||
"filp/whoops": "^2.14",
|
|
||||||
"guzzlehttp/guzzle": "^7.4",
|
"guzzlehttp/guzzle": "^7.4",
|
||||||
"intervention/image": "^2.7",
|
"intervention/image": "^2.7",
|
||||||
"laravel/framework": "^8.68",
|
"laravel/framework": "^9.0",
|
||||||
"laravel/socialite": "^5.2",
|
"laravel/socialite": "^5.2",
|
||||||
"laravel/tinker": "^2.6",
|
"laravel/tinker": "^2.6",
|
||||||
"league/commonmark": "^1.6",
|
"league/commonmark": "^2.3",
|
||||||
"league/flysystem-aws-s3-v3": "^1.0.29",
|
"league/flysystem-aws-s3-v3": "^3.0",
|
||||||
"league/html-to-markdown": "^5.0.0",
|
"league/html-to-markdown": "^5.0.0",
|
||||||
"league/oauth2-client": "^2.6",
|
"league/oauth2-client": "^2.6",
|
||||||
"onelogin/php-saml": "^4.0",
|
"onelogin/php-saml": "^4.0",
|
||||||
"phpseclib/phpseclib": "~3.0",
|
"phpseclib/phpseclib": "^3.0",
|
||||||
"pragmarx/google2fa": "^8.0",
|
"pragmarx/google2fa": "^8.0",
|
||||||
"predis/predis": "^1.1",
|
"predis/predis": "^2.1",
|
||||||
"socialiteproviders/discord": "^4.1",
|
"socialiteproviders/discord": "^4.1",
|
||||||
"socialiteproviders/gitlab": "^4.1",
|
"socialiteproviders/gitlab": "^4.1",
|
||||||
"socialiteproviders/microsoft-azure": "^5.0.1",
|
"socialiteproviders/microsoft-azure": "^5.1",
|
||||||
"socialiteproviders/okta": "^4.1",
|
"socialiteproviders/okta": "^4.2",
|
||||||
"socialiteproviders/slack": "^4.1",
|
"socialiteproviders/slack": "^4.1",
|
||||||
"socialiteproviders/twitch": "^5.3",
|
"socialiteproviders/twitch": "^5.3",
|
||||||
"ssddanbrown/htmldiff": "^1.0.2"
|
"ssddanbrown/htmldiff": "^1.0.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"brianium/paratest": "^6.6",
|
"fakerphp/faker": "^1.21",
|
||||||
"fakerphp/faker": "^1.16",
|
|
||||||
"itsgoingd/clockwork": "^5.1",
|
"itsgoingd/clockwork": "^5.1",
|
||||||
"mockery/mockery": "^1.4",
|
"mockery/mockery": "^1.5",
|
||||||
"nunomaduro/collision": "^5.10",
|
"nunomaduro/collision": "^6.4",
|
||||||
"nunomaduro/larastan": "^1.0",
|
"nunomaduro/larastan": "^2.4",
|
||||||
"phpunit/phpunit": "^9.5",
|
"phpunit/phpunit": "^9.5",
|
||||||
"squizlabs/php_codesniffer": "^3.7",
|
"squizlabs/php_codesniffer": "^3.7",
|
||||||
"ssddanbrown/asserthtml": "^1.0"
|
"ssddanbrown/asserthtml": "^1.0"
|
||||||
@ -73,7 +71,6 @@
|
|||||||
"format": "phpcbf",
|
"format": "phpcbf",
|
||||||
"lint": "phpcs",
|
"lint": "phpcs",
|
||||||
"test": "phpunit",
|
"test": "phpunit",
|
||||||
"t": "@php artisan test --parallel",
|
|
||||||
"t-reset": "@php artisan test --recreate-databases",
|
"t-reset": "@php artisan test --recreate-databases",
|
||||||
"post-autoload-dump": [
|
"post-autoload-dump": [
|
||||||
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
|
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
|
||||||
@ -102,7 +99,7 @@
|
|||||||
"preferred-install": "dist",
|
"preferred-install": "dist",
|
||||||
"sort-packages": true,
|
"sort-packages": true,
|
||||||
"platform": {
|
"platform": {
|
||||||
"php": "7.4.0"
|
"php": "8.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
@ -110,6 +107,6 @@
|
|||||||
"dont-discover": []
|
"dont-discover": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "stable",
|
||||||
"prefer-stable": true
|
"prefer-stable": true
|
||||||
}
|
}
|
||||||
|
3680
composer.lock
generated
3680
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -5,6 +5,6 @@ pull_request_title: Updated translations with latest Crowdin changes
|
|||||||
pull_request_labels:
|
pull_request_labels:
|
||||||
- ":earth_africa: Translations"
|
- ":earth_africa: Translations"
|
||||||
files:
|
files:
|
||||||
- source: /resources/lang/en/*.php
|
- source: /lang/en/*.php
|
||||||
translation: /resources/lang/%two_letters_code%/%original_file_name%
|
translation: /lang/%two_letters_code%/%original_file_name%
|
||||||
type: php
|
type: php
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreateUsersTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -40,4 +40,4 @@ class CreateUsersTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('users');
|
Schema::drop('users');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreatePasswordResetsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -28,4 +28,4 @@ class CreatePasswordResetsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('password_resets');
|
Schema::drop('password_resets');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreateBooksTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -30,4 +30,4 @@ class CreateBooksTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('books');
|
Schema::drop('books');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreatePagesTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -34,4 +34,4 @@ class CreatePagesTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('pages');
|
Schema::drop('pages');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreateImagesTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -29,4 +29,4 @@ class CreateImagesTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('images');
|
Schema::drop('images');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreateChaptersTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -32,4 +32,4 @@ class CreateChaptersTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('chapters');
|
Schema::drop('chapters');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddUsersToEntities extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -54,4 +54,4 @@ class AddUsersToEntities extends Migration
|
|||||||
$table->dropColumn('updated_by');
|
$table->dropColumn('updated_by');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreatePageRevisionsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -32,4 +32,4 @@ class CreatePageRevisionsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('page_revisions');
|
Schema::drop('page_revisions');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreateActivitiesTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -33,4 +33,4 @@ class CreateActivitiesTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('activities');
|
Schema::drop('activities');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Illuminate\Database\Migrations\Migration;
|
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Much of this code has been taken from entrust,
|
* Much of this code has been taken from entrust,
|
||||||
* a role & permission management solution for Laravel.
|
* a role & permission management solution for Laravel.
|
||||||
@ -12,7 +9,11 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
* @license MIT
|
* @license MIT
|
||||||
* @url https://github.com/Zizaco/entrust
|
* @url https://github.com/Zizaco/entrust
|
||||||
*/
|
*/
|
||||||
class AddRolesAndPermissions extends Migration
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -147,4 +148,4 @@ class AddRolesAndPermissions extends Migration
|
|||||||
Schema::drop('role_user');
|
Schema::drop('role_user');
|
||||||
Schema::drop('roles');
|
Schema::drop('roles');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreateSettingsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -28,4 +28,4 @@ class CreateSettingsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('settings');
|
Schema::drop('settings');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddSearchIndexes extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -51,4 +51,4 @@ class AddSearchIndexes extends Migration
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreateSocialAccountsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -31,4 +31,4 @@ class CreateSocialAccountsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('social_accounts');
|
Schema::drop('social_accounts');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddEmailConfirmationTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -36,4 +36,4 @@ class AddEmailConfirmationTable extends Migration
|
|||||||
});
|
});
|
||||||
Schema::drop('email_confirmations');
|
Schema::drop('email_confirmations');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreateViewsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -31,4 +31,4 @@ class CreateViewsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('views');
|
Schema::drop('views');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddEntityIndexes extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -86,4 +86,4 @@ class AddEntityIndexes extends Migration
|
|||||||
$table->dropIndex('views_viewable_id_index');
|
$table->dropIndex('views_viewable_id_index');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class FulltextWeighting extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -51,4 +51,4 @@ class FulltextWeighting extends Migration
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use BookStack\Uploads\Image;
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddImageUploadTypes extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -37,4 +37,4 @@ class AddImageUploadTypes extends Migration
|
|||||||
$table->dropColumn('path');
|
$table->dropColumn('path');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddUserAvatars extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -28,4 +28,4 @@ class AddUserAvatars extends Migration
|
|||||||
$table->dropColumn('image_id');
|
$table->dropColumn('image_id');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddExternalAuthToUsers extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -28,4 +28,4 @@ class AddExternalAuthToUsers extends Migration
|
|||||||
$table->dropColumn('external_auth_id');
|
$table->dropColumn('external_auth_id');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddSlugToRevisions extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -32,4 +32,4 @@ class AddSlugToRevisions extends Migration
|
|||||||
$table->dropColumn('book_slug');
|
$table->dropColumn('book_slug');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
class UpdatePermissionsAndRoles extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -113,4 +113,4 @@ class UpdatePermissionsAndRoles extends Migration
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddEntityAccessControls extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -69,4 +69,4 @@ class AddEntityAccessControls extends Migration
|
|||||||
|
|
||||||
Schema::drop('restrictions');
|
Schema::drop('restrictions');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddPageRevisionTypes extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -29,4 +29,4 @@ class AddPageRevisionTypes extends Migration
|
|||||||
$table->dropColumn('type');
|
$table->dropColumn('type');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddPageDrafts extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -29,4 +29,4 @@ class AddPageDrafts extends Migration
|
|||||||
$table->dropColumn('draft');
|
$table->dropColumn('draft');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class AddMarkdownSupport extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -36,4 +36,4 @@ class AddMarkdownSupport extends Migration
|
|||||||
$table->dropColumn('markdown');
|
$table->dropColumn('markdown');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
class AddViewPermissionsToRoles extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -54,4 +54,4 @@ class AddViewPermissionsToRoles extends Migration
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
class CreateJointPermissionsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -97,4 +97,4 @@ class CreateJointPermissionsTable extends Migration
|
|||||||
$table->dropColumn('hidden');
|
$table->dropColumn('hidden');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
|
||||||
class CreateTagsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -37,4 +37,4 @@ class CreateTagsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::drop('tags');
|
Schema::drop('tags');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
class AddSummaryToPageRevisions extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -27,4 +27,4 @@ class AddSummaryToPageRevisions extends Migration
|
|||||||
$table->dropColumn('summary');
|
$table->dropColumn('summary');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class RemoveHiddenRoles extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -63,4 +63,4 @@ class RemoveHiddenRoles extends Migration
|
|||||||
|
|
||||||
DB::table('roles')->where('system_name', '=', 'public')->update(['hidden' => true]);
|
DB::table('roles')->where('system_name', '=', 'public')->update(['hidden' => true]);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateAttachmentsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -67,4 +67,4 @@ class CreateAttachmentsTable extends Migration
|
|||||||
DB::table('role_permissions')->where('name', '=', $permName)->delete();
|
DB::table('role_permissions')->where('name', '=', $permName)->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateCacheTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -29,4 +29,4 @@ class CreateCacheTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::dropIfExists('cache');
|
Schema::dropIfExists('cache');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateSessionsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -32,4 +32,4 @@ class CreateSessionsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::dropIfExists('sessions');
|
Schema::dropIfExists('sessions');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateSearchIndexTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -73,4 +73,4 @@ class CreateSearchIndexTable extends Migration
|
|||||||
|
|
||||||
Schema::dropIfExists('search_terms');
|
Schema::dropIfExists('search_terms');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddRevisionCounts extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -41,4 +41,4 @@ class AddRevisionCounts extends Migration
|
|||||||
$table->dropColumn('revision_number');
|
$table->dropColumn('revision_number');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
class UpdateDbEncodingToUt8mb4 extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -25,4 +25,4 @@ class UpdateDbEncodingToUt8mb4 extends Migration
|
|||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateCommentsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -64,4 +64,4 @@ class CreateCommentsTable extends Migration
|
|||||||
DB::table('role_permissions')->where('name', '=', $permName)->delete();
|
DB::table('role_permissions')->where('name', '=', $permName)->delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddCoverImageDisplay extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -29,4 +29,4 @@ class AddCoverImageDisplay extends Migration
|
|||||||
$table->dropColumn('image_id');
|
$table->dropColumn('image_id');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddRoleExternalAuthId extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -30,4 +30,4 @@ class AddRoleExternalAuthId extends Migration
|
|||||||
$table->dropColumn('external_auth_id');
|
$table->dropColumn('external_auth_id');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -5,7 +5,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateBookshelvesTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -128,4 +128,4 @@ class CreateBookshelvesTable extends Migration
|
|||||||
DB::table('search_terms')->where('entity_type', '=', 'BookStack\Entities\Models\Bookshelf')->delete();
|
DB::table('search_terms')->where('entity_type', '=', 'BookStack\Entities\Models\Bookshelf')->delete();
|
||||||
DB::table('comments')->where('entity_type', '=', 'BookStack\Entities\Models\Bookshelf')->delete();
|
DB::table('comments')->where('entity_type', '=', 'BookStack\Entities\Models\Bookshelf')->delete();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -5,7 +5,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddTemplateSupport extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -51,4 +51,4 @@ class AddTemplateSupport extends Migration
|
|||||||
DB::table('permission_role')->where('permission_id', '=', $templatesManagePermission->id)->delete();
|
DB::table('permission_role')->where('permission_id', '=', $templatesManagePermission->id)->delete();
|
||||||
DB::table('role_permissions')->where('name', '=', 'templates-manage')->delete();
|
DB::table('role_permissions')->where('name', '=', 'templates-manage')->delete();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddUserInvitesTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -30,4 +30,4 @@ class AddUserInvitesTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::dropIfExists('user_invites');
|
Schema::dropIfExists('user_invites');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -5,7 +5,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Carbon;
|
use Illuminate\Support\Carbon;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddApiAuth extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -57,4 +57,4 @@ class AddApiAuth extends Migration
|
|||||||
DB::table('permission_role')->where('permission_id', '=', $apiAccessPermission->id)->delete();
|
DB::table('permission_role')->where('permission_id', '=', $apiAccessPermission->id)->delete();
|
||||||
DB::table('role_permissions')->where('name', '=', 'access-api')->delete();
|
DB::table('role_permissions')->where('name', '=', 'access-api')->delete();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class DropJointPermissionsId extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -34,4 +34,4 @@ class DropJointPermissionsId extends Migration
|
|||||||
$table->increments('id')->unsigned();
|
$table->increments('id')->unsigned();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -5,7 +5,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class RemoveRoleNameField extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -34,4 +34,4 @@ class RemoveRoleNameField extends Migration
|
|||||||
'name' => DB::raw("lower(replace(`display_name`, ' ', '-'))"),
|
'name' => DB::raw("lower(replace(`display_name`, ' ', '-'))"),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddActivityIndexes extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -31,4 +31,4 @@ class AddActivityIndexes extends Migration
|
|||||||
$table->dropIndex('activities_created_at_index');
|
$table->dropIndex('activities_created_at_index');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddEntitySoftDeletes extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -47,4 +47,4 @@ class AddEntitySoftDeletes extends Migration
|
|||||||
$table->dropSoftDeletes();
|
$table->dropSoftDeletes();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateDeletionsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -35,4 +35,4 @@ class CreateDeletionsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::dropIfExists('deletions');
|
Schema::dropIfExists('deletions');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -5,7 +5,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class SimplifyActivitiesTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -55,4 +55,4 @@ class SimplifyActivitiesTable extends Migration
|
|||||||
$table->index('book_id');
|
$table->index('book_id');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -5,7 +5,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddOwnedByFieldToEntities extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -46,4 +46,4 @@ class AddOwnedByFieldToEntities extends Migration
|
|||||||
$table->renameColumn('owned_by', 'created_by');
|
$table->renameColumn('owned_by', 'created_by');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddSettingsTypeColumn extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -29,4 +29,4 @@ class AddSettingsTypeColumn extends Migration
|
|||||||
$table->dropColumn('type');
|
$table->dropColumn('type');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -5,7 +5,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
class AddUserSlug extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -47,4 +47,4 @@ class AddUserSlug extends Migration
|
|||||||
$table->dropColumn('slug');
|
$table->dropColumn('slug');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateFavouritesTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -33,4 +33,4 @@ class CreateFavouritesTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::dropIfExists('favourites');
|
Schema::dropIfExists('favourites');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateMfaValuesTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -31,4 +31,4 @@ class CreateMfaValuesTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::dropIfExists('mfa_values');
|
Schema::dropIfExists('mfa_values');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddMfaEnforcedToRolesTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -29,4 +29,4 @@ class AddMfaEnforcedToRolesTable extends Migration
|
|||||||
$table->dropColumn('mfa_enforced');
|
$table->dropColumn('mfa_enforced');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Carbon\Carbon;
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class AddExportRolePermission extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -46,4 +46,4 @@ class AddExportRolePermission extends Migration
|
|||||||
DB::table('permission_role')->where('permission_id', '=', $contentExportPermission->id)->delete();
|
DB::table('permission_role')->where('permission_id', '=', $contentExportPermission->id)->delete();
|
||||||
DB::table('role_permissions')->where('id', '=', 'content-export')->delete();
|
DB::table('role_permissions')->where('id', '=', 'content-export')->delete();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddActivitiesIpColumn extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -29,4 +29,4 @@ class AddActivitiesIpColumn extends Migration
|
|||||||
$table->dropColumn('ip');
|
$table->dropColumn('ip');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddIndexForUserIp extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -29,4 +29,4 @@ class AddIndexForUserIp extends Migration
|
|||||||
$table->dropIndex('activities_ip_index');
|
$table->dropIndex('activities_ip_index');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateWebhooksTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -45,4 +45,4 @@ class CreateWebhooksTable extends Migration
|
|||||||
Schema::dropIfExists('webhooks');
|
Schema::dropIfExists('webhooks');
|
||||||
Schema::dropIfExists('webhook_tracked_events');
|
Schema::dropIfExists('webhook_tracked_events');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateJobsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -33,4 +33,4 @@ class CreateJobsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::dropIfExists('jobs');
|
Schema::dropIfExists('jobs');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateFailedJobsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -33,4 +33,4 @@ class CreateFailedJobsTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::dropIfExists('failed_jobs');
|
Schema::dropIfExists('failed_jobs');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddWebhooksTimeoutErrorColumns extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -35,4 +35,4 @@ class AddWebhooksTimeoutErrorColumns extends Migration
|
|||||||
$table->dropColumn('last_errored_at');
|
$table->dropColumn('last_errored_at');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -6,7 +6,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class AddEditorChangeFieldAndPermission extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -59,4 +59,4 @@ class AddEditorChangeFieldAndPermission extends Migration
|
|||||||
// Remove traces of the role permission
|
// Remove traces of the role permission
|
||||||
DB::table('role_permissions')->where('name', '=', 'editor-change')->delete();
|
DB::table('role_permissions')->where('name', '=', 'editor-change')->delete();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class UpdatePolymorphicTypes extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Mapping of old polymorphic types to new simpler values.
|
* Mapping of old polymorphic types to new simpler values.
|
||||||
@ -61,4 +61,4 @@ class UpdatePolymorphicTypes extends Migration
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -5,7 +5,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class DropJointPermissionType extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -38,4 +38,4 @@ class DropJointPermissionType extends Migration
|
|||||||
$table->primary(['role_id', 'entity_type', 'entity_id', 'action']);
|
$table->primary(['role_id', 'entity_type', 'entity_id', 'action']);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -4,7 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class CreateReferencesTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -31,4 +31,4 @@ class CreateReferencesTable extends Migration
|
|||||||
{
|
{
|
||||||
Schema::dropIfExists('references');
|
Schema::dropIfExists('references');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class FixShelfCoverImageTypes extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -41,4 +41,4 @@ class FixShelfCoverImageTypes extends Migration
|
|||||||
->where('type', '=', 'cover_bookshelf')
|
->where('type', '=', 'cover_bookshelf')
|
||||||
->update(['type' => 'cover_book']);
|
->update(['type' => 'cover_book']);
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -6,7 +6,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class FlattenEntityPermissionsTable extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -102,4 +102,4 @@ class FlattenEntityPermissionsTable extends Migration
|
|||||||
Schema::dropIfExists('entity_permissions');
|
Schema::dropIfExists('entity_permissions');
|
||||||
Schema::rename('old_entity_permissions', 'entity_permissions');
|
Schema::rename('old_entity_permissions', 'entity_permissions');
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -7,7 +7,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class DropEntityRestrictedField extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -90,4 +90,4 @@ class DropEntityRestrictedField extends Migration
|
|||||||
// Delete default entity permissions
|
// Delete default entity permissions
|
||||||
DB::table('entity_permissions')->where('role_id', '=', 0)->delete();
|
DB::table('entity_permissions')->where('role_id', '=', 0)->delete();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -6,7 +6,7 @@ use Illuminate\Database\Schema\Blueprint;
|
|||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
class RefactorJointPermissionsStorage extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -49,4 +49,4 @@ class RefactorJointPermissionsStorage extends Migration
|
|||||||
$table->unsignedInteger('owned_by')->index();
|
$table->unsignedInteger('owned_by')->index();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
use Illuminate\Database\Migrations\Migration;
|
use Illuminate\Database\Migrations\Migration;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class CopyColorSettingsForDarkMode extends Migration
|
return new class extends Migration
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
@ -66,4 +66,4 @@ class CopyColorSettingsForDarkMode extends Migration
|
|||||||
->whereIn('setting_key', $colorSettings)
|
->whereIn('setting_key', $colorSettings)
|
||||||
->delete();
|
->delete();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user