Compare commits

...

2 Commits

@ -17,8 +17,8 @@ class TvController extends Controller {
public function checkUpdate(Request $request) {
$request->validate(['id' => 'nullable|integer',
'version_code' => 'required|integer',
'version_name' => 'required|string']);
'apk_version_code' => 'required|integer',
'apk_version_name' => 'required|string']);
$tv = null;
$latestApkUpdate = null;
@ -26,8 +26,8 @@ class TvController extends Controller {
if($request->id) {
$tv = Tv::find($request->id);
$tv->last_connected_at = now();
$tv->version_code = $request->version_code;
$tv->version_name = $request->version_name;
$tv->apk_version_code = $request->apk_version_code;
$tv->apk_version_name = $request->apk_version_name;
$tv->save();
$latestApkUpdate = ApkUpdate::getLatest();
$latestVideoUpdate = VideoUpdate::getLatestSelected();

@ -133,7 +133,6 @@ class NewTvRequest extends Model {
if($tvRequest->code) $tvRequest->merge(['code' => strtoupper($tvRequest->code)]);
$tvRequest->validate([
'code' => 'required|string|unique:App\Models\Tv,code',
'company_name' => 'nullable|string',
'address' => 'nullable|string',
'street_address' => 'nullable|string',
@ -157,7 +156,7 @@ class NewTvRequest extends Model {
try {
DB::beginTransaction();
$tv = new Tv();
$tv->code = $tvRequest->code;
$tv->code = TV::generateUniqueCode();
$tv->company_name = $tvRequest->company_name;
$tv->address = $tvRequest->address;
$tv->street_address = $tvRequest->street_address;

@ -15,6 +15,7 @@ use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Validation\Rule;
use Illuminate\Support\Str;
class Tv extends Model {
use HasFactory;
@ -40,6 +41,22 @@ class Tv extends Model {
//------------------------------------------------------------
// -- RELATED TO DATA FUNCTION
public static function generateUniqueCode() {
// init
$totalSuffixDigit = 5;
date_default_timezone_set('Asia/Jakarta');
$prefixCode = 'TV' . date('Ym');
// try to get unique suffix
$uniqueCode = '';
while(true) {
$suffixCode = strtoupper(Str::random($totalSuffixDigit));
$uniqueCode = $prefixCode . $suffixCode;
$isUnique = TV::where('code', $uniqueCode)->first();
if(!$isUnique) break;
}
return $uniqueCode;
}
// -- END RELATED TO DATA FUNCTION
//------------------------------------------------------------

@ -11,11 +11,10 @@ return new class extends Migration {
public function up(): void {
Schema::create('tvs', function (Blueprint $table) {
$table->id();
$table->foreignId('outlet_fk')->nullable();
$table->string('code', 50)->unique();
$table->string('ik_address_id', 255)->nullable();
$table->integer('version_code')->nullable();
$table->string('version_name')->nullable();
$table->integer('apk_version_code')->nullable();
$table->string('apk_version_name')->nullable();
$table->string('company_name')->nullable();
$table->string('address')->nullable();
$table->string('street_address')->nullable();

Loading…
Cancel
Save