1
0
mirror of https://github.com/flarum/core.git synced 2025-08-08 17:36:38 +02:00

chore: rename package-manager to extension-manager

This commit is contained in:
Sami Mazouz
2024-01-10 15:56:32 +01:00
parent 8205ae5bf5
commit 207032f6ff
115 changed files with 586 additions and 493 deletions

View File

@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) Sami Mazouz
Copyright (c) 2024 Stichting Flarum (Flarum Foundation)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,6 +1,6 @@
# Package Manager
# Extension Manager
The package manager is a tool that allows you to easily install and manage extensions. It runs [composer](https://getcomposer.org/) under the hood.
The extension manager is a tool that allows you to easily install and manage extensions. It runs [composer](https://getcomposer.org/) under the hood.
## Security
@@ -10,9 +10,9 @@ This extension is optional and can be removed for those who prefer to manually m
## Troubleshooting
If you have many extensions installed, you may run into memory issues when using the package manager. If this happens, you can use an asynchronous queue that will run the package manager in the background.
If you have many extensions installed, you may run into memory issues when using the extension manager. If this happens, you can use an asynchronous queue that will run the extension manager in the background.
* Simple database queue guide: https://discuss.flarum.org/d/28151-database-queue-the-simplest-queue-even-for-shared-hosting
* (Advanced) Redis queue: https://discuss.flarum.org/d/21873-redis-sessions-cache-queues
You can find detailed logs on the package manager operations in the `storage/logs/composer` directory. Please include the latest log file when reporting issues in the [Flarum support forum](https://discuss.flarum.org/t/support).
You can find detailed logs on the extension manager operations in the `storage/logs/composer` directory. Please include the latest log file when reporting issues in the [Flarum support forum](https://discuss.flarum.org/t/support).

View File

@@ -1,6 +1,6 @@
{
"name": "flarum/package-manager",
"description": "A Flarum Package Manager.",
"name": "flarum/extension-manager",
"description": "An extension manager to install, update and remove extension packages from the interface (Wrapper around composer).",
"keywords": [
"extensions",
"composer",
@@ -18,8 +18,8 @@
}
],
"support": {
"issues": "https://github.com/flarum/package-manager/issues",
"source": "https://github.com/flarum/package-manager"
"issues": "https://github.com/flarum/framework/issues",
"source": "https://github.com/flarum/extension-manager"
},
"require": {
"flarum/core": "^1.8",
@@ -31,7 +31,7 @@
},
"extra": {
"flarum-extension": {
"title": "Package Manager",
"title": "Extension Manager",
"icon": {
"name": "fas fa-box-open",
"backgroundColor": "#117187",
@@ -69,12 +69,12 @@
},
"autoload": {
"psr-4": {
"Flarum\\PackageManager\\": "src/"
"Flarum\\ExtensionManager\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Flarum\\PackageManager\\Tests\\": "tests/"
"Flarum\\ExtensionManager\\Tests\\": "tests/"
}
},
"scripts": {

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager;
namespace Flarum\ExtensionManager;
use Flarum\Extend;
use Flarum\Foundation\Paths;
@@ -17,16 +17,16 @@ use Illuminate\Queue\SyncQueue;
return [
(new Extend\Routes('api'))
->post('/package-manager/extensions', 'package-manager.extensions.require', Api\Controller\RequireExtensionController::class)
->patch('/package-manager/extensions/{id}', 'package-manager.extensions.update', Api\Controller\UpdateExtensionController::class)
->delete('/package-manager/extensions/{id}', 'package-manager.extensions.remove', Api\Controller\RemoveExtensionController::class)
->post('/package-manager/check-for-updates', 'package-manager.check-for-updates', Api\Controller\CheckForUpdatesController::class)
->post('/package-manager/why-not', 'package-manager.why-not', Api\Controller\WhyNotController::class)
->post('/package-manager/minor-update', 'package-manager.minor-update', Api\Controller\MinorUpdateController::class)
->post('/package-manager/major-update', 'package-manager.major-update', Api\Controller\MajorUpdateController::class)
->post('/package-manager/global-update', 'package-manager.global-update', Api\Controller\GlobalUpdateController::class)
->get('/package-manager-tasks', 'package-manager.tasks.index', Api\Controller\ListTasksController::class)
->post('/package-manager/composer', 'package-manager.composer', Api\Controller\ConfigureComposerController::class),
->post('/extension-manager/extensions', 'extension-manager.extensions.require', Api\Controller\RequireExtensionController::class)
->patch('/extension-manager/extensions/{id}', 'extension-manager.extensions.update', Api\Controller\UpdateExtensionController::class)
->delete('/extension-manager/extensions/{id}', 'extension-manager.extensions.remove', Api\Controller\RemoveExtensionController::class)
->post('/extension-manager/check-for-updates', 'extension-manager.check-for-updates', Api\Controller\CheckForUpdatesController::class)
->post('/extension-manager/why-not', 'extension-manager.why-not', Api\Controller\WhyNotController::class)
->post('/extension-manager/minor-update', 'extension-manager.minor-update', Api\Controller\MinorUpdateController::class)
->post('/extension-manager/major-update', 'extension-manager.major-update', Api\Controller\MajorUpdateController::class)
->post('/extension-manager/global-update', 'extension-manager.global-update', Api\Controller\GlobalUpdateController::class)
->get('/extension-manager-tasks', 'extension-manager.tasks.index', Api\Controller\ListTasksController::class)
->post('/extension-manager/composer', 'extension-manager.composer', Api\Controller\ConfigureComposerController::class),
(new Extend\Frontend('admin'))
->css(__DIR__.'/less/admin.less')
@@ -34,13 +34,13 @@ return [
->content(function (Document $document) {
$paths = resolve(Paths::class);
$document->payload['flarum-package-manager.writable_dirs'] = is_writable($paths->vendor)
$document->payload['flarum-extension-manager.writable_dirs'] = is_writable($paths->vendor)
&& is_writable($paths->storage)
&& (! file_exists($paths->storage.'/.composer') || is_writable($paths->storage.'/.composer'))
&& is_writable($paths->base.'/composer.json')
&& is_writable($paths->base.'/composer.lock');
$document->payload['flarum-package-manager.using_sync_queue'] = resolve(Queue::class) instanceof SyncQueue;
$document->payload['flarum-extension-manager.using_sync_queue'] = resolve(Queue::class) instanceof SyncQueue;
}),
new Extend\Locales(__DIR__.'/locale'),
@@ -48,12 +48,12 @@ return [
(new Extend\Settings())
->default(Settings\LastUpdateCheck::key(), json_encode(Settings\LastUpdateCheck::default()))
->default(Settings\LastUpdateRun::key(), json_encode(Settings\LastUpdateRun::default()))
->default('flarum-package-manager.queue_jobs', false)
->default('flarum-package-manager.minimum_stability', 'stable')
->default('flarum-package-manager.task_retention_days', 7),
->default('flarum-extension-manager.queue_jobs', '0')
->default('flarum-extension-manager.minimum_stability', 'stable')
->default('flarum-extension-manager.task_retention_days', 7),
(new Extend\ServiceProvider)
->register(PackageManagerServiceProvider::class),
->register(ExtensionManagerServiceProvider::class),
(new Extend\ErrorHandling)
->handler(Exception\ComposerCommandFailedException::class, Exception\ExceptionHandler::class)

View File

@@ -47,6 +47,7 @@ export default class ControlSectionState {
get lastUpdateRun(): LastUpdateRun;
constructor();
isLoading(name?: LoadingTypes): boolean;
hasOperationRunning(): boolean;
setLoading(name: LoadingTypes): void;
requirePackage(data: any): void;
checkForUpdates(): void;

View File

@@ -1,6 +1,6 @@
import QueueState from './QueueState';
import ControlSectionState from './ControlSectionState';
export default class PackageManagerState {
export default class ExtensionManagerState {
queue: QueueState;
control: ControlSectionState;
}

View File

@@ -15,4 +15,5 @@ export default class QueueState {
prev(): void;
next(): void;
pollQueue(actionTaken?: boolean): void;
hasPending(): boolean;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
{
"name": "@flarum/package-manager",
"name": "@flarum/extension-manager",
"version": "0.0.0",
"private": true,
"prettier": "@flarum/prettier-config",

View File

@@ -32,40 +32,40 @@ export default class AuthMethodModal<CustomAttrs extends IAuthMethodModalAttrs =
title(): Mithril.Children {
const context = this.attrs.host ? 'edit' : 'add';
return app.translator.trans(`flarum-package-manager.admin.auth_config.${context}_label`);
return app.translator.trans(`flarum-extension-manager.admin.auth_config.${context}_label`);
}
content(): Mithril.Children {
const types = {
'github-oauth': app.translator.trans('flarum-package-manager.admin.auth_config.types.github-oauth'),
'gitlab-oauth': app.translator.trans('flarum-package-manager.admin.auth_config.types.gitlab-oauth'),
'gitlab-token': app.translator.trans('flarum-package-manager.admin.auth_config.types.gitlab-token'),
bearer: app.translator.trans('flarum-package-manager.admin.auth_config.types.bearer'),
'github-oauth': app.translator.trans('flarum-extension-manager.admin.auth_config.types.github-oauth'),
'gitlab-oauth': app.translator.trans('flarum-extension-manager.admin.auth_config.types.gitlab-oauth'),
'gitlab-token': app.translator.trans('flarum-extension-manager.admin.auth_config.types.gitlab-token'),
bearer: app.translator.trans('flarum-extension-manager.admin.auth_config.types.bearer'),
};
return (
<div className="Modal-body">
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.auth_config.add_modal.type_label')}</label>
<label>{app.translator.trans('flarum-extension-manager.admin.auth_config.add_modal.type_label')}</label>
<Select options={types} value={this.type()} onchange={this.type} />
</div>
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.auth_config.add_modal.host_label')}</label>
<label>{app.translator.trans('flarum-extension-manager.admin.auth_config.add_modal.host_label')}</label>
<input
className="FormControl"
bidi={this.host}
placeholder={app.translator.trans('flarum-package-manager.admin.auth_config.add_modal.host_placeholder')}
placeholder={app.translator.trans('flarum-extension-manager.admin.auth_config.add_modal.host_placeholder')}
/>
</div>
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.auth_config.add_modal.token_label')}</label>
<label>{app.translator.trans('flarum-extension-manager.admin.auth_config.add_modal.token_label')}</label>
<textarea
className="FormControl"
oninput={(e: InputEvent) => this.token((e.target as HTMLTextAreaElement).value)}
rows="6"
placeholder={
this.token().startsWith('unchanged:')
? extractText(app.translator.trans('flarum-package-manager.admin.auth_config.add_modal.unchanged_token_placeholder'))
? extractText(app.translator.trans('flarum-extension-manager.admin.auth_config.add_modal.unchanged_token_placeholder'))
: ''
}
>
@@ -74,7 +74,7 @@ export default class AuthMethodModal<CustomAttrs extends IAuthMethodModalAttrs =
</div>
<div className="Form-group">
<Button className="Button Button--primary" onclick={this.submit.bind(this)}>
{app.translator.trans('flarum-package-manager.admin.auth_config.add_modal.submit_button')}
{app.translator.trans('flarum-extension-manager.admin.auth_config.add_modal.submit_button')}
</Button>
</div>
</div>

View File

@@ -9,7 +9,7 @@ export default class ConfigureAuth extends ConfigureJson<IConfigureJson> {
protected type = 'auth';
title(): Mithril.Children {
return app.translator.trans('flarum-package-manager.admin.auth_config.title');
return app.translator.trans('flarum-extension-manager.admin.auth_config.title');
}
className(): string {
@@ -27,14 +27,14 @@ export default class ConfigureAuth extends ConfigureJson<IConfigureJson> {
});
return (
<div className="SettingsGroups-content">
<div className="ExtensionManager-SettingsGroups-content">
{hasAuthSettings ? (
authSettings.map((type) => {
const hosts = this.settings[type]();
return (
<div className="Form-group">
<label>{app.translator.trans(`flarum-package-manager.admin.auth_config.types.${type}`)}</label>
<label>{app.translator.trans(`flarum-extension-manager.admin.auth_config.types.${type}`)}</label>
<div className="ConfigureAuth-hosts">
{Object.keys(hosts).map((host) => {
const data = hosts[host] as string | Record<string, string>;
@@ -58,9 +58,9 @@ export default class ConfigureAuth extends ConfigureJson<IConfigureJson> {
<Button
className="Button Button--icon"
icon="fas fa-trash"
aria-label={app.translator.trans('flarum-package-manager.admin.auth_config.delete_label')}
aria-label={app.translator.trans('flarum-extension-manager.admin.auth_config.delete_label')}
onclick={() => {
if (confirm(extractText(app.translator.trans('flarum-package-manager.admin.auth_config.delete_confirmation')))) {
if (confirm(extractText(app.translator.trans('flarum-extension-manager.admin.auth_config.delete_confirmation')))) {
const newType = { ...this.setting(type)() };
delete newType[host];
@@ -80,7 +80,7 @@ export default class ConfigureAuth extends ConfigureJson<IConfigureJson> {
);
})
) : (
<span className="helpText">{app.translator.trans('flarum-package-manager.admin.auth_config.no_auth_methods_configured')}</span>
<span className="helpText">{app.translator.trans('flarum-extension-manager.admin.auth_config.no_auth_methods_configured')}</span>
)}
</div>
);
@@ -99,7 +99,7 @@ export default class ConfigureAuth extends ConfigureJson<IConfigureJson> {
})
}
>
{app.translator.trans('flarum-package-manager.admin.auth_config.add_label')}
{app.translator.trans('flarum-extension-manager.admin.auth_config.add_label')}
</Button>
);

View File

@@ -14,7 +14,7 @@ export default class ConfigureComposer extends ConfigureJson<IConfigureJson> {
protected type = 'composer';
title(): Mithril.Children {
return app.translator.trans('flarum-package-manager.admin.composer.title');
return app.translator.trans('flarum-extension-manager.admin.composer.title');
}
className(): string {
@@ -23,23 +23,23 @@ export default class ConfigureComposer extends ConfigureJson<IConfigureJson> {
content(): Mithril.Children {
return (
<div className="SettingsGroups-content">
<div className="ExtensionManager-SettingsGroups-content">
{this.attrs.buildSettingComponent.call(this, {
setting: 'minimum-stability',
label: app.translator.trans('flarum-package-manager.admin.composer.minimum_stability.label'),
help: app.translator.trans('flarum-package-manager.admin.composer.minimum_stability.help'),
label: app.translator.trans('flarum-extension-manager.admin.composer.minimum_stability.label'),
help: app.translator.trans('flarum-extension-manager.admin.composer.minimum_stability.help'),
type: 'select',
options: {
stable: app.translator.trans('flarum-package-manager.admin.composer.minimum_stability.options.stable'),
RC: app.translator.trans('flarum-package-manager.admin.composer.minimum_stability.options.rc'),
beta: app.translator.trans('flarum-package-manager.admin.composer.minimum_stability.options.beta'),
alpha: app.translator.trans('flarum-package-manager.admin.composer.minimum_stability.options.alpha'),
dev: app.translator.trans('flarum-package-manager.admin.composer.minimum_stability.options.dev'),
stable: app.translator.trans('flarum-extension-manager.admin.composer.minimum_stability.options.stable'),
RC: app.translator.trans('flarum-extension-manager.admin.composer.minimum_stability.options.rc'),
beta: app.translator.trans('flarum-extension-manager.admin.composer.minimum_stability.options.beta'),
alpha: app.translator.trans('flarum-extension-manager.admin.composer.minimum_stability.options.alpha'),
dev: app.translator.trans('flarum-extension-manager.admin.composer.minimum_stability.options.dev'),
},
})}
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.composer.repositories.label')}</label>
<div className="helpText">{app.translator.trans('flarum-package-manager.admin.composer.repositories.help')}</div>
<label>{app.translator.trans('flarum-extension-manager.admin.composer.repositories.label')}</label>
<div className="helpText">{app.translator.trans('flarum-extension-manager.admin.composer.repositories.help')}</div>
<div className="ConfigureComposer-repositories">
{Object.keys(this.setting('repositories')() || {}).map((name) => {
const repository = this.setting('repositories')()[name] as Repository;
@@ -75,9 +75,9 @@ export default class ConfigureComposer extends ConfigureJson<IConfigureJson> {
<Button
className="Button Button--icon"
icon="fas fa-trash"
aria-label={app.translator.trans('flarum-package-manager.admin.composer.delete_repository_label')}
aria-label={app.translator.trans('flarum-extension-manager.admin.composer.delete_repository_label')}
onclick={() => {
if (confirm(extractText(app.translator.trans('flarum-package-manager.admin.composer.delete_repository_confirmation')))) {
if (confirm(extractText(app.translator.trans('flarum-extension-manager.admin.composer.delete_repository_confirmation')))) {
const repositories = { ...this.setting('repositories')() };
delete repositories[name];
@@ -99,7 +99,7 @@ export default class ConfigureComposer extends ConfigureJson<IConfigureJson> {
items.push(
<Button className="Button" onclick={() => app.modal.show(RepositoryModal, { onsubmit: this.onchange.bind(this) })}>
{app.translator.trans('flarum-package-manager.admin.composer.add_repository_label')}
{app.translator.trans('flarum-extension-manager.admin.composer.add_repository_label')}
</Button>
);

View File

@@ -69,7 +69,7 @@ export default abstract class ConfigureJson<CustomAttrs extends IConfigureJson =
app
.request({
method: 'POST',
url: app.forum.attribute('apiUrl') + '/package-manager/composer',
url: app.forum.attribute('apiUrl') + '/extension-manager/composer',
body: {
type: this.type,
data: readOnly ? null : configuration,

View File

@@ -14,14 +14,14 @@ export default class ControlSection extends Component<ComponentAttrs> {
view() {
return (
<div className="ExtensionPage-permissions PackageManager-controlSection">
<div className="ExtensionPage-permissions ExtensionManager-controlSection">
<div className="ExtensionPage-permissions-header">
<div className="container">
<h2 className="ExtensionTitle">{app.translator.trans('flarum-package-manager.admin.sections.control.title')}</h2>
<h2 className="ExtensionTitle">{app.translator.trans('flarum-extension-manager.admin.sections.control.title')}</h2>
</div>
</div>
<div className="container">
{app.data['flarum-package-manager.writable_dirs'] ? (
{app.data['flarum-extension-manager.writable_dirs'] ? (
<>
<Installer />
<Updater />
@@ -29,7 +29,7 @@ export default class ControlSection extends Component<ComponentAttrs> {
) : (
<div className="Form-group">
<Alert type="warning" dismissible={false}>
{app.translator.trans('flarum-package-manager.admin.file_permissions')}
{app.translator.trans('flarum-extension-manager.admin.file_permissions')}
</Alert>
</div>
)}

View File

@@ -35,56 +35,56 @@ export default class ExtensionItem<Attrs extends ExtensionItemAttrs = ExtensionI
return (
<div
className={classList({
'PackageManager-extension': true,
'PackageManager-extension--core': isCore,
'PackageManager-extension--danger': isDanger,
'ExtensionManager-extension': true,
'ExtensionManager-extension--core': isCore,
'ExtensionManager-extension--danger': isDanger,
})}
>
<div className="PackageManager-extension-icon ExtensionIcon" style={extension.icon}>
<div className="ExtensionManager-extension-icon ExtensionIcon" style={extension.icon}>
{extension.icon ? icon(extension.icon.name) : ''}
</div>
<div className="PackageManager-extension-info">
<div className="PackageManager-extension-name">{extension.extra['flarum-extension'].title}</div>
<div className="PackageManager-extension-version">
<span className="PackageManager-extension-version-current">{this.version(updates['version'])}</span>
<div className="ExtensionManager-extension-info">
<div className="ExtensionManager-extension-name">{extension.extra['flarum-extension'].title}</div>
<div className="ExtensionManager-extension-version">
<span className="ExtensionManager-extension-version-current">{this.version(updates['version'])}</span>
{latestVersion ? (
<Label className="PackageManager-extension-version-latest" type={updates['latest-minor'] ? 'success' : 'warning'}>
<Label className="ExtensionManager-extension-version-latest" type={updates['latest-minor'] ? 'success' : 'warning'}>
{this.version(latestVersion)}
</Label>
) : null}
</div>
</div>
<div className="PackageManager-extension-controls">
<div className="ExtensionManager-extension-controls">
{onClickUpdate && typeof onClickUpdate === 'function' ? (
<Tooltip text={app.translator.trans('flarum-package-manager.admin.extensions.update')}>
<Tooltip text={app.translator.trans('flarum-extension-manager.admin.extensions.update')}>
<Button
icon="fas fa-arrow-alt-circle-up"
className="Button Button--icon Button--flat"
onclick={onClickUpdate}
aria-label={app.translator.trans('flarum-package-manager.admin.extensions.update')}
aria-label={app.translator.trans('flarum-extension-manager.admin.extensions.update')}
/>
</Tooltip>
) : onClickUpdate ? (
<Dropdown
buttonClassName="Button Button--icon Button--flat"
icon="fas fa-arrow-alt-circle-up"
label={app.translator.trans('flarum-package-manager.admin.extensions.update')}
label={app.translator.trans('flarum-extension-manager.admin.extensions.update')}
>
<Button icon="fas fa-arrow-alt-circle-up" className="Button" onclick={onClickUpdate.soft}>
{app.translator.trans('flarum-package-manager.admin.extensions.update_soft_label')}
{app.translator.trans('flarum-extension-manager.admin.extensions.update_soft_label')}
</Button>
<Button icon="fas fa-arrow-alt-circle-up" className="Button" onclick={onClickUpdate.hard} disabled={!updates['direct-dependency']}>
{app.translator.trans('flarum-package-manager.admin.extensions.update_hard_label')}
{app.translator.trans('flarum-extension-manager.admin.extensions.update_hard_label')}
</Button>
</Dropdown>
) : null}
{whyNotWarning ? (
<Tooltip text={app.translator.trans('flarum-package-manager.admin.extensions.check_why_it_failed_updating')}>
<Tooltip text={app.translator.trans('flarum-extension-manager.admin.extensions.check_why_it_failed_updating')}>
<Button
icon="fas fa-exclamation-circle"
className="Button Button--icon Button--flat Button--danger"
onclick={() => app.modal.show(WhyNotModal, { package: extension.name })}
aria-label={app.translator.trans('flarum-package-manager.admin.extensions.check_why_it_failed_updating')}
aria-label={app.translator.trans('flarum-extension-manager.admin.extensions.check_why_it_failed_updating')}
/>
</Tooltip>
) : null}

View File

@@ -19,10 +19,10 @@ export default class Installer extends Component<InstallerAttrs> {
view(): Mithril.Children {
return (
<div className="Form-group PackageManager-installer">
<label htmlFor="install-extension">{app.translator.trans('flarum-package-manager.admin.extensions.install')}</label>
<div className="Form-group ExtensionManager-installer">
<label htmlFor="install-extension">{app.translator.trans('flarum-extension-manager.admin.extensions.install')}</label>
<p className="helpText">
{app.translator.trans('flarum-package-manager.admin.extensions.install_help', {
{app.translator.trans('flarum-extension-manager.admin.extensions.install_help', {
extiverse: <a href="https://extiverse.com">extiverse.com</a>,
semantic_link: <a href="https://devhints.io/semver" />,
code: <code />,
@@ -34,10 +34,10 @@ export default class Installer extends Component<InstallerAttrs> {
className="Button"
icon="fas fa-download"
onclick={this.onsubmit.bind(this)}
loading={app.packageManager.control.isLoading('extension-install')}
disabled={app.packageManager.control.isLoading()}
loading={app.extensionManager.control.isLoading('extension-install')}
disabled={app.extensionManager.control.hasOperationRunning()}
>
{app.translator.trans('flarum-package-manager.admin.extensions.proceed')}
{app.translator.trans('flarum-extension-manager.admin.extensions.proceed')}
</Button>
</div>
</div>
@@ -51,6 +51,6 @@ export default class Installer extends Component<InstallerAttrs> {
}
onsubmit(): void {
app.packageManager.control.requirePackage(this.data());
app.extensionManager.control.requirePackage(this.data());
}
}

View File

@@ -30,31 +30,38 @@ export default class MajorUpdater<T extends MajorUpdaterAttrs = MajorUpdaterAttr
// @todo move Form-group--danger class to core for reuse
return (
<div
className={classList('Form-group Form-group--danger PackageManager-majorUpdate', {
'PackageManager-majorUpdate--failed': this.updateState.status === 'failure',
'PackageManager-majorUpdate--incompatibleExtensions': this.updateState.incompatibleExtensions.length,
className={classList('Form-group Form-group--danger ExtensionManager-majorUpdate', {
'ExtensionManager-majorUpdate--failed': this.updateState.status === 'failure',
'ExtensionManager-majorUpdate--incompatibleExtensions': this.updateState.incompatibleExtensions.length,
})}
>
<img alt="flarum logo" src={app.forum.attribute('baseUrl') + '/assets/extensions/flarum-package-manager/flarum.svg'} />
<label>{app.translator.trans('flarum-package-manager.admin.major_updater.title', { version: this.attrs.coreUpdate['latest-major'] })}</label>
<p className="helpText">{app.translator.trans('flarum-package-manager.admin.major_updater.description')}</p>
<div className="PackageManager-updaterControls">
<Tooltip text={app.translator.trans('flarum-package-manager.admin.major_updater.dry_run_help')}>
<Button className="Button" icon="fas fa-vial" onclick={this.update.bind(this, true)} disabled={app.packageManager.control.isLoading()}>
{app.translator.trans('flarum-package-manager.admin.major_updater.dry_run')}
<img alt="flarum logo" src={app.forum.attribute('baseUrl') + '/assets/extensions/flarum-extension-manager/flarum.svg'} />
<label>
{app.translator.trans('flarum-extension-manager.admin.major_updater.title', { version: this.attrs.coreUpdate['latest-major'] })}
</label>
<p className="helpText">{app.translator.trans('flarum-extension-manager.admin.major_updater.description')}</p>
<div className="ExtensionManager-updaterControls">
<Tooltip text={app.translator.trans('flarum-extension-manager.admin.major_updater.dry_run_help')}>
<Button
className="Button"
icon="fas fa-vial"
onclick={this.update.bind(this, true)}
disabled={app.extensionManager.control.hasOperationRunning()}
>
{app.translator.trans('flarum-extension-manager.admin.major_updater.dry_run')}
</Button>
</Tooltip>
<Button
className="Button Button--danger"
icon="fas fa-play"
onclick={this.update.bind(this, false)}
disabled={app.packageManager.control.isLoading()}
disabled={app.extensionManager.control.hasOperationRunning()}
>
{app.translator.trans('flarum-package-manager.admin.major_updater.update')}
{app.translator.trans('flarum-extension-manager.admin.major_updater.update')}
</Button>
</div>
{this.updateState.incompatibleExtensions.length ? (
<div className="PackageManager-majorUpdate-incompatibleExtensions PackageManager-extensions-grid">
<div className="ExtensionManager-majorUpdate-incompatibleExtensions ExtensionManager-extensions-grid">
{this.updateState.incompatibleExtensions.map((extension: string) => (
<ExtensionItem
extension={app.data.extensions[extension.replace('flarum-', '').replace('flarum-ext-', '').replace('/', '-')]}
@@ -68,20 +75,20 @@ export default class MajorUpdater<T extends MajorUpdaterAttrs = MajorUpdaterAttr
{this.updateState.status === 'failure' ? (
<Alert
type="error"
className="PackageManager-majorUpdate-failure"
className="ExtensionManager-majorUpdate-failure"
dismissible={false}
controls={[
<Button
className="Button Button--text PackageManager-majorUpdate-failure-details"
className="Button Button--text ExtensionManager-majorUpdate-failure-details"
icon="fas fa-question-circle"
onclick={() => app.modal.show(WhyNotModal, { package: 'flarum/core' })}
>
{app.translator.trans('flarum-package-manager.admin.major_updater.failure.why')}
{app.translator.trans('flarum-extension-manager.admin.major_updater.failure.why')}
</Button>,
]}
>
<p className="PackageManager-majorUpdate-failure-desc">
{app.translator.trans('flarum-package-manager.admin.major_updater.failure.desc')}
<p className="ExtensionManager-majorUpdate-failure-desc">
{app.translator.trans('flarum-extension-manager.admin.major_updater.failure.desc')}
</p>
</Alert>
) : null}
@@ -90,6 +97,6 @@ export default class MajorUpdater<T extends MajorUpdaterAttrs = MajorUpdaterAttr
}
update(dryRun: boolean) {
app.packageManager.control.majorUpdate({ dryRun });
app.extensionManager.control.majorUpdate({ dryRun });
}
}

View File

@@ -15,7 +15,7 @@ export default class Pagination extends Component<PaginationAttrs> {
return (
<nav className="Pagination UserListPage-gridPagination">
<Button
disabled={!this.attrs.list.hasPrev() || app.packageManager.control.isLoading()}
disabled={!this.attrs.list.hasPrev() || app.extensionManager.control.isLoading()}
title={app.translator.trans('core.admin.users.pagination.back_button')}
onclick={() => this.attrs.list.prev()}
icon="fas fa-chevron-left"
@@ -28,7 +28,7 @@ export default class Pagination extends Component<PaginationAttrs> {
})}
</span>
<Button
disabled={!this.attrs.list.hasNext() || app.packageManager.control.isLoading()}
disabled={!this.attrs.list.hasNext() || app.extensionManager.control.isLoading()}
title={app.translator.trans('core.admin.users.pagination.next_button')}
onclick={() => this.attrs.list.next()}
icon="fas fa-chevron-right"

View File

@@ -25,21 +25,21 @@ export default class QueueSection extends Component<{}> {
oninit(vnode: Mithril.Vnode<{}, this>) {
super.oninit(vnode);
app.packageManager.queue.load();
app.extensionManager.queue.load();
}
view() {
return (
<section id="PackageManager-queueSection" className="ExtensionPage-permissions PackageManager-queueSection">
<div className="ExtensionPage-permissions-header PackageManager-queueSection-header">
<section id="ExtensionManager-queueSection" className="ExtensionPage-permissions ExtensionManager-queueSection">
<div className="ExtensionPage-permissions-header ExtensionManager-queueSection-header">
<div className="container">
<h2 className="ExtensionTitle">{app.translator.trans('flarum-package-manager.admin.sections.queue.title')}</h2>
<h2 className="ExtensionTitle">{app.translator.trans('flarum-extension-manager.admin.sections.queue.title')}</h2>
<Button
className="Button Button--icon"
icon="fas fa-sync-alt"
onclick={() => app.packageManager.queue.load()}
aria-label={app.translator.trans('flarum-package-manager.admin.sections.queue.refresh')}
disabled={app.packageManager.control.isLoading()}
onclick={() => app.extensionManager.queue.load()}
aria-label={app.translator.trans('flarum-extension-manager.admin.sections.queue.refresh')}
disabled={app.extensionManager.control.isLoading()}
/>
</div>
</div>
@@ -54,12 +54,12 @@ export default class QueueSection extends Component<{}> {
items.add(
'operation',
{
label: extractText(app.translator.trans('flarum-package-manager.admin.sections.queue.columns.operation')),
label: extractText(app.translator.trans('flarum-extension-manager.admin.sections.queue.columns.operation')),
content: (task) => (
<div className="PackageManager-queueTable-operation">
<span className="PackageManager-queueTable-operation-icon">{this.operationIcon(task.operation())}</span>
<span className="PackageManager-queueTable-operation-name">
{app.translator.trans(`flarum-package-manager.admin.sections.queue.operations.${task.operation()}`)}
<div className="ExtensionManager-queueTable-operation">
<span className="ExtensionManager-queueTable-operation-icon">{this.operationIcon(task.operation())}</span>
<span className="ExtensionManager-queueTable-operation-name">
{app.translator.trans(`flarum-extension-manager.admin.sections.queue.operations.${task.operation()}`)}
</span>
</div>
),
@@ -70,18 +70,18 @@ export default class QueueSection extends Component<{}> {
items.add(
'package',
{
label: extractText(app.translator.trans('flarum-package-manager.admin.sections.queue.columns.package')),
label: extractText(app.translator.trans('flarum-extension-manager.admin.sections.queue.columns.package')),
content: (task) => {
const extension: Extension | null = app.data.extensions[task.package()?.replace(/(\/flarum-|\/flarum-ext-|\/)/g, '-')];
return extension ? (
<Link className="PackageManager-queueTable-package" href={app.route('extension', { id: extension.id })}>
<div className="PackageManager-queueTable-package-icon ExtensionIcon" style={extension.icon}>
<Link className="ExtensionManager-queueTable-package" href={app.route('extension', { id: extension.id })}>
<div className="ExtensionManager-queueTable-package-icon ExtensionIcon" style={extension.icon}>
{!!extension.icon && icon(extension.icon.name)}
</div>
<div className="PackageManager-queueTable-package-details">
<span className="PackageManager-queueTable-package-title">{extension.extra['flarum-extension'].title}</span>
<span className="PackageManager-queueTable-package-name">{task.package()}</span>
<div className="ExtensionManager-queueTable-package-details">
<span className="ExtensionManager-queueTable-package-title">{extension.extra['flarum-extension'].title}</span>
<span className="ExtensionManager-queueTable-package-name">{task.package()}</span>
</div>
</Link>
) : (
@@ -95,14 +95,14 @@ export default class QueueSection extends Component<{}> {
items.add(
'status',
{
label: extractText(app.translator.trans('flarum-package-manager.admin.sections.queue.columns.status')),
label: extractText(app.translator.trans('flarum-extension-manager.admin.sections.queue.columns.status')),
content: (task) => (
<>
<Label
className="PackageManager-queueTable-status"
className="ExtensionManager-queueTable-status"
type={{ running: 'neutral', failure: 'error', pending: 'warning', success: 'success' }[task.status()]}
>
{app.translator.trans(`flarum-package-manager.admin.sections.queue.statuses.${task.status()}`)}
{app.translator.trans(`flarum-extension-manager.admin.sections.queue.statuses.${task.status()}`)}
</Label>
{['pending', 'running'].includes(task.status()) && <LoadingIndicator size="small" display="inline" />}
</>
@@ -114,10 +114,10 @@ export default class QueueSection extends Component<{}> {
items.add(
'elapsedTime',
{
label: extractText(app.translator.trans('flarum-package-manager.admin.sections.queue.columns.elapsed_time')),
label: extractText(app.translator.trans('flarum-extension-manager.admin.sections.queue.columns.elapsed_time')),
content: (task) =>
!task.startedAt() || !task.finishedAt() ? (
app.translator.trans('flarum-package-manager.admin.sections.queue.task_just_started')
app.translator.trans('flarum-extension-manager.admin.sections.queue.task_just_started')
) : (
<Tooltip text={`${dayjs(task.startedAt()).format('LL LTS')} ${dayjs(task.finishedAt()).format('LL LTS')}`}>
<span>{humanDuration(task.startedAt(), task.finishedAt())}</span>
@@ -130,7 +130,7 @@ export default class QueueSection extends Component<{}> {
items.add(
'memoryUsed',
{
label: extractText(app.translator.trans('flarum-package-manager.admin.sections.queue.columns.peak_memory_used')),
label: extractText(app.translator.trans('flarum-extension-manager.admin.sections.queue.columns.peak_memory_used')),
content: (task) => <span>{task.peakMemoryUsed()}</span>,
},
60
@@ -139,12 +139,12 @@ export default class QueueSection extends Component<{}> {
items.add(
'details',
{
label: extractText(app.translator.trans('flarum-package-manager.admin.sections.queue.columns.details')),
label: extractText(app.translator.trans('flarum-extension-manager.admin.sections.queue.columns.details')),
content: (task) => (
<Button
className="Button Button--icon Table-controls-item"
icon="fas fa-file-alt"
aria-label={app.translator.trans('flarum-package-manager.admin.sections.queue.columns.details')}
aria-label={app.translator.trans('flarum-extension-manager.admin.sections.queue.columns.details')}
// @todo fix in core
// @ts-ignore
onclick={() => app.modal.show(TaskOutputModal, { task })}
@@ -160,21 +160,21 @@ export default class QueueSection extends Component<{}> {
}
queueTable() {
const tasks = app.packageManager.queue.getItems();
const tasks = app.extensionManager.queue.getItems();
if (!tasks) {
return <LoadingIndicator />;
}
if (tasks && !tasks.length) {
return <h3 className="ExtensionPage-subHeader">{app.translator.trans('flarum-package-manager.admin.sections.queue.none')}</h3>;
return <h3 className="ExtensionPage-subHeader">{app.translator.trans('flarum-extension-manager.admin.sections.queue.none')}</h3>;
}
const columns = this.columns();
return (
<>
<table className="Table PackageManager-queueTable">
<table className="Table ExtensionManager-queueTable">
<thead>
<tr>
{columns.toArray().map((item, index) => (
@@ -199,7 +199,7 @@ export default class QueueSection extends Component<{}> {
</tbody>
</table>
<Pagination list={app.packageManager.queue} />
<Pagination list={app.extensionManager.queue} />
</>
);
}

View File

@@ -29,24 +29,24 @@ export default class RepositoryModal<CustomAttrs extends IRepositoryModalAttrs =
title(): Mithril.Children {
const context = this.attrs.repository ? 'edit' : 'add';
return app.translator.trans(`flarum-package-manager.admin.composer.${context}_repository_label`);
return app.translator.trans(`flarum-extension-manager.admin.composer.${context}_repository_label`);
}
content(): Mithril.Children {
const types = {
composer: app.translator.trans('flarum-package-manager.admin.composer.repositories.types.composer'),
vcs: app.translator.trans('flarum-package-manager.admin.composer.repositories.types.vcs'),
path: app.translator.trans('flarum-package-manager.admin.composer.repositories.types.path'),
composer: app.translator.trans('flarum-extension-manager.admin.composer.repositories.types.composer'),
vcs: app.translator.trans('flarum-extension-manager.admin.composer.repositories.types.vcs'),
path: app.translator.trans('flarum-extension-manager.admin.composer.repositories.types.path'),
};
return (
<div className="Modal-body">
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.composer.repositories.add_modal.name_label')}</label>
<label>{app.translator.trans('flarum-extension-manager.admin.composer.repositories.add_modal.name_label')}</label>
<input className="FormControl" bidi={this.name} />
</div>
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.composer.repositories.add_modal.type_label')}</label>
<label>{app.translator.trans('flarum-extension-manager.admin.composer.repositories.add_modal.type_label')}</label>
<Select
options={types}
value={this.repository().type}
@@ -54,7 +54,7 @@ export default class RepositoryModal<CustomAttrs extends IRepositoryModalAttrs =
/>
</div>
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.composer.repositories.add_modal.url')}</label>
<label>{app.translator.trans('flarum-extension-manager.admin.composer.repositories.add_modal.url')}</label>
<input
className="FormControl"
onchange={(e: Event) => this.repository({ ...this.repository(), url: (e.target as HTMLInputElement).value })}
@@ -63,7 +63,7 @@ export default class RepositoryModal<CustomAttrs extends IRepositoryModalAttrs =
</div>
<div className="Form-group">
<Button className="Button Button--primary" onclick={this.submit.bind(this)}>
{app.translator.trans('flarum-package-manager.admin.composer.repositories.add_modal.submit_button')}
{app.translator.trans('flarum-extension-manager.admin.composer.repositories.add_modal.submit_button')}
</Button>
</div>
</div>

View File

@@ -14,22 +14,22 @@ export default class SettingsPage extends ExtensionPage {
content() {
const settings = app.extensionData.getSettings(this.extension.id);
const warnings = [app.translator.trans('flarum-package-manager.admin.settings.access_warning')];
const warnings = [app.translator.trans('flarum-extension-manager.admin.settings.access_warning')];
if (app.data.debugEnabled) warnings.push(app.translator.trans('flarum-package-manager.admin.settings.debug_mode_warning'));
if (app.data.debugEnabled) warnings.push(app.translator.trans('flarum-extension-manager.admin.settings.debug_mode_warning'));
return (
<div className="ExtensionPage-settings">
<div className="container">
<div className="Form-group">
<Alert className="PackageManager-primaryWarning" type="warning" dismissible={false}>
<Alert className="ExtensionManager-primaryWarning" type="warning" dismissible={false}>
<ul>{listItems(warnings)}</ul>
</Alert>
</div>
{settings ? (
<div className="SettingsGroups">
<div className="ExtensionManager-SettingsGroups">
<div className="Form">
<label>{app.translator.trans('flarum-package-manager.admin.settings.title')}</label>
<label>{app.translator.trans('flarum-extension-manager.admin.settings.title')}</label>
<div className="SettingsGroups-content">{settings.map(this.buildSettingComponent.bind(this))}</div>
<div className="Form-group Form--controls">{this.submitButton()}</div>
</div>
@@ -51,7 +51,7 @@ export default class SettingsPage extends ExtensionPage {
items.add('control', <ControlSection />, 8);
if (app.data.settings['flarum-package-manager.queue_jobs'] !== '0' && app.data.settings['flarum-package-manager.queue_jobs']) {
if (app.data.settings['flarum-extension-manager.queue_jobs'] !== '0' && app.data.settings['flarum-extension-manager.queue_jobs']) {
items.add('queue', <QueueSection />, 5);
}

View File

@@ -12,7 +12,7 @@ export default class TaskOutputModal<CustomAttrs extends TaskOutputModalAttrs =
}
title() {
return app.translator.trans(`flarum-package-manager.admin.sections.queue.operations.${this.attrs.task.operation()}`);
return app.translator.trans(`flarum-extension-manager.admin.sections.queue.operations.${this.attrs.task.operation()}`);
}
content() {
@@ -21,24 +21,24 @@ export default class TaskOutputModal<CustomAttrs extends TaskOutputModalAttrs =
<div className="TaskOutputModal-data">
{this.attrs.task.status() === 'failure' && (
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.sections.queue.output_modal.guessed_cause')}</label>
<label>{app.translator.trans('flarum-extension-manager.admin.sections.queue.output_modal.guessed_cause')}</label>
<div className="FormControl TaskOutputModal-data-guessed-cause">
{(this.attrs.task.guessedCause() &&
app.translator.trans('flarum-package-manager.admin.exceptions.guessed_cause.' + this.attrs.task.guessedCause())) ||
app.translator.trans('flarum-package-manager.admin.sections.queue.output_modal.cause_unknown')}
app.translator.trans('flarum-extension-manager.admin.exceptions.guessed_cause.' + this.attrs.task.guessedCause())) ||
app.translator.trans('flarum-extension-manager.admin.sections.queue.output_modal.cause_unknown')}
</div>
</div>
)}
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.sections.queue.output_modal.command')}</label>
<label>{app.translator.trans('flarum-extension-manager.admin.sections.queue.output_modal.command')}</label>
<div className="FormControl TaskOutputModal-data-command">
<code>$ composer {this.attrs.task.command()}</code>
</div>
</div>
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.sections.queue.output_modal.output')}</label>
<label>{app.translator.trans('flarum-extension-manager.admin.sections.queue.output_modal.output')}</label>
<div className="FormControl TaskOutputModal-data-output">
<code>
<pre>{this.attrs.task.output()}</pre>

View File

@@ -14,30 +14,30 @@ export type UpdaterLoadingTypes = 'check' | 'minor-update' | 'global-update' | '
export default class Updater extends Component<IUpdaterAttrs> {
view() {
const core = app.packageManager.control.coreUpdate;
const core = app.extensionManager.control.coreUpdate;
return [
<div className="Form-group">
<label>{app.translator.trans('flarum-package-manager.admin.updater.updater_title')}</label>
<p className="helpText">{app.translator.trans('flarum-package-manager.admin.updater.updater_help')}</p>
<label>{app.translator.trans('flarum-extension-manager.admin.updater.updater_title')}</label>
<p className="helpText">{app.translator.trans('flarum-extension-manager.admin.updater.updater_help')}</p>
{this.lastUpdateCheckView()}
<div className="PackageManager-updaterControls">{this.controlItems().toArray()}</div>
<div className="ExtensionManager-updaterControls">{this.controlItems().toArray()}</div>
{this.availableUpdatesView()}
</div>,
core && core.package['latest-major'] ? (
<MajorUpdater coreUpdate={core.package} updateState={app.packageManager.control.lastUpdateRun.major} />
<MajorUpdater coreUpdate={core.package} updateState={app.extensionManager.control.lastUpdateRun.major} />
) : null,
];
}
lastUpdateCheckView() {
return (
(app.packageManager.control.lastUpdateCheck?.checkedAt && (
<p className="PackageManager-lastUpdatedAt">
<span className="PackageManager-lastUpdatedAt-label">
{app.translator.trans('flarum-package-manager.admin.updater.last_update_checked_at')}
(app.extensionManager.control.lastUpdateCheck?.checkedAt && (
<p className="ExtensionManager-lastUpdatedAt">
<span className="ExtensionManager-lastUpdatedAt-label">
{app.translator.trans('flarum-extension-manager.admin.updater.last_update_checked_at')}
</span>
<span className="PackageManager-lastUpdatedAt-value">{humanTime(app.packageManager.control.lastUpdateCheck.checkedAt)}</span>
<span className="ExtensionManager-lastUpdatedAt-value">{humanTime(app.extensionManager.control.lastUpdateCheck.checkedAt)}</span>
</p>
)) ||
null
@@ -45,11 +45,11 @@ export default class Updater extends Component<IUpdaterAttrs> {
}
availableUpdatesView() {
const state = app.packageManager.control;
const state = app.extensionManager.control;
if (app.packageManager.control.isLoading('check') || app.packageManager.control.isLoading('global-update')) {
if (app.extensionManager.control.isLoading('check') || app.extensionManager.control.isLoading('global-update')) {
return (
<div className="PackageManager-extensions">
<div className="ExtensionManager-extensions">
<LoadingIndicator />
</div>
);
@@ -59,15 +59,15 @@ export default class Updater extends Component<IUpdaterAttrs> {
if (!(state.extensionUpdates.length || hasMinorCoreUpdate)) {
return (
<div className="PackageManager-extensions">
<span className="helpText">{app.translator.trans('flarum-package-manager.admin.updater.up_to_date')}</span>
<div className="ExtensionManager-extensions">
<span className="helpText">{app.translator.trans('flarum-extension-manager.admin.updater.up_to_date')}</span>
</div>
);
}
return (
<div className="PackageManager-extensions">
<div className="PackageManager-extensions-grid">
<div className="ExtensionManager-extensions">
<div className="ExtensionManager-extensions-grid">
{hasMinorCoreUpdate ? (
<ExtensionItem
extension={state.coreUpdate!.extension}
@@ -101,11 +101,11 @@ export default class Updater extends Component<IUpdaterAttrs> {
<Button
className="Button"
icon="fas fa-sync-alt"
onclick={() => app.packageManager.control.checkForUpdates()}
loading={app.packageManager.control.isLoading('check')}
disabled={app.packageManager.control.isLoading()}
onclick={() => app.extensionManager.control.checkForUpdates()}
loading={app.extensionManager.control.isLoading('check')}
disabled={app.extensionManager.control.hasOperationRunning()}
>
{app.translator.trans('flarum-package-manager.admin.updater.check_for_updates')}
{app.translator.trans('flarum-extension-manager.admin.updater.check_for_updates')}
</Button>,
100
);
@@ -115,11 +115,11 @@ export default class Updater extends Component<IUpdaterAttrs> {
<Button
className="Button"
icon="fas fa-play"
onclick={() => app.packageManager.control.updateGlobally()}
loading={app.packageManager.control.isLoading('global-update')}
disabled={app.packageManager.control.isLoading()}
onclick={() => app.extensionManager.control.updateGlobally()}
loading={app.extensionManager.control.isLoading('global-update')}
disabled={app.extensionManager.control.hasOperationRunning()}
>
{app.translator.trans('flarum-package-manager.admin.updater.run_global_update')}
{app.translator.trans('flarum-extension-manager.admin.updater.run_global_update')}
</Button>
);

View File

@@ -24,7 +24,7 @@ export default class WhyNotModal<CustomAttrs extends WhyNotModalAttrs = WhyNotMo
}
title() {
return app.translator.trans('flarum-package-manager.admin.why_not_modal.title');
return app.translator.trans('flarum-extension-manager.admin.why_not_modal.title');
}
oncreate(vnode: Mithril.VnodeDOM<CustomAttrs, this>) {
@@ -41,7 +41,7 @@ export default class WhyNotModal<CustomAttrs extends WhyNotModalAttrs = WhyNotMo
app
.request<WhyNotResponse>({
method: 'POST',
url: `${app.forum.attribute('apiUrl')}/package-manager/why-not`,
url: `${app.forum.attribute('apiUrl')}/extension-manager/why-not`,
body: {
data: {
package: this.attrs.package,

View File

@@ -4,32 +4,30 @@ import ExtensionPage from 'flarum/admin/components/ExtensionPage';
import Button from 'flarum/common/components/Button';
import LoadingModal from 'flarum/admin/components/LoadingModal';
import isExtensionEnabled from 'flarum/admin/utils/isExtensionEnabled';
import Alert from 'flarum/common/components/Alert';
import SettingsPage from './components/SettingsPage';
import Task from './models/Task';
import jumpToQueue from './utils/jumpToQueue';
import extractText from 'flarum/common/utils/extractText';
import { AsyncBackendResponse } from './shims';
import PackageManagerState from './states/PackageManagerState';
import ExtensionManagerState from './states/ExtensionManagerState';
app.initializers.add('flarum-package-manager', (app) => {
app.store.models['package-manager-tasks'] = Task;
app.initializers.add('flarum-extension-manager', (app) => {
app.store.models['extension-manager-tasks'] = Task;
app.packageManager = new PackageManagerState();
app.extensionManager = new ExtensionManagerState();
if (app.data['flarum-package-manager.using_sync_queue']) {
app.data.settings['flarum-package-manager.queue_jobs'] = '0';
if (app.data['flarum-extension-manager.using_sync_queue']) {
app.data.settings['flarum-extension-manager.queue_jobs'] = '0';
}
app.extensionData
.for('flarum-package-manager')
.for('flarum-extension-manager')
.registerSetting({
setting: 'flarum-package-manager.queue_jobs',
label: app.translator.trans('flarum-package-manager.admin.settings.queue_jobs'),
setting: 'flarum-extension-manager.queue_jobs',
label: app.translator.trans('flarum-extension-manager.admin.settings.queue_jobs'),
help: m.trust(
extractText(
app.translator.trans('flarum-package-manager.admin.settings.queue_jobs_help', {
app.translator.trans('flarum-extension-manager.admin.settings.queue_jobs_help', {
basic_impl_link: 'https://discuss.flarum.org/d/28151-database-queue-the-simplest-queue-even-for-shared-hosting',
adv_impl_link: 'https://discuss.flarum.org/d/21873-redis-sessions-cache-queues',
php_version: `<strong>${app.data.phpVersion}</strong>`,
@@ -38,18 +36,18 @@ app.initializers.add('flarum-package-manager', (app) => {
)
),
type: 'boolean',
disabled: app.data['flarum-package-manager.using_sync_queue'],
disabled: app.data['flarum-extension-manager.using_sync_queue'],
})
.registerSetting({
setting: 'flarum-package-manager.task_retention_days',
label: app.translator.trans('flarum-package-manager.admin.settings.task_retention_days'),
help: app.translator.trans('flarum-package-manager.admin.settings.task_retention_days_help'),
setting: 'flarum-extension-manager.task_retention_days',
label: app.translator.trans('flarum-extension-manager.admin.settings.task_retention_days'),
help: app.translator.trans('flarum-extension-manager.admin.settings.task_retention_days_help'),
type: 'number',
})
.registerPage(SettingsPage);
extend(ExtensionPage.prototype, 'topItems', function (items) {
if (this.extension.id === 'flarum-package-manager' || isExtensionEnabled(this.extension.id)) {
if (this.extension.id === 'flarum-extension-manager' || isExtensionEnabled(this.extension.id)) {
return;
}
@@ -63,14 +61,14 @@ app.initializers.add('flarum-package-manager', (app) => {
app
.request<AsyncBackendResponse | null>({
url: `${app.forum.attribute('apiUrl')}/package-manager/extensions/${this.extension.id}`,
url: `${app.forum.attribute('apiUrl')}/extension-manager/extensions/${this.extension.id}`,
method: 'DELETE',
})
.then((response) => {
if (response?.processing) {
jumpToQueue();
} else {
app.alerts.show({ type: 'success' }, app.translator.trans('flarum-package-manager.admin.extensions.successful_remove'));
app.alerts.show({ type: 'success' }, app.translator.trans('flarum-extension-manager.admin.extensions.successful_remove'));
window.location = app.forum.attribute('adminUrl');
}
})
@@ -79,7 +77,7 @@ app.initializers.add('flarum-package-manager', (app) => {
});
}}
>
{app.translator.trans('flarum-package-manager.admin.extensions.remove')}
{app.translator.trans('flarum-extension-manager.admin.extensions.remove')}
</Button>
);
});

View File

@@ -1,5 +1,5 @@
import 'dayjs/plugin/relativeTime';
import PackageManagerState from './states/PackageManagerState';
import ExtensionManagerState from './states/ExtensionManagerState';
export interface AsyncBackendResponse {
processing: boolean;
@@ -7,6 +7,6 @@ export interface AsyncBackendResponse {
declare module 'flarum/admin/AdminApplication' {
export default interface AdminApplication {
packageManager: PackageManagerState;
extensionManager: ExtensionManagerState;
}
}

View File

@@ -61,7 +61,7 @@ export default class ControlSectionState {
public extensionUpdates!: Extension[];
public coreUpdate: CoreUpdate | null = null;
get lastUpdateRun(): LastUpdateRun {
const lastUpdateRun = JSON.parse(app.data.settings['flarum-package-manager.last_update_run']) as LastUpdateRun;
const lastUpdateRun = JSON.parse(app.data.settings['flarum-extension-manager.last_update_run']) as LastUpdateRun;
lastUpdateRun.limitedPackages = () => [
...lastUpdateRun.major.limitedPackages,
@@ -73,7 +73,7 @@ export default class ControlSectionState {
}
constructor() {
this.lastUpdateCheck = JSON.parse(app.data.settings['flarum-package-manager.last_update_check']) as LastUpdateCheck;
this.lastUpdateCheck = JSON.parse(app.data.settings['flarum-extension-manager.last_update_check']) as LastUpdateCheck;
this.extensionUpdates = this.formatExtensionUpdates(this.lastUpdateCheck);
this.coreUpdate = this.formatCoreUpdate(this.lastUpdateCheck);
}
@@ -82,18 +82,22 @@ export default class ControlSectionState {
return (name && this.loading === name) || (!name && this.loading !== null);
}
hasOperationRunning(): boolean {
return this.isLoading() || app.extensionManager.queue.hasPending();
}
setLoading(name: LoadingTypes): void {
this.loading = name;
}
requirePackage(data: any) {
app.packageManager.control.setLoading('extension-install');
app.extensionManager.control.setLoading('extension-install');
app.modal.show(LoadingModal);
app
.request<AsyncBackendResponse & { id: number }>({
method: 'POST',
url: `${app.forum.attribute('apiUrl')}/package-manager/extensions`,
url: `${app.forum.attribute('apiUrl')}/extension-manager/extensions`,
body: {
data,
},
@@ -105,7 +109,7 @@ export default class ControlSectionState {
const extensionId = response.id;
app.alerts.show(
{ type: 'success' },
app.translator.trans('flarum-package-manager.admin.extensions.successful_install', { extension: extensionId })
app.translator.trans('flarum-extension-manager.admin.extensions.successful_install', { extension: extensionId })
);
window.location.href = `${app.forum.attribute('adminUrl')}#/extension/${extensionId}`;
window.location.reload();
@@ -124,7 +128,7 @@ export default class ControlSectionState {
app
.request<AsyncBackendResponse | LastUpdateCheck>({
method: 'POST',
url: `${app.forum.attribute('apiUrl')}/package-manager/check-for-updates`,
url: `${app.forum.attribute('apiUrl')}/extension-manager/check-for-updates`,
})
.then((response) => {
if ((response as AsyncBackendResponse).processing) {
@@ -144,20 +148,20 @@ export default class ControlSectionState {
}
updateCoreMinor() {
if (confirm(extractText(app.translator.trans('flarum-package-manager.admin.minor_update_confirmation.content')))) {
if (confirm(extractText(app.translator.trans('flarum-extension-manager.admin.minor_update_confirmation.content')))) {
app.modal.show(LoadingModal);
this.setLoading('minor-update');
app
.request<AsyncBackendResponse | null>({
method: 'POST',
url: `${app.forum.attribute('apiUrl')}/package-manager/minor-update`,
url: `${app.forum.attribute('apiUrl')}/extension-manager/minor-update`,
})
.then((response) => {
if (response?.processing) {
jumpToQueue();
} else {
app.alerts.show({ type: 'success' }, app.translator.trans('flarum-package-manager.admin.update_successful'));
app.alerts.show({ type: 'success' }, app.translator.trans('flarum-extension-manager.admin.update_successful'));
window.location.reload();
}
})
@@ -176,7 +180,7 @@ export default class ControlSectionState {
app
.request<AsyncBackendResponse | null>({
method: 'PATCH',
url: `${app.forum.attribute('apiUrl')}/package-manager/extensions/${extension.id}`,
url: `${app.forum.attribute('apiUrl')}/extension-manager/extensions/${extension.id}`,
body: {
data: {
updateMode,
@@ -189,7 +193,7 @@ export default class ControlSectionState {
} else {
app.alerts.show(
{ type: 'success' },
app.translator.trans('flarum-package-manager.admin.extensions.successful_update', {
app.translator.trans('flarum-extension-manager.admin.extensions.successful_update', {
extension: extension.extra['flarum-extension'].title,
})
);
@@ -210,13 +214,13 @@ export default class ControlSectionState {
app
.request<AsyncBackendResponse | null>({
method: 'POST',
url: `${app.forum.attribute('apiUrl')}/package-manager/global-update`,
url: `${app.forum.attribute('apiUrl')}/extension-manager/global-update`,
})
.then((response) => {
if (response?.processing) {
jumpToQueue();
} else {
app.alerts.show({ type: 'success' }, app.translator.trans('flarum-package-manager.admin.updater.global_update_successful'));
app.alerts.show({ type: 'success' }, app.translator.trans('flarum-extension-manager.admin.updater.global_update_successful'));
window.location.reload();
}
})
@@ -259,11 +263,11 @@ export default class ControlSectionState {
version: app.data.settings.version,
icon: {
// @ts-ignore
backgroundImage: `url(${app.data.resources[0]['attributes']['baseUrl']}/assets/extensions/flarum-package-manager/flarum.svg`,
backgroundImage: `url(${app.data.resources[0]['attributes']['baseUrl']}/assets/extensions/flarum-extension-manager/flarum.svg`,
},
extra: {
'flarum-extension': {
title: extractText(app.translator.trans('flarum-package-manager.admin.updater.flarum')),
title: extractText(app.translator.trans('flarum-extension-manager.admin.updater.flarum')),
},
},
},
@@ -271,14 +275,14 @@ export default class ControlSectionState {
}
majorUpdate({ dryRun }: { dryRun: boolean }) {
app.packageManager.control.setLoading(dryRun ? 'major-update-dry-run' : 'major-update');
app.extensionManager.control.setLoading(dryRun ? 'major-update-dry-run' : 'major-update');
app.modal.show(LoadingModal);
const updateState = this.lastUpdateRun.major;
app
.request<AsyncBackendResponse | null>({
method: 'POST',
url: `${app.forum.attribute('apiUrl')}/package-manager/major-update`,
url: `${app.forum.attribute('apiUrl')}/extension-manager/major-update`,
body: {
data: { dryRun },
},
@@ -287,7 +291,7 @@ export default class ControlSectionState {
if (response?.processing) {
jumpToQueue();
} else {
app.alerts.show({ type: 'success' }, app.translator.trans('flarum-package-manager.admin.update_successful'));
app.alerts.show({ type: 'success' }, app.translator.trans('flarum-extension-manager.admin.update_successful'));
window.location.reload();
}
})

View File

@@ -1,7 +1,7 @@
import QueueState from './QueueState';
import ControlSectionState from './ControlSectionState';
export default class PackageManagerState {
export default class ExtensionManagerState {
public queue: QueueState = new QueueState();
public control: ControlSectionState = new ControlSectionState();
}

View File

@@ -20,7 +20,7 @@ export default class QueueState {
...params,
};
return app.store.find<Task[]>('package-manager-tasks', params || {}).then((data) => {
return app.store.find<Task[]>('extension-manager-tasks', params || {}).then((data) => {
this.tasks = data;
this.total = data.payload.meta?.total;
@@ -32,12 +32,12 @@ export default class QueueState {
if (pendingTask) {
this.pollQueue(actionTaken);
} else if (actionTaken) {
app.packageManager.control.setLoading(null);
app.extensionManager.control.setLoading(null);
// Refresh the page
window.location.reload();
} else if (app.packageManager.control.isLoading()) {
app.packageManager.control.setLoading(null);
} else if (app.extensionManager.control.isLoading()) {
app.extensionManager.control.setLoading(null);
}
return data;
@@ -87,4 +87,8 @@ export default class QueueState {
this.load({}, actionTaken);
}, 6000);
}
hasPending() {
return !!this.tasks?.find((task) => task.status() === 'pending' || task.status() === 'running');
}
}

View File

@@ -1,7 +1,7 @@
import app from 'flarum/admin/app';
export default function (e: any) {
app.packageManager.control.setLoading(null);
app.extensionManager.control.setLoading(null);
const error = e.response.errors[0];
@@ -14,20 +14,20 @@ export default function (e: any) {
switch (error.code) {
case 'composer_command_failure':
if (error.guessed_cause) {
app.alerts.show({ type: 'error' }, app.translator.trans(`flarum-package-manager.admin.exceptions.guessed_cause.${error.guessed_cause}`));
app.alerts.show({ type: 'error' }, app.translator.trans(`flarum-extension-manager.admin.exceptions.guessed_cause.${error.guessed_cause}`));
app.modal.close();
} else {
app.alerts.show({ type: 'error' }, app.translator.trans('flarum-package-manager.admin.exceptions.composer_command_failure'));
app.alerts.show({ type: 'error' }, app.translator.trans('flarum-extension-manager.admin.exceptions.composer_command_failure'));
}
break;
case 'extension_already_installed':
app.alerts.show({ type: 'error' }, app.translator.trans('flarum-package-manager.admin.exceptions.extension_already_installed'));
app.alerts.show({ type: 'error' }, app.translator.trans('flarum-extension-manager.admin.exceptions.extension_already_installed'));
app.modal.close();
break;
case 'extension_not_installed':
app.alerts.show({ type: 'error' }, app.translator.trans('flarum-package-manager.admin.exceptions.extension_not_installed'));
app.alerts.show({ type: 'error' }, app.translator.trans('flarum-extension-manager.admin.exceptions.extension_not_installed'));
app.modal.close();
}
}

View File

@@ -6,11 +6,11 @@ window.jumpToQueue = jumpToQueue;
export default function jumpToQueue(): void {
app.modal.close();
m.route.set(app.route('extension', { id: 'flarum-package-manager' }));
m.route.set(app.route('extension', { id: 'flarum-extension-manager' }));
app.packageManager.queue.load({}, true);
app.extensionManager.queue.load({}, true);
setTimeout(() => {
document.getElementById('PackageManager-queueSection')?.scrollIntoView({ block: 'nearest' });
document.getElementById('ExtensionManager-queueSection')?.scrollIntoView({ block: 'nearest' });
}, 200);
}

View File

@@ -3,7 +3,7 @@
@import "admin/QueueSection";
@import "admin/ControlSection";
.PackageManager-controlSection {
.ExtensionManager-controlSection {
> .container {
padding-bottom: 0;
}
@@ -53,6 +53,52 @@
}
}
.flarum-package-manager-Page .SettingsGroups .Form {
.flarum-extension-manager-Page .SettingsGroups .Form {
max-height: unset;
}
.ExtensionManager-SettingsGroups {
display: flex;
column-count: 3;
column-gap: 30px;
flex-wrap: wrap;
.Form {
min-width: 300px;
max-height: 500px;
display: inline-grid;
padding: 10px 20px;
min-height: 20vh;
max-width: 400px;
grid-template-rows: min-content;
border: 1px solid var(--control-bg);
border-radius: var(--border-radius);
flex: 1 1 160px;
>label {
margin-bottom: 10px;
}
@media (max-width: 1209px) {
margin-bottom: 20px;
}
>ol {
>li {
margin-top: 8px;
.Button {
float: right;
visibility: hidden;
margin: -8px -16px -8px 16px;
}
}
}
>label {
float: left;
font-weight: bold;
color: var(--muted-color);
}
}
}

View File

@@ -1,4 +1,4 @@
.PackageManager-lastUpdatedAt {
.ExtensionManager-lastUpdatedAt {
color: var(--control-color);
&-label {
@@ -6,7 +6,7 @@
}
}
.PackageManager-updaterControls {
.ExtensionManager-updaterControls {
display: flex;
flex-wrap: wrap;
gap: 8px;
@@ -14,7 +14,7 @@
margin-bottom: 16px;
}
.PackageManager-extensions {
.ExtensionManager-extensions {
width: 100%;
&-grid {
@@ -25,7 +25,7 @@
}
}
.PackageManager-extension {
.ExtensionManager-extension {
display: flex;
align-items: center;
gap: 8px;
@@ -81,7 +81,7 @@
}
}
.PackageManager-majorUpdate {
.ExtensionManager-majorUpdate {
--space: 16px;
padding: var(--space);
display: grid;
@@ -142,7 +142,7 @@
border-top: 1px solid var(--control-bg);
}
.PackageManager-updaterControls {
.ExtensionManager-updaterControls {
margin: 0;
}
}
@@ -153,7 +153,7 @@
}
}
.PackageManager-installer .FormControl-container {
.ExtensionManager-installer .FormControl-container {
max-width: 450px;
.FormControl {
@@ -161,11 +161,11 @@
}
}
.PackageManager-controlSection .container {
.ExtensionManager-controlSection .container {
max-width: 1030px;
overflow: visible;
}
.PackageManager-primaryWarning ul {
.ExtensionManager-primaryWarning ul {
margin: 0;
}

View File

@@ -1,4 +1,4 @@
.PackageManager-queueSection {
.ExtensionManager-queueSection {
&-header > .container {
display: flex;
justify-content: space-between;
@@ -26,7 +26,7 @@
}
}
.PackageManager-queueTable {
.ExtensionManager-queueTable {
&-package {
display: flex;
align-items: center;

View File

@@ -1,4 +1,4 @@
flarum-package-manager:
flarum-extension-manager:
admin:
auth_config:
add_label: New authentication method
@@ -81,7 +81,7 @@ flarum-package-manager:
update_hard_label: Hard update
file_permissions: >
The package manager requires read and write permissions on the following files and directories: composer.json, composer.lock, vendor, storage, storage/.composer
The extension manager requires read and write permissions on the following files and directories: composer.json, composer.lock, vendor, storage, storage/.composer
major_updater:
description: >
@@ -136,8 +136,8 @@ flarum-package-manager:
settings:
title: => core.ref.settings
access_warning: Please be careful to who you give access to the admin area, the package manager could be misused by bad actors to install packages that can lead to security breaches.
debug_mode_warning: You are running in debug mode, the package manager cannot properly install and update local development packages. Please use the command line interface instead for such purposes.
access_warning: Please be careful to who you give access to the admin area, the extension manager could be misused by bad actors to install packages that can lead to security breaches.
debug_mode_warning: You are running in debug mode, the extension manager cannot properly install and update local development packages. Please use the command line interface instead for such purposes.
queue_jobs: Run operations in the background queue
queue_jobs_help: >
You can read about a <a href='{basic_impl_link}'>basic queue</a> implementation or a <a href='{adv_impl_link}'>more advanced</a> one.

View File

@@ -10,7 +10,7 @@
use Flarum\Database\Migration;
use Illuminate\Database\Schema\Blueprint;
return Migration::createTable(
return Migration::createTableIfNotExists(
'package_manager_tasks',
function (Blueprint $table) {
$table->increments('id');

View File

@@ -7,8 +7,22 @@
* LICENSE file that was distributed with this source code.
*/
use Flarum\Database\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Schema\Builder;
return Migration::addColumns('package_manager_tasks', [
'guessed_cause' => ['type' => 'string', 'length' => 255, 'nullable' => true, 'after' => 'output'],
]);
return [
'up' => function (Builder $schema) {
$schema->table('package_manager_tasks', function (Blueprint $table) use ($schema) {
if (! $schema->hasColumn('package_manager_tasks', 'guessed_cause')) {
$table->string('guessed_cause', 255)->nullable()->after('output');
}
});
},
'down' => function (Builder $schema) {
$schema->table('package_manager_tasks', function (Blueprint $table) use ($schema) {
if ($schema->hasColumn('package_manager_tasks', 'guessed_cause')) {
$table->dropColumn('guessed_cause');
}
});
}
];

View File

@@ -0,0 +1,16 @@
<?php
use Illuminate\Database\Schema\Builder;
return [
'up' => function (Builder $schema) {
$schema->rename('package_manager_tasks', 'extension_manager_tasks');
$schema->getConnection()->table('migrations')->where('extension', 'flarum-package-manager')->delete();
},
'down' => function (Builder $schema) {
$schema->rename('extension_manager_tasks', 'package_manager_tasks');
$schema->getConnection()->table('migrations')->where('extension', 'flarum-extension-manager')->update([
'extension' => 'flarum-package-manager',
]);
}
];

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
namespace Flarum\ExtensionManager\Api\Controller;
use Flarum\Http\RequestUtil;
use Flarum\PackageManager\Command\CheckForUpdates;
use Flarum\PackageManager\Job\Dispatcher;
use Flarum\ExtensionManager\Command\CheckForUpdates;
use Flarum\ExtensionManager\Job\Dispatcher;
use Laminas\Diactoros\Response\JsonResponse;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;

View File

@@ -7,12 +7,12 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
namespace Flarum\ExtensionManager\Api\Controller;
use Flarum\Foundation\Paths;
use Flarum\Http\RequestUtil;
use Flarum\PackageManager\Composer\ComposerJson;
use Flarum\PackageManager\ConfigureComposerValidator;
use Flarum\ExtensionManager\Composer\ComposerJson;
use Flarum\ExtensionManager\ConfigureComposerValidator;
use Illuminate\Contracts\Filesystem\FileNotFoundException;
use Illuminate\Filesystem\Filesystem;
use Illuminate\Support\Arr;
@@ -111,6 +111,8 @@ class ConfigureComposerController implements RequestHandlerInterface
$composerJson[$key] = Arr::get($composerJson, $key, Arr::get($default, $key));
}
$composerJson = Arr::sortRecursive($composerJson);
return Arr::only($composerJson, $this->configurable);
}

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
namespace Flarum\ExtensionManager\Api\Controller;
use Flarum\Http\RequestUtil;
use Flarum\PackageManager\Command\GlobalUpdate;
use Flarum\PackageManager\Job\Dispatcher;
use Flarum\ExtensionManager\Command\GlobalUpdate;
use Flarum\ExtensionManager\Job\Dispatcher;
use Laminas\Diactoros\Response\EmptyResponse;
use Laminas\Diactoros\Response\JsonResponse;
use Psr\Http\Message\ResponseInterface;

View File

@@ -7,13 +7,13 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
namespace Flarum\ExtensionManager\Api\Controller;
use Flarum\Api\Controller\AbstractListController;
use Flarum\Http\RequestUtil;
use Flarum\Http\UrlGenerator;
use Flarum\PackageManager\Api\Serializer\TaskSerializer;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Api\Serializer\TaskSerializer;
use Flarum\ExtensionManager\Task\Task;
use Psr\Http\Message\ServerRequestInterface;
use Tobscure\JsonApi\Document;
@@ -54,7 +54,7 @@ class ListTasksController extends AbstractListController
$document->addMeta('total', (string) $total);
$document->addPaginationLinks(
$this->url->to('api')->route('package-manager.tasks.index'),
$this->url->to('api')->route('extension-manager.tasks.index'),
$request->getQueryParams(),
$offset,
$limit,

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
namespace Flarum\ExtensionManager\Api\Controller;
use Flarum\Http\RequestUtil;
use Flarum\PackageManager\Command\MajorUpdate;
use Flarum\PackageManager\Job\Dispatcher;
use Flarum\ExtensionManager\Command\MajorUpdate;
use Flarum\ExtensionManager\Job\Dispatcher;
use Illuminate\Support\Arr;
use Laminas\Diactoros\Response\EmptyResponse;
use Laminas\Diactoros\Response\JsonResponse;

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
namespace Flarum\ExtensionManager\Api\Controller;
use Flarum\Http\RequestUtil;
use Flarum\PackageManager\Command\MinorUpdate;
use Flarum\PackageManager\Job\Dispatcher;
use Flarum\ExtensionManager\Command\MinorUpdate;
use Flarum\ExtensionManager\Job\Dispatcher;
use Laminas\Diactoros\Response\EmptyResponse;
use Laminas\Diactoros\Response\JsonResponse;
use Psr\Http\Message\ResponseInterface;

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
namespace Flarum\ExtensionManager\Api\Controller;
use Flarum\Http\RequestUtil;
use Flarum\PackageManager\Command\RemoveExtension;
use Flarum\PackageManager\Job\Dispatcher;
use Flarum\ExtensionManager\Command\RemoveExtension;
use Flarum\ExtensionManager\Job\Dispatcher;
use Illuminate\Support\Arr;
use Laminas\Diactoros\Response\EmptyResponse;
use Laminas\Diactoros\Response\JsonResponse;

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
namespace Flarum\ExtensionManager\Api\Controller;
use Flarum\Http\RequestUtil;
use Flarum\PackageManager\Command\RequireExtension;
use Flarum\PackageManager\Job\Dispatcher;
use Flarum\ExtensionManager\Command\RequireExtension;
use Flarum\ExtensionManager\Job\Dispatcher;
use Illuminate\Support\Arr;
use Laminas\Diactoros\Response\JsonResponse;
use Psr\Http\Message\ResponseInterface;

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
namespace Flarum\ExtensionManager\Api\Controller;
use Flarum\Http\RequestUtil;
use Flarum\PackageManager\Command\UpdateExtension;
use Flarum\PackageManager\Job\Dispatcher;
use Flarum\ExtensionManager\Command\UpdateExtension;
use Flarum\ExtensionManager\Job\Dispatcher;
use Illuminate\Support\Arr;
use Laminas\Diactoros\Response\EmptyResponse;
use Laminas\Diactoros\Response\JsonResponse;

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Controller;
namespace Flarum\ExtensionManager\Api\Controller;
use Flarum\Http\RequestUtil;
use Flarum\PackageManager\Command\WhyNot;
use Flarum\PackageManager\Job\Dispatcher;
use Flarum\ExtensionManager\Command\WhyNot;
use Flarum\ExtensionManager\Job\Dispatcher;
use Illuminate\Support\Arr;
use Laminas\Diactoros\Response\JsonResponse;
use Psr\Http\Message\ResponseInterface;

View File

@@ -7,10 +7,10 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Api\Serializer;
namespace Flarum\ExtensionManager\Api\Serializer;
use Flarum\Api\Serializer\AbstractSerializer;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Task\Task;
use InvalidArgumentException;
class TaskSerializer extends AbstractSerializer
@@ -18,7 +18,7 @@ class TaskSerializer extends AbstractSerializer
/**
* {@inheritdoc}
*/
protected $type = 'package-manager-tasks';
protected $type = 'extension-manager-tasks';
/**
* {@inheritdoc}

View File

@@ -7,9 +7,9 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Task\Task;
abstract class AbstractActionCommand
{

View File

@@ -7,9 +7,9 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Task\Task;
use Flarum\User\User;
class CheckForUpdates extends AbstractActionCommand

View File

@@ -7,14 +7,14 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\Extension\ExtensionManager;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\PackageManager\Composer\ComposerJson;
use Flarum\PackageManager\Exception\ComposerCommandFailedException;
use Flarum\PackageManager\Settings\LastUpdateCheck;
use Flarum\PackageManager\Support\Util;
use Flarum\ExtensionManager\Composer\ComposerAdapter;
use Flarum\ExtensionManager\Composer\ComposerJson;
use Flarum\ExtensionManager\Exception\ComposerCommandFailedException;
use Flarum\ExtensionManager\Settings\LastUpdateCheck;
use Flarum\ExtensionManager\Support\Util;
use Illuminate\Support\Collection;
use Symfony\Component\Console\Input\ArrayInput;
@@ -26,7 +26,7 @@ class CheckForUpdatesHandler
protected $composer;
/**
* @var \Flarum\PackageManager\Settings\LastUpdateCheck
* @var \Flarum\ExtensionManager\Settings\LastUpdateCheck
*/
protected $lastUpdateCheck;

View File

@@ -7,9 +7,9 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Task\Task;
use Flarum\User\User;
class GlobalUpdate extends AbstractActionCommand

View File

@@ -7,13 +7,13 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\Bus\Dispatcher as FlarumDispatcher;
use Flarum\Foundation\Config;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\PackageManager\Event\FlarumUpdated;
use Flarum\PackageManager\Exception\ComposerUpdateFailedException;
use Flarum\ExtensionManager\Composer\ComposerAdapter;
use Flarum\ExtensionManager\Event\FlarumUpdated;
use Flarum\ExtensionManager\Exception\ComposerUpdateFailedException;
use Illuminate\Contracts\Events\Dispatcher;
use Symfony\Component\Console\Input\ArrayInput;

View File

@@ -7,9 +7,9 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Task\Task;
use Flarum\User\User;
class MajorUpdate extends AbstractActionCommand

View File

@@ -7,14 +7,14 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\PackageManager\Composer\ComposerJson;
use Flarum\PackageManager\Event\FlarumUpdated;
use Flarum\PackageManager\Exception\MajorUpdateFailedException;
use Flarum\PackageManager\Exception\NoNewMajorVersionException;
use Flarum\PackageManager\Settings\LastUpdateCheck;
use Flarum\ExtensionManager\Composer\ComposerAdapter;
use Flarum\ExtensionManager\Composer\ComposerJson;
use Flarum\ExtensionManager\Event\FlarumUpdated;
use Flarum\ExtensionManager\Exception\MajorUpdateFailedException;
use Flarum\ExtensionManager\Exception\NoNewMajorVersionException;
use Flarum\ExtensionManager\Settings\LastUpdateCheck;
use Illuminate\Contracts\Events\Dispatcher;
use Symfony\Component\Console\Input\ArrayInput;

View File

@@ -7,9 +7,9 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Task\Task;
use Flarum\User\User;
class MinorUpdate extends AbstractActionCommand

View File

@@ -7,13 +7,13 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\PackageManager\Composer\ComposerJson;
use Flarum\PackageManager\Event\FlarumUpdated;
use Flarum\PackageManager\Exception\ComposerUpdateFailedException;
use Flarum\PackageManager\Settings\LastUpdateCheck;
use Flarum\ExtensionManager\Composer\ComposerAdapter;
use Flarum\ExtensionManager\Composer\ComposerJson;
use Flarum\ExtensionManager\Event\FlarumUpdated;
use Flarum\ExtensionManager\Exception\ComposerUpdateFailedException;
use Flarum\ExtensionManager\Settings\LastUpdateCheck;
use Illuminate\Contracts\Events\Dispatcher;
use Symfony\Component\Console\Input\StringInput;
@@ -25,7 +25,7 @@ class MinorUpdateHandler
protected $composer;
/**
* @var \Flarum\PackageManager\Settings\LastUpdateCheck
* @var \Flarum\ExtensionManager\Settings\LastUpdateCheck
*/
protected $lastUpdateCheck;

View File

@@ -7,9 +7,9 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Task\Task;
use Flarum\User\User;
class RemoveExtension extends AbstractActionCommand

View File

@@ -7,15 +7,15 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\Extension\ExtensionManager;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\PackageManager\Composer\ComposerJson;
use Flarum\PackageManager\Exception\ComposerCommandFailedException;
use Flarum\PackageManager\Exception\ExtensionNotInstalledException;
use Flarum\PackageManager\Exception\IndirectExtensionDependencyCannotBeRemovedException;
use Flarum\PackageManager\Extension\Event\Removed;
use Flarum\ExtensionManager\Composer\ComposerAdapter;
use Flarum\ExtensionManager\Composer\ComposerJson;
use Flarum\ExtensionManager\Exception\ComposerCommandFailedException;
use Flarum\ExtensionManager\Exception\ExtensionNotInstalledException;
use Flarum\ExtensionManager\Exception\IndirectExtensionDependencyCannotBeRemovedException;
use Flarum\ExtensionManager\Extension\Event\Removed;
use Illuminate\Contracts\Events\Dispatcher;
use Symfony\Component\Console\Input\StringInput;

View File

@@ -7,9 +7,9 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Task\Task;
use Flarum\User\User;
class RequireExtension extends AbstractActionCommand

View File

@@ -7,15 +7,15 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\Extension\ExtensionManager;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\PackageManager\Exception\ComposerRequireFailedException;
use Flarum\PackageManager\Exception\ExtensionAlreadyInstalledException;
use Flarum\PackageManager\Extension\Event\Installed;
use Flarum\PackageManager\RequirePackageValidator;
use Flarum\PackageManager\Support\Util;
use Flarum\ExtensionManager\Composer\ComposerAdapter;
use Flarum\ExtensionManager\Exception\ComposerRequireFailedException;
use Flarum\ExtensionManager\Exception\ExtensionAlreadyInstalledException;
use Flarum\ExtensionManager\Extension\Event\Installed;
use Flarum\ExtensionManager\RequirePackageValidator;
use Flarum\ExtensionManager\Support\Util;
use Illuminate\Contracts\Events\Dispatcher;
use Symfony\Component\Console\Input\StringInput;

View File

@@ -7,9 +7,9 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Task\Task;
use Flarum\User\User;
class UpdateExtension extends AbstractActionCommand

View File

@@ -7,15 +7,15 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\Extension\ExtensionManager;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\PackageManager\Exception\ComposerUpdateFailedException;
use Flarum\PackageManager\Exception\ExtensionNotInstalledException;
use Flarum\PackageManager\Extension\Event\Updated;
use Flarum\PackageManager\Settings\LastUpdateCheck;
use Flarum\PackageManager\UpdateExtensionValidator;
use Flarum\ExtensionManager\Composer\ComposerAdapter;
use Flarum\ExtensionManager\Exception\ComposerUpdateFailedException;
use Flarum\ExtensionManager\Exception\ExtensionNotInstalledException;
use Flarum\ExtensionManager\Extension\Event\Updated;
use Flarum\ExtensionManager\Settings\LastUpdateCheck;
use Flarum\ExtensionManager\UpdateExtensionValidator;
use Illuminate\Contracts\Events\Dispatcher;
use Symfony\Component\Console\Input\StringInput;

View File

@@ -7,9 +7,9 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Task\Task;
use Flarum\User\User;
class WhyNot extends AbstractActionCommand

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Command;
namespace Flarum\ExtensionManager\Command;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\PackageManager\Exception\ComposerRequireFailedException;
use Flarum\PackageManager\WhyNotValidator;
use Flarum\ExtensionManager\Composer\ComposerAdapter;
use Flarum\ExtensionManager\Exception\ComposerRequireFailedException;
use Flarum\ExtensionManager\WhyNotValidator;
use Illuminate\Contracts\Events\Dispatcher;
use Symfony\Component\Console\Input\StringInput;

View File

@@ -7,14 +7,14 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Composer;
namespace Flarum\ExtensionManager\Composer;
use Composer\Config;
use Composer\Console\Application;
use Flarum\Foundation\Paths;
use Flarum\PackageManager\OutputLogger;
use Flarum\PackageManager\Support\Util;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\OutputLogger;
use Flarum\ExtensionManager\Support\Util;
use Flarum\ExtensionManager\Task\Task;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\BufferedOutput;

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Composer;
namespace Flarum\ExtensionManager\Composer;
use Flarum\Extension\ExtensionManager;
use Flarum\Foundation\Paths;
use Flarum\PackageManager\Support\Util;
use Flarum\ExtensionManager\Support\Util;
use Illuminate\Filesystem\Filesystem;
use Illuminate\Support\Str;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Composer;
namespace Flarum\ExtensionManager\Composer;
class ComposerOutput
{

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager;
namespace Flarum\ExtensionManager;
use Flarum\Foundation\AbstractValidator;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Event;
namespace Flarum\ExtensionManager\Event;
use Flarum\User\User;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Exception;
namespace Flarum\ExtensionManager\Exception;
use Exception;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Exception;
namespace Flarum\ExtensionManager\Exception;
class ComposerRequireFailedException extends ComposerCommandFailedException
{

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Exception;
namespace Flarum\ExtensionManager\Exception;
class ComposerUpdateFailedException extends ComposerCommandFailedException
{

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Exception;
namespace Flarum\ExtensionManager\Exception;
use Flarum\Foundation\ErrorHandling\HandledError;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Exception;
namespace Flarum\ExtensionManager\Exception;
use Exception;
use Flarum\Extension\Extension;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Exception;
namespace Flarum\ExtensionManager\Exception;
use Exception;
use Flarum\Foundation\KnownError;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Exception;
namespace Flarum\ExtensionManager\Exception;
use Exception;
use Flarum\Foundation\KnownError;

View File

@@ -7,11 +7,11 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Exception;
namespace Flarum\ExtensionManager\Exception;
use Composer\Semver\Semver;
use Flarum\PackageManager\Event\FlarumUpdated;
use Flarum\PackageManager\Settings\LastUpdateRun;
use Flarum\ExtensionManager\Event\FlarumUpdated;
use Flarum\ExtensionManager\Settings\LastUpdateRun;
class MajorUpdateFailedException extends ComposerCommandFailedException
{

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Exception;
namespace Flarum\ExtensionManager\Exception;
use Exception;
use Flarum\Foundation\KnownError;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Extension\Event;
namespace Flarum\ExtensionManager\Extension\Event;
class Installed
{

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Extension\Event;
namespace Flarum\ExtensionManager\Extension\Event;
use Flarum\Extension\Extension;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Extension\Event;
namespace Flarum\ExtensionManager\Extension\Event;
use Flarum\Extension\Extension;
use Flarum\User\User;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager;
namespace Flarum\ExtensionManager;
use Composer\Config;
use Composer\Console\Application;
@@ -17,18 +17,18 @@ use Flarum\Foundation\AbstractServiceProvider;
use Flarum\Foundation\Paths;
use Flarum\Frontend\RecompileFrontendAssets;
use Flarum\Locale\LocaleManager;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\PackageManager\Event\FlarumUpdated;
use Flarum\PackageManager\Extension\Event\Updated;
use Flarum\PackageManager\Listener\ClearCacheAfterUpdate;
use Flarum\PackageManager\Listener\ReCheckForUpdates;
use Flarum\ExtensionManager\Composer\ComposerAdapter;
use Flarum\ExtensionManager\Event\FlarumUpdated;
use Flarum\ExtensionManager\Extension\Event\Updated;
use Flarum\ExtensionManager\Listener\ClearCacheAfterUpdate;
use Flarum\ExtensionManager\Listener\ReCheckForUpdates;
use Illuminate\Contracts\Container\Container;
use Illuminate\Contracts\Events\Dispatcher;
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\RotatingFileHandler;
use Monolog\Logger;
class PackageManagerServiceProvider extends AbstractServiceProvider
class ExtensionManagerServiceProvider extends AbstractServiceProvider
{
public function register()
{

View File

@@ -7,12 +7,12 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Job;
namespace Flarum\ExtensionManager\Job;
use Flarum\Bus\Dispatcher;
use Flarum\PackageManager\Command\AbstractActionCommand;
use Flarum\PackageManager\Composer\ComposerAdapter;
use Flarum\PackageManager\Exception\ComposerCommandFailedException;
use Flarum\ExtensionManager\Command\AbstractActionCommand;
use Flarum\ExtensionManager\Composer\ComposerAdapter;
use Flarum\ExtensionManager\Exception\ComposerCommandFailedException;
use Flarum\Queue\AbstractJob;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Queue\Middleware\WithoutOverlapping;

View File

@@ -7,13 +7,13 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Job;
namespace Flarum\ExtensionManager\Job;
use Carbon\Carbon;
use Flarum\Bus\Dispatcher as Bus;
use Flarum\Extension\ExtensionManager;
use Flarum\PackageManager\Command\AbstractActionCommand;
use Flarum\PackageManager\Task\Task;
use Flarum\ExtensionManager\Command\AbstractActionCommand;
use Flarum\ExtensionManager\Task\Task;
use Flarum\Settings\SettingsRepositoryInterface;
use Illuminate\Contracts\Queue\Queue;
use Illuminate\Queue\SyncQueue;
@@ -73,7 +73,7 @@ class Dispatcher
public function dispatch(AbstractActionCommand $command): DispatcherResponse
{
$queueJobs = ($this->runSyncOverride === false) || ($this->runSyncOverride !== true && $this->settings->get('flarum-package-manager.queue_jobs'));
$queueJobs = ($this->runSyncOverride === false) || ($this->runSyncOverride !== true && $this->settings->get('flarum-extension-manager.queue_jobs'));
// Skip if there is already a pending or running task.
if ($queueJobs && Task::query()->whereIn('status', [Task::PENDING, Task::RUNNING])->exists()) {
@@ -101,7 +101,7 @@ class Dispatcher
protected function clearOldTasks(): void
{
$days = $this->settings->get('flarum-package-manager.task_retention_days');
$days = $this->settings->get('flarum-extension-manager.task_retention_days');
if ($days === null || ((int) $days) === 0) {
return;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Job;
namespace Flarum\ExtensionManager\Job;
class DispatcherResponse
{

View File

@@ -7,12 +7,12 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Listener;
namespace Flarum\ExtensionManager\Listener;
use Composer\Command\ClearCacheCommand;
use Flarum\Database\Console\MigrateCommand;
use Flarum\Foundation\Console\AssetsPublishCommand;
use Flarum\PackageManager\Event\FlarumUpdated;
use Flarum\ExtensionManager\Event\FlarumUpdated;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\NullOutput;

View File

@@ -7,14 +7,14 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Listener;
namespace Flarum\ExtensionManager\Listener;
use Flarum\Bus\Dispatcher;
use Flarum\PackageManager\Command\CheckForUpdates;
use Flarum\PackageManager\Event\FlarumUpdated;
use Flarum\PackageManager\Extension\Event\Updated;
use Flarum\PackageManager\Settings\LastUpdateCheck;
use Flarum\PackageManager\Settings\LastUpdateRun;
use Flarum\ExtensionManager\Command\CheckForUpdates;
use Flarum\ExtensionManager\Event\FlarumUpdated;
use Flarum\ExtensionManager\Extension\Event\Updated;
use Flarum\ExtensionManager\Settings\LastUpdateCheck;
use Flarum\ExtensionManager\Settings\LastUpdateRun;
class ReCheckForUpdates
{

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager;
namespace Flarum\ExtensionManager;
use Psr\Log\LoggerInterface;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager;
namespace Flarum\ExtensionManager;
use Flarum\Foundation\AbstractValidator;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Settings;
namespace Flarum\ExtensionManager\Settings;
interface JsonSetting
{

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Settings;
namespace Flarum\ExtensionManager\Settings;
use Carbon\Carbon;
use Flarum\Settings\SettingsRepositoryInterface;
@@ -53,7 +53,7 @@ class LastUpdateCheck implements JsonSetting
public static function key(): string
{
return 'flarum-package-manager.last_update_check';
return 'flarum-extension-manager.last_update_check';
}
public static function default(): array

View File

@@ -7,10 +7,10 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Settings;
namespace Flarum\ExtensionManager\Settings;
use Carbon\Carbon;
use Flarum\PackageManager\Event\FlarumUpdated;
use Flarum\ExtensionManager\Event\FlarumUpdated;
use Flarum\Settings\SettingsRepositoryInterface;
class LastUpdateRun implements JsonSetting
@@ -76,7 +76,7 @@ class LastUpdateRun implements JsonSetting
public static function key(): string
{
return 'flarum-package-manager.last_update_run';
return 'flarum-extension-manager.last_update_run';
}
public static function default(): array

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Support;
namespace Flarum\ExtensionManager\Support;
use Illuminate\Support\Str;
use Symfony\Component\Console\Input\ArrayInput;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Task;
namespace Flarum\ExtensionManager\Task;
use Carbon\Carbon;
use Flarum\Database\AbstractModel;
@@ -49,7 +49,7 @@ class Task extends AbstractModel
public const UPDATED_AT = null;
protected $table = 'package_manager_tasks';
protected $table = 'extension_manager_tasks';
protected $guarded = ['id'];

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager\Task;
namespace Flarum\ExtensionManager\Task;
use Flarum\User\User;
use Illuminate\Database\Eloquent\Builder;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager;
namespace Flarum\ExtensionManager;
use Flarum\Foundation\AbstractValidator;

View File

@@ -7,7 +7,7 @@
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\PackageManager;
namespace Flarum\ExtensionManager;
use Flarum\Foundation\AbstractValidator;

Some files were not shown because too many files have changed in this diff Show More