Add requested evidence

Signed-off-by: gearnode <bryan@frimin.fr>
This commit is contained in:
gearnode
2025-04-02 10:10:49 +02:00
parent 2f9f04c984
commit c145125b1a
15 changed files with 1856 additions and 352 deletions

View File

@@ -29,7 +29,7 @@ import (
type (
Evidence struct {
ID gid.GID `db:"id"`
TaskID *gid.GID `db:"task_id"`
TaskID gid.GID `db:"task_id"`
State EvidenceState `db:"state"`
Type EvidenceType `db:"type"`
ObjectKey string `db:"object_key"`

View File

@@ -24,9 +24,8 @@ type (
)
const (
EvidenceStateValid EvidenceState = iota
EvidenceStateInvalid
EvidenceStateExpired
EvidenceStateRequested EvidenceState = iota
EvidenceStateFulfilled
)
func (es EvidenceState) MarshalText() ([]byte, error) {
@@ -37,12 +36,10 @@ func (es *EvidenceState) UnmarshalText(data []byte) error {
val := string(data)
switch val {
case EvidenceStateValid.String():
*es = EvidenceStateValid
case EvidenceStateInvalid.String():
*es = EvidenceStateInvalid
case EvidenceStateExpired.String():
*es = EvidenceStateExpired
case EvidenceStateRequested.String():
*es = EvidenceStateRequested
case EvidenceStateFulfilled.String():
*es = EvidenceStateFulfilled
default:
return fmt.Errorf("invalid EvidenceState value: %q", val)
}
@@ -54,12 +51,10 @@ func (es EvidenceState) String() string {
var val string
switch es {
case EvidenceStateValid:
val = "VALID"
case EvidenceStateInvalid:
val = "INVALID"
case EvidenceStateExpired:
val = "EXPIRED"
case EvidenceStateRequested:
val = "REQUESTED"
case EvidenceStateFulfilled:
val = "FULFILLED"
}
return val

View File

@@ -0,0 +1,10 @@
CREATE TYPE evidence_state_new AS ENUM ('FULFILLED', 'REQUESTED');
ALTER TABLE evidences ALTER COLUMN state TYPE text;
UPDATE evidences SET state = 'FULFILLED';
ALTER TABLE evidences ALTER COLUMN state TYPE evidence_state_new USING state::evidence_state_new;
DROP TYPE evidence_state;
ALTER TYPE evidence_state_new RENAME TO evidence_state;

View File

@@ -0,0 +1 @@
ALTER TABLE evidences ALTER COLUMN task_id SET NOT NULL;