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 { + + +