Migrate HickLab3D dashboard and add production auto deployment
Deploy HickLab3D Dashboard / Deploy to production (push) Failing after 19s

This commit is contained in:
Hickmeister
2026-10-10 18:51:23 +01:00
parent 8410a50f26
commit 88dd00551f
974 changed files with 14609 additions and 162573 deletions
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class EtsyConnection extends Model
{
protected $fillable = ['shop_id', 'shop_name', 'access_token', 'refresh_token', 'expires_at'];
protected function casts(): array
{
return [
'access_token' => 'encrypted',
'refresh_token' => 'encrypted',
'expires_at' => 'datetime',
];
}
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Models;
use Database\Factories\FilamentFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Filament extends Model
{
/** @use HasFactory<FilamentFactory> */
use HasFactory;
protected $table = 'filamentTracker';
public $timestamps = false;
protected $fillable = ['userId', 'filamentName', 'amazonUrl', 'filamentWeight', 'brand', 'material', 'color', 'itemDiameter'];
public function prices(): HasMany
{
return $this->hasMany(FilamentPrice::class, 'filamentId');
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Models;
use Database\Factories\FilamentPriceFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class FilamentPrice extends Model
{
/** @use HasFactory<FilamentPriceFactory> */
use HasFactory;
protected $table = 'filamentPriceHistory';
public $timestamps = false;
protected $fillable = ['filamentId', 'price', 'currentDiscount'];
protected function casts(): array
{
return ['currentDiscount' => 'array', 'recordedAt' => 'datetime', 'price' => 'decimal:2'];
}
}
+27
View File
@@ -0,0 +1,27 @@
<?php
namespace App\Models;
use Database\Factories\PrinterFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Printer extends Model
{
/** @use HasFactory<PrinterFactory> */
use HasFactory;
protected $table = 'bambuPrinters';
public $timestamps = false;
protected $fillable = ['printerName', 'printerIp', 'mqttPassword', 'serialNumber', 'userId'];
protected $hidden = ['mqttPassword'];
public function telemetry(): HasMany
{
return $this->hasMany(PrinterTelemetry::class, 'printerId');
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Models;
use Database\Factories\PrinterTelemetryFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class PrinterTelemetry extends Model
{
/** @use HasFactory<PrinterTelemetryFactory> */
use HasFactory;
protected $table = 'printerTelemetry';
public $timestamps = false;
protected $fillable = ['printerId', 'telemetry'];
protected function casts(): array
{
return ['telemetry' => 'array', 'recordedAt' => 'datetime'];
}
}
+35
View File
@@ -0,0 +1,35 @@
<?php
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Database\Factories\UserFactory;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Attributes\Hidden;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
#[Fillable(['username', 'email', 'role', 'disabled', 'alertEmails', 'password'])]
#[Hidden(['password'])]
class User extends Authenticatable
{
/** @use HasFactory<UserFactory> */
use HasFactory, Notifiable;
public const UPDATED_AT = null;
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'password' => 'hashed',
'disabled' => 'boolean',
'alertEmails' => 'boolean',
];
}
}