Skip to content

Commit

Permalink
Expose eventing structs
Browse files Browse the repository at this point in the history
  • Loading branch information
Adam0Brien committed Dec 2, 2024
1 parent edd8f22 commit 1c5137a
Showing 1 changed file with 70 additions and 0 deletions.
70 changes: 70 additions & 0 deletions lib/eventing/structs.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package eventing

import (
"github.com/project-kessel/inventory-api/internal/biz/model"
"time"
)

type Event struct {
Specversion string `json:"specversion"`
Type string `json:"type"`
Source string `json:"source"`
Id string `json:"id"`
Subject string `json:"subject"`
Time time.Time `json:"time"`
DataContentType string `json:"datacontenttype"`
Data interface{} `json:"data"`
}

type ResourceData struct {
Metadata ResourceMetadata `json:"metadata"`
ReporterData ResourceReporter `json:"reporter_data"`
ResourceData model.JsonObject `json:"resource_data,omitempty"`
}

type RelationshipData struct {
Metadata RelationshipMetadata `json:"metadata"`
ReporterData RelationshipReporter `json:"reporter_data"`
ResourceData model.JsonObject `json:"resource_data,omitempty"`
}

type ResourceMetadata struct {
Id string `json:"id"`
ResourceType string `json:"resource_type"`
OrgId string `json:"org_id"`
CreatedAt *time.Time `json:"created_at,omitempty"`
UpdatedAt *time.Time `json:"updated_at,omitempty"`
DeletedAt *time.Time `json:"deleted_at,omitempty"`
WorkspaceId string `json:"workspace_id"`
Labels []ResourceLabel `json:"labels,omitempty"`
}

type ResourceLabel struct {
Key string `json:"key"`
Value string `json:"value"`
}

type ResourceReporter struct {
ReporterInstanceId string `json:"reporter_instance_id"`
ReporterType string `json:"reporter_type"`
ConsoleHref string `json:"console_href"`
ApiHref string `json:"api_href"`
LocalResourceId string `json:"local_resource_id"`
ReporterVersion string `json:"reporter_version"`
}

type RelationshipMetadata struct {
Id string `json:"id"`
RelationshipType string `json:"relationship_type"`
CreatedAt *time.Time `json:"created_at,omitempty"`
UpdatedAt *time.Time `json:"updated_at,omitempty"`
DeletedAt *time.Time `json:"deleted_at,omitempty"`
}

type RelationshipReporter struct {
ReporterType string `json:"reporter_type"`
SubjectLocalResourceId string `json:"subject_local_resource_id"`
ObjectLocalResourceId string `json:"object_local_resource_id"`
ReporterVersion string `json:"reporter_version"`
ReporterInstanceId string `json:"reporter_instance_id"`
}

0 comments on commit 1c5137a

Please sign in to comment.