add new public repo

This commit is contained in:
Andras Bacsai
2023-04-25 14:43:35 +02:00
parent dd51b002b8
commit 6135c139da
42 changed files with 495 additions and 210 deletions

View File

@@ -16,6 +16,20 @@ class Application extends BaseModel
});
}
protected $fillable = [
'name',
'description',
'git_repository',
'git_branch',
'build_pack',
'environment_id',
'destination_id',
'destination_type',
'source_id',
'source_type',
'ports_mappings',
'ports_exposes',
];
public function environment()
{
return $this->belongsTo(Environment::class);

View File

@@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Model;
class ApplicationSetting extends Model
{
protected $fillable = [
'application_id',
'is_git_submodules_allowed',
'is_git_lfs_allowed',
];

View File

@@ -2,8 +2,21 @@
namespace App\Models;
class Environment extends BaseModel
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model;
class Environment extends Model
{
protected $fillable = [
'name',
'project_id',
];
protected function name(): Attribute
{
return Attribute::make(
set: fn (string $value) => strtolower($value),
);
}
public function project()
{
return $this->belongsTo(Project::class);
@@ -21,4 +34,3 @@ class Environment extends BaseModel
return $this->hasMany(Service::class);
}
}

13
app/Models/Git.php Normal file
View File

@@ -0,0 +1,13 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Git extends Model
{
public function applications()
{
return $this->morphMany(Application::class, 'source');
}
}

View File

@@ -1,7 +0,0 @@
<?php
namespace App\Models;
class GitDeployKey extends BaseModel
{
}

View File

@@ -4,6 +4,10 @@ namespace App\Models;
class GitlabApp extends BaseModel
{
public function applications()
{
return $this->morphMany(Application::class, 'source');
}
public function privateKey()
{
return $this->belongsTo(PrivateKey::class);

View File

@@ -2,10 +2,8 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class InstanceSettings extends Model
{
use HasFactory;
}

View File

@@ -10,15 +10,28 @@ class Project extends BaseModel
ProjectSetting::create([
'project_id' => $project->id,
]);
Environment::create([
'name' => 'Production',
'project_id' => $project->id,
]);
});
}
public function environments() {
protected $fillable = [
'name',
'description',
'team_id',
'project_id'
];
public function environments()
{
return $this->hasMany(Environment::class);
}
public function settings() {
public function settings()
{
return $this->hasOne(ProjectSetting::class);
}
public function applications() {
public function applications()
{
return $this->hasManyThrough(Application::class, Environment::class);
}
}

View File

@@ -4,4 +4,7 @@ namespace App\Models;
class ProjectSetting extends BaseModel
{
protected $fillable = [
'project_id'
];
}

View File

@@ -12,6 +12,10 @@ class Server extends BaseModel
]);
});
}
public function destinations()
{
return $this->hasMany(PrivateKey::class);
}
public function privateKey()
{
return $this->belongsTo(PrivateKey::class);