forked from pterodactyl/panel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModelFactory.php
More file actions
110 lines (100 loc) · 3.33 KB
/
ModelFactory.php
File metadata and controls
110 lines (100 loc) · 3.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
/*
|--------------------------------------------------------------------------
| 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.
|
*/
\Sofa\Eloquence\Model::unsetEventDispatcher();
$factory->define(Pterodactyl\Models\Server::class, function (Faker\Generator $faker) {
return [
'id' => $faker->randomNumber(),
'uuid' => $faker->uuid,
'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,
'pack_id' => null,
'daemonSecret' => $faker->uuid,
'username' => $faker->userName,
'sftp_password' => null,
'installed' => 1,
'created_at' => \Carbon\Carbon::now(),
'updated_at' => \Carbon\Carbon::now(),
];
});
$factory->define(Pterodactyl\Models\User::class, function (Faker\Generator $faker) {
return [
'id' => $faker->randomNumber(),
'external_id' => null,
'uuid' => $faker->uuid,
'username' => $faker->userName,
'email' => $faker->safeEmail,
'name_first' => $faker->firstName,
'name_last' => $faker->lastName,
'password' => bcrypt('password'),
'language' => 'en',
'root_admin' => false,
'use_totp' => false,
];
});
$factory->state(Pterodactyl\Models\User::class, 'admin', function () {
return [
'root_admin' => true,
];
});
$factory->define(Pterodactyl\Models\Location::class, function (Faker\Generator $faker) {
return [
'short' => $faker->domainWord,
'long' => $faker->catchPhrase,
];
});
$factory->define(Pterodactyl\Models\Node::class, function (Faker\Generator $faker) {
return [
'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,
'daemonSecret' => $faker->uuid,
'daemonListen' => 8080,
'daemonSFTP' => 2022,
'daemonBase' => '/srv/daemon',
];
});
$factory->define(Pterodactyl\Models\ServiceVariable::class, function (Faker\Generator $faker) {
return [
'id' => $faker->randomNumber(),
'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',
'created_at' => \Carbon\Carbon::now(),
'updated_at' => \Carbon\Carbon::now(),
];
});
$factory->state(Pterodactyl\Models\ServiceVariable::class, 'viewable', function () {
return ['user_viewable' => 1];
});
$factory->state(Pterodactyl\Models\ServiceVariable::class, 'editable', function () {
return ['user_editable' => 1];
});