diff --git a/app/Models/Computer.php b/app/Models/Computer.php
index 4065420..50fbd4e 100644
--- a/app/Models/Computer.php
+++ b/app/Models/Computer.php
@@ -8,4 +8,10 @@ use Illuminate\Database\Eloquent\Model;
class Computer extends Model
{
use HasFactory;
+ protected $fillable = ['user_id', 'name', 'cpu', 'motherboard', 'gpu', 'additional_info'];
+
+ public function user(){
+ return $this->belongsTo(User::class);
+ }
+
}
diff --git a/app/Models/Job.php b/app/Models/Job.php
index e417724..070c230 100644
--- a/app/Models/Job.php
+++ b/app/Models/Job.php
@@ -8,4 +8,9 @@ use Illuminate\Database\Eloquent\Model;
class Job extends Model
{
use HasFactory;
+ protected $fillable = ['computer_id', 'description', 'status'];
+
+ public function computer(){
+ return $this->belongsTo(Computer::class);
+ }
}
diff --git a/resources/store/computers.js b/resources/store/computers.js
index 173c5f6..a7f6828 100644
--- a/resources/store/computers.js
+++ b/resources/store/computers.js
@@ -13,7 +13,7 @@ export const useComputersStore = defineStore('computers', {
localStorage.setItem('auth_token', token);
},
checkToken(){
- this.token = this.useUserStore().token;
+ this.token = useUserStore().token;
},
async getComputerList(user_id){
if (this.token === null){
@@ -33,6 +33,29 @@ export const useComputersStore = defineStore('computers', {
).then((response)=>{
this.computers = response.data;
})
+ },
+ async create(name, cpu, motherboard, gpu, additional_info){
+ if (this.token === null){
+ this.checkToken();
+ }
+ await axios.post('/api/data/computers/create', {
+ user_id: useUserStore().user['id'],
+ name: name,
+ cpu: cpu,
+ motherboard: motherboard,
+ gpu: gpu,
+ additional_info: additional_info,
+ }, {
+ headers: {
+ Authorization: `Bearer ${this.token}`,
+ token: this.token
+ },
+ }).then(()=>{
+ this.getComputerList(useUserStore().user['id']);
+ return true;
+ }).catch(()=>{
+ return false;
+ });
}
},
})
diff --git a/resources/views/Computers/CreateForm.vue b/resources/views/Computers/CreateForm.vue
new file mode 100644
index 0000000..8978d83
--- /dev/null
+++ b/resources/views/Computers/CreateForm.vue
@@ -0,0 +1,66 @@
+
+
+
+