Add audit start and end dates to audits

ISO audits often span a window distinct from certificate validity.
Store optional audit_start_date and audit_end_date on the audit
record and expose them through GraphQL, MCP, CLI, n8n, and console.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
This commit is contained in:
Cursor Agent
2026-07-28 14:35:36 +00:00
committed by Bryan Frimin
parent dcb7ffa945
commit fe215efbd1
25 changed files with 385 additions and 28 deletions

View File

@@ -43,6 +43,8 @@ type (
ReportFileID *gid.GID `db:"report_file_id"`
ValidFrom *time.Time `db:"valid_from"`
ValidUntil *time.Time `db:"valid_until"`
AuditStartDate *time.Time `db:"audit_start_date"`
AuditEndDate *time.Time `db:"audit_end_date"`
State AuditState `db:"state"`
CompliancePortalVisibility CompliancePortalVisibility `db:"trust_center_visibility"`
CreatedAt time.Time `db:"created_at"`
@@ -122,6 +124,8 @@ SELECT
report_file_id,
valid_from,
valid_until,
audit_start_date,
audit_end_date,
state,
trust_center_visibility,
created_at,
@@ -208,6 +212,8 @@ SELECT
report_file_id,
valid_from,
valid_until,
audit_start_date,
audit_end_date,
state,
trust_center_visibility,
created_at,
@@ -258,6 +264,8 @@ INSERT INTO audits (
report_file_id,
valid_from,
valid_until,
audit_start_date,
audit_end_date,
state,
trust_center_visibility,
created_at,
@@ -271,6 +279,8 @@ INSERT INTO audits (
@report_file_id,
@valid_from,
@valid_until,
@audit_start_date,
@audit_end_date,
@state,
@trust_center_visibility,
@created_at,
@@ -287,6 +297,8 @@ INSERT INTO audits (
"report_file_id": a.ReportFileID,
"valid_from": a.ValidFrom,
"valid_until": a.ValidUntil,
"audit_start_date": a.AuditStartDate,
"audit_end_date": a.AuditEndDate,
"state": a.State,
"trust_center_visibility": a.CompliancePortalVisibility,
"created_at": a.CreatedAt,
@@ -313,6 +325,8 @@ SET
report_file_id = @report_file_id,
valid_from = @valid_from,
valid_until = @valid_until,
audit_start_date = @audit_start_date,
audit_end_date = @audit_end_date,
state = @state,
trust_center_visibility = @trust_center_visibility,
updated_at = @updated_at
@@ -329,6 +343,8 @@ WHERE
"report_file_id": a.ReportFileID,
"valid_from": a.ValidFrom,
"valid_until": a.ValidUntil,
"audit_start_date": a.AuditStartDate,
"audit_end_date": a.AuditEndDate,
"state": a.State,
"trust_center_visibility": a.CompliancePortalVisibility,
"updated_at": a.UpdatedAt,
@@ -386,6 +402,8 @@ WITH audits_by_control AS (
a.report_file_id,
a.valid_from,
a.valid_until,
a.audit_start_date,
a.audit_end_date,
a.state,
a.trust_center_visibility,
a.created_at,
@@ -405,6 +423,8 @@ SELECT
report_file_id,
valid_from,
valid_until,
audit_start_date,
audit_end_date,
state,
trust_center_visibility,
created_at,
@@ -453,6 +473,8 @@ WITH audits_by_finding AS (
a.report_file_id,
a.valid_from,
a.valid_until,
a.audit_start_date,
a.audit_end_date,
a.state,
a.trust_center_visibility,
a.created_at,
@@ -472,6 +494,8 @@ SELECT
report_file_id,
valid_from,
valid_until,
audit_start_date,
audit_end_date,
state,
trust_center_visibility,
created_at,
@@ -603,6 +627,8 @@ SELECT
report_file_id,
valid_from,
valid_until,
audit_start_date,
audit_end_date,
state,
trust_center_visibility,
created_at,
@@ -652,6 +678,8 @@ SELECT
report_file_id,
valid_from,
valid_until,
audit_start_date,
audit_end_date,
state,
trust_center_visibility,
created_at,
@@ -698,6 +726,8 @@ SELECT
report_id,
valid_from,
valid_until,
audit_start_date,
audit_end_date,
state,
trust_center_visibility,
created_at,

View File

@@ -0,0 +1,22 @@
-- Copyright (c) 2025-2026 Probo Inc <hello@probo.com>.
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy
-- of this software and associated documentation files (the "Software"), to deal
-- in the Software without restriction, including without limitation the rights
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-- copies of the Software, and to permit persons to whom the Software is
-- furnished to do so, subject to the following conditions:
--
-- The above copyright notice and this permission notice shall be included in
-- all copies or substantial portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-- SOFTWARE.
ALTER TABLE audits ADD COLUMN audit_start_date DATE;
ALTER TABLE audits ADD COLUMN audit_end_date DATE;