Skip to content

Commit

Permalink
Merge pull request #344 from mittwald/add-Prestashop-neos-moodle
Browse files Browse the repository at this point in the history
Add PrestaShop, NEOS, Moodle
  • Loading branch information
martin-helmich authored Apr 4, 2024
2 parents c196267 + a89f38e commit 2c79e9d
Show file tree
Hide file tree
Showing 5 changed files with 372 additions and 5 deletions.
237 changes: 237 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,10 @@ USAGE
* [`mw app install grav`](#mw-app-install-grav)
* [`mw app install joomla`](#mw-app-install-joomla)
* [`mw app install matomo`](#mw-app-install-matomo)
* [`mw app install moodle`](#mw-app-install-moodle)
* [`mw app install neos`](#mw-app-install-neos)
* [`mw app install nextcloud`](#mw-app-install-nextcloud)
* [`mw app install prestashop`](#mw-app-install-prestashop)
* [`mw app install shopware5`](#mw-app-install-shopware5)
* [`mw app install shopware6`](#mw-app-install-shopware6)
* [`mw app install typo3`](#mw-app-install-typo3)
Expand Down Expand Up @@ -1008,6 +1011,151 @@ FLAG DESCRIPTIONS
If unspecified, the Matomo will be installed in the latest available version.
```

## `mw app install moodle`

Creates new Moodle installation.

```
USAGE
$ mw app install moodle --version <value> [-p <value>] [-q] [--host <value>] [--admin-user <value>] [--admin-email
<value>] [--admin-pass <value>] [--site-title <value>] [-w]
FLAGS
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the
context
-q, --quiet suppress process output and only display a machine-readable summary.
-w, --wait wait for your Moodle to be ready.
--admin-email=<value> email address of your administrator user.
--admin-pass=<value> password of your administrator user.
--admin-user=<value> Username for your administrator user.
--host=<value> host to initially configure your Moodle installation with; needs to be created separately.
--site-title=<value> site title for your Moodle installation.
--version=<value> (required) [default: latest] version of Moodle to be installed.
DESCRIPTION
Creates new Moodle installation.
FLAG DESCRIPTIONS
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the context
May contain a short ID or a full ID of a project; you can also use the "mw context set --project-id=<VALUE>" command
to persistently set a default project for all commands that accept this flag.
-q, --quiet suppress process output and only display a machine-readable summary.
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
--admin-email=<value> email address of your administrator user.
email address that will be used for the first administrator user that is created during the Moodle installation.
If unspecified, email address of your mStudio account will be used. This email address can be changed after the
installation is finished.
--admin-pass=<value> password of your administrator user.
The password that will be used for the first administrator user that is created during the Moodle installation.
If unspecified, a random secure password will be generated and printed to stdout. This password can be changed after
the installation is finished
--admin-user=<value> Username for your administrator user.
Username of the first administrator user which will be created during the Moodle installation.
If unspecified, an adequate username will be generated.
After the installation is finished, the username can be changed and additional administrator users can be created.
--host=<value> host to initially configure your Moodle installation with; needs to be created separately.
Specify a host which will be used during the installation and as an initial host for the Moodle configuration.
If unspecified, the default host for the given project will be used.
This does not change the target of the used host and can be changed later by configuring the host and your Moodle
installation.
--site-title=<value> site title for your Moodle installation.
The site title for this Moodle installation. It is also the title shown in the app overview in the mStudio and the
CLI.
If unspecified, the application name and the given project ID will be used. The title can be changed after the
installation is finished
--version=<value> version of Moodle to be installed.
Specify the version in which your Moodle will be installed.
If unspecified, the Moodle will be installed in the latest available version.
```

## `mw app install neos`

Creates new NEOS installation.

```
USAGE
$ mw app install neos --version <value> [-p <value>] [-q] [--admin-user <value>] [--admin-pass <value>]
[--admin-firstname <value>] [--admin-lastname <value>] [--site-title <value>] [-w]
FLAGS
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the
context
-q, --quiet suppress process output and only display a machine-readable summary.
-w, --wait wait for your NEOS to be ready.
--admin-firstname=<value> first name of your administrator user.
--admin-lastname=<value> Lastname of your administrator user.
--admin-pass=<value> password of your administrator user.
--admin-user=<value> Username for your administrator user.
--site-title=<value> site title for your NEOS installation.
--version=<value> (required) [default: latest] version of NEOS to be installed.
DESCRIPTION
Creates new NEOS installation.
FLAG DESCRIPTIONS
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the context
May contain a short ID or a full ID of a project; you can also use the "mw context set --project-id=<VALUE>" command
to persistently set a default project for all commands that accept this flag.
-q, --quiet suppress process output and only display a machine-readable summary.
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
--admin-firstname=<value> first name of your administrator user.
The first name that will be used for the first administrator user that is created during the NEOS installation.
If unspecified, the first name of your mStudio user will be used. This value can be changed after the installation
is finished.
--admin-lastname=<value> Lastname of your administrator user.
The last name that will be used for the first administrator user that is created during the NEOS installation.
If unspecified, the last name of your mStudio user will be used. This value can be changed after the installation is
finished.
--admin-pass=<value> password of your administrator user.
The password that will be used for the first administrator user that is created during the NEOS installation.
If unspecified, a random secure password will be generated and printed to stdout. This password can be changed after
the installation is finished
--admin-user=<value> Username for your administrator user.
Username of the first administrator user which will be created during the NEOS installation.
If unspecified, an adequate username will be generated.
After the installation is finished, the username can be changed and additional administrator users can be created.
--site-title=<value> site title for your NEOS installation.
The site title for this NEOS installation. It is also the title shown in the app overview in the mStudio and the
CLI.
If unspecified, the application name and the given project ID will be used. The title can be changed after the
installation is finished
--version=<value> version of NEOS to be installed.
Specify the version in which your NEOS will be installed.
If unspecified, the NEOS will be installed in the latest available version.
```

## `mw app install nextcloud`

Creates new Nextcloud installation.
Expand Down Expand Up @@ -1082,6 +1230,95 @@ FLAG DESCRIPTIONS
If unspecified, the Nextcloud will be installed in the latest available version.
```

## `mw app install prestashop`

Creates new PrestaShop installation.

```
USAGE
$ mw app install prestashop --version <value> [-p <value>] [-q] [--host <value>] [--admin-email <value>] [--admin-pass
<value>] [--admin-firstname <value>] [--admin-lastname <value>] [--site-title <value>] [--shop-lang <value>] [-w]
FLAGS
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the
context
-q, --quiet suppress process output and only display a machine-readable summary.
-w, --wait wait for your PrestaShop to be ready.
--admin-email=<value> email address of your administrator user.
--admin-firstname=<value> first name of your administrator user.
--admin-lastname=<value> Lastname of your administrator user.
--admin-pass=<value> password of your administrator user.
--host=<value> host to initially configure your PrestaShop installation with; needs to be created
separately.
--shop-lang=<value> language your PrestaShop will be working with.
--site-title=<value> site title for your PrestaShop installation.
--version=<value> (required) [default: latest] version of PrestaShop to be installed.
DESCRIPTION
Creates new PrestaShop installation.
FLAG DESCRIPTIONS
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the context
May contain a short ID or a full ID of a project; you can also use the "mw context set --project-id=<VALUE>" command
to persistently set a default project for all commands that accept this flag.
-q, --quiet suppress process output and only display a machine-readable summary.
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
--admin-email=<value> email address of your administrator user.
email address that will be used for the first administrator user that is created during the PrestaShop installation.
If unspecified, email address of your mStudio account will be used. This email address can be changed after the
installation is finished.
--admin-firstname=<value> first name of your administrator user.
The first name that will be used for the first administrator user that is created during the PrestaShop
installation.
If unspecified, the first name of your mStudio user will be used. This value can be changed after the installation
is finished.
--admin-lastname=<value> Lastname of your administrator user.
The last name that will be used for the first administrator user that is created during the PrestaShop installation.
If unspecified, the last name of your mStudio user will be used. This value can be changed after the installation is
finished.
--admin-pass=<value> password of your administrator user.
The password that will be used for the first administrator user that is created during the PrestaShop installation.
If unspecified, a random secure password will be generated and printed to stdout. This password can be changed after
the installation is finished
--host=<value> host to initially configure your PrestaShop installation with; needs to be created separately.
Specify a host which will be used during the installation and as an initial host for the PrestaShop configuration.
If unspecified, the default host for the given project will be used.
This does not change the target of the used host and can be changed later by configuring the host and your
PrestaShop installation.
--shop-lang=<value> language your PrestaShop will be working with.
The default language your PrestaShop installation will be using. The front- and back end will be displayed using the
given language.
If unspecified, this will default to German (de_DE). The language can be changed after the installation is finished.
--site-title=<value> site title for your PrestaShop installation.
The site title for this PrestaShop installation. It is also the title shown in the app overview in the mStudio and
the CLI.
If unspecified, the application name and the given project ID will be used. The title can be changed after the
installation is finished
--version=<value> version of PrestaShop to be installed.
Specify the version in which your PrestaShop will be installed.
If unspecified, the PrestaShop will be installed in the latest available version.
```

## `mw app install shopware5`

Creates new Shopware 5 installation.
Expand Down
15 changes: 10 additions & 5 deletions src/commands/app/install/matomo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
AppInstaller,
} from "../../../lib/app/Installer.js";

const installer = new AppInstaller(
const matomoInstaller = new AppInstaller(
"91fa05e7-34f7-42e8-a8d3-a9c42abd5f8c",
"Matomo",
[
Expand All @@ -23,14 +23,19 @@ export default class InstallMatomo extends ExecRenderBaseCommand<
typeof InstallMatomo,
AppInstallationResult
> {
static description = installer.description;
static flags = installer.flags;
static description = matomoInstaller.description;
static flags = matomoInstaller.flags;

protected async exec(): Promise<{ appInstallationId: string }> {
return installer.exec(this.apiClient, this.args, this.flags, this.config);
return matomoInstaller.exec(
this.apiClient,
this.args,
this.flags,
this.config,
);
}

protected render(result: AppInstallationResult): React.ReactNode {
return installer.render(result, this.flags);
return matomoInstaller.render(result, this.flags);
}
}
41 changes: 41 additions & 0 deletions src/commands/app/install/moodle.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import { ExecRenderBaseCommand } from "../../../rendering/react/ExecRenderBaseCommand.js";
import React from "react";
import {
AppInstallationResult,
AppInstaller,
} from "../../../lib/app/Installer.js";

export const moodleInstaller = new AppInstaller(
"5ba3b4ea-9f79-460a-bbef-d901beca4cf1",
"Moodle",
[
"version",
"host",
"admin-user",
"admin-email",
"admin-pass",
"site-title",
"wait",
] as const,
);

export default class InstallMoodle extends ExecRenderBaseCommand<
typeof InstallMoodle,
AppInstallationResult
> {
static description = moodleInstaller.description;
static flags = moodleInstaller.flags;

protected async exec(): Promise<{ appInstallationId: string }> {
return moodleInstaller.exec(
this.apiClient,
this.args,
this.flags,
this.config,
);
}

protected render(result: AppInstallationResult): React.ReactNode {
return moodleInstaller.render(result, this.flags);
}
}
41 changes: 41 additions & 0 deletions src/commands/app/install/neos.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import { ExecRenderBaseCommand } from "../../../rendering/react/ExecRenderBaseCommand.js";
import React from "react";
import {
AppInstallationResult,
AppInstaller,
} from "../../../lib/app/Installer.js";

export const neosInstaller = new AppInstaller(
"1f55f9fa-1902-409c-b305-7e428c5ed64d",
"NEOS",
[
"version",
"admin-user",
"admin-pass",
"admin-firstname",
"admin-lastname",
"site-title",
"wait",
] as const,
);

export default class InstallNeos extends ExecRenderBaseCommand<
typeof InstallNeos,
AppInstallationResult
> {
static description = neosInstaller.description;
static flags = neosInstaller.flags;

protected async exec(): Promise<{ appInstallationId: string }> {
return neosInstaller.exec(
this.apiClient,
this.args,
this.flags,
this.config,
);
}

protected render(result: AppInstallationResult): React.ReactNode {
return neosInstaller.render(result, this.flags);
}
}
Loading

0 comments on commit 2c79e9d

Please sign in to comment.