persistence.go 607 B

1234567891011121314151617181920212223
  1. package auth
  2. import (
  3. "github.com/owncast/owncast/core/data"
  4. )
  5. var _datastore *data.Datastore
  6. // Setup will initialize auth persistence.
  7. func Setup(db *data.Datastore) {
  8. _datastore = db
  9. createTableSQL := `CREATE TABLE IF NOT EXISTS auth (
  10. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  11. "user_id" TEXT NOT NULL,
  12. "token" TEXT NOT NULL,
  13. "type" TEXT NOT NULL,
  14. "timestamp" DATE DEFAULT CURRENT_TIMESTAMP NOT NULL,
  15. FOREIGN KEY(user_id) REFERENCES users(id)
  16. );`
  17. _datastore.MustExec(createTableSQL)
  18. _datastore.MustExec(`CREATE INDEX IF NOT EXISTS idx_auth_token ON auth (token);`)
  19. }