this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

back: move wasm d1 store behind compilation flags

Clément acd695c5 19ce4270

+72 -12
+2 -8
backend/cmd/api/main.go
··· 1 1 package main 2 2 3 3 import ( 4 - "database/sql" 5 - 6 4 "github.com/go-chi/chi/v5" 7 5 chimiddleware "github.com/go-chi/chi/v5/middleware" 8 6 "github.com/go-sqlx/sqlx" 9 7 "github.com/syumai/workers" 10 - _ "github.com/syumai/workers/cloudflare/d1" // register driver 11 8 "uiua.online/internal/handlers" 12 9 "uiua.online/internal/middlewares" 13 10 "uiua.online/internal/services" 11 + "uiua.online/store" 14 12 ) 15 13 16 14 func main() { 17 - d1, err := sql.Open("d1", "DB") 18 - if err != nil { 19 - panic(err) 20 - } 21 - db := sqlx.NewDb(d1, "d1") 15 + db := sqlx.NewDb(store.Database(), "sqlite") 22 16 23 17 sessionSvc := services.NewSessionService(db) 24 18 userSvc := services.NewUserService(db)
+13
backend/go.mod
··· 13 13 ) 14 14 15 15 require github.com/go-sqlx/sqlx v1.3.8 16 + 17 + require ( 18 + github.com/dustin/go-humanize v1.0.1 // indirect 19 + github.com/glebarez/go-sqlite v1.22.0 // indirect 20 + github.com/google/uuid v1.5.0 // indirect 21 + github.com/mattn/go-isatty v0.0.20 // indirect 22 + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect 23 + golang.org/x/sys v0.34.0 // indirect 24 + modernc.org/libc v1.37.6 // indirect 25 + modernc.org/mathutil v1.6.0 // indirect 26 + modernc.org/memory v1.7.2 // indirect 27 + modernc.org/sqlite v1.28.0 // indirect 28 + )
+21
backend/go.sum
··· 1 + github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= 2 + github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= 3 + github.com/glebarez/go-sqlite v1.22.0 h1:uAcMJhaA6r3LHMTFgP0SifzgXg46yJkgxqyuyec+ruQ= 4 + github.com/glebarez/go-sqlite v1.22.0/go.mod h1:PlBIdHe0+aUEFn+r2/uthrWq4FxbzugL0L8Li6yQJbc= 1 5 github.com/go-chi/chi/v5 v5.2.4 h1:WtFKPHwlywe8Srng8j2BhOD9312j9cGUxG1SP4V2cR4= 2 6 github.com/go-chi/chi/v5 v5.2.4/go.mod h1:X7Gx4mteadT3eDOMTsXzmI4/rwUpOwBHLpAfupzFJP0= 3 7 github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI= ··· 6 10 github.com/go-sqlx/sqlx v1.3.8/go.mod h1:8IQsxeiq14kP8ndB8cebAO8lTo0k9UMzMA+AWXJ6030= 7 11 github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA= 8 12 github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= 13 + github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= 14 + github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 9 15 github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= 10 16 github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= 17 + github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= 18 + github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= 11 19 github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= 12 20 github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= 21 + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= 22 + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= 13 23 github.com/syumai/workers v0.31.0 h1:i9PCkjfuwRvJv0DwaF7pxDNv9oeyEQfolyPtFTtkwEY= 14 24 github.com/syumai/workers v0.31.0/go.mod h1:ZnqmdiHNBrbxOLrZ/HJ5jzHy6af9cmiNZk10R9NrIEA= 15 25 golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= 16 26 golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= 27 + golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 28 + golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= 29 + golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= 30 + modernc.org/libc v1.37.6 h1:orZH3c5wmhIQFTXF+Nt+eeauyd+ZIt2BX6ARe+kD+aw= 31 + modernc.org/libc v1.37.6/go.mod h1:YAXkAZ8ktnkCKaN9sw/UDeUVkGYJ/YquGO4FTi5nmHE= 32 + modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4= 33 + modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo= 34 + modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E= 35 + modernc.org/memory v1.7.2/go.mod h1:NO4NVCQy0N7ln+T9ngWqOQfi7ley4vpwvARR+Hjw95E= 36 + modernc.org/sqlite v1.28.0 h1:Zx+LyDDmXczNnEQdvPuEfcFVA2ZPyaD7UCZDjef3BHQ= 37 + modernc.org/sqlite v1.28.0/go.mod h1:Qxpazz0zH8Z1xCFyi5GSL3FzbtZ3fvbjmywNogldEW0=
+19
backend/store/store_mem.go
··· 1 + //go:build !js || !wasm 2 + 3 + package store 4 + 5 + import ( 6 + "database/sql" 7 + "log/slog" 8 + 9 + _ "github.com/glebarez/go-sqlite" // register driver 10 + ) 11 + 12 + func Database() *sql.DB { 13 + slog.Error("Running with an in-memory database") 14 + db, err := sql.Open("sqlite", ":memory:") 15 + if err != nil { 16 + panic(err) 17 + } 18 + return db 19 + }
+17
backend/store/store_wasm.go
··· 1 + //go:build js && wasm 2 + 3 + package store 4 + 5 + import ( 6 + "database/sql" 7 + 8 + _ "github.com/syumai/workers/cloudflare/d1" // register driver 9 + ) 10 + 11 + func Database() *sql.DB { 12 + db, err := sql.Open("d1", "DB") 13 + if err != nil { 14 + panic(err) 15 + } 16 + return db 17 + }
-4
flake.nix
··· 20 20 devShells = forAllSystems (pkgs: { 21 21 default = pkgs.mkShell { 22 22 inputsFrom = builtins.attrValues self.packages.${pkgs.system}; 23 - env = { 24 - GOOS = "js"; 25 - GOARCH = "wasm"; 26 - }; 27 23 packages = with pkgs; [ 28 24 corepack 29 25 nodejs_24