2015-12-06 18:58:49 +00:00
|
|
|
<?php
|
|
|
|
|
2020-04-10 22:15:38 +00:00
|
|
|
use Ramsey\Uuid\Uuid;
|
2018-03-05 04:35:57 +00:00
|
|
|
use Cake\Chronos\Chronos;
|
2020-04-10 22:15:38 +00:00
|
|
|
use Illuminate\Support\Str;
|
2017-12-17 19:07:38 +00:00
|
|
|
use Faker\Generator as Faker;
|
2020-04-10 22:15:38 +00:00
|
|
|
use Pterodactyl\Models\Node;
|
2018-03-04 22:30:16 +00:00
|
|
|
use Pterodactyl\Models\ApiKey;
|
2017-12-17 19:07:38 +00:00
|
|
|
|
2015-12-06 18:58:49 +00:00
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Model Factories
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| Here you may define all of your model factories. Model factories give
|
|
|
|
| you a convenient way to create models for testing and seeding your
|
|
|
|
| database. Just tell the factory how a default model should look.
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Server::class, function (Faker $faker) {
|
2017-07-23 01:15:01 +00:00
|
|
|
return [
|
2017-08-05 22:20:07 +00:00
|
|
|
'id' => $faker->unique()->randomNumber(),
|
2017-08-26 18:31:18 +00:00
|
|
|
'node_id' => $faker->randomNumber(),
|
|
|
|
'uuid' => $faker->unique()->uuid,
|
2017-07-23 01:15:01 +00:00
|
|
|
'uuidShort' => str_random(8),
|
|
|
|
'name' => $faker->firstName,
|
|
|
|
'description' => implode(' ', $faker->sentences()),
|
|
|
|
'skip_scripts' => 0,
|
|
|
|
'suspended' => 0,
|
|
|
|
'memory' => 512,
|
|
|
|
'swap' => 0,
|
|
|
|
'disk' => 512,
|
|
|
|
'io' => 500,
|
|
|
|
'cpu' => 0,
|
|
|
|
'oom_disabled' => 0,
|
2017-10-27 04:49:54 +00:00
|
|
|
'allocation_id' => $faker->randomNumber(),
|
|
|
|
'nest_id' => $faker->randomNumber(),
|
|
|
|
'egg_id' => $faker->randomNumber(),
|
2017-07-23 01:15:01 +00:00
|
|
|
'pack_id' => null,
|
|
|
|
'installed' => 1,
|
2018-03-04 22:30:16 +00:00
|
|
|
'database_limit' => null,
|
|
|
|
'allocation_limit' => null,
|
2017-07-23 01:15:01 +00:00
|
|
|
'created_at' => \Carbon\Carbon::now(),
|
|
|
|
'updated_at' => \Carbon\Carbon::now(),
|
|
|
|
];
|
|
|
|
});
|
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\User::class, function (Faker $faker) {
|
2017-10-24 01:12:15 +00:00
|
|
|
static $password;
|
|
|
|
|
2015-12-06 18:58:49 +00:00
|
|
|
return [
|
2017-08-05 22:20:07 +00:00
|
|
|
'id' => $faker->unique()->randomNumber(),
|
2018-03-04 22:56:05 +00:00
|
|
|
'external_id' => $faker->unique()->isbn10,
|
2017-06-14 04:25:37 +00:00
|
|
|
'uuid' => $faker->uuid,
|
|
|
|
'username' => $faker->userName,
|
|
|
|
'email' => $faker->safeEmail,
|
|
|
|
'name_first' => $faker->firstName,
|
|
|
|
'name_last' => $faker->lastName,
|
2017-10-24 01:12:15 +00:00
|
|
|
'password' => $password ?: $password = bcrypt('password'),
|
2017-06-14 04:25:37 +00:00
|
|
|
'language' => 'en',
|
|
|
|
'root_admin' => false,
|
|
|
|
'use_totp' => false,
|
2018-03-05 04:35:57 +00:00
|
|
|
'created_at' => Chronos::now(),
|
|
|
|
'updated_at' => Chronos::now(),
|
2017-06-14 04:25:37 +00:00
|
|
|
];
|
|
|
|
});
|
|
|
|
|
|
|
|
$factory->state(Pterodactyl\Models\User::class, 'admin', function () {
|
|
|
|
return [
|
2017-08-05 22:20:07 +00:00
|
|
|
'root_admin' => true,
|
2015-12-06 18:58:49 +00:00
|
|
|
];
|
|
|
|
});
|
2017-06-16 04:03:22 +00:00
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Location::class, function (Faker $faker) {
|
2017-06-16 04:03:22 +00:00
|
|
|
return [
|
2017-08-05 22:20:07 +00:00
|
|
|
'id' => $faker->unique()->randomNumber(),
|
2018-03-05 04:35:57 +00:00
|
|
|
'short' => $faker->unique()->domainWord,
|
2017-08-05 22:20:07 +00:00
|
|
|
'long' => $faker->catchPhrase,
|
|
|
|
];
|
2017-06-16 04:03:22 +00:00
|
|
|
});
|
2017-06-16 05:29:19 +00:00
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Node::class, function (Faker $faker) {
|
2017-06-16 05:29:19 +00:00
|
|
|
return [
|
2017-08-05 22:20:07 +00:00
|
|
|
'id' => $faker->unique()->randomNumber(),
|
2020-04-10 22:15:38 +00:00
|
|
|
'uuid' => Uuid::uuid4()->toString(),
|
2017-06-16 05:29:19 +00:00
|
|
|
'public' => true,
|
|
|
|
'name' => $faker->firstName,
|
|
|
|
'fqdn' => $faker->ipv4,
|
|
|
|
'scheme' => 'http',
|
|
|
|
'behind_proxy' => false,
|
|
|
|
'memory' => 1024,
|
|
|
|
'memory_overallocate' => 0,
|
|
|
|
'disk' => 10240,
|
|
|
|
'disk_overallocate' => 0,
|
|
|
|
'upload_size' => 100,
|
2020-04-10 22:15:38 +00:00
|
|
|
'daemon_token_id' => Str::random(Node::DAEMON_TOKEN_ID_LENGTH),
|
|
|
|
'daemon_token' => Str::random(Node::DAEMON_TOKEN_LENGTH),
|
2017-06-16 05:29:19 +00:00
|
|
|
'daemonListen' => 8080,
|
|
|
|
'daemonSFTP' => 2022,
|
2020-04-10 22:15:38 +00:00
|
|
|
'daemonBase' => '/srv/daemon-data',
|
2017-06-16 05:29:19 +00:00
|
|
|
];
|
|
|
|
});
|
2017-07-23 01:15:01 +00:00
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Nest::class, function (Faker $faker) {
|
2017-08-16 03:21:47 +00:00
|
|
|
return [
|
2017-08-27 00:58:24 +00:00
|
|
|
'id' => $faker->unique()->randomNumber(),
|
2017-10-07 02:22:32 +00:00
|
|
|
'uuid' => $faker->unique()->uuid,
|
|
|
|
'author' => 'testauthor@example.com',
|
2017-08-16 03:21:47 +00:00
|
|
|
'name' => $faker->word,
|
|
|
|
'description' => null,
|
|
|
|
];
|
|
|
|
});
|
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Egg::class, function (Faker $faker) {
|
2017-08-12 21:30:27 +00:00
|
|
|
return [
|
|
|
|
'id' => $faker->unique()->randomNumber(),
|
2017-10-05 03:41:15 +00:00
|
|
|
'uuid' => $faker->unique()->uuid,
|
2017-10-07 22:21:41 +00:00
|
|
|
'nest_id' => $faker->unique()->randomNumber(),
|
2017-08-12 21:30:27 +00:00
|
|
|
'name' => $faker->name,
|
2017-08-13 19:55:09 +00:00
|
|
|
'description' => implode(' ', $faker->sentences(3)),
|
2017-10-05 04:42:04 +00:00
|
|
|
'startup' => 'java -jar test.jar',
|
2017-08-12 21:30:27 +00:00
|
|
|
];
|
|
|
|
});
|
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\EggVariable::class, function (Faker $faker) {
|
2017-07-23 01:15:01 +00:00
|
|
|
return [
|
2017-08-05 22:20:07 +00:00
|
|
|
'id' => $faker->unique()->randomNumber(),
|
2017-07-23 01:15:01 +00:00
|
|
|
'name' => $faker->firstName,
|
|
|
|
'description' => $faker->sentence(),
|
|
|
|
'env_variable' => strtoupper(str_replace(' ', '_', $faker->words(2, true))),
|
|
|
|
'default_value' => $faker->colorName,
|
|
|
|
'user_viewable' => 0,
|
|
|
|
'user_editable' => 0,
|
|
|
|
'rules' => 'required|string',
|
2017-08-05 22:20:07 +00:00
|
|
|
];
|
2017-07-23 01:15:01 +00:00
|
|
|
});
|
|
|
|
|
2017-10-07 04:57:53 +00:00
|
|
|
$factory->state(Pterodactyl\Models\EggVariable::class, 'viewable', function () {
|
2017-07-23 01:15:01 +00:00
|
|
|
return ['user_viewable' => 1];
|
|
|
|
});
|
|
|
|
|
2017-10-07 04:57:53 +00:00
|
|
|
$factory->state(Pterodactyl\Models\EggVariable::class, 'editable', function () {
|
2017-07-23 01:15:01 +00:00
|
|
|
return ['user_editable' => 1];
|
|
|
|
});
|
2017-08-21 01:02:24 +00:00
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Pack::class, function (Faker $faker) {
|
2017-08-21 01:02:24 +00:00
|
|
|
return [
|
|
|
|
'id' => $faker->unique()->randomNumber(),
|
2017-10-07 23:08:19 +00:00
|
|
|
'egg_id' => $faker->randomNumber(),
|
2017-08-21 01:02:24 +00:00
|
|
|
'uuid' => $faker->uuid,
|
|
|
|
'name' => $faker->word,
|
|
|
|
'description' => null,
|
|
|
|
'version' => $faker->randomNumber(),
|
|
|
|
'selectable' => 1,
|
|
|
|
'visible' => 1,
|
|
|
|
'locked' => 0,
|
|
|
|
];
|
|
|
|
});
|
2017-08-24 02:34:11 +00:00
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Subuser::class, function (Faker $faker) {
|
2017-08-24 02:34:11 +00:00
|
|
|
return [
|
|
|
|
'id' => $faker->unique()->randomNumber(),
|
|
|
|
'user_id' => $faker->randomNumber(),
|
|
|
|
'server_id' => $faker->randomNumber(),
|
|
|
|
];
|
|
|
|
});
|
2017-08-27 00:58:24 +00:00
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Allocation::class, function (Faker $faker) {
|
2017-08-27 00:58:24 +00:00
|
|
|
return [
|
|
|
|
'id' => $faker->unique()->randomNumber(),
|
|
|
|
'node_id' => $faker->randomNumber(),
|
|
|
|
'ip' => $faker->ipv4,
|
|
|
|
'port' => $faker->randomNumber(5),
|
|
|
|
];
|
|
|
|
});
|
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\DatabaseHost::class, function (Faker $faker) {
|
2017-08-27 00:58:24 +00:00
|
|
|
return [
|
|
|
|
'id' => $faker->unique()->randomNumber(),
|
|
|
|
'name' => $faker->colorName,
|
|
|
|
'host' => $faker->unique()->ipv4,
|
|
|
|
'port' => 3306,
|
|
|
|
'username' => $faker->colorName,
|
|
|
|
'password' => Crypt::encrypt($faker->word),
|
|
|
|
'node_id' => $faker->randomNumber(),
|
|
|
|
];
|
|
|
|
});
|
2017-10-24 01:12:15 +00:00
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Database::class, function (Faker $faker) {
|
2017-10-24 01:12:15 +00:00
|
|
|
static $password;
|
|
|
|
|
|
|
|
return [
|
|
|
|
'id' => $faker->unique()->randomNumber(),
|
|
|
|
'server_id' => $faker->randomNumber(),
|
|
|
|
'database_host_id' => $faker->randomNumber(),
|
|
|
|
'database' => str_random(10),
|
|
|
|
'username' => str_random(10),
|
2018-01-05 04:49:50 +00:00
|
|
|
'remote' => '%',
|
2017-10-24 01:12:15 +00:00
|
|
|
'password' => $password ?: bcrypt('test123'),
|
|
|
|
'created_at' => \Carbon\Carbon::now()->toDateTimeString(),
|
|
|
|
'updated_at' => \Carbon\Carbon::now()->toDateTimeString(),
|
|
|
|
];
|
|
|
|
});
|
2017-09-15 04:02:31 +00:00
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Schedule::class, function (Faker $faker) {
|
2017-09-15 04:02:31 +00:00
|
|
|
return [
|
|
|
|
'id' => $faker->unique()->randomNumber(),
|
|
|
|
'server_id' => $faker->randomNumber(),
|
|
|
|
'name' => $faker->firstName(),
|
|
|
|
];
|
|
|
|
});
|
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\Task::class, function (Faker $faker) {
|
2017-09-15 04:02:31 +00:00
|
|
|
return [
|
|
|
|
'id' => $faker->unique()->randomNumber(),
|
|
|
|
'schedule_id' => $faker->randomNumber(),
|
|
|
|
'sequence_id' => $faker->randomNumber(1),
|
|
|
|
'action' => 'command',
|
|
|
|
'payload' => 'test command',
|
|
|
|
'time_offset' => 120,
|
|
|
|
'is_queued' => false,
|
|
|
|
];
|
|
|
|
});
|
2017-09-25 03:28:16 +00:00
|
|
|
|
2017-12-17 19:07:38 +00:00
|
|
|
$factory->define(Pterodactyl\Models\DaemonKey::class, function (Faker $faker) {
|
2017-09-25 03:28:16 +00:00
|
|
|
return [
|
|
|
|
'id' => $faker->unique()->randomNumber(),
|
|
|
|
'server_id' => $faker->randomNumber(),
|
|
|
|
'user_id' => $faker->randomNumber(),
|
|
|
|
'secret' => 'i_' . str_random(40),
|
2017-09-27 03:16:26 +00:00
|
|
|
'expires_at' => \Carbon\Carbon::now()->addMinutes(10)->toDateTimeString(),
|
2017-09-25 03:28:16 +00:00
|
|
|
];
|
|
|
|
});
|
2017-12-03 20:29:14 +00:00
|
|
|
|
2018-01-14 18:06:15 +00:00
|
|
|
$factory->define(Pterodactyl\Models\ApiKey::class, function (Faker $faker) {
|
2018-03-04 22:30:16 +00:00
|
|
|
static $token;
|
|
|
|
|
2017-12-03 20:29:14 +00:00
|
|
|
return [
|
|
|
|
'id' => $faker->unique()->randomNumber(),
|
|
|
|
'user_id' => $faker->randomNumber(),
|
2018-03-04 22:30:16 +00:00
|
|
|
'key_type' => ApiKey::TYPE_APPLICATION,
|
2018-01-14 18:06:15 +00:00
|
|
|
'identifier' => str_random(Pterodactyl\Models\ApiKey::IDENTIFIER_LENGTH),
|
2018-03-04 22:30:16 +00:00
|
|
|
'token' => $token ?: $token = encrypt(str_random(Pterodactyl\Models\ApiKey::KEY_LENGTH)),
|
|
|
|
'allowed_ips' => null,
|
2017-12-03 20:29:14 +00:00
|
|
|
'memo' => 'Test Function Key',
|
|
|
|
'created_at' => \Carbon\Carbon::now()->toDateTimeString(),
|
|
|
|
'updated_at' => \Carbon\Carbon::now()->toDateTimeString(),
|
|
|
|
];
|
|
|
|
});
|