Skip to content

Commit 51c7aee

Browse files
committed
added script for table creation
1 parent 36384aa commit 51c7aee

File tree

3 files changed

+83
-1
lines changed

3 files changed

+83
-1
lines changed

enterprise/audit/generate.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ PROJECT_ROOT=$(cd "$SCRIPT_DIR" && git rev-parse --show-toplevel)
1515

1616
(
1717
cd "$PROJECT_ROOT"
18-
go run ./scripts/auditgen ./coderd/database "$@"
18+
go run ./scripts/audittypegen ./coderd/database "$@"
1919
)

scripts/auditdocgen/main.go

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package main
2+
3+
import (
4+
"bytes"
5+
"fmt"
6+
"log"
7+
"strconv"
8+
"strings"
9+
10+
"github.com/coder/coder/enterprise/audit"
11+
)
12+
13+
func main() {
14+
auditableResourcesMap, err := readAuditableResources()
15+
if err != nil {
16+
log.Fatal("can't read auditableResources: ", err)
17+
}
18+
19+
doc, err := readAuditDoc()
20+
if err != nil {
21+
log.Fatal("can't read audit doc: ", err)
22+
}
23+
24+
doc, err = updateAuditDoc(doc, auditableResourcesMap)
25+
if err != nil {
26+
log.Fatal("can't update audit doc: ", err)
27+
}
28+
29+
err = writeAuditDoc(doc)
30+
if err != nil {
31+
log.Fatal("can't write updated audit doc: ", err)
32+
}
33+
}
34+
35+
type AuditableResourcesMap map[string]map[string]bool
36+
37+
func readAuditableResources() (AuditableResourcesMap, error) {
38+
auditableResourcesMap := make(AuditableResourcesMap)
39+
40+
for resourceName, resourceFields := range audit.AuditableResources {
41+
friendlyResourceName := strings.Split(resourceName, ".")[2]
42+
fieldNameMap := make(map[string]bool)
43+
for fieldName, action := range resourceFields {
44+
fieldNameMap[fieldName] = action != audit.ActionIgnore
45+
auditableResourcesMap[friendlyResourceName] = fieldNameMap
46+
}
47+
}
48+
49+
return auditableResourcesMap, nil
50+
}
51+
52+
func readAuditDoc() ([]byte, error) {
53+
var doc []byte
54+
return doc, nil
55+
}
56+
57+
func updateAuditDoc(doc []byte, auditableResourcesMap AuditableResourcesMap) ([]byte, error) {
58+
var updatedDoc []byte
59+
60+
var buffer bytes.Buffer
61+
buffer.WriteByte('\n')
62+
buffer.WriteString("|<b>Resource<b>||\n")
63+
buffer.WriteString("|--|-----------------|\n")
64+
65+
for resourceName, resourceFields := range auditableResourcesMap {
66+
67+
buffer.Write([]byte("|" + resourceName + "|<table><thead><tr><th>Field</th><th>Tracked</th></tr></thead><tbody>"))
68+
69+
for fieldName, isTracked := range resourceFields {
70+
buffer.Write([]byte("<tr><td>" + fieldName + "</td><td>" + strconv.FormatBool(isTracked) + "</td></tr>"))
71+
}
72+
73+
buffer.WriteString("</tbody></table>\n")
74+
}
75+
76+
fmt.Println("updated table", buffer.String())
77+
return updatedDoc, nil
78+
}
79+
80+
func writeAuditDoc(doc []byte) error {
81+
return nil
82+
}
File renamed without changes.

0 commit comments

Comments
 (0)