Compare commits
45 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e9ebb2206c | |||
|
b6ec9feeae
|
|||
| a1c9ace5ec | |||
| 250d017f93 | |||
| f48319ffb0 | |||
| 10c3448ec3 | |||
| 3e0bb48af7 | |||
| c9169d5cbc | |||
| e8da7bb3e9 | |||
| 1755ed37dd | |||
| d2faf4bd88 | |||
| 96001183fb | |||
| f652c92328 | |||
| 4152e9830f | |||
| caafda1f7c | |||
| e2041fe618 | |||
| a05c89475f | |||
| a028c38a4d | |||
| 982fb0bb09 | |||
| ce344d29bf | |||
| 4e29b77504 | |||
| d2492e98fa | |||
| 35b8148f7f | |||
| 3a9bd8dffe | |||
| c8b6f33464 | |||
| ff672b7a81 | |||
| dba9093ed4 | |||
| e02917ba5d | |||
| 05425c1d5f | |||
| b42a60844e | |||
| 72b66efc07 | |||
| fb45f1eccc | |||
| b10691a7ad | |||
| 0677bb1e60 | |||
| 3bc038ba17 | |||
| 1c870c3d4e | |||
|
8b8bf53790
|
|||
| 1f20ead820 | |||
| 6b567fce3c | |||
| 08000f5e9f | |||
| 761bd0d75b | |||
| 2f7cf19696 | |||
| 06a017f5a5 | |||
| 0a5e432071 | |||
| 957d9229b1 |
+4
-2
@@ -1,11 +1,13 @@
|
||||
include:
|
||||
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
|
||||
- project: unboundsoftware/ci-templates
|
||||
file: Defaults.gitlab-ci.yml
|
||||
- project: unboundsoftware/ci-templates
|
||||
file: Release.gitlab-ci.yml
|
||||
- project: unboundsoftware/ci-templates
|
||||
file: Pre-Commit-Go.gitlab-ci.yml
|
||||
|
||||
image: amd64/golang:1.24.2@sha256:aebb7dfe0e8da97fd4e22f95d2162cc6948f772fa947a00659634ece26cadb5a
|
||||
image: amd64/golang:1.25.1@sha256:70de49a6a9bfd1bde2b332fde29d04a8cc65047464fa97ddb94251b05e572bc0
|
||||
|
||||
stages:
|
||||
- deps
|
||||
@@ -30,7 +32,7 @@ test:
|
||||
|
||||
vulnerabilities:
|
||||
stage: test
|
||||
image: amd64/golang:1.24.2@sha256:aebb7dfe0e8da97fd4e22f95d2162cc6948f772fa947a00659634ece26cadb5a
|
||||
image: amd64/golang:1.25.1@sha256:70de49a6a9bfd1bde2b332fde29d04a8cc65047464fa97ddb94251b05e572bc0
|
||||
script:
|
||||
- go install golang.org/x/vuln/cmd/govulncheck@latest
|
||||
- govulncheck ./...
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# See https://pre-commit.com/hooks.html for more hooks
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v5.0.0
|
||||
rev: v6.0.0
|
||||
hooks:
|
||||
- id: trailing-whitespace
|
||||
- id: end-of-file-fixer
|
||||
@@ -37,10 +37,10 @@ repos:
|
||||
- id: go-test
|
||||
- id: gofumpt
|
||||
- repo: https://github.com/golangci/golangci-lint
|
||||
rev: v2.0.2
|
||||
rev: v2.4.0
|
||||
hooks:
|
||||
- id: golangci-lint-full
|
||||
- repo: https://github.com/gitleaks/gitleaks
|
||||
rev: v8.24.3
|
||||
rev: v8.28.0
|
||||
hooks:
|
||||
- id: gitleaks
|
||||
|
||||
+10
-16
@@ -1,7 +1,15 @@
|
||||
# Changelog
|
||||
## [0.3.0] - 2025-09-06
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
### 🚀 Features
|
||||
|
||||
- *(ci)* Add defaults pipeline template for CI workflow
|
||||
- Add salary privilege to privilege management system
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
- *(deps)* Update module github.com/sparetimecoders/goamqp to v0.3.3
|
||||
- *(deps)* Update module github.com/stretchr/testify to v1.11.0
|
||||
- *(deps)* Update module github.com/stretchr/testify to v1.11.1
|
||||
## [0.2.0] - 2025-04-11
|
||||
|
||||
### 🚀 Features
|
||||
@@ -18,7 +26,6 @@ All notable changes to this project will be documented in this file.
|
||||
### 🚜 Refactor
|
||||
|
||||
- *(ci)* Remove pre-commit job and add new template
|
||||
|
||||
## [0.1.4] - 2024-10-05
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
@@ -38,7 +45,6 @@ All notable changes to this project will be documented in this file.
|
||||
- Update golangci-lint to use full version
|
||||
- Add release flow
|
||||
- Remove old release job
|
||||
|
||||
## [0.1.3] - 2023-12-26
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
@@ -62,7 +68,6 @@ All notable changes to this project will be documented in this file.
|
||||
- Use 1.21.1 in go.mod for Dependabot
|
||||
- Update to go 1.21.3 and remove patch level
|
||||
- Update version of Go
|
||||
|
||||
## [0.1.2] - 2023-06-04
|
||||
|
||||
### 💼 Other
|
||||
@@ -74,7 +79,6 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
- Update pre-commit and fix golangci-lint
|
||||
- Update golangci-lint
|
||||
|
||||
## [0.1.1] - 2023-05-11
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
@@ -102,7 +106,6 @@ All notable changes to this project will be documented in this file.
|
||||
- Update Go verion for vulnerabilities scan
|
||||
- Update to Go 1.20.3
|
||||
- Update Go version and fix gitlabci lint
|
||||
|
||||
## [0.1.0] - 2022-07-20
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
@@ -125,7 +128,6 @@ All notable changes to this project will be documented in this file.
|
||||
- Remove dependabot-standalone
|
||||
- Change to codecov binary instead of bash uploader
|
||||
- Switch to moved goamqp
|
||||
|
||||
## [0.0.8] - 2021-05-15
|
||||
|
||||
### ⚙️ Miscellaneous Tasks
|
||||
@@ -137,7 +139,6 @@ All notable changes to this project will be documented in this file.
|
||||
- Rename master -> main
|
||||
- Group imports
|
||||
- Update to latest version of goamqp
|
||||
|
||||
## [0.0.7] - 2020-04-12
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
@@ -145,7 +146,6 @@ All notable changes to this project will be documented in this file.
|
||||
- Update to Go 1.14 to fix test errors
|
||||
- Use go mod download
|
||||
- Sort companies before comparing since map-iteration is not stable
|
||||
|
||||
## [0.0.6] - 2020-04-12
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
@@ -156,25 +156,21 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
- Add tests
|
||||
- Modify event structure
|
||||
|
||||
## [0.0.5] - 2019-12-31
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
- Add handling of removed privilege
|
||||
|
||||
## [0.0.4] - 2019-12-08
|
||||
|
||||
### 🚀 Features
|
||||
|
||||
- Add name and registration number to event
|
||||
|
||||
## [0.0.3] - 2019-11-22
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
- Print unexpected messages
|
||||
|
||||
## [0.0.2] - 2019-11-06
|
||||
|
||||
### 🚀 Features
|
||||
@@ -184,5 +180,3 @@ All notable changes to this project will be documented in this file.
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
- Rename module
|
||||
|
||||
<!-- generated by git-cliff -->
|
||||
|
||||
@@ -20,6 +20,7 @@ type CompanyPrivileges struct {
|
||||
Invoicing bool `json:"invoicing"`
|
||||
Accounting bool `json:"accounting"`
|
||||
Supplier bool `json:"supplier"`
|
||||
Salary bool `json:"salary"`
|
||||
}
|
||||
|
||||
// PrivilegeHandler processes PrivilegeAdded-events and fetches the initial set of privileges from an authz-service
|
||||
@@ -139,6 +140,8 @@ func (h *PrivilegeHandler) setPrivileges(email, companyId string, privilege Priv
|
||||
c.Accounting = set
|
||||
case PrivilegeSupplier:
|
||||
c.Supplier = set
|
||||
case PrivilegeSalary:
|
||||
c.Salary = set
|
||||
}
|
||||
} else {
|
||||
priv[companyId] = &CompanyPrivileges{}
|
||||
|
||||
+15
-1
@@ -236,6 +236,18 @@ func TestPrivilegeHandler_IsAllowed_Return_True_If_Privilege_Exists(t *testing.T
|
||||
})
|
||||
|
||||
assert.True(t, result)
|
||||
|
||||
_, _ = handler.Process(&PrivilegeAdded{
|
||||
Email: "jim@example.org",
|
||||
CompanyID: "abc-123",
|
||||
Privilege: PrivilegeSalary,
|
||||
}, goamqp.Headers{})
|
||||
|
||||
result = handler.IsAllowed("jim@example.org", "abc-123", func(privileges CompanyPrivileges) bool {
|
||||
return privileges.Salary
|
||||
})
|
||||
|
||||
assert.True(t, result)
|
||||
}
|
||||
|
||||
func TestPrivilegeHandler_Fetch_Error_Response(t *testing.T) {
|
||||
@@ -289,7 +301,8 @@ func TestPrivilegeHandler_Fetch_Valid(t *testing.T) {
|
||||
"time": true,
|
||||
"invoicing": true,
|
||||
"accounting": false,
|
||||
"supplier": false
|
||||
"supplier": false,
|
||||
"salary": true
|
||||
}
|
||||
}
|
||||
}`
|
||||
@@ -313,6 +326,7 @@ func TestPrivilegeHandler_Fetch_Valid(t *testing.T) {
|
||||
Invoicing: true,
|
||||
Accounting: false,
|
||||
Supplier: false,
|
||||
Salary: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ const (
|
||||
PrivilegeInvoicing = "INVOICING"
|
||||
PrivilegeAccounting = "ACCOUNTING"
|
||||
PrivilegeSupplier = "SUPPLIER"
|
||||
PrivilegeSalary = "SALARY"
|
||||
)
|
||||
|
||||
var AllPrivilege = []Privilege{
|
||||
@@ -33,11 +34,12 @@ var AllPrivilege = []Privilege{
|
||||
PrivilegeInvoicing,
|
||||
PrivilegeAccounting,
|
||||
PrivilegeSupplier,
|
||||
PrivilegeSalary,
|
||||
}
|
||||
|
||||
func (e Privilege) IsValid() bool {
|
||||
switch e {
|
||||
case PrivilegeAdmin, PrivilegeCompany, PrivilegeConsumer, PrivilegeTime, PrivilegeInvoicing, PrivilegeAccounting, PrivilegeSupplier:
|
||||
case PrivilegeAdmin, PrivilegeCompany, PrivilegeConsumer, PrivilegeTime, PrivilegeInvoicing, PrivilegeAccounting, PrivilegeSupplier, PrivilegeSalary:
|
||||
return true
|
||||
}
|
||||
return false
|
||||
|
||||
@@ -2,11 +2,11 @@ module gitlab.com/unboundsoftware/shiny/authz_client
|
||||
|
||||
go 1.22.12
|
||||
|
||||
toolchain go1.24.2
|
||||
toolchain go1.25.1
|
||||
|
||||
require (
|
||||
github.com/sparetimecoders/goamqp v0.3.2
|
||||
github.com/stretchr/testify v1.10.0
|
||||
github.com/sparetimecoders/goamqp v0.3.3
|
||||
github.com/stretchr/testify v1.11.1
|
||||
)
|
||||
|
||||
require (
|
||||
|
||||
@@ -8,10 +8,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/rabbitmq/amqp091-go v1.10.0 h1:STpn5XsHlHGcecLmMFCtg7mqq0RnD+zFr4uzukfVhBw=
|
||||
github.com/rabbitmq/amqp091-go v1.10.0/go.mod h1:Hy4jKW5kQART1u+JkDTF9YYOQUHXqMuhrgxOEeS7G4o=
|
||||
github.com/sparetimecoders/goamqp v0.3.2 h1:XdlyUBAJS5RcURw+SnnPjPJJuofddZwQsjAf05VPXvI=
|
||||
github.com/sparetimecoders/goamqp v0.3.2/go.mod h1:W9NRCpWLE+Vruv2dcRSbszNil2O826d2Nv6kAkETW5o=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/sparetimecoders/goamqp v0.3.3 h1:z/nfTPmrjeU/rIVuNOgsVLCimp3WFoNFvS3ZzXRJ6HE=
|
||||
github.com/sparetimecoders/goamqp v0.3.3/go.mod h1:W9NRCpWLE+Vruv2dcRSbszNil2O826d2Nv6kAkETW5o=
|
||||
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
|
||||
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
||||
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
|
||||
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
|
||||
Reference in New Issue
Block a user