ekosistem basis data tambah field enum

This commit is contained in:
2026-05-06 15:51:59 +07:00
parent 9605ae7502
commit 61d8c41c63
9 changed files with 209 additions and 10 deletions
@@ -49,18 +49,27 @@ class KolomBasisDataController extends Controller
'kolom' => ['required',
'string',
'regex:/^[a-z0-9]+(_[a-z0-9]+)*$/',
Rule::unique('ekosistem_basis_data_kolom')->where(function ($query) use ($request) {
return $query->where('tabel_id', $request->tabel_id)->whereNull('deleted_at');
Rule::unique('ekosistem_basis_data_kolom')->where(function ($query) use ($tabelId) {
return $query->where('tabel_id', $tabelId)->whereNull('deleted_at');
})
],
'label' => ['required', 'string'],
'tipe' => ['required', 'string', Rule::in(['varchar', 'integer', 'text', 'date', 'boolean', 'datetime', 'float', 'foreign_key'])],
'tipe' => ['required', 'string',
Rule::in(['varchar', 'integer', 'text', 'date', 'boolean', 'datetime', 'float', 'foreign_key', 'enum'])],
'validasi' => ['nullable', 'json'],
'relasi_tabel' => ['nullable', 'string'],
'relasi_kolom_id' => ['nullable', 'string'],
'relasi_kolom_label' => ['nullable', 'string'],
'enum_opsi' => ['nullable', 'json'],
]);
if (!empty($validated['enum_opsi'])) {
$validated['enum_opsi'] = json_decode($validated['enum_opsi'], true);
}
if (!empty($validated['validasi'])) {
$validated['validasi'] = json_decode($validated['validasi'], true);
}
KolomBasisData::create([...$validated,
'tabel_id' => $tabelId,
'created_by' => auth()->id(),
@@ -123,11 +132,13 @@ class KolomBasisDataController extends Controller
})
],
'label' => ['required', 'string'],
'tipe' => ['required', 'string', Rule::in(['varchar', 'integer', 'text', 'date', 'boolean', 'datetime', 'float', 'foreign_key'])],
'tipe' => ['required', 'string',
Rule::in(['varchar', 'integer', 'text', 'date', 'boolean', 'datetime', 'float', 'foreign_key', 'enum'])],
'validasi' => ['nullable', 'json'],
'relasi_tabel' => ['nullable', 'string'],
'relasi_kolom_id' => ['nullable', 'string'],
'relasi_kolom_label' => ['nullable', 'string'],
'enum_opsi' => ['nullable', 'json'],
]);
$kolom->update([...$validated,