-
Notifications
You must be signed in to change notification settings - Fork 6
/
tickets.go
39 lines (32 loc) · 1.07 KB
/
tickets.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*
Copyright 2023 Adevinta
*/
package api
import (
vulcantracker "github.com/adevinta/vulcan-tracker/pkg/model"
)
// FindingTicketCreate represents the data needed to create a ticket.
type FindingTicketCreate struct {
FindingID string `json:"finding_id" validate:"required"`
TeamID string `json:"team_id" validate:"required"`
Summary string `json:"summary" validate:"required"`
Description string `json:"description"`
URLTracker string `json:"url_tracker"`
Labels []string `json:"labels"`
}
// FindingTicketCreateResponse represents a response when request a ticket
// creation.
type FindingTicketCreateResponse struct {
URLTracker string `json:"url_tracker"`
}
// Ticket represents the response data returned from the vulcan tracker service for
// the get ticket request.
type Ticket struct {
Ticket vulcantracker.Ticket `json:"ticket"`
}
// ToResponse transforms a ticket model into a response.
func (t Ticket) ToResponse() FindingTicketCreateResponse {
output := FindingTicketCreateResponse{}
output.URLTracker = t.Ticket.URLTracker
return output
}