diff --git a/main.go b/main.go
index 918df28..458f703 100644
--- a/main.go
+++ b/main.go
@@ -26,7 +26,7 @@ var (
flagDatabase string
flagListenPort int
flagSequenceFilename string
- flagDomain string
+ flagDomain string
)
func init() {
@@ -63,6 +63,12 @@ func init() {
}
func main() {
+ if flagSequenceFilename == "" {
+ fmt.Println("Please specify -seq with a sequenc filename.")
+ os.Exit(1)
+ }
+
+
err := initDB(flagHost, flagPort, flagDatabase, flagUsername, flagPassword)
if err != nil {
fmt.Println(err)
@@ -70,6 +76,7 @@ func main() {
}
listenOn := fmt.Sprintf("[::]:%d", flagListenPort)
+ http.HandleFunc("/", pageIndex)
http.HandleFunc("/invite", createInvite)
fmt.Printf("Listen on %s\n", listenOn)
err = http.ListenAndServe(listenOn, nil)
@@ -102,6 +109,50 @@ func sequenceNext() (seq int, err error) {
return
}
+func pageIndex(w http.ResponseWriter, r *http.Request) {
+ w.Write([]byte(`
+
+
+
+
+
+
+
+ Skapar länk...
+
+
+
+
+
+
+`))
+}
+
func createInvite(w http.ResponseWriter, r *http.Request) {
seq, err := sequenceNext()
if err != nil {
@@ -113,57 +164,59 @@ func createInvite(w http.ResponseWriter, r *http.Request) {
email := fmt.Sprintf("%08d@example.com", seq)
expire := time.Now().Add(time.Hour * 24 * 7)
- // legacy_object
- key := fmt.Sprintf("invitation:uid:2:invited:%s", email)
- _, err = db.Exec(` INSERT INTO public.legacy_object(_key, "type", "expireAt") VALUES($1, 'string', null)`, key)
- if err != nil {
- w.Write([]byte(err.Error()))
- return
- }
+ if false {
+ // legacy_object
+ key := fmt.Sprintf("invitation:uid:2:invited:%s", email)
+ _, err = db.Exec(` INSERT INTO public.legacy_object(_key, "type", "expireAt") VALUES($1, 'string', null)`, key)
+ if err != nil {
+ w.Write([]byte(err.Error()))
+ return
+ }
- key = fmt.Sprintf("invitation:invited:%s", email)
- _, err = db.Exec(` INSERT INTO public.legacy_object(_key, "type", "expireAt") VALUES($1, 'set', null)`, key)
- if err != nil {
- w.Write([]byte(err.Error()))
- return
- }
+ key = fmt.Sprintf("invitation:invited:%s", email)
+ _, err = db.Exec(` INSERT INTO public.legacy_object(_key, "type", "expireAt") VALUES($1, 'set', null)`, key)
+ if err != nil {
+ w.Write([]byte(err.Error()))
+ return
+ }
- key = fmt.Sprintf("invitation:token:%s", newUUID)
- _, err = db.Exec(` INSERT INTO public.legacy_object(_key, "type", "expireAt") VALUES($1, 'hash', $2)`, key, expire)
- if err != nil {
- w.Write([]byte(err.Error()))
- return
- }
+ key = fmt.Sprintf("invitation:token:%s", newUUID)
+ _, err = db.Exec(` INSERT INTO public.legacy_object(_key, "type", "expireAt") VALUES($1, 'hash', $2)`, key, expire)
+ if err != nil {
+ w.Write([]byte(err.Error()))
+ return
+ }
- // legacy_hash
- key = fmt.Sprintf("invitation:token:%s", newUUID)
- data := fmt.Sprintf(`{"email": "%s", "token": "%s", "inviter": 2, "groupsToJoin": "[]"}`, email, newUUID)
- _, err = db.Exec(` INSERT INTO public.legacy_hash(_key, "data", "type") VALUES($1, $2, 'hash')`, key, data)
- if err != nil {
- w.Write([]byte(err.Error()))
- return
- }
+ // legacy_hash
+ key = fmt.Sprintf("invitation:token:%s", newUUID)
+ data := fmt.Sprintf(`{"email": "%s", "token": "%s", "inviter": 2, "groupsToJoin": "[]"}`, email, newUUID)
+ _, err = db.Exec(` INSERT INTO public.legacy_hash(_key, "data", "type") VALUES($1, $2, 'hash')`, key, data)
+ if err != nil {
+ w.Write([]byte(err.Error()))
+ return
+ }
- // legacy_set
- key = fmt.Sprintf("invitation:uid:2")
- _, err = db.Exec(` INSERT INTO public.legacy_set(_key, "member", "type") VALUES($1, $2, 'set')`, key, email)
- if err != nil {
- w.Write([]byte(err.Error()))
- return
- }
+ // legacy_set
+ key = "invitation:uid:2"
+ _, err = db.Exec(` INSERT INTO public.legacy_set(_key, "member", "type") VALUES($1, $2, 'set')`, key, email)
+ if err != nil {
+ w.Write([]byte(err.Error()))
+ return
+ }
- key = fmt.Sprintf("invitation:invited:%s", email)
- _, err = db.Exec(` INSERT INTO public.legacy_set(_key, "member", "type") VALUES($1, $2, 'set')`, key, newUUID)
- if err != nil {
- w.Write([]byte(err.Error()))
- return
- }
+ key = fmt.Sprintf("invitation:invited:%s", email)
+ _, err = db.Exec(` INSERT INTO public.legacy_set(_key, "member", "type") VALUES($1, $2, 'set')`, key, newUUID)
+ if err != nil {
+ w.Write([]byte(err.Error()))
+ return
+ }
- key = fmt.Sprintf("invitation:uid:2:invited:%s", email)
- _, err = db.Exec(` INSERT INTO public.legacy_string(_key, "data", "type") VALUES($1, $2, 'string')`, key, newUUID)
- if err != nil {
- w.Write([]byte(err.Error()))
- return
+ key = fmt.Sprintf("invitation:uid:2:invited:%s", email)
+ _, err = db.Exec(` INSERT INTO public.legacy_string(_key, "data", "type") VALUES($1, $2, 'string')`, key, newUUID)
+ if err != nil {
+ w.Write([]byte(err.Error()))
+ return
+ }
}
j, _ := json.Marshal(struct {
@@ -172,6 +225,4 @@ func createInvite(w http.ResponseWriter, r *http.Request) {
fmt.Sprintf("https://%s/register?token=%s", flagDomain, newUUID),
})
w.Write(j)
-
- return
}