Files
micromdm/internal/data/session/session.go
Victor Vrantchan 7d75f581ec Added users sessions (#696)
Added login/logout pages and respective database methods for handling users sessions.
2020-08-08 17:15:34 -04:00

40 lines
626 B
Go

// Package session tracks user authenticated sessions.
package session
import (
"context"
"errors"
"time"
"micromdm.io/v2/pkg/id"
"micromdm.io/v2/pkg/viewer"
)
type Session struct {
ID string
UserID string
CreatedAt time.Time
AccessedAt time.Time
}
func columns() []string {
return []string{
"id",
"user_id",
"created_at",
"accessed_at",
}
}
func create(ctx context.Context) (*Session, error) {
v, ok := viewer.FromContext(ctx)
if !ok {
return nil, errors.New("cannot create session without a viewer in context")
}
return &Session{
ID: id.New(),
UserID: v.UserID,
}, nil
}