diff --git a/.github/workflows/hub.yml b/.github/workflows/hub.yml
index bd4d5c0..ddc1f11 100644
--- a/.github/workflows/hub.yml
+++ b/.github/workflows/hub.yml
@@ -1,8 +1,8 @@
-name: ci
+name: Build docker image
on:
- push:
- branches: master
+ release:
+ types: [published]
jobs:
multi:
@@ -26,6 +26,9 @@ jobs:
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
+ - name: Parse the git tag
+ id: get_tag
+ run: echo ::set-output name=TAG::$(echo $GITHUB_REF | cut -d / -f 3)
- name: Login to DockerHub
uses: docker/login-action@v1
with:
@@ -50,6 +53,6 @@ jobs:
# cache-to: type=local,dest=/tmp/.buildx-cache
tags: |
akhilrex/hammond:latest
- akhilrex/hammond:1.0.0
+ akhilrex/hammond:${{ steps.get_tag.outputs.TAG }}
ghcr.io/akhilrex/hammond:latest
- ghcr.io/akhilrex/hammond:1.0.0
+ ghcr.io/akhilrex/hammond:${{ steps.get_tag.outputs.TAG }}
diff --git a/.github/workflows/test-go.yml b/.github/workflows/test-go.yml
new file mode 100644
index 0000000..343e8ad
--- /dev/null
+++ b/.github/workflows/test-go.yml
@@ -0,0 +1,16 @@
+on: [push, pull_request]
+name: Test server
+jobs:
+ test:
+ strategy:
+ matrix:
+ go-version: [1.17.x, 1.18.x]
+ os: [ubuntu-latest]
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/setup-go@v3
+ with:
+ go-version: ${{ matrix.go-version }}
+ - uses: actions/checkout@v3
+ - run: go test ./...
+ working-directory: server
diff --git a/.github/workflows/test-npm.yml b/.github/workflows/test-npm.yml
new file mode 100644
index 0000000..8b108ae
--- /dev/null
+++ b/.github/workflows/test-npm.yml
@@ -0,0 +1,22 @@
+name: Test UI
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ node-version: [10.x, 12.x, 14.x, 15.x]
+ steps:
+ - uses: actions/checkout@v3
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ matrix.node-version }}
+ - run: npm ci
+ working-directory: ui
+ - run: npm run build --if-present
+ working-directory: ui
+ - run: npm test
+ working-directory: ui
diff --git a/server/.gitignore b/server/.gitignore
index 7f17b4d..032b3b4 100644
--- a/server/.gitignore
+++ b/server/.gitignore
@@ -12,6 +12,10 @@
*.out
*.db
+# MS VSCode
+.vscode
+__debug_bin
+
# Dependency directories (remove the comment below to include it)
# vendor/
assets/*
diff --git a/server/db/dbModels.go b/server/db/dbModels.go
index ce65b11..71682bb 100644
--- a/server/db/dbModels.go
+++ b/server/db/dbModels.go
@@ -60,6 +60,7 @@ type Vehicle struct {
Base
Nickname string `json:"nickname"`
Registration string `json:"registration"`
+ VIN string `json:"vin"`
Make string `json:"make"`
Model string `json:"model"`
YearOfManufacture int `json:"yearOfManufacture"`
diff --git a/server/db/migrations.go b/server/db/migrations.go
index ded1a96..598dd29 100644
--- a/server/db/migrations.go
+++ b/server/db/migrations.go
@@ -21,6 +21,11 @@ var migrations = []localMigration{
{
Name: "2021_02_07_00_09_LowerCaseEmails",
Query: "update users set email=lower(email)",
+
+ },
+ {
+ Name: "2022_03_08_13_16_AddVIN",
+ Query: "ALTER TABLE vehicles ADD COLUMN vin text",
},
}
diff --git a/server/models/vehicle.go b/server/models/vehicle.go
index e81af97..4373cc3 100644
--- a/server/models/vehicle.go
+++ b/server/models/vehicle.go
@@ -17,6 +17,7 @@ type SubItemQuery struct {
type CreateVehicleRequest struct {
Nickname string `form:"nickname" json:"nickname" binding:"required"`
Registration string `form:"registration" json:"registration" binding:"required"`
+ VIN string `form:"vin" json:"vin"`
Make string `form:"make" json:"make" binding:"required"`
Model string `form:"model" json:"model" binding:"required"`
YearOfManufacture int `form:"yearOfManufacture" json:"yearOfManufacture"`
diff --git a/server/service/vehicleService.go b/server/service/vehicleService.go
index 6f1ccbd..a26d24f 100644
--- a/server/service/vehicleService.go
+++ b/server/service/vehicleService.go
@@ -14,6 +14,7 @@ func CreateVehicle(model models.CreateVehicleRequest, userId string) (*db.Vehicl
Nickname: model.Nickname,
Registration: model.Registration,
Model: model.Model,
+ VIN: model.VIN,
Make: model.Make,
YearOfManufacture: model.YearOfManufacture,
EngineSize: model.EngineSize,
@@ -100,6 +101,7 @@ func UpdateVehicle(vehicleID string, model models.UpdateVehicleRequest) error {
//return db.DB.Model(&toUpdate).Updates(db.Vehicle{
toUpdate.Nickname = model.Nickname
toUpdate.Registration = model.Registration
+ toUpdate.VIN = model.VIN
toUpdate.Model = model.Model
toUpdate.Make = model.Make
toUpdate.YearOfManufacture = model.YearOfManufacture
diff --git a/ui/src/router/views/createVehicle.vue b/ui/src/router/views/createVehicle.vue
index 7f25469..a408585 100644
--- a/ui/src/router/views/createVehicle.vue
+++ b/ui/src/router/views/createVehicle.vue
@@ -47,6 +47,7 @@ export default {
fuelUnit: null,
fuelType: null,
registration: '',
+ vin: '',
nickname: '',
engineSize: null,
make: '',
@@ -58,6 +59,7 @@ export default {
fuelUnit: veh.fuelUnit,
fuelType: veh.fuelType,
registration: veh.registration,
+ vin: veh.vin,
nickname: veh.nickname,
engineSize: veh.engineSize,
make: veh.make,
@@ -138,6 +140,9 @@ export default {
+
+
+