package httpRequest import ( "context" "go-socket/packages/convertions" "net/http" "go-socket/packages/cache" "go-socket/packages/postgresql" "go-socket/packages/tokens" "go-socket/packages/types" "github.com/google/uuid" ) func getUserById(ctx context.Context, userId uuid.UUID) (*types.User, error) { user, err := cache.CacheGetUserById(userId) if err != nil { user = &types.User{Id: userId} err = postgresql.GetWholeUser(ctx, user) if err != nil { return nil, err } } return user, nil } func getUserByToken(ctx context.Context, token string) (*types.User, error) { userId, err := tokens.TokenValidateGetId(token) if err != nil { return nil, err } return getUserById(ctx, userId) } func getConnectionWithResponseOnFail(response *http.ResponseWriter, request *http.Request, user *types.User) (*types.Connection, bool) { connectionId, err := convertions.ConvertStringUuid(request.FormValue("connectionid")) if err != nil { http.Error(*response, "invalid connectionid", http.StatusBadRequest) return nil, false } conn, ok := cache.CacheGetConnection(user, connectionId) if !ok { http.Error(*response, "invalid connectionid", http.StatusBadRequest) return nil, false } return conn, true }