this repo has no description
1package db 2 3import ( 4 "database/sql" 5 6 _ "github.com/mattn/go-sqlite3" 7) 8 9type DB struct { 10 db *sql.DB 11} 12 13func Make(dbPath string) (*DB, error) { 14 db, err := sql.Open("sqlite3", dbPath) 15 if err != nil { 16 return nil, err 17 } 18 _, err = db.Exec(` 19 create table if not exists registrations ( 20 id integer primary key autoincrement, 21 domain text not null unique, 22 did text not null, 23 secret text not null, 24 created integer default (strftime('%s', 'now')), 25 registered integer); 26 create table if not exists public_keys ( 27 id integer primary key autoincrement, 28 did text not null, 29 name text not null, 30 key text not null, 31 created integer default (strftime('%s', 'now')), 32 unique(did, name, key) 33 ); 34 create table if not exists repos ( 35 id integer primary key autoincrement, 36 did text not null, 37 name text not null, 38 knot text not null, 39 created integer default (strftime('%s', 'now')), 40 unique(did, name, knot) 41 ); 42 `) 43 if err != nil { 44 return nil, err 45 } 46 return &DB{db: db}, nil 47}