diff --git a/Makefile b/Makefile index 614e5346c176dcc895bcc69e73bb0323e940985a..b3047eaa25696707579c1026ba59b313c8cedc7d 100644 --- a/Makefile +++ b/Makefile @@ -10,5 +10,7 @@ dupl: > dupl.html xdg-open dupl.html +docs: + go tool golang.org/x/pkgsite/cmd/pkgsite -open # vim:ft=make # diff --git a/go.mod b/go.mod index d7b1186cd15e424dd4f4f7c38257a7322612bb1d..92a4473711ae56605afe70b7c29ef2dc3ba5eeed 100644 --- a/go.mod +++ b/go.mod @@ -28,6 +28,8 @@ require ( github.com/gdamore/encoding v1.0.1 // indirect github.com/go-sql-driver/mysql v1.9.2 // indirect github.com/google/cel-go v0.25.0 // indirect + github.com/google/licensecheck v0.3.1 // indirect + github.com/google/safehtml v0.0.3-0.20211026203422-d6f0e11a5516 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect @@ -62,9 +64,12 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect + golang.org/x/mod v0.24.0 // indirect golang.org/x/net v0.40.0 // indirect + golang.org/x/pkgsite v0.0.0-20250523174444-0e6de173c6b5 // indirect golang.org/x/sync v0.14.0 // indirect golang.org/x/text v0.25.0 // indirect + golang.org/x/tools v0.33.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect google.golang.org/grpc v1.72.0 // indirect @@ -74,6 +79,7 @@ require ( modernc.org/libc v1.65.8 // indirect modernc.org/mathutil v1.7.1 // indirect modernc.org/memory v1.11.0 // indirect + rsc.io/markdown v0.0.0-20231214224604-88bb533a6020 // indirect ) tool ( @@ -91,4 +97,5 @@ tool ( git.lyda.ie/kevin/bulletin/users github.com/mibk/dupl github.com/sqlc-dev/sqlc/cmd/sqlc + golang.org/x/pkgsite/cmd/pkgsite ) diff --git a/go.sum b/go.sum index 249b0014cec5c99d90a83c8a4f11f54c308723b5..11237019470f4b464920da9fc28cf955da1c1aa2 100644 --- a/go.sum +++ b/go.sum @@ -49,8 +49,12 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/licensecheck v0.3.1 h1:QoxgoDkaeC4nFrtGN1jV7IPmDCHFNIVh54e5hSt6sPs= +github.com/google/licensecheck v0.3.1/go.mod h1:ORkR35t/JjW+emNKtfJDII0zlciG9JgbT7SmsohlHmY= github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs= github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= +github.com/google/safehtml v0.0.3-0.20211026203422-d6f0e11a5516 h1:pSEdbeokt55L2hwtWo6A2k7u5SG08rmw0LhWEyrdWgk= +github.com/google/safehtml v0.0.3-0.20211026203422-d6f0e11a5516/go.mod h1:L4KWwDsUJdECRAEpZoBn3O64bQaywRscowZjJAzjHnU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -201,6 +205,8 @@ golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/pkgsite v0.0.0-20250523174444-0e6de173c6b5 h1:FxzHUvq2Ebth1UVORf+f5TOOMyhqbEWdUbKyLNC9O4M= +golang.org/x/pkgsite v0.0.0-20250523174444-0e6de173c6b5/go.mod h1:KqxqQMGbJ/D0bu4RSWD03NL8CxPXzBcuagsDqaQJkaI= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -307,3 +313,5 @@ modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0= modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A= modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +rsc.io/markdown v0.0.0-20231214224604-88bb533a6020 h1:GqQcl3Kno/rOntek8/d8axYjau8r/c1zVFojXS6WJFI= +rsc.io/markdown v0.0.0-20231214224604-88bb533a6020/go.mod h1:8xcPgWmwlZONN1D9bjxtHEjrUtSEa3fakVF8iaewYKQ= diff --git a/storage/doc.go b/storage/doc.go index 8b2347b7ad4a43ff0bc510fe83f760cda81ec83b..9964ca93a2f2484b6e5a00530c51913cc8760858 100644 --- a/storage/doc.go +++ b/storage/doc.go @@ -1,4 +1,31 @@ /* Package storage handles storage for the bulletin system. + +Much of this code is generated by [github.com/sqlc-dev/sqlc]. + +# Transactions with Queries + +This is from the sqlc docs, but it's a simple example of how to use +transactions with [Queries] functions. + + func bumpCounter(ctx context.Context, db *sql.DB, queries *tutorial.Queries, id int32) error { + tx, err := db.Begin() + if err != nil { + return err + } + defer tx.Rollback() + qtx := queries.WithTx(tx) + r, err := qtx.GetRecord(ctx, id) + if err != nil { + return err + } + if err := qtx.UpdateRecord(ctx, tutorial.UpdateRecordParams{ + ID: r.ID, + Counter: r.Counter + 1, + }); err != nil { + return err + } + return tx.Commit() + } */ package storage