/
report.go
57 lines (44 loc) · 1.84 KB
/
report.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package types
// common report request structs
type ArkDrop struct {
DropType string `json:"dropType" validate:"required,oneof=REGULAR_DROP NORMAL_DROP SPECIAL_DROP EXTRA_DROP FURNITURE"`
ItemID string `json:"itemId" validate:"required" example:"30013"`
Quantity int `json:"quantity" validate:"required,gte=0,lte=1000"`
}
type Drop struct {
DropType string `json:"dropType"`
ItemID int `json:"itemId"`
Quantity int `json:"quantity"`
}
type ReportRequestMetadata struct {
Fingerprint string `json:"fingerprint,omitempty" validate:"lte=128"`
MD5 string `json:"md5,omitempty" validate:"lte=32" swaggertype:"string"`
FileName string `json:"fileName,omitempty" validate:"lte=512"`
LastModified int `json:"lastModified,omitempty"`
RecognizerVersion string `json:"recognizerVersion,omitempty" validate:"omitempty,lte=32,semverprefixed" swaggertype:"string"`
RecognizerAssetsVersion string `json:"recognizerAssetsVersion,omitempty" validate:"omitempty,lte=32,semverprefixed" swaggertype:"string"`
}
type SingularReportRequest struct {
FragmentStageID
FragmentReportCommon
Drops []ArkDrop `json:"drops" validate:"dive"`
Times int `json:"times" validate:"gte=0,lte=6"`
Metadata *ReportRequestMetadata `json:"metadata" validate:"omitempty,dive"`
}
type BatchDrop struct {
FragmentStageID
Drops []ArkDrop `json:"drops" validate:"dive"`
Metadata ReportRequestMetadata `json:"metadata" validate:"dive"`
}
type BatchReportRequest struct {
FragmentReportCommon
BatchDrops []BatchDrop `json:"batchDrops" validate:"dive"`
}
type BatchReportError struct {
Index int `json:"index"`
Reason string `json:"reason,omitempty"`
}
// report recall
type SingularReportRecallRequest struct {
ReportHash string `json:"reportHash" validate:"required,printascii" example:"cahbuch1eqliv7dopen0-5ejlUrfzNMXNHY6Q"`
}