Move coredata outside probo service
Signed-off-by: gearnode <bryan@frimin.fr>
This commit is contained in:
@@ -26,4 +26,6 @@ const (
|
|||||||
PeopleEntityType
|
PeopleEntityType
|
||||||
EvidenceStateTransitionEntityType
|
EvidenceStateTransitionEntityType
|
||||||
PolicyEntityType
|
PolicyEntityType
|
||||||
|
UserEntityType
|
||||||
|
SessionEntityType
|
||||||
)
|
)
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
// PERFORMANCE OF THIS SOFTWARE.
|
// PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
package usrmgr
|
package passwdhash
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/hmac"
|
"crypto/hmac"
|
||||||
@@ -26,7 +26,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
HashingProfile struct {
|
Profile struct {
|
||||||
minIterations uint
|
minIterations uint
|
||||||
saltLength uint
|
saltLength uint
|
||||||
keyLength uint
|
keyLength uint
|
||||||
@@ -39,7 +39,7 @@ const (
|
|||||||
algorithmByte = 0x01 // Algorithm identifier (0x01 for PBKDF2-SHA256)
|
algorithmByte = 0x01 // Algorithm identifier (0x01 for PBKDF2-SHA256)
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewHashingProfile(pepper []byte) (*HashingProfile, error) {
|
func NewProfile(pepper []byte) (*Profile, error) {
|
||||||
if len(pepper) < 32 {
|
if len(pepper) < 32 {
|
||||||
return nil, fmt.Errorf("pepper must be at least 32 bytes")
|
return nil, fmt.Errorf("pepper must be at least 32 bytes")
|
||||||
}
|
}
|
||||||
@@ -48,7 +48,7 @@ func NewHashingProfile(pepper []byte) (*HashingProfile, error) {
|
|||||||
// - At least 32 bits of salt (we use 256 bits/32 bytes for extra security)
|
// - At least 32 bits of salt (we use 256 bits/32 bytes for extra security)
|
||||||
// - At least 1000 iterations (we use higher based on processing capabilities)
|
// - At least 1000 iterations (we use higher based on processing capabilities)
|
||||||
// - Resulting key length should be at least 160 bits (we use 256 bits)
|
// - Resulting key length should be at least 160 bits (we use 256 bits)
|
||||||
return &HashingProfile{
|
return &Profile{
|
||||||
minIterations: 600000, // Minimum iterations (adjusted based on hardware speed)
|
minIterations: 600000, // Minimum iterations (adjusted based on hardware speed)
|
||||||
saltLength: 32, // Salt length in bytes (256 bits)
|
saltLength: 32, // Salt length in bytes (256 bits)
|
||||||
keyLength: 32, // Output key length in bytes (256 bits)
|
keyLength: 32, // Output key length in bytes (256 bits)
|
||||||
@@ -56,13 +56,13 @@ func NewHashingProfile(pepper []byte) (*HashingProfile, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (hp HashingProfile) applyPepper(input []byte) []byte {
|
func (hp Profile) applyPepper(input []byte) []byte {
|
||||||
mac := hmac.New(sha256.New, hp.pepper)
|
mac := hmac.New(sha256.New, hp.pepper)
|
||||||
mac.Write(input)
|
mac.Write(input)
|
||||||
return mac.Sum(nil)
|
return mac.Sum(nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (hp HashingProfile) HashPassword(password []byte, iterations uint32) ([]byte, error) {
|
func (hp Profile) HashPassword(password []byte, iterations uint32) ([]byte, error) {
|
||||||
salt := make([]byte, hp.saltLength)
|
salt := make([]byte, hp.saltLength)
|
||||||
if _, err := rand.Read(salt); err != nil {
|
if _, err := rand.Read(salt); err != nil {
|
||||||
return nil, fmt.Errorf("error generating salt: %v", err)
|
return nil, fmt.Errorf("error generating salt: %v", err)
|
||||||
@@ -94,7 +94,7 @@ func (hp HashingProfile) HashPassword(password []byte, iterations uint32) ([]byt
|
|||||||
return binaryHash, nil
|
return binaryHash, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (hp HashingProfile) ComparePasswordAndHash(password, passwordHash []byte) (bool, error) {
|
func (hp Profile) ComparePasswordAndHash(password, passwordHash []byte) (bool, error) {
|
||||||
if len(passwordHash) < 7 {
|
if len(passwordHash) < 7 {
|
||||||
return false, fmt.Errorf("hash too short")
|
return false, fmt.Errorf("hash too short")
|
||||||
}
|
}
|
||||||
@@ -19,8 +19,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ import (
|
|||||||
|
|
||||||
"github.com/aws/aws-sdk-go-v2/aws"
|
"github.com/aws/aws-sdk-go-v2/aws"
|
||||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/crypto/uuid"
|
"go.gearno.de/crypto/uuid"
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/page"
|
"github.com/getprobo/probo/pkg/page"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/page"
|
"github.com/getprobo/probo/pkg/page"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/page"
|
"github.com/getprobo/probo/pkg/page"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/page"
|
"github.com/getprobo/probo/pkg/page"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/page"
|
"github.com/getprobo/probo/pkg/page"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/page"
|
"github.com/getprobo/probo/pkg/page"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/page"
|
"github.com/getprobo/probo/pkg/page"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -19,9 +19,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/migrator"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -42,11 +41,6 @@ func NewService(
|
|||||||
s3Client *s3.Client,
|
s3Client *s3.Client,
|
||||||
bucket string,
|
bucket string,
|
||||||
) (*Service, error) {
|
) (*Service, error) {
|
||||||
err := migrator.NewMigrator(pgClient, coredata.Migrations).Run(ctx, "migrations")
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("cannot migrate database schema: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
if bucket == "" {
|
if bucket == "" {
|
||||||
return nil, fmt.Errorf("bucket is required")
|
return nil, fmt.Errorf("bucket is required")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ package probo
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import (
|
|||||||
|
|
||||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||||
"github.com/getprobo/probo/pkg/awsconfig"
|
"github.com/getprobo/probo/pkg/awsconfig"
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/probo"
|
"github.com/getprobo/probo/pkg/probo"
|
||||||
"github.com/getprobo/probo/pkg/server"
|
"github.com/getprobo/probo/pkg/server"
|
||||||
console_v1 "github.com/getprobo/probo/pkg/server/api/console/v1"
|
console_v1 "github.com/getprobo/probo/pkg/server/api/console/v1"
|
||||||
@@ -33,6 +34,7 @@ import (
|
|||||||
"go.gearno.de/kit/httpclient"
|
"go.gearno.de/kit/httpclient"
|
||||||
"go.gearno.de/kit/httpserver"
|
"go.gearno.de/kit/httpserver"
|
||||||
"go.gearno.de/kit/log"
|
"go.gearno.de/kit/log"
|
||||||
|
"go.gearno.de/kit/migrator"
|
||||||
"go.gearno.de/kit/pg"
|
"go.gearno.de/kit/pg"
|
||||||
"go.gearno.de/kit/unit"
|
"go.gearno.de/kit/unit"
|
||||||
"go.opentelemetry.io/otel/trace"
|
"go.opentelemetry.io/otel/trace"
|
||||||
@@ -146,7 +148,11 @@ func (impl *Implm) Run(
|
|||||||
|
|
||||||
s3Client := s3.NewFromConfig(awsConfig)
|
s3Client := s3.NewFromConfig(awsConfig)
|
||||||
|
|
||||||
// TODO: merge usrmgr and probo service
|
err = migrator.NewMigrator(pgClient, coredata.Migrations).Run(ctx, "migrations")
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("cannot migrate database schema: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
usrmgrService, err := usrmgr.NewService(ctx, pgClient, pepper)
|
usrmgrService, err := usrmgr.NewService(ctx, pgClient, pepper)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot create usrmgr service: %w", err)
|
return fmt.Errorf("cannot create usrmgr service: %w", err)
|
||||||
|
|||||||
@@ -27,11 +27,11 @@ import (
|
|||||||
"github.com/99designs/gqlgen/graphql/handler/extension"
|
"github.com/99designs/gqlgen/graphql/handler/extension"
|
||||||
"github.com/99designs/gqlgen/graphql/handler/transport"
|
"github.com/99designs/gqlgen/graphql/handler/transport"
|
||||||
"github.com/99designs/gqlgen/graphql/playground"
|
"github.com/99designs/gqlgen/graphql/playground"
|
||||||
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/probo"
|
"github.com/getprobo/probo/pkg/probo"
|
||||||
"github.com/getprobo/probo/pkg/server/api/console/v1/schema"
|
"github.com/getprobo/probo/pkg/server/api/console/v1/schema"
|
||||||
"github.com/getprobo/probo/pkg/usrmgr"
|
"github.com/getprobo/probo/pkg/usrmgr"
|
||||||
"github.com/getprobo/probo/pkg/usrmgr/coredata"
|
|
||||||
"github.com/go-chi/chi/v5"
|
"github.com/go-chi/chi/v5"
|
||||||
"github.com/vektah/gqlparser/v2/gqlerror"
|
"github.com/vektah/gqlparser/v2/gqlerror"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -21,60 +21,52 @@ interface Node {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum ControlState
|
enum ControlState
|
||||||
@goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.ControlState") {
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.ControlState") {
|
||||||
NOT_STARTED
|
NOT_STARTED
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotStarted"
|
value: "github.com/getprobo/probo/pkg/coredata.ControlStateNotStarted"
|
||||||
)
|
)
|
||||||
IN_PROGRESS
|
IN_PROGRESS
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateInProgress"
|
value: "github.com/getprobo/probo/pkg/coredata.ControlStateInProgress"
|
||||||
)
|
)
|
||||||
NOT_APPLICABLE
|
NOT_APPLICABLE
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotApplicable"
|
value: "github.com/getprobo/probo/pkg/coredata.ControlStateNotApplicable"
|
||||||
)
|
)
|
||||||
IMPLEMENTED
|
IMPLEMENTED
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateImplemented"
|
value: "github.com/getprobo/probo/pkg/coredata.ControlStateImplemented"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
enum TaskState
|
enum TaskState
|
||||||
@goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.TaskState") {
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.TaskState") {
|
||||||
TODO
|
TODO @goEnum(value: "github.com/getprobo/probo/pkg/coredata.TaskStateTodo")
|
||||||
@goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateTodo")
|
DONE @goEnum(value: "github.com/getprobo/probo/pkg/coredata.TaskStateDone")
|
||||||
DONE
|
|
||||||
@goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateDone")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum EvidenceState
|
enum EvidenceState
|
||||||
@goModel(
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.EvidenceState") {
|
||||||
model: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceState"
|
|
||||||
) {
|
|
||||||
VALID
|
VALID
|
||||||
@goEnum(
|
@goEnum(value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateValid")
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateValid"
|
|
||||||
)
|
|
||||||
INVALID
|
INVALID
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateInvalid"
|
value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateInvalid"
|
||||||
)
|
)
|
||||||
EXPIRED
|
EXPIRED
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateExpired"
|
value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateExpired"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
enum PeopleKind
|
enum PeopleKind
|
||||||
@goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKind") {
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.PeopleKind") {
|
||||||
EMPLOYEE
|
EMPLOYEE
|
||||||
@goEnum(
|
@goEnum(value: "github.com/getprobo/probo/pkg/coredata.PeopleKindEmployee")
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKindEmployee"
|
|
||||||
)
|
|
||||||
CONTRACTOR
|
CONTRACTOR
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKindContractor"
|
value: "github.com/getprobo/probo/pkg/coredata.PeopleKindContractor"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -378,37 +370,29 @@ input UpdatePeopleInput {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum ServiceCriticality
|
enum ServiceCriticality
|
||||||
@goModel(
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.ServiceCriticality") {
|
||||||
model: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticality"
|
|
||||||
) {
|
|
||||||
LOW
|
LOW
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityLow"
|
value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityLow"
|
||||||
)
|
)
|
||||||
MEDIUM
|
MEDIUM
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityMedium"
|
value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityMedium"
|
||||||
)
|
)
|
||||||
HIGH
|
HIGH
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityHigh"
|
value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityHigh"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
enum RiskTier
|
enum RiskTier
|
||||||
@goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.RiskTier") {
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.RiskTier") {
|
||||||
CRITICAL
|
CRITICAL
|
||||||
@goEnum(
|
@goEnum(value: "github.com/getprobo/probo/pkg/coredata.RiskTierCritical")
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierCritical"
|
|
||||||
)
|
|
||||||
SIGNIFICANT
|
SIGNIFICANT
|
||||||
@goEnum(
|
@goEnum(value: "github.com/getprobo/probo/pkg/coredata.RiskTierSignificant")
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierSignificant"
|
|
||||||
)
|
|
||||||
GENERAL
|
GENERAL
|
||||||
@goEnum(
|
@goEnum(value: "github.com/getprobo/probo/pkg/coredata.RiskTierGeneral")
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierGeneral"
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input UpdateVendorInput {
|
input UpdateVendorInput {
|
||||||
@@ -547,15 +531,11 @@ type DeleteEvidencePayload {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum PolicyStatus
|
enum PolicyStatus
|
||||||
@goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatus") {
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.PolicyStatus") {
|
||||||
DRAFT
|
DRAFT
|
||||||
@goEnum(
|
@goEnum(value: "github.com/getprobo/probo/pkg/coredata.PolicyStatusDraft")
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatusDraft"
|
|
||||||
)
|
|
||||||
ACTIVE
|
ACTIVE
|
||||||
@goEnum(
|
@goEnum(value: "github.com/getprobo/probo/pkg/coredata.PolicyStatusActive")
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatusActive"
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input CreatePolicyInput {
|
input CreatePolicyInput {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import (
|
|||||||
"github.com/99designs/gqlgen/graphql/introspection"
|
"github.com/99designs/gqlgen/graphql/introspection"
|
||||||
"github.com/getprobo/probo/pkg/gid"
|
"github.com/getprobo/probo/pkg/gid"
|
||||||
"github.com/getprobo/probo/pkg/page"
|
"github.com/getprobo/probo/pkg/page"
|
||||||
"github.com/getprobo/probo/pkg/probo/coredata"
|
"github.com/getprobo/probo/pkg/coredata"
|
||||||
"github.com/getprobo/probo/pkg/server/api/console/v1/types"
|
"github.com/getprobo/probo/pkg/server/api/console/v1/types"
|
||||||
gqlparser "github.com/vektah/gqlparser/v2"
|
gqlparser "github.com/vektah/gqlparser/v2"
|
||||||
"github.com/vektah/gqlparser/v2/ast"
|
"github.com/vektah/gqlparser/v2/ast"
|
||||||
@@ -1824,60 +1824,60 @@ interface Node {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum ControlState
|
enum ControlState
|
||||||
@goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.ControlState") {
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.ControlState") {
|
||||||
NOT_STARTED
|
NOT_STARTED
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotStarted"
|
value: "github.com/getprobo/probo/pkg/coredata.ControlStateNotStarted"
|
||||||
)
|
)
|
||||||
IN_PROGRESS
|
IN_PROGRESS
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateInProgress"
|
value: "github.com/getprobo/probo/pkg/coredata.ControlStateInProgress"
|
||||||
)
|
)
|
||||||
NOT_APPLICABLE
|
NOT_APPLICABLE
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotApplicable"
|
value: "github.com/getprobo/probo/pkg/coredata.ControlStateNotApplicable"
|
||||||
)
|
)
|
||||||
IMPLEMENTED
|
IMPLEMENTED
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateImplemented"
|
value: "github.com/getprobo/probo/pkg/coredata.ControlStateImplemented"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
enum TaskState
|
enum TaskState
|
||||||
@goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.TaskState") {
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.TaskState") {
|
||||||
TODO
|
TODO
|
||||||
@goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateTodo")
|
@goEnum(value: "github.com/getprobo/probo/pkg/coredata.TaskStateTodo")
|
||||||
DONE
|
DONE
|
||||||
@goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateDone")
|
@goEnum(value: "github.com/getprobo/probo/pkg/coredata.TaskStateDone")
|
||||||
}
|
}
|
||||||
|
|
||||||
enum EvidenceState
|
enum EvidenceState
|
||||||
@goModel(
|
@goModel(
|
||||||
model: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceState"
|
model: "github.com/getprobo/probo/pkg/coredata.EvidenceState"
|
||||||
) {
|
) {
|
||||||
VALID
|
VALID
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateValid"
|
value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateValid"
|
||||||
)
|
)
|
||||||
INVALID
|
INVALID
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateInvalid"
|
value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateInvalid"
|
||||||
)
|
)
|
||||||
EXPIRED
|
EXPIRED
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateExpired"
|
value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateExpired"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
enum PeopleKind
|
enum PeopleKind
|
||||||
@goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKind") {
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.PeopleKind") {
|
||||||
EMPLOYEE
|
EMPLOYEE
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKindEmployee"
|
value: "github.com/getprobo/probo/pkg/coredata.PeopleKindEmployee"
|
||||||
)
|
)
|
||||||
CONTRACTOR
|
CONTRACTOR
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKindContractor"
|
value: "github.com/getprobo/probo/pkg/coredata.PeopleKindContractor"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2182,35 +2182,35 @@ input UpdatePeopleInput {
|
|||||||
|
|
||||||
enum ServiceCriticality
|
enum ServiceCriticality
|
||||||
@goModel(
|
@goModel(
|
||||||
model: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticality"
|
model: "github.com/getprobo/probo/pkg/coredata.ServiceCriticality"
|
||||||
) {
|
) {
|
||||||
LOW
|
LOW
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityLow"
|
value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityLow"
|
||||||
)
|
)
|
||||||
MEDIUM
|
MEDIUM
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityMedium"
|
value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityMedium"
|
||||||
)
|
)
|
||||||
HIGH
|
HIGH
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityHigh"
|
value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityHigh"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
enum RiskTier
|
enum RiskTier
|
||||||
@goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.RiskTier") {
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.RiskTier") {
|
||||||
CRITICAL
|
CRITICAL
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierCritical"
|
value: "github.com/getprobo/probo/pkg/coredata.RiskTierCritical"
|
||||||
)
|
)
|
||||||
SIGNIFICANT
|
SIGNIFICANT
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierSignificant"
|
value: "github.com/getprobo/probo/pkg/coredata.RiskTierSignificant"
|
||||||
)
|
)
|
||||||
GENERAL
|
GENERAL
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierGeneral"
|
value: "github.com/getprobo/probo/pkg/coredata.RiskTierGeneral"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2350,14 +2350,14 @@ type DeleteEvidencePayload {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum PolicyStatus
|
enum PolicyStatus
|
||||||
@goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatus") {
|
@goModel(model: "github.com/getprobo/probo/pkg/coredata.PolicyStatus") {
|
||||||
DRAFT
|
DRAFT
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatusDraft"
|
value: "github.com/getprobo/probo/pkg/coredata.PolicyStatusDraft"
|
||||||
)
|
)
|
||||||
ACTIVE
|
ACTIVE
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatusActive"
|
value: "github.com/getprobo/probo/pkg/coredata.PolicyStatusActive"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user