activity

package
v0.0.0-...-007c7ba Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2025 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Activity

type Activity struct {
	ID              sql.NullString  `json:"id,string" db:"id" pg:"default:gen_random_uuid()" protobuf:"bytes,1,opt,name=activity_id,proto3"`
	UserID          sql.NullString  `json:"user_id,string" db:"user_id" protobuf:"bytes,1,opt,name=user_id,proto3"`
	Name            sql.NullString  `json:"name" db:"name" protobuf:"bytes,1,opt,name=name,proto3"`
	CaloriesPerHour sql.NullFloat64 `json:"calories_per_hour" db:"calories_per_hour" protobuf:"bytes,1,opt,name=calories_per_hour,proto3"`
	DurationMinutes sql.NullFloat64 `json:"duration_minutes" db:"duration_minutes" protobuf:"bytes,1,opt,name=duration_in_minutes,proto3"`
	TotalCalories   sql.NullFloat64 `json:"total_calories" db:"total_calories" protobuf:"bytes,1,opt,name=total_calories,proto3"`
	CreatedAt       time.Time       `json:"created_at" db:"created_at" protobuf:"bytes,1,opt,name=created_at,proto3"`
	UpdatedAt       sql.NullTime    `json:"updated_at" db:"updated_at" protobuf:"bytes,1,opt,name=updated_at,proto3"`
}

type Duration

type Duration struct {
	Hours       int
	Minutes     int
	Seconds     int
	SessionName string
}

type ExerciseCountStats

type ExerciseCountStats struct {
	ID                           string    `json:"id,string" db:"id" pg:"default:gen_random_uuid()"`
	ActivityID                   string    `json:"activity_id,string" db:"activity_id"`
	UserID                       string    `json:"user_id,string" db:"user_id"`
	SessionName                  string    `json:"session_name" db:"session_name"`
	NumberOfTimes                int       `json:"number_of_times" db:"number_of_times"`
	TotalExerciseDurationHours   int       `json:"total_duration_hours" db:"total_duration_hours"`
	TotalExerciseDurationMinutes int       `json:"total_duration_minutes" db:"total_duration_minutes"`
	TotalExerciseDurationSeconds int       `json:"total_duration_seconds" db:"total_duration_seconds"`
	TotalExerciseCaloriesBurned  int       `json:"total_calories_burned" db:"total_calories_burned"`
	CreatedAt                    time.Time `json:"created_at" db:"created_at"`
	UpdatedAt                    time.Time `json:"updated_at" db:"updated_at"`
}

type ExerciseSession

type ExerciseSession struct {
	ID              string     `json:"id,string" db:"id" pg:"default:gen_random_uuid()" `
	UserID          string     `json:"user_id" db:"user_id"`
	ActivityID      string     `json:"activity_id" db:"activity_id"`
	SessionName     string     `json:"session_name" db:"session_name"`
	StartTime       time.Time  `json:"start_time" db:"start_time"`
	EndTime         time.Time  `json:"end_time" db:"end_time"`
	DurationHours   int        `json:"duration_hours" db:"duration_hours"`
	DurationMinutes int        `json:"duration_minutes" db:"duration_minutes"`
	DurationSeconds int        `json:"duration_seconds" db:"duration_seconds"`
	CaloriesBurned  int        `json:"calories_burned" db:"calories_burned"`
	CreatedAt       time.Time  `json:"created_at" db:"created_at"`
	UpdatedAt       *time.Time `json:"updated_at" db:"updated_at"`
}

type RepositoryActivity

type RepositoryActivity struct {
	pba.UnimplementedActivityServer
	// contains filtered or unexported fields
}

func NewRepositoryActivity

func NewRepositoryActivity(db *pgxpool.Pool, redis *redis.Client, sessionManager *auth.SessionManager) *RepositoryActivity

func (*RepositoryActivity) DeleteAllExercisesSession

func (a *RepositoryActivity) DeleteAllExercisesSession(ctx context.Context, req *pba.DeleteAllExercisesSessionReq) (*pba.NilRes, error)

func (*RepositoryActivity) DeleteExerciseSession

func (a *RepositoryActivity) DeleteExerciseSession(ctx context.Context, req *pba.DeleteExerciseSessionReq) (*pba.NilRes, error)

func (*RepositoryActivity) GetActivitiesByID

func (a *RepositoryActivity) GetActivitiesByID(ctx context.Context, req *pba.GetActivityIDReq) (*pba.GetActivityIDRes, error)

func (*RepositoryActivity) GetActivitiesByName

func (a *RepositoryActivity) GetActivitiesByName(ctx context.Context, req *pba.GetActivityNameReq) (*pba.GetActivityNameRes, error)

func (*RepositoryActivity) GetActivity

func (*RepositoryActivity) GetUserExerciseSession

func (*RepositoryActivity) GetUserExerciseSessionStats

GetUserExerciseSessionStats review

func (*RepositoryActivity) GetUserExerciseTotalData

func (*RepositoryActivity) SaveSession

func (a *RepositoryActivity) SaveSession(ctx context.Context, req *pba.XExerciseSession) error

type ServiceActivity

type ServiceActivity struct {
	pba.UnimplementedActivityServer
	// contains filtered or unexported fields
}

func NewCalculatorService

func NewCalculatorService(ctx context.Context, repo domain.RepositoryActivity) *ServiceActivity

func (*ServiceActivity) DeleteAllExercisesSession

func (a *ServiceActivity) DeleteAllExercisesSession(ctx context.Context, req *pba.DeleteAllExercisesSessionReq) (*pba.NilRes, error)

func (*ServiceActivity) DeleteExerciseSession

func (a *ServiceActivity) DeleteExerciseSession(ctx context.Context, req *pba.DeleteExerciseSessionReq) (*pba.NilRes, error)

func (*ServiceActivity) GetActivitiesByID

func (a *ServiceActivity) GetActivitiesByID(ctx context.Context, req *pba.GetActivityIDReq) (*pba.GetActivityIDRes, error)

func (*ServiceActivity) GetActivitiesByName

func (a *ServiceActivity) GetActivitiesByName(ctx context.Context, req *pba.GetActivityNameReq) (*pba.GetActivityNameRes, error)

func (*ServiceActivity) GetActivity

func (a *ServiceActivity) GetActivity(ctx context.Context, req *pba.GetActivityReq) (*pba.GetActivityRes, error)

func (*ServiceActivity) GetUserExerciseSession

we need to review the logic of all the sevices in the end an user can only see its own sessions so the userID comes from a session but a PT can search and select several userID on its network

func (*ServiceActivity) GetUserExerciseSessionStats

func (*ServiceActivity) GetUserExerciseTotalData

func (*ServiceActivity) PauseActivityTracker

func (*ServiceActivity) ResumeActivityTracker

func (*ServiceActivity) StartActivityTracker

func (*ServiceActivity) StopActivityTracker

type Status

type Status int
const (
	StatusPending Status = iota + 1
	StatusInProgress
	StatusDone
)

func (Status) IsValid

func (s Status) IsValid() bool

type TotalExerciseSession

type TotalExerciseSession struct {
	ID                   string    `json:"id,string" db:"id" pg:"default:gen_random_uuid()"`
	UserID               string    `json:"user_id" db:"user_id"`
	ActivityID           string    `json:"activity_id" db:"activity_id"`
	TotalDurationHours   int       `json:"duration_hours" db:"total_duration_hours"`
	TotalDurationMinutes int       `json:"duration_minutes" db:"total_duration_minutes"`
	TotalDurationSeconds int       `json:"duration_seconds" db:"total_duration_seconds"`
	TotalCaloriesBurned  int       `json:"calories_burned" db:"total_calories_burned"`
	CreatedAt            time.Time `json:"created_at" db:"created_at"`
	UpdatedAt            time.Time `json:"updated_at" db:"updated_at"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL