relay admin service
relay atprotocol backend golang

db stuff #2

merged opened by besaid.zone targeting main from qr
Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:qttsv4e7pu2jl3ilanfgc3zn/sh.tangled.repo.pull/3mbzxeqwct522
+40 -1
Diff #0
+31
db.go
··· 1 + package main 2 + 3 + import ( 4 + "database/sql" 5 + "log" 6 + 7 + _ "github.com/mattn/go-sqlite3" 8 + ) 9 + 10 + func (s *Server) NewStorage() (*sql.DB, error) { 11 + db, err := sql.Open("sqlite3", "./scatter.db"); 12 + 13 + _, err = db.Exec(` 14 + pragma foreign_keys = on; 15 + pragma journal_mode = wal; 16 + 17 + create table if not exists relays ( 18 + id integer primary key, 19 + url text not null, 20 + created_at datetime default current_timestamp 21 + ) 22 + `) 23 + 24 + if err != nil { 25 + log.Fatal("error initializing database", err) 26 + } 27 + 28 + defer db.Close() 29 + 30 + return db, nil 31 + }
+2
go.mod
··· 1 1 module tangled.org/besaid.zone/scatter 2 2 3 3 go 1.25.5 4 + 5 + require github.com/mattn/go-sqlite3 v1.14.33 // indirect
+2
go.sum
··· 1 + github.com/mattn/go-sqlite3 v1.14.33 h1:A5blZ5ulQo2AtayQ9/limgHEkFreKj1Dv226a1K73s0= 2 + github.com/mattn/go-sqlite3 v1.14.33/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
+5 -1
main.go
··· 36 36 w.Write([]byte("Welcome to scatter")) 37 37 }) 38 38 39 + router.HandleFunc("POST /xrpc/com.atproto.sync.register", func(w http.ResponseWriter, r *http.Request) { 40 + // register with the service to send and recieve requestCrawls 41 + }) 42 + 39 43 router.HandleFunc("POST /xrpc/com.atproto.sync.requestCrawlBroadcast", func(w http.ResponseWriter, req *http.Request) { 40 44 // forward requestCrawl request to list of relays that this service knows about 41 45 }) 42 46 43 47 server := http.Server{ 44 48 Addr: s.addr, 45 - WriteTimeout: 5 * time.Second, 49 + WriteTimeout: 10 * time.Minute, 46 50 ReadTimeout: 10 * time.Second, 47 51 IdleTimeout: 30 * time.Second, 48 52 Handler: router,

History

1 round 0 comments
sign up or login to add to the discussion
besaid.zone submitted #0
1 commit
expand
setting up datbase to keep track of registered relays
expand 0 comments
pull request successfully merged