From 5bdc474aef24899475cd390aecca30bdd0c83157 Mon Sep 17 00:00:00 2001 From: gearnode Date: Tue, 11 Mar 2025 09:38:36 +0100 Subject: [PATCH] Move coredata outside probo service Signed-off-by: gearnode --- pkg/{probo => }/coredata/control.go | 0 pkg/{probo => }/coredata/control_state.go | 0 pkg/{probo => }/coredata/entity_type_reg.go | 2 + pkg/{probo => }/coredata/evidence.go | 0 pkg/{probo => }/coredata/evidence_state.go | 0 pkg/{probo => }/coredata/framework.go | 0 pkg/{probo => }/coredata/migrations.go | 0 .../coredata/migrations/20250124T113100Z.sql | 0 .../coredata/migrations/20250125T212400Z.sql | 0 .../coredata/migrations/20250125T214100Z.sql | 0 .../coredata/migrations/20250126T141600Z.sql | 0 .../coredata/migrations/20250128T093900Z.sql | 0 .../coredata/migrations/20250128T151500Z.sql | 0 .../coredata/migrations/20250130T142900Z.sql | 0 .../coredata/migrations/20250130T144500Z.sql | 0 .../coredata/migrations/20250130T145600Z.sql | 0 .../coredata/migrations/20250130T154300Z.sql | 0 .../coredata/migrations/20250130T210000Z.sql | 0 .../coredata/migrations/20250130T211400Z.sql | 0 .../coredata/migrations/20250130T212000Z.sql | 0 .../coredata/migrations/20250139T143000Z.sql | 0 .../coredata/migrations/20250202T110500Z.sql | 0 .../coredata/migrations/20250202T141800Z.sql | 0 .../coredata/migrations/20250202T180400Z.sql | 0 .../coredata/migrations/20250202T201400Z.sql | 0 .../coredata/migrations/20250206T121300Z.sql | 0 .../coredata/migrations/20250209T183000Z.sql | 0 .../coredata/migrations/20250212T174900Z.sql | 0 .../coredata/migrations/20250218T101900Z.sql | 0 .../coredata/migrations/20250218T112800Z.sql | 0 .../coredata/migrations/20250218T113200Z.sql | 0 .../coredata/migrations/20250218T113800Z.sql | 0 .../coredata/migrations/20250218T120000Z.sql | 0 .../coredata/migrations/20250218T121700Z.sql | 0 .../coredata/migrations/20250218T125600Z.sql | 0 .../coredata/migrations/20250218T171000Z.sql | 0 .../coredata/migrations/20250225T153220Z.sql | 0 .../coredata/migrations/20250225T201106Z.sql | 0 .../coredata/migrations/20250225T211652Z.sql | 0 .../coredata/migrations/20250225T222000Z.sql | 0 .../coredata/migrations/20250227T144100Z.sql | 0 .../coredata/migrations/20250227T152900Z.sql | 0 .../coredata/migrations/20250228T000000Z.sql | 0 .../coredata/migrations/20250305T110005Z.sql | 0 .../coredata/migrations/20250305T111053Z.sql | 0 .../coredata/migrations/20250305T155800Z.sql | 0 .../coredata/migrations/20250305T171200Z.sql | 0 .../coredata/migrations/20250310T161900Z.sql | 0 .../coredata/migrations/20250310T164900Z.sql | 0 .../coredata/migrations/20250310T181100Z.sql | 0 pkg/{probo => }/coredata/organization.go | 0 pkg/{probo => }/coredata/people.go | 0 pkg/{probo => }/coredata/people_kind.go | 0 pkg/{probo => }/coredata/policy.go | 0 pkg/{probo => }/coredata/policy_status.go | 0 pkg/{probo => }/coredata/risk_tier.go | 0 pkg/{probo => }/coredata/scope.go | 0 .../coredata/service_criticality.go | 0 pkg/{usrmgr => }/coredata/session.go | 0 pkg/{probo => }/coredata/task.go | 0 pkg/{probo => }/coredata/task_state.go | 0 pkg/{usrmgr => }/coredata/user.go | 0 pkg/{probo => }/coredata/vendor.go | 0 .../passwdhash/passwdhash.go} | 14 ++-- pkg/probo/create_control.go | 2 +- pkg/probo/create_evidence.go | 2 +- pkg/probo/create_framework.go | 2 +- pkg/probo/create_organization.go | 2 +- pkg/probo/create_people.go | 2 +- pkg/probo/create_task.go | 2 +- pkg/probo/create_vendor.go | 2 +- pkg/probo/delete_evidence.go | 2 +- pkg/probo/delete_framework.go | 2 +- pkg/probo/delete_people.go | 2 +- pkg/probo/delete_task.go | 2 +- pkg/probo/delete_vendor.go | 2 +- pkg/probo/get_control.go | 2 +- pkg/probo/get_evidence.go | 2 +- pkg/probo/get_framework.go | 2 +- pkg/probo/get_organization.go | 2 +- pkg/probo/get_people.go | 2 +- pkg/probo/get_task.go | 2 +- pkg/probo/get_vendor.go | 2 +- pkg/probo/list_control_tasks.go | 2 +- pkg/probo/list_framework_controls.go | 2 +- pkg/probo/list_organization_frameworks.go | 2 +- pkg/probo/list_organization_peoples.go | 2 +- pkg/probo/list_organization_vendors.go | 2 +- pkg/probo/list_task_evidences.go | 2 +- pkg/probo/policy_service.go | 2 +- pkg/probo/service.go | 8 +-- pkg/probo/update_control.go | 2 +- pkg/probo/update_framework.go | 2 +- pkg/probo/update_people.go | 2 +- pkg/probo/update_task.go | 2 +- pkg/probo/update_vendor.go | 2 +- pkg/probod/probod.go | 8 ++- pkg/server/api/console/v1/resolver.go | 2 +- pkg/server/api/console/v1/schema.graphql | 72 +++++++------------ pkg/server/api/console/v1/schema/schema.go | 54 +++++++------- pkg/server/api/console/v1/types/control.go | 2 +- pkg/server/api/console/v1/types/evidence.go | 2 +- pkg/server/api/console/v1/types/framework.go | 2 +- .../api/console/v1/types/organization.go | 2 +- pkg/server/api/console/v1/types/people.go | 2 +- pkg/server/api/console/v1/types/policy.go | 2 +- pkg/server/api/console/v1/types/task.go | 2 +- pkg/server/api/console/v1/types/types.go | 2 +- pkg/server/api/console/v1/types/user.go | 2 +- pkg/server/api/console/v1/types/vendor.go | 2 +- pkg/server/api/console/v1/v1_resolver.go | 2 +- pkg/usrmgr/coredata/migrations.go | 24 ------- pkg/usrmgr/usrmgr.go | 17 ++--- 113 files changed, 119 insertions(+), 166 deletions(-) rename pkg/{probo => }/coredata/control.go (100%) rename pkg/{probo => }/coredata/control_state.go (100%) rename pkg/{probo => }/coredata/entity_type_reg.go (96%) rename pkg/{probo => }/coredata/evidence.go (100%) rename pkg/{probo => }/coredata/evidence_state.go (100%) rename pkg/{probo => }/coredata/framework.go (100%) rename pkg/{probo => }/coredata/migrations.go (100%) rename pkg/{probo => }/coredata/migrations/20250124T113100Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250125T212400Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250125T214100Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250126T141600Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250128T093900Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250128T151500Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250130T142900Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250130T144500Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250130T145600Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250130T154300Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250130T210000Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250130T211400Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250130T212000Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250139T143000Z.sql (100%) rename pkg/{usrmgr => }/coredata/migrations/20250202T110500Z.sql (100%) rename pkg/{usrmgr => }/coredata/migrations/20250202T141800Z.sql (100%) rename pkg/{usrmgr => }/coredata/migrations/20250202T180400Z.sql (100%) rename pkg/{usrmgr => }/coredata/migrations/20250202T201400Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250206T121300Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250209T183000Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250212T174900Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250218T101900Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250218T112800Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250218T113200Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250218T113800Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250218T120000Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250218T121700Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250218T125600Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250218T171000Z.sql (100%) rename pkg/{usrmgr => }/coredata/migrations/20250225T153220Z.sql (100%) rename pkg/{usrmgr => }/coredata/migrations/20250225T201106Z.sql (100%) rename pkg/{usrmgr => }/coredata/migrations/20250225T211652Z.sql (100%) rename pkg/{usrmgr => }/coredata/migrations/20250225T222000Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250227T144100Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250227T152900Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250228T000000Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250305T110005Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250305T111053Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250305T155800Z.sql (100%) rename pkg/{usrmgr => }/coredata/migrations/20250305T171200Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250310T161900Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250310T164900Z.sql (100%) rename pkg/{probo => }/coredata/migrations/20250310T181100Z.sql (100%) rename pkg/{probo => }/coredata/organization.go (100%) rename pkg/{probo => }/coredata/people.go (100%) rename pkg/{probo => }/coredata/people_kind.go (100%) rename pkg/{probo => }/coredata/policy.go (100%) rename pkg/{probo => }/coredata/policy_status.go (100%) rename pkg/{probo => }/coredata/risk_tier.go (100%) rename pkg/{probo => }/coredata/scope.go (100%) rename pkg/{probo => }/coredata/service_criticality.go (100%) rename pkg/{usrmgr => }/coredata/session.go (100%) rename pkg/{probo => }/coredata/task.go (100%) rename pkg/{probo => }/coredata/task_state.go (100%) rename pkg/{usrmgr => }/coredata/user.go (100%) rename pkg/{probo => }/coredata/vendor.go (100%) rename pkg/{usrmgr/hash_password.go => crypto/passwdhash/passwdhash.go} (91%) delete mode 100644 pkg/usrmgr/coredata/migrations.go diff --git a/pkg/probo/coredata/control.go b/pkg/coredata/control.go similarity index 100% rename from pkg/probo/coredata/control.go rename to pkg/coredata/control.go diff --git a/pkg/probo/coredata/control_state.go b/pkg/coredata/control_state.go similarity index 100% rename from pkg/probo/coredata/control_state.go rename to pkg/coredata/control_state.go diff --git a/pkg/probo/coredata/entity_type_reg.go b/pkg/coredata/entity_type_reg.go similarity index 96% rename from pkg/probo/coredata/entity_type_reg.go rename to pkg/coredata/entity_type_reg.go index 7f803948d..27b55f19e 100644 --- a/pkg/probo/coredata/entity_type_reg.go +++ b/pkg/coredata/entity_type_reg.go @@ -26,4 +26,6 @@ const ( PeopleEntityType EvidenceStateTransitionEntityType PolicyEntityType + UserEntityType + SessionEntityType ) diff --git a/pkg/probo/coredata/evidence.go b/pkg/coredata/evidence.go similarity index 100% rename from pkg/probo/coredata/evidence.go rename to pkg/coredata/evidence.go diff --git a/pkg/probo/coredata/evidence_state.go b/pkg/coredata/evidence_state.go similarity index 100% rename from pkg/probo/coredata/evidence_state.go rename to pkg/coredata/evidence_state.go diff --git a/pkg/probo/coredata/framework.go b/pkg/coredata/framework.go similarity index 100% rename from pkg/probo/coredata/framework.go rename to pkg/coredata/framework.go diff --git a/pkg/probo/coredata/migrations.go b/pkg/coredata/migrations.go similarity index 100% rename from pkg/probo/coredata/migrations.go rename to pkg/coredata/migrations.go diff --git a/pkg/probo/coredata/migrations/20250124T113100Z.sql b/pkg/coredata/migrations/20250124T113100Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250124T113100Z.sql rename to pkg/coredata/migrations/20250124T113100Z.sql diff --git a/pkg/probo/coredata/migrations/20250125T212400Z.sql b/pkg/coredata/migrations/20250125T212400Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250125T212400Z.sql rename to pkg/coredata/migrations/20250125T212400Z.sql diff --git a/pkg/probo/coredata/migrations/20250125T214100Z.sql b/pkg/coredata/migrations/20250125T214100Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250125T214100Z.sql rename to pkg/coredata/migrations/20250125T214100Z.sql diff --git a/pkg/probo/coredata/migrations/20250126T141600Z.sql b/pkg/coredata/migrations/20250126T141600Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250126T141600Z.sql rename to pkg/coredata/migrations/20250126T141600Z.sql diff --git a/pkg/probo/coredata/migrations/20250128T093900Z.sql b/pkg/coredata/migrations/20250128T093900Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250128T093900Z.sql rename to pkg/coredata/migrations/20250128T093900Z.sql diff --git a/pkg/probo/coredata/migrations/20250128T151500Z.sql b/pkg/coredata/migrations/20250128T151500Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250128T151500Z.sql rename to pkg/coredata/migrations/20250128T151500Z.sql diff --git a/pkg/probo/coredata/migrations/20250130T142900Z.sql b/pkg/coredata/migrations/20250130T142900Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250130T142900Z.sql rename to pkg/coredata/migrations/20250130T142900Z.sql diff --git a/pkg/probo/coredata/migrations/20250130T144500Z.sql b/pkg/coredata/migrations/20250130T144500Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250130T144500Z.sql rename to pkg/coredata/migrations/20250130T144500Z.sql diff --git a/pkg/probo/coredata/migrations/20250130T145600Z.sql b/pkg/coredata/migrations/20250130T145600Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250130T145600Z.sql rename to pkg/coredata/migrations/20250130T145600Z.sql diff --git a/pkg/probo/coredata/migrations/20250130T154300Z.sql b/pkg/coredata/migrations/20250130T154300Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250130T154300Z.sql rename to pkg/coredata/migrations/20250130T154300Z.sql diff --git a/pkg/probo/coredata/migrations/20250130T210000Z.sql b/pkg/coredata/migrations/20250130T210000Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250130T210000Z.sql rename to pkg/coredata/migrations/20250130T210000Z.sql diff --git a/pkg/probo/coredata/migrations/20250130T211400Z.sql b/pkg/coredata/migrations/20250130T211400Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250130T211400Z.sql rename to pkg/coredata/migrations/20250130T211400Z.sql diff --git a/pkg/probo/coredata/migrations/20250130T212000Z.sql b/pkg/coredata/migrations/20250130T212000Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250130T212000Z.sql rename to pkg/coredata/migrations/20250130T212000Z.sql diff --git a/pkg/probo/coredata/migrations/20250139T143000Z.sql b/pkg/coredata/migrations/20250139T143000Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250139T143000Z.sql rename to pkg/coredata/migrations/20250139T143000Z.sql diff --git a/pkg/usrmgr/coredata/migrations/20250202T110500Z.sql b/pkg/coredata/migrations/20250202T110500Z.sql similarity index 100% rename from pkg/usrmgr/coredata/migrations/20250202T110500Z.sql rename to pkg/coredata/migrations/20250202T110500Z.sql diff --git a/pkg/usrmgr/coredata/migrations/20250202T141800Z.sql b/pkg/coredata/migrations/20250202T141800Z.sql similarity index 100% rename from pkg/usrmgr/coredata/migrations/20250202T141800Z.sql rename to pkg/coredata/migrations/20250202T141800Z.sql diff --git a/pkg/usrmgr/coredata/migrations/20250202T180400Z.sql b/pkg/coredata/migrations/20250202T180400Z.sql similarity index 100% rename from pkg/usrmgr/coredata/migrations/20250202T180400Z.sql rename to pkg/coredata/migrations/20250202T180400Z.sql diff --git a/pkg/usrmgr/coredata/migrations/20250202T201400Z.sql b/pkg/coredata/migrations/20250202T201400Z.sql similarity index 100% rename from pkg/usrmgr/coredata/migrations/20250202T201400Z.sql rename to pkg/coredata/migrations/20250202T201400Z.sql diff --git a/pkg/probo/coredata/migrations/20250206T121300Z.sql b/pkg/coredata/migrations/20250206T121300Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250206T121300Z.sql rename to pkg/coredata/migrations/20250206T121300Z.sql diff --git a/pkg/probo/coredata/migrations/20250209T183000Z.sql b/pkg/coredata/migrations/20250209T183000Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250209T183000Z.sql rename to pkg/coredata/migrations/20250209T183000Z.sql diff --git a/pkg/probo/coredata/migrations/20250212T174900Z.sql b/pkg/coredata/migrations/20250212T174900Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250212T174900Z.sql rename to pkg/coredata/migrations/20250212T174900Z.sql diff --git a/pkg/probo/coredata/migrations/20250218T101900Z.sql b/pkg/coredata/migrations/20250218T101900Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250218T101900Z.sql rename to pkg/coredata/migrations/20250218T101900Z.sql diff --git a/pkg/probo/coredata/migrations/20250218T112800Z.sql b/pkg/coredata/migrations/20250218T112800Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250218T112800Z.sql rename to pkg/coredata/migrations/20250218T112800Z.sql diff --git a/pkg/probo/coredata/migrations/20250218T113200Z.sql b/pkg/coredata/migrations/20250218T113200Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250218T113200Z.sql rename to pkg/coredata/migrations/20250218T113200Z.sql diff --git a/pkg/probo/coredata/migrations/20250218T113800Z.sql b/pkg/coredata/migrations/20250218T113800Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250218T113800Z.sql rename to pkg/coredata/migrations/20250218T113800Z.sql diff --git a/pkg/probo/coredata/migrations/20250218T120000Z.sql b/pkg/coredata/migrations/20250218T120000Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250218T120000Z.sql rename to pkg/coredata/migrations/20250218T120000Z.sql diff --git a/pkg/probo/coredata/migrations/20250218T121700Z.sql b/pkg/coredata/migrations/20250218T121700Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250218T121700Z.sql rename to pkg/coredata/migrations/20250218T121700Z.sql diff --git a/pkg/probo/coredata/migrations/20250218T125600Z.sql b/pkg/coredata/migrations/20250218T125600Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250218T125600Z.sql rename to pkg/coredata/migrations/20250218T125600Z.sql diff --git a/pkg/probo/coredata/migrations/20250218T171000Z.sql b/pkg/coredata/migrations/20250218T171000Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250218T171000Z.sql rename to pkg/coredata/migrations/20250218T171000Z.sql diff --git a/pkg/usrmgr/coredata/migrations/20250225T153220Z.sql b/pkg/coredata/migrations/20250225T153220Z.sql similarity index 100% rename from pkg/usrmgr/coredata/migrations/20250225T153220Z.sql rename to pkg/coredata/migrations/20250225T153220Z.sql diff --git a/pkg/usrmgr/coredata/migrations/20250225T201106Z.sql b/pkg/coredata/migrations/20250225T201106Z.sql similarity index 100% rename from pkg/usrmgr/coredata/migrations/20250225T201106Z.sql rename to pkg/coredata/migrations/20250225T201106Z.sql diff --git a/pkg/usrmgr/coredata/migrations/20250225T211652Z.sql b/pkg/coredata/migrations/20250225T211652Z.sql similarity index 100% rename from pkg/usrmgr/coredata/migrations/20250225T211652Z.sql rename to pkg/coredata/migrations/20250225T211652Z.sql diff --git a/pkg/usrmgr/coredata/migrations/20250225T222000Z.sql b/pkg/coredata/migrations/20250225T222000Z.sql similarity index 100% rename from pkg/usrmgr/coredata/migrations/20250225T222000Z.sql rename to pkg/coredata/migrations/20250225T222000Z.sql diff --git a/pkg/probo/coredata/migrations/20250227T144100Z.sql b/pkg/coredata/migrations/20250227T144100Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250227T144100Z.sql rename to pkg/coredata/migrations/20250227T144100Z.sql diff --git a/pkg/probo/coredata/migrations/20250227T152900Z.sql b/pkg/coredata/migrations/20250227T152900Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250227T152900Z.sql rename to pkg/coredata/migrations/20250227T152900Z.sql diff --git a/pkg/probo/coredata/migrations/20250228T000000Z.sql b/pkg/coredata/migrations/20250228T000000Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250228T000000Z.sql rename to pkg/coredata/migrations/20250228T000000Z.sql diff --git a/pkg/probo/coredata/migrations/20250305T110005Z.sql b/pkg/coredata/migrations/20250305T110005Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250305T110005Z.sql rename to pkg/coredata/migrations/20250305T110005Z.sql diff --git a/pkg/probo/coredata/migrations/20250305T111053Z.sql b/pkg/coredata/migrations/20250305T111053Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250305T111053Z.sql rename to pkg/coredata/migrations/20250305T111053Z.sql diff --git a/pkg/probo/coredata/migrations/20250305T155800Z.sql b/pkg/coredata/migrations/20250305T155800Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250305T155800Z.sql rename to pkg/coredata/migrations/20250305T155800Z.sql diff --git a/pkg/usrmgr/coredata/migrations/20250305T171200Z.sql b/pkg/coredata/migrations/20250305T171200Z.sql similarity index 100% rename from pkg/usrmgr/coredata/migrations/20250305T171200Z.sql rename to pkg/coredata/migrations/20250305T171200Z.sql diff --git a/pkg/probo/coredata/migrations/20250310T161900Z.sql b/pkg/coredata/migrations/20250310T161900Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250310T161900Z.sql rename to pkg/coredata/migrations/20250310T161900Z.sql diff --git a/pkg/probo/coredata/migrations/20250310T164900Z.sql b/pkg/coredata/migrations/20250310T164900Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250310T164900Z.sql rename to pkg/coredata/migrations/20250310T164900Z.sql diff --git a/pkg/probo/coredata/migrations/20250310T181100Z.sql b/pkg/coredata/migrations/20250310T181100Z.sql similarity index 100% rename from pkg/probo/coredata/migrations/20250310T181100Z.sql rename to pkg/coredata/migrations/20250310T181100Z.sql diff --git a/pkg/probo/coredata/organization.go b/pkg/coredata/organization.go similarity index 100% rename from pkg/probo/coredata/organization.go rename to pkg/coredata/organization.go diff --git a/pkg/probo/coredata/people.go b/pkg/coredata/people.go similarity index 100% rename from pkg/probo/coredata/people.go rename to pkg/coredata/people.go diff --git a/pkg/probo/coredata/people_kind.go b/pkg/coredata/people_kind.go similarity index 100% rename from pkg/probo/coredata/people_kind.go rename to pkg/coredata/people_kind.go diff --git a/pkg/probo/coredata/policy.go b/pkg/coredata/policy.go similarity index 100% rename from pkg/probo/coredata/policy.go rename to pkg/coredata/policy.go diff --git a/pkg/probo/coredata/policy_status.go b/pkg/coredata/policy_status.go similarity index 100% rename from pkg/probo/coredata/policy_status.go rename to pkg/coredata/policy_status.go diff --git a/pkg/probo/coredata/risk_tier.go b/pkg/coredata/risk_tier.go similarity index 100% rename from pkg/probo/coredata/risk_tier.go rename to pkg/coredata/risk_tier.go diff --git a/pkg/probo/coredata/scope.go b/pkg/coredata/scope.go similarity index 100% rename from pkg/probo/coredata/scope.go rename to pkg/coredata/scope.go diff --git a/pkg/probo/coredata/service_criticality.go b/pkg/coredata/service_criticality.go similarity index 100% rename from pkg/probo/coredata/service_criticality.go rename to pkg/coredata/service_criticality.go diff --git a/pkg/usrmgr/coredata/session.go b/pkg/coredata/session.go similarity index 100% rename from pkg/usrmgr/coredata/session.go rename to pkg/coredata/session.go diff --git a/pkg/probo/coredata/task.go b/pkg/coredata/task.go similarity index 100% rename from pkg/probo/coredata/task.go rename to pkg/coredata/task.go diff --git a/pkg/probo/coredata/task_state.go b/pkg/coredata/task_state.go similarity index 100% rename from pkg/probo/coredata/task_state.go rename to pkg/coredata/task_state.go diff --git a/pkg/usrmgr/coredata/user.go b/pkg/coredata/user.go similarity index 100% rename from pkg/usrmgr/coredata/user.go rename to pkg/coredata/user.go diff --git a/pkg/probo/coredata/vendor.go b/pkg/coredata/vendor.go similarity index 100% rename from pkg/probo/coredata/vendor.go rename to pkg/coredata/vendor.go diff --git a/pkg/usrmgr/hash_password.go b/pkg/crypto/passwdhash/passwdhash.go similarity index 91% rename from pkg/usrmgr/hash_password.go rename to pkg/crypto/passwdhash/passwdhash.go index 8078695c6..9fe25bc5c 100644 --- a/pkg/usrmgr/hash_password.go +++ b/pkg/crypto/passwdhash/passwdhash.go @@ -12,7 +12,7 @@ // OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR // PERFORMANCE OF THIS SOFTWARE. -package usrmgr +package passwdhash import ( "crypto/hmac" @@ -26,7 +26,7 @@ import ( ) type ( - HashingProfile struct { + Profile struct { minIterations uint saltLength uint keyLength uint @@ -39,7 +39,7 @@ const ( algorithmByte = 0x01 // Algorithm identifier (0x01 for PBKDF2-SHA256) ) -func NewHashingProfile(pepper []byte) (*HashingProfile, error) { +func NewProfile(pepper []byte) (*Profile, error) { if len(pepper) < 32 { 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 1000 iterations (we use higher based on processing capabilities) // - 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) saltLength: 32, // Salt 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 } -func (hp HashingProfile) applyPepper(input []byte) []byte { +func (hp Profile) applyPepper(input []byte) []byte { mac := hmac.New(sha256.New, hp.pepper) mac.Write(input) 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) if _, err := rand.Read(salt); err != nil { 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 } -func (hp HashingProfile) ComparePasswordAndHash(password, passwordHash []byte) (bool, error) { +func (hp Profile) ComparePasswordAndHash(password, passwordHash []byte) (bool, error) { if len(passwordHash) < 7 { return false, fmt.Errorf("hash too short") } diff --git a/pkg/probo/create_control.go b/pkg/probo/create_control.go index d0b0ed3b9..ffc74f43b 100644 --- a/pkg/probo/create_control.go +++ b/pkg/probo/create_control.go @@ -19,8 +19,8 @@ import ( "fmt" "time" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/create_evidence.go b/pkg/probo/create_evidence.go index a24866f5a..d61a5d8dd 100644 --- a/pkg/probo/create_evidence.go +++ b/pkg/probo/create_evidence.go @@ -24,8 +24,8 @@ import ( "github.com/aws/aws-sdk-go-v2/aws" "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/probo/coredata" "go.gearno.de/crypto/uuid" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/create_framework.go b/pkg/probo/create_framework.go index 176ab1866..f09ce5c0c 100644 --- a/pkg/probo/create_framework.go +++ b/pkg/probo/create_framework.go @@ -19,8 +19,8 @@ import ( "fmt" "time" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/create_organization.go b/pkg/probo/create_organization.go index d28ade916..6d305085f 100644 --- a/pkg/probo/create_organization.go +++ b/pkg/probo/create_organization.go @@ -19,8 +19,8 @@ import ( "fmt" "time" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/create_people.go b/pkg/probo/create_people.go index f5e4e83da..4fc8cf63e 100644 --- a/pkg/probo/create_people.go +++ b/pkg/probo/create_people.go @@ -19,8 +19,8 @@ import ( "fmt" "time" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/create_task.go b/pkg/probo/create_task.go index 7f1f7b9a4..93c18dbe7 100644 --- a/pkg/probo/create_task.go +++ b/pkg/probo/create_task.go @@ -19,8 +19,8 @@ import ( "fmt" "time" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/create_vendor.go b/pkg/probo/create_vendor.go index 123018ee5..cfe5b452f 100644 --- a/pkg/probo/create_vendor.go +++ b/pkg/probo/create_vendor.go @@ -19,8 +19,8 @@ import ( "fmt" "time" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/delete_evidence.go b/pkg/probo/delete_evidence.go index 9fc514c58..bf1b4ffee 100644 --- a/pkg/probo/delete_evidence.go +++ b/pkg/probo/delete_evidence.go @@ -18,8 +18,8 @@ import ( "context" "fmt" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/delete_framework.go b/pkg/probo/delete_framework.go index 3e446b680..cf5ccad7d 100644 --- a/pkg/probo/delete_framework.go +++ b/pkg/probo/delete_framework.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/delete_people.go b/pkg/probo/delete_people.go index 01ba29e9b..0f3e7094e 100644 --- a/pkg/probo/delete_people.go +++ b/pkg/probo/delete_people.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/delete_task.go b/pkg/probo/delete_task.go index 127e1c817..48dfdf8d8 100644 --- a/pkg/probo/delete_task.go +++ b/pkg/probo/delete_task.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/delete_vendor.go b/pkg/probo/delete_vendor.go index f3ee74dd1..ffa05fa85 100644 --- a/pkg/probo/delete_vendor.go +++ b/pkg/probo/delete_vendor.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/get_control.go b/pkg/probo/get_control.go index 50aa9ea5f..21f4b1571 100644 --- a/pkg/probo/get_control.go +++ b/pkg/probo/get_control.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/get_evidence.go b/pkg/probo/get_evidence.go index fb9f53574..4831bb527 100644 --- a/pkg/probo/get_evidence.go +++ b/pkg/probo/get_evidence.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/get_framework.go b/pkg/probo/get_framework.go index 4dbd3d07c..b38f07a82 100644 --- a/pkg/probo/get_framework.go +++ b/pkg/probo/get_framework.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/get_organization.go b/pkg/probo/get_organization.go index 99247107a..b6c0eddc7 100644 --- a/pkg/probo/get_organization.go +++ b/pkg/probo/get_organization.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/get_people.go b/pkg/probo/get_people.go index 3c4080501..a30f5b322 100644 --- a/pkg/probo/get_people.go +++ b/pkg/probo/get_people.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/get_task.go b/pkg/probo/get_task.go index 10184900f..7590ef82d 100644 --- a/pkg/probo/get_task.go +++ b/pkg/probo/get_task.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/get_vendor.go b/pkg/probo/get_vendor.go index 50e6a28d4..4f108f522 100644 --- a/pkg/probo/get_vendor.go +++ b/pkg/probo/get_vendor.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/list_control_tasks.go b/pkg/probo/list_control_tasks.go index 73f3e2831..77324d61a 100644 --- a/pkg/probo/list_control_tasks.go +++ b/pkg/probo/list_control_tasks.go @@ -17,9 +17,9 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/list_framework_controls.go b/pkg/probo/list_framework_controls.go index 2ff4e7d02..4339aac1f 100644 --- a/pkg/probo/list_framework_controls.go +++ b/pkg/probo/list_framework_controls.go @@ -17,9 +17,9 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/list_organization_frameworks.go b/pkg/probo/list_organization_frameworks.go index cf60e834b..fc1374ae7 100644 --- a/pkg/probo/list_organization_frameworks.go +++ b/pkg/probo/list_organization_frameworks.go @@ -17,9 +17,9 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/list_organization_peoples.go b/pkg/probo/list_organization_peoples.go index 14c3a7fc6..7bcf877f0 100644 --- a/pkg/probo/list_organization_peoples.go +++ b/pkg/probo/list_organization_peoples.go @@ -17,9 +17,9 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/list_organization_vendors.go b/pkg/probo/list_organization_vendors.go index 044151c05..43083c825 100644 --- a/pkg/probo/list_organization_vendors.go +++ b/pkg/probo/list_organization_vendors.go @@ -17,9 +17,9 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/list_task_evidences.go b/pkg/probo/list_task_evidences.go index f8018a59e..222a028f6 100644 --- a/pkg/probo/list_task_evidences.go +++ b/pkg/probo/list_task_evidences.go @@ -17,9 +17,9 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/policy_service.go b/pkg/probo/policy_service.go index 55654ef1e..0ba918f42 100644 --- a/pkg/probo/policy_service.go +++ b/pkg/probo/policy_service.go @@ -5,9 +5,9 @@ import ( "fmt" "time" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/service.go b/pkg/probo/service.go index 7f6ed58b3..bcf612118 100644 --- a/pkg/probo/service.go +++ b/pkg/probo/service.go @@ -19,9 +19,8 @@ import ( "fmt" "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/probo/coredata" - "go.gearno.de/kit/migrator" "go.gearno.de/kit/pg" ) @@ -42,11 +41,6 @@ func NewService( s3Client *s3.Client, bucket string, ) (*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 == "" { return nil, fmt.Errorf("bucket is required") } diff --git a/pkg/probo/update_control.go b/pkg/probo/update_control.go index f991bfc27..0ef73b0df 100644 --- a/pkg/probo/update_control.go +++ b/pkg/probo/update_control.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/update_framework.go b/pkg/probo/update_framework.go index cc2b4ef08..a3c31772c 100644 --- a/pkg/probo/update_framework.go +++ b/pkg/probo/update_framework.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/update_people.go b/pkg/probo/update_people.go index d516b5a8f..43c6a319a 100644 --- a/pkg/probo/update_people.go +++ b/pkg/probo/update_people.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/update_task.go b/pkg/probo/update_task.go index 9eaa0931a..6fde0faf2 100644 --- a/pkg/probo/update_task.go +++ b/pkg/probo/update_task.go @@ -17,8 +17,8 @@ package probo import ( "context" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probo/update_vendor.go b/pkg/probo/update_vendor.go index aa24bb59c..ff65eb55a 100644 --- a/pkg/probo/update_vendor.go +++ b/pkg/probo/update_vendor.go @@ -18,8 +18,8 @@ import ( "context" "time" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/probo/coredata" "go.gearno.de/kit/pg" ) diff --git a/pkg/probod/probod.go b/pkg/probod/probod.go index bde210ac7..37eced0b7 100644 --- a/pkg/probod/probod.go +++ b/pkg/probod/probod.go @@ -25,6 +25,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/s3" "github.com/getprobo/probo/pkg/awsconfig" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/probo" "github.com/getprobo/probo/pkg/server" 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/httpserver" "go.gearno.de/kit/log" + "go.gearno.de/kit/migrator" "go.gearno.de/kit/pg" "go.gearno.de/kit/unit" "go.opentelemetry.io/otel/trace" @@ -146,7 +148,11 @@ func (impl *Implm) Run( 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) if err != nil { return fmt.Errorf("cannot create usrmgr service: %w", err) diff --git a/pkg/server/api/console/v1/resolver.go b/pkg/server/api/console/v1/resolver.go index 68814c43b..cce28e2c0 100644 --- a/pkg/server/api/console/v1/resolver.go +++ b/pkg/server/api/console/v1/resolver.go @@ -27,11 +27,11 @@ import ( "github.com/99designs/gqlgen/graphql/handler/extension" "github.com/99designs/gqlgen/graphql/handler/transport" "github.com/99designs/gqlgen/graphql/playground" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" "github.com/getprobo/probo/pkg/probo" "github.com/getprobo/probo/pkg/server/api/console/v1/schema" "github.com/getprobo/probo/pkg/usrmgr" - "github.com/getprobo/probo/pkg/usrmgr/coredata" "github.com/go-chi/chi/v5" "github.com/vektah/gqlparser/v2/gqlerror" ) diff --git a/pkg/server/api/console/v1/schema.graphql b/pkg/server/api/console/v1/schema.graphql index 207264630..99f849199 100644 --- a/pkg/server/api/console/v1/schema.graphql +++ b/pkg/server/api/console/v1/schema.graphql @@ -21,60 +21,52 @@ interface Node { } enum ControlState - @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.ControlState") { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.ControlState") { NOT_STARTED @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotStarted" + value: "github.com/getprobo/probo/pkg/coredata.ControlStateNotStarted" ) IN_PROGRESS @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateInProgress" + value: "github.com/getprobo/probo/pkg/coredata.ControlStateInProgress" ) NOT_APPLICABLE @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotApplicable" + value: "github.com/getprobo/probo/pkg/coredata.ControlStateNotApplicable" ) IMPLEMENTED @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateImplemented" + value: "github.com/getprobo/probo/pkg/coredata.ControlStateImplemented" ) } enum TaskState - @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.TaskState") { - TODO - @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateTodo") - DONE - @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateDone") + @goModel(model: "github.com/getprobo/probo/pkg/coredata.TaskState") { + TODO @goEnum(value: "github.com/getprobo/probo/pkg/coredata.TaskStateTodo") + DONE @goEnum(value: "github.com/getprobo/probo/pkg/coredata.TaskStateDone") } enum EvidenceState - @goModel( - model: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceState" - ) { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.EvidenceState") { VALID - @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateValid" - ) + @goEnum(value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateValid") INVALID @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateInvalid" + value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateInvalid" ) EXPIRED @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateExpired" + value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateExpired" ) } enum PeopleKind - @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKind") { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.PeopleKind") { EMPLOYEE - @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKindEmployee" - ) + @goEnum(value: "github.com/getprobo/probo/pkg/coredata.PeopleKindEmployee") CONTRACTOR @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 - @goModel( - model: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticality" - ) { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.ServiceCriticality") { LOW @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityLow" + value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityLow" ) MEDIUM @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityMedium" + value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityMedium" ) HIGH @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityHigh" + value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityHigh" ) } enum RiskTier - @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.RiskTier") { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.RiskTier") { CRITICAL - @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierCritical" - ) + @goEnum(value: "github.com/getprobo/probo/pkg/coredata.RiskTierCritical") SIGNIFICANT - @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierSignificant" - ) + @goEnum(value: "github.com/getprobo/probo/pkg/coredata.RiskTierSignificant") GENERAL - @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierGeneral" - ) + @goEnum(value: "github.com/getprobo/probo/pkg/coredata.RiskTierGeneral") } input UpdateVendorInput { @@ -547,15 +531,11 @@ type DeleteEvidencePayload { } enum PolicyStatus - @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatus") { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.PolicyStatus") { DRAFT - @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatusDraft" - ) + @goEnum(value: "github.com/getprobo/probo/pkg/coredata.PolicyStatusDraft") ACTIVE - @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatusActive" - ) + @goEnum(value: "github.com/getprobo/probo/pkg/coredata.PolicyStatusActive") } input CreatePolicyInput { diff --git a/pkg/server/api/console/v1/schema/schema.go b/pkg/server/api/console/v1/schema/schema.go index c68120589..182f4858a 100644 --- a/pkg/server/api/console/v1/schema/schema.go +++ b/pkg/server/api/console/v1/schema/schema.go @@ -16,7 +16,7 @@ import ( "github.com/99designs/gqlgen/graphql/introspection" "github.com/getprobo/probo/pkg/gid" "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" gqlparser "github.com/vektah/gqlparser/v2" "github.com/vektah/gqlparser/v2/ast" @@ -1824,60 +1824,60 @@ interface Node { } enum ControlState - @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.ControlState") { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.ControlState") { NOT_STARTED @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotStarted" + value: "github.com/getprobo/probo/pkg/coredata.ControlStateNotStarted" ) IN_PROGRESS @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateInProgress" + value: "github.com/getprobo/probo/pkg/coredata.ControlStateInProgress" ) NOT_APPLICABLE @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateNotApplicable" + value: "github.com/getprobo/probo/pkg/coredata.ControlStateNotApplicable" ) IMPLEMENTED @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ControlStateImplemented" + value: "github.com/getprobo/probo/pkg/coredata.ControlStateImplemented" ) } enum TaskState - @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.TaskState") { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.TaskState") { TODO - @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateTodo") + @goEnum(value: "github.com/getprobo/probo/pkg/coredata.TaskStateTodo") DONE - @goEnum(value: "github.com/getprobo/probo/pkg/probo/coredata.TaskStateDone") + @goEnum(value: "github.com/getprobo/probo/pkg/coredata.TaskStateDone") } enum EvidenceState @goModel( - model: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceState" + model: "github.com/getprobo/probo/pkg/coredata.EvidenceState" ) { VALID @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateValid" + value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateValid" ) INVALID @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateInvalid" + value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateInvalid" ) EXPIRED @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.EvidenceStateExpired" + value: "github.com/getprobo/probo/pkg/coredata.EvidenceStateExpired" ) } enum PeopleKind - @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKind") { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.PeopleKind") { EMPLOYEE @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.PeopleKindEmployee" + value: "github.com/getprobo/probo/pkg/coredata.PeopleKindEmployee" ) CONTRACTOR @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 @goModel( - model: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticality" + model: "github.com/getprobo/probo/pkg/coredata.ServiceCriticality" ) { LOW @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityLow" + value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityLow" ) MEDIUM @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityMedium" + value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityMedium" ) HIGH @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.ServiceCriticalityHigh" + value: "github.com/getprobo/probo/pkg/coredata.ServiceCriticalityHigh" ) } enum RiskTier - @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.RiskTier") { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.RiskTier") { CRITICAL @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierCritical" + value: "github.com/getprobo/probo/pkg/coredata.RiskTierCritical" ) SIGNIFICANT @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.RiskTierSignificant" + value: "github.com/getprobo/probo/pkg/coredata.RiskTierSignificant" ) GENERAL @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 - @goModel(model: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatus") { + @goModel(model: "github.com/getprobo/probo/pkg/coredata.PolicyStatus") { DRAFT @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatusDraft" + value: "github.com/getprobo/probo/pkg/coredata.PolicyStatusDraft" ) ACTIVE @goEnum( - value: "github.com/getprobo/probo/pkg/probo/coredata.PolicyStatusActive" + value: "github.com/getprobo/probo/pkg/coredata.PolicyStatusActive" ) } diff --git a/pkg/server/api/console/v1/types/control.go b/pkg/server/api/console/v1/types/control.go index a7954ce7d..2836baa4b 100644 --- a/pkg/server/api/console/v1/types/control.go +++ b/pkg/server/api/console/v1/types/control.go @@ -15,8 +15,8 @@ package types import ( + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" ) func NewControlConnection(p *page.Page[*coredata.Control]) *ControlConnection { diff --git a/pkg/server/api/console/v1/types/evidence.go b/pkg/server/api/console/v1/types/evidence.go index 8b13b10a2..805e65ce9 100644 --- a/pkg/server/api/console/v1/types/evidence.go +++ b/pkg/server/api/console/v1/types/evidence.go @@ -15,8 +15,8 @@ package types import ( + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" ) func NewEvidenceConnection(p *page.Page[*coredata.Evidence]) *EvidenceConnection { diff --git a/pkg/server/api/console/v1/types/framework.go b/pkg/server/api/console/v1/types/framework.go index da1f766d2..83e228ec2 100644 --- a/pkg/server/api/console/v1/types/framework.go +++ b/pkg/server/api/console/v1/types/framework.go @@ -15,8 +15,8 @@ package types import ( + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" ) func NewFrameworkConnection(p *page.Page[*coredata.Framework]) *FrameworkConnection { diff --git a/pkg/server/api/console/v1/types/organization.go b/pkg/server/api/console/v1/types/organization.go index ec4094f7e..134536119 100644 --- a/pkg/server/api/console/v1/types/organization.go +++ b/pkg/server/api/console/v1/types/organization.go @@ -15,7 +15,7 @@ package types import ( - "github.com/getprobo/probo/pkg/probo/coredata" + "github.com/getprobo/probo/pkg/coredata" ) func NewOrganization(o *coredata.Organization) *Organization { diff --git a/pkg/server/api/console/v1/types/people.go b/pkg/server/api/console/v1/types/people.go index 7da75591a..7bb97e2a1 100644 --- a/pkg/server/api/console/v1/types/people.go +++ b/pkg/server/api/console/v1/types/people.go @@ -15,8 +15,8 @@ package types import ( + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" ) func NewPeopleConnection(p *page.Page[*coredata.People]) *PeopleConnection { diff --git a/pkg/server/api/console/v1/types/policy.go b/pkg/server/api/console/v1/types/policy.go index a8006d245..2a377755b 100644 --- a/pkg/server/api/console/v1/types/policy.go +++ b/pkg/server/api/console/v1/types/policy.go @@ -15,8 +15,8 @@ package types import ( + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" ) func NewPolicy(policy *coredata.Policy) *Policy { diff --git a/pkg/server/api/console/v1/types/task.go b/pkg/server/api/console/v1/types/task.go index f51fb725d..37d404878 100644 --- a/pkg/server/api/console/v1/types/task.go +++ b/pkg/server/api/console/v1/types/task.go @@ -15,8 +15,8 @@ package types import ( + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" ) func NewTaskConnection(p *page.Page[*coredata.Task]) *TaskConnection { diff --git a/pkg/server/api/console/v1/types/types.go b/pkg/server/api/console/v1/types/types.go index c59f68077..f41530dd1 100644 --- a/pkg/server/api/console/v1/types/types.go +++ b/pkg/server/api/console/v1/types/types.go @@ -8,7 +8,7 @@ import ( "github.com/99designs/gqlgen/graphql" "github.com/getprobo/probo/pkg/gid" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" + "github.com/getprobo/probo/pkg/coredata" ) type Node interface { diff --git a/pkg/server/api/console/v1/types/user.go b/pkg/server/api/console/v1/types/user.go index 3495d613b..a12ca78ff 100644 --- a/pkg/server/api/console/v1/types/user.go +++ b/pkg/server/api/console/v1/types/user.go @@ -15,7 +15,7 @@ package types import ( - "github.com/getprobo/probo/pkg/usrmgr/coredata" + "github.com/getprobo/probo/pkg/coredata" ) func NewUser(u *coredata.User) *User { diff --git a/pkg/server/api/console/v1/types/vendor.go b/pkg/server/api/console/v1/types/vendor.go index 38b2e8bfa..c6e5340ee 100644 --- a/pkg/server/api/console/v1/types/vendor.go +++ b/pkg/server/api/console/v1/types/vendor.go @@ -15,8 +15,8 @@ package types import ( + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/page" - "github.com/getprobo/probo/pkg/probo/coredata" ) func NewVendorConnection(p *page.Page[*coredata.Vendor]) *VendorConnection { diff --git a/pkg/server/api/console/v1/v1_resolver.go b/pkg/server/api/console/v1/v1_resolver.go index e69857123..cb3673d38 100644 --- a/pkg/server/api/console/v1/v1_resolver.go +++ b/pkg/server/api/console/v1/v1_resolver.go @@ -9,10 +9,10 @@ import ( "fmt" "time" + "github.com/getprobo/probo/pkg/coredata" "github.com/getprobo/probo/pkg/gid" "github.com/getprobo/probo/pkg/page" "github.com/getprobo/probo/pkg/probo" - "github.com/getprobo/probo/pkg/probo/coredata" "github.com/getprobo/probo/pkg/server/api/console/v1/schema" "github.com/getprobo/probo/pkg/server/api/console/v1/types" "github.com/vektah/gqlparser/v2/gqlerror" diff --git a/pkg/usrmgr/coredata/migrations.go b/pkg/usrmgr/coredata/migrations.go deleted file mode 100644 index 1f81ee44f..000000000 --- a/pkg/usrmgr/coredata/migrations.go +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (c) 2025 Probo Inc . -// -// Permission to use, copy, modify, and/or distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -// AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -// PERFORMANCE OF THIS SOFTWARE. - -package coredata - -import ( - "embed" -) - -var ( - //go:embed migrations/*.sql - Migrations embed.FS -) diff --git a/pkg/usrmgr/usrmgr.go b/pkg/usrmgr/usrmgr.go index 569ac2dbe..76e4581e9 100644 --- a/pkg/usrmgr/usrmgr.go +++ b/pkg/usrmgr/usrmgr.go @@ -19,17 +19,17 @@ import ( "fmt" "time" + "github.com/getprobo/probo/pkg/coredata" + "github.com/getprobo/probo/pkg/crypto/passwdhash" "github.com/getprobo/probo/pkg/gid" - "github.com/getprobo/probo/pkg/usrmgr/coredata" "github.com/jackc/pgx/v5" - "go.gearno.de/kit/migrator" "go.gearno.de/kit/pg" ) type ( Service struct { pg *pg.Client - hp *HashingProfile + hp *passwdhash.Profile } RegisterUserParams struct { @@ -76,12 +76,7 @@ func NewService( pgClient *pg.Client, pepper []byte, ) (*Service, error) { - err := migrator.NewMigrator(pgClient, coredata.Migrations).Run(ctx, "migrations") - if err != nil { - return nil, fmt.Errorf("cannot migrate database schema: %w", err) - } - - hp, err := NewHashingProfile(pepper) + hp, err := passwdhash.NewProfile(pepper) if err != nil { return nil, fmt.Errorf("cannot create hashing profile: %w", err) } @@ -109,7 +104,7 @@ func (s Service) RegisterUser( now := time.Now() user := &coredata.User{ - ID: gid.New(gid.NilTenant, 0), + ID: gid.New(gid.NilTenant, coredata.UserEntityType), EmailAddress: params.Email, HashedPassword: hashedPassword, FullName: params.FullName, @@ -151,7 +146,7 @@ func (s Service) Login( now := time.Now() user := &coredata.User{} session := &coredata.Session{ - ID: gid.New(gid.NilTenant, 0), + ID: gid.New(gid.NilTenant, coredata.SessionEntityType), UserID: gid.Nil, ExpiredAt: now.Add(24 * time.Hour), CreatedAt: now,