-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy pathlicense_utils.go
More file actions
130 lines (114 loc) · 4.33 KB
/
Copy pathlicense_utils.go
File metadata and controls
130 lines (114 loc) · 4.33 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package github
import (
"context"
"fmt"
"slices"
"github.com/shurcooL/githubv4"
"github.com/turbot/steampipe-plugin-github/github/models"
"github.com/turbot/steampipe-plugin-sdk/v6/plugin"
)
func extractLicenseFromHydrateItem(h *plugin.HydrateData) (models.License, error) {
if license, ok := h.Item.(models.License); ok {
return license, nil
} else {
return models.License{}, fmt.Errorf("unable to parse hydrate item %v as an License", h.Item)
}
}
func appendLicenseColumnIncludes(m *map[string]interface{}, cols []string) {
(*m)["includeLicenseName"] = githubv4.Boolean(slices.Contains(cols, "name"))
(*m)["includeLicenseSpdxId"] = githubv4.Boolean(slices.Contains(cols, "spdx_id"))
(*m)["includeLicenseUrl"] = githubv4.Boolean(slices.Contains(cols, "url"))
(*m)["includeLicenseConditions"] = githubv4.Boolean(slices.Contains(cols, "conditions"))
(*m)["includeLicenseDescription"] = githubv4.Boolean(slices.Contains(cols, "description"))
(*m)["includeLicenseFeatured"] = githubv4.Boolean(slices.Contains(cols, "featured"))
(*m)["includeLicenseHidden"] = githubv4.Boolean(slices.Contains(cols, "hidden"))
(*m)["includeLicenseImplementation"] = githubv4.Boolean(slices.Contains(cols, "implementation"))
(*m)["includeLicenseLimitations"] = githubv4.Boolean(slices.Contains(cols, "limitations"))
(*m)["includeLicensePermissions"] = githubv4.Boolean(slices.Contains(cols, "permissions"))
(*m)["includeLicenseNickname"] = githubv4.Boolean(slices.Contains(cols, "nickname"))
(*m)["includeLicensePseudoLicense"] = githubv4.Boolean(slices.Contains(cols, "pseudo_license"))
}
func licenseHydrateSpdxId(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.SpdxId, nil
}
func licenseHydrateName(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.Name, nil
}
func licenseHydrateUrl(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.Url, nil
}
func licenseHydrateConditions(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.Conditions, nil
}
func licenseHydrateDescription(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.Description, nil
}
func licenseHydrateFeatured(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.Featured, nil
}
func licenseHydrateHidden(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.Hidden, nil
}
func licenseHydrateImplementation(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.Implementation, nil
}
func licenseHydrateLimitations(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.Limitations, nil
}
func licenseHydratePermissions(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.Permissions, nil
}
func licenseHydrateNickname(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.Nickname, nil
}
func licenseHydratePseudoLicense(_ context.Context, _ *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
license, err := extractLicenseFromHydrateItem(h)
if err != nil {
return nil, err
}
return license.PseudoLicense, nil
}