Explorar o código

initial commit, dont expect it to work

boyska %!s(int64=5) %!d(string=hai) anos
achega
47cf67c735
Modificáronse 3 ficheiros con 71 adicións e 0 borrados
  1. 1 0
      .gitignore
  2. 12 0
      go.mod
  3. 58 0
      main.go

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+vendor

+ 12 - 0
go.mod

@@ -0,0 +1,12 @@
+module panel
+
+require (
+	github.com/go-pg/pg v6.15.0+incompatible
+	github.com/jinzhu/inflection v0.0.0-20180308033659-04140366298a // indirect
+	github.com/kr/pretty v0.1.0 // indirect
+	github.com/onsi/gomega v1.4.2 // indirect
+	github.com/pkg/errors v0.8.0
+	github.com/vmihailenco/sasl v0.0.0-20180913092844-58bfd2104008 // indirect
+	golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b // indirect
+	gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
+)

+ 58 - 0
main.go

@@ -0,0 +1,58 @@
+package main
+
+import (
+	"fmt"
+
+	"github.com/go-pg/pg"
+	"github.com/pkg/errors"
+)
+
+type DB struct {
+	PgDB   *pg.DB
+	Schema string
+}
+
+func Setup(db *DB) error {
+	_, err := db.PgDB.Exec(`CREATE SCHEMA IF NOT EXISTS users`)
+	if err != nil {
+		return errors.Wrap(err, "Error creating schema")
+	}
+
+	_, err = db.PgDB.Exec(`CREATE TABLE IF NOT EXISTS users.users (
+		uid UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
+		username varchar(64) UNIQUE NOT NULL,
+		email varchar(100) UNIQUE NOT NULL,
+		password varchar(256) NOT NULL
+	)`)
+	if err != nil {
+		return errors.Wrap(err, "Error creating users table")
+	}
+	return nil
+}
+
+func UserAdd(db *DB, username, email, pwhash string) error {
+	stmt, err := db.PgDB.Prepare("INSERT INTO users.users VALUES ($1, $2, $3)")
+	if err != nil {
+		panic("Bad statement in UserAdd")
+	}
+	_, err = stmt.Exec(username, email, pwhash)
+	if err != nil {
+		return errors.Wrapf(err, "Error adding user `%s`", email)
+	}
+	return nil
+}
+
+func main() {
+	fmt.Println("vim-go")
+	pgdb, err := pg.Connect(&pg.Options{
+		User:     "panel",
+		Password: "",
+		Database: "feeds",
+	})
+	if err != nil {
+		os.Fprintln(os.Stderr, err)
+		os.Exit(1)
+	}
+	db := DB{PgDB: db}
+	db.Setup()
+}