fix: rendering index page after login
This commit is contained in:
		
							parent
							
								
									942091c5d8
								
							
						
					
					
						commit
						cdd31e186a
					
				| @ -11,19 +11,9 @@ import ( | |||||||
| 	"sunshine.industries/some-automoderation/sessions" | 	"sunshine.industries/some-automoderation/sessions" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func indexPageRoute( | func renderIndexPage(session sessions.SessionData, w http.ResponseWriter) { | ||||||
| 	templateFs *embed.FS, |  | ||||||
| 	sessionSM sessions.SessionManagement, |  | ||||||
| 	roomsM rooms.RoomManager, |  | ||||||
| ) http.HandlerFunc { |  | ||||||
| 	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |  | ||||||
| 	var baseFile = "templates/base.gohtml" | 	var baseFile = "templates/base.gohtml" | ||||||
| 	var templFile = "templates/index.gohtml" | 	var templFile = "templates/index.gohtml" | ||||||
| 		session, found := getContextSession(r.Context()) |  | ||||||
| 		if !found { |  | ||||||
| 			log.Printf("/ session not found, should be impossible") |  | ||||||
| 			// TODO return error i guess |  | ||||||
| 		} |  | ||||||
| 	type MainData struct { | 	type MainData struct { | ||||||
| 		SessionStringToken string | 		SessionStringToken string | ||||||
| 		SomeString         string | 		SomeString         string | ||||||
| @ -48,5 +38,20 @@ func indexPageRoute( | |||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Printf("my error in executing template, huh\n %s", err) | 		log.Printf("my error in executing template, huh\n %s", err) | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func indexPageRoute( | ||||||
|  | 	templateFs *embed.FS, | ||||||
|  | 	sessionSM sessions.SessionManagement, | ||||||
|  | 	roomsM rooms.RoomManager, | ||||||
|  | ) http.HandlerFunc { | ||||||
|  | 	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { | ||||||
|  | 		session, found := getContextSession(r.Context()) | ||||||
|  | 		if !found { | ||||||
|  | 			log.Printf("/ session not found, should be impossible") | ||||||
|  | 			// TODO return error i guess | ||||||
|  | 		} | ||||||
|  | 		renderIndexPage(session, w) | ||||||
| 	}) | 	}) | ||||||
| } | } | ||||||
|  | |||||||
| @ -143,26 +143,21 @@ func createRoomHandler(templateFs *embed.FS, | |||||||
| 			log.Printf("what am i to do? error saving room %s", err) | 			log.Printf("what am i to do? error saving room %s", err) | ||||||
| 			// todo return error notice somehow | 			// todo return error notice somehow | ||||||
| 		} | 		} | ||||||
| 		newSessionId, err := sessionSM.Save(r.Context(), newRoom.Name, person.Id) | 		newSession, err := sessionSM.Save(r.Context(), newRoom.Name, person.Id) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			log.Printf("what am i to do? error saving session %s", err) | 			log.Printf("what am i to do? error saving session %s", err) | ||||||
| 			// todo return error notice somehow | 			// todo return error notice somehow | ||||||
| 		} | 		} | ||||||
| 		http.SetCookie(w, &http.Cookie{ | 		http.SetCookie(w, &http.Cookie{ | ||||||
| 			Name:     authCookieName, | 			Name:     authCookieName, | ||||||
| 			Value:    fmt.Sprint(newSessionId), | 			Value:    fmt.Sprint(newSession.SessionId), | ||||||
| 			Secure:   true, | 			Secure:   true, | ||||||
| 			HttpOnly: true, | 			HttpOnly: true, | ||||||
| 			Path:     "/", | 			Path:     "/", | ||||||
| 		}) | 		}) | ||||||
| 		var templFile = "templates/index.gohtml" |  | ||||||
| 		tmpl := template.Must(template.ParseFS(templateFs, templFile)) |  | ||||||
| 		w.Header().Add("HX-Retarget", "body") | 		w.Header().Add("HX-Retarget", "body") | ||||||
| 		w.Header().Add("HX-Push-Url", "/") | 		w.Header().Add("HX-Push-Url", "/") | ||||||
| 		err = tmpl.Execute(w, nil) | 		renderIndexPage(newSession, w) | ||||||
| 		if err != nil { |  | ||||||
| 			log.Printf("my error in executing template, huh\n %s", err) |  | ||||||
| 		} |  | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ type SessionData struct { | |||||||
| 
 | 
 | ||||||
| type SessionManagement interface { | type SessionManagement interface { | ||||||
| 	Get(sessionId int) SessionData | 	Get(sessionId int) SessionData | ||||||
| 	Save(ctx context.Context, roomName string, personId rooms.PersonId) (int, error) | 	Save(ctx context.Context, roomName string, personId rooms.PersonId) (SessionData, error) | ||||||
| 	Remove(ctx context.Context, sessionId int) error | 	Remove(ctx context.Context, sessionId int) error | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -45,7 +45,7 @@ func (redisSM RedisSM) Get(sessionId int) SessionData { | |||||||
| 	log.Printf("> successfully found %d %+v", sessionId, foundSession) | 	log.Printf("> successfully found %d %+v", sessionId, foundSession) | ||||||
| 	return foundSession | 	return foundSession | ||||||
| } | } | ||||||
| func (redisSM RedisSM) Save(ctx context.Context, roomName string, personId rooms.PersonId) (int, error) { | func (redisSM RedisSM) Save(ctx context.Context, roomName string, personId rooms.PersonId) (SessionData, error) { | ||||||
| 	randId := rand.Int() | 	randId := rand.Int() | ||||||
| 	newSession := SessionData{ | 	newSession := SessionData{ | ||||||
| 		SessionId: randId, | 		SessionId: randId, | ||||||
| @ -57,9 +57,9 @@ func (redisSM RedisSM) Save(ctx context.Context, roomName string, personId rooms | |||||||
| 
 | 
 | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Printf("> error! saving session %+v %s", newSession, err) | 		log.Printf("> error! saving session %+v %s", newSession, err) | ||||||
| 		return 0, fmt.Errorf("error saving new session: %+v with %s", newSession, err) | 		return SessionData{}, fmt.Errorf("error saving new session: %+v with %s", newSession, err) | ||||||
| 	} | 	} | ||||||
| 	return randId, nil | 	return newSession, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (redisSM RedisSM) Remove(ctx context.Context, sessionId int) error { | func (redisSM RedisSM) Remove(ctx context.Context, sessionId int) error { | ||||||
| @ -73,9 +73,9 @@ func (d DummySM) Get(sessionId int) SessionData { | |||||||
| 	log.Printf("get dummy session by %d", sessionId) | 	log.Printf("get dummy session by %d", sessionId) | ||||||
| 	return SessionData{} | 	return SessionData{} | ||||||
| } | } | ||||||
| func (d DummySM) Save(ctx context.Context, roomName string, personId rooms.PersonId) (int, error) { | func (d DummySM) Save(ctx context.Context, roomName string, personId rooms.PersonId) (SessionData, error) { | ||||||
| 	log.Printf("save dummy session with %s %d", roomName, personId) | 	log.Printf("save dummy session with %s %d", roomName, personId) | ||||||
| 	return 1, nil | 	return SessionData{}, nil | ||||||
| } | } | ||||||
| func (d DummySM) Remove(ctx context.Context, sessionId int) error { | func (d DummySM) Remove(ctx context.Context, sessionId int) error { | ||||||
| 	log.Printf("deleting session %d", sessionId) | 	log.Printf("deleting session %d", sessionId) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user