@@ -6,36 +6,35 @@ import (
66 "log"
77 "net/http"
88 "os"
9+ "strconv"
910 "text/template"
1011 "time"
11- "strconv"
1212
1313 "github.com/joho/godotenv"
1414
1515 "github.com/gorilla/sessions"
16- "github.com/workos/workos-go/v2/pkg/auditlogs"
17- "github.com/workos/workos-go/v2/pkg/organizations"
18- "github.com/workos/workos-go/v2/pkg/portal"
19- "github.com/workos/workos-go/v2/pkg/common"
20-
16+ "github.com/workos/workos-go/v3/pkg/auditlogs"
17+ "github.com/workos/workos-go/v3/pkg/common"
18+ "github.com/workos/workos-go/v3/pkg/organizations"
19+ "github.com/workos/workos-go/v3/pkg/portal"
2120)
2221
2322var router = http .NewServeMux ()
2423var key = []byte ("super-secret-key" )
2524var store = sessions .NewCookieStore (key )
2625
27- type SendEventData struct {
28- Name string
29- ID string
26+ type SendEventData struct {
27+ Name string
28+ ID string
3029 RangeStart string
31- RangeEnd string
30+ RangeEnd string
3231}
3332
3433type Organizations struct {
35- Data []organizations.Organization
34+ Data []organizations.Organization
3635 Metadata common.ListMetadata
37- Before string
38- After string
36+ Before string
37+ After string
3938}
4039
4140func init () {
@@ -45,8 +44,7 @@ func init() {
4544 }
4645}
4746
48-
49- // Displays Organizations
47+ // Displays Organizations
5048func handleOrganizations (w http.ResponseWriter , r * http.Request ) {
5149 tmpl := template .Must (template .ParseFiles ("./static/index.html" ))
5250
@@ -57,8 +55,8 @@ func handleOrganizations(w http.ResponseWriter, r *http.Request) {
5755 context .Background (),
5856 organizations.ListOrganizationsOpts {
5957 Before : before ,
60- After : after ,
61- Limit : 5 ,
58+ After : after ,
59+ Limit : 5 ,
6260 },
6361 )
6462
@@ -74,7 +72,6 @@ func handleOrganizations(w http.ResponseWriter, r *http.Request) {
7472 return
7573 }
7674
77-
7875 data := Organizations {list .Data , list .ListMetadata , before , after }
7976
8077 // Render the template with the organizations
@@ -164,7 +161,7 @@ func sendEvents(w http.ResponseWriter, r *http.Request) {
164161 rangeStart := currentTime .AddDate (0 , 0 , - 30 )
165162
166163 data := SendEventData {session .Values ["org_name" ].(string ), session .Values ["org_id" ].(string ), rangeStart .Format (time .RFC3339 ), currentTime .Format (time .RFC3339 )}
167-
164+
168165 if err := tmpl .Execute (w , data ); err != nil {
169166 log .Panic (err )
170167 }
@@ -237,37 +234,37 @@ func sessionHandler(w http.ResponseWriter, r *http.Request) {
237234 }
238235}
239236
240- // Generates or exports CSV by form event
237+ // Generates or exports CSV by form event
241238func exportEvents (w http.ResponseWriter , r * http.Request ) {
242239 session , _ := store .Get (r , "session-name" )
243- eventType := r .FormValue ("event" )
240+ eventType := r .FormValue ("event" )
244241
245242 if eventType == "access_csv" {
246243 export , err := auditlogs .GetExport (context .Background (), auditlogs.GetExportOpts {
247244 ExportID : session .Values ["export_id" ].(string ),
248245 })
249-
246+
250247 if err != nil {
251248 fmt .Println ("Error exporting events:" , err )
252249 }
253-
250+
254251 http .Redirect (w , r , export .URL , http .StatusSeeOther )
255252 } else {
256253 rangeStart := r .FormValue ("range-start" )
257254 rangeEnd := r .FormValue ("range-end" )
258255 targets := r .FormValue ("filter-targets" )
259- opts := auditlogs.CreateExportOpts {
256+ opts := auditlogs.CreateExportOpts {
260257 OrganizationID : session .Values ["org_id" ].(string ),
261258 RangeStart : rangeStart ,
262259 RangeEnd : rangeEnd ,
263- Targets : []string {targets },
264- }
260+ Targets : []string {targets },
261+ }
265262 if actors := r .FormValue ("filter-actors" ); actors != "" {
266- opts .Actors = []string {actors }
263+ opts .Actors = []string {actors }
267264 }
268- if actions := r .FormValue ("filter-actions" ); actions != "" {
265+ if actions := r .FormValue ("filter-actions" ); actions != "" {
269266 opts .Actions = []string {actions }
270- }
267+ }
271268
272269 export , err := auditlogs .CreateExport (context .Background (), opts )
273270
@@ -276,7 +273,6 @@ func exportEvents(w http.ResponseWriter, r *http.Request) {
276273 fmt .Println ("Error creating export:" , err )
277274 }
278275
279-
280276 session .Values ["export_id" ] = export .ID
281277
282278 if err := session .Save (r , w ); err != nil {
@@ -288,10 +284,10 @@ func exportEvents(w http.ResponseWriter, r *http.Request) {
288284}
289285
290286// Generates an Admin Portal Link by Intent
291- func events (w http.ResponseWriter , r * http.Request ){
287+ func events (w http.ResponseWriter , r * http.Request ) {
292288 intent := r .URL .Query ().Get ("intent" )
293289 session , _ := store .Get (r , "session-name" )
294-
290+
295291 link , err := portal .GenerateLink (
296292 context .Background (),
297293 portal.GenerateLinkOpts {
@@ -325,7 +321,6 @@ func main() {
325321 router .HandleFunc ("/export-events" , exportEvents )
326322 router .HandleFunc ("/logout" , logout )
327323
328-
329324 if err := http .ListenAndServe (":8000" , router ); err != nil {
330325 log .Panic (err )
331326 }
0 commit comments