Help us shape the future of Go! Take the 2026 Go Developer Survey

tietoevryapi

package
v1.3.3 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TietoevryCacheTTL = 6 * time.Hour
)

Variables

This section is empty.

Functions

This section is empty.

Types

type HRZoneInput

type HRZoneInput struct {
	ExerciseID    string `json:"exercise_id"`
	ZoneIndex     int32  `json:"zone_index"`
	SecondsInZone int32  `json:"seconds_in_zone"`
	LowerLimit    int32  `json:"lower_limit"`
	UpperLimit    int32  `json:"upper_limit"`
	CreatedAt     string `json:"created_at"`
	UpdatedAt     string `json:"updated_at"`
}

type SampleInput

type SampleInput struct {
	ID            string    `json:"id"`
	UserID        string    `json:"user_id"`
	ExerciseID    string    `json:"exercise_id"`
	SampleType    string    `json:"sample_type"`
	RecordingRate int32     `json:"recording_rate"`
	Samples       []float64 `json:"samples"`
	Source        string    `json:"source"`
}

type SectionInput

type SectionInput struct {
	ID          string  `json:"id"`
	UserID      string  `json:"user_id"`
	ExerciseID  string  `json:"exercise_id"`
	CreatedAt   string  `json:"created_at"`
	UpdatedAt   string  `json:"updated_at"`
	StartTime   string  `json:"start_time"`
	EndTime     string  `json:"end_time"`
	SectionType *string `json:"section_type"`
	Name        *string `json:"name"`
	Comment     *string `json:"comment"`
	Source      string  `json:"source"`
	RawID       *string `json:"raw_id"`
	RawData     *string `json:"raw_data"`
}

type TietoevryActivityZoneHandler

type TietoevryActivityZoneHandler struct {
	// contains filtered or unexported fields
}

func NewTietoevryActivityZoneHandler

func NewTietoevryActivityZoneHandler(store tietoevry.ActivityZones, cache *cache.Storage) *TietoevryActivityZoneHandler

func (*TietoevryActivityZoneHandler) GetActivityZones

func (h *TietoevryActivityZoneHandler) GetActivityZones(w http.ResponseWriter, r *http.Request)

GetActivityZones godoc

@Summary		Get activity zones by user ID
@Description	Get all activity zones for a specific user
@Tags			Tietoevry - Activity_Zones
@Accept			json
@Produce		json
@Param			user_id	query		string	true	"User ID (UUID)"
@Success		200		{object}	swagger.TietoevryActivityZoneResponse
@Failure		400		{object}	swagger.ValidationErrorResponse
@Failure		401		{object}	swagger.UnauthorizedResponse
@Failure		403		{object}	swagger.ForbiddenResponse
@Failure		500		{object}	swagger.InternalServerErrorResponse
@Failure		503		{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/activity-zones [get]

func (*TietoevryActivityZoneHandler) InsertActivityZonesBulk

func (h *TietoevryActivityZoneHandler) InsertActivityZonesBulk(w http.ResponseWriter, r *http.Request)

InsertActivityZonesBulk godoc

@Summary		Insert activity zones (bulk)
@Description	Insert multiple activity zone summaries for user (idempotent)
@Tags			Tietoevry - Activity_Zones
@Accept			json
@Produce		json
@Param			activity_zones	body	swagger.TietoevryActivityZonesBulkInput	true	"Activity zone summaries"
@Success		201				"Activity zones processed successfully (idempotent operation)"
@Failure		400				{object}	swagger.ValidationErrorResponse
@Failure		401				{object}	swagger.UnauthorizedResponse
@Failure		403				{object}	swagger.ForbiddenResponse
@Failure		409				{object}	swagger.ConflictResponse
@Failure		500				{object}	swagger.InternalServerErrorResponse
@Failure		503				{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/activity-zones [post]

type TietoevryActivityZoneInput

type TietoevryActivityZoneInput struct {
	UserID         string   `json:"user_id" validate:"required,uuid4"`
	Date           string   `json:"date" validate:"required"`
	CreatedAt      string   `json:"created_at" validate:"required"`
	UpdatedAt      string   `json:"updated_at" validate:"required"`
	SecondsInZone0 *float64 `json:"seconds_in_zone_0"`
	SecondsInZone1 *float64 `json:"seconds_in_zone_1"`
	SecondsInZone2 *float64 `json:"seconds_in_zone_2"`
	SecondsInZone3 *float64 `json:"seconds_in_zone_3"`
	SecondsInZone4 *float64 `json:"seconds_in_zone_4"`
	SecondsInZone5 *float64 `json:"seconds_in_zone_5"`
	Source         string   `json:"source" validate:"required"`
	RawData        *string  `json:"raw_data"`
}

type TietoevryActivityZoneParams

type TietoevryActivityZoneParams struct {
	UserID string `json:"user_id" validate:"required,uuid4"`
}

type TietoevryActivityZonesBulkInput

type TietoevryActivityZonesBulkInput struct {
	ActivityZones []TietoevryActivityZoneInput `json:"activity_zones" validate:"required,dive"`
}

type TietoevryExerciseHandler

type TietoevryExerciseHandler struct {
	// contains filtered or unexported fields
}

func NewTietoevryExerciseHandler

func NewTietoevryExerciseHandler(store tietoevry.Exercises, cache *cache.Storage) *TietoevryExerciseHandler

func (*TietoevryExerciseHandler) GetExercises

func (h *TietoevryExerciseHandler) GetExercises(w http.ResponseWriter, r *http.Request)

GetExercises godoc

@Summary		Get exercises by user ID
@Description	Get all exercises (HR_Zones, Samples, Sections) for a specific user
@Tags			Tietoevry - Exercise
@Accept			json
@Produce		json
@Param			user_id	query		string	true	"User ID (UUID)"
@Success		200		{object}	swagger.TietoevryExerciseResponse
@Failure		400		{object}	swagger.ValidationErrorResponse
@Failure		401		{object}	swagger.UnauthorizedResponse
@Failure		403		{object}	swagger.ForbiddenResponse
@Failure		500		{object}	swagger.InternalServerErrorResponse
@Failure		503		{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/exercises [get]

func (*TietoevryExerciseHandler) InsertExercisesBulk

func (h *TietoevryExerciseHandler) InsertExercisesBulk(w http.ResponseWriter, r *http.Request)

InsertExercise godoc

@Summary		Insert exercise (bulk)
@Description	Insert multiple exercise bundles for user (idempotent)
@Tags			Tietoevry - Exercise
@Accept			json
@Produce		json
@Param			exercise	body	swagger.TietoevryExercisesBulkInput	true	"Exercise data"
@Success		201			"Exercises processed successfully (idempotent operation)"
@Failure		400			{object}	swagger.ValidationErrorResponse
@Failure		401			{object}	swagger.UnauthorizedResponse
@Failure		403			{object}	swagger.ForbiddenResponse
@Failure		409			{object}	swagger.ConflictResponse
@Failure		500			{object}	swagger.InternalServerErrorResponse
@Failure		503			{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/exercises [post]

type TietoevryExerciseParams

type TietoevryExerciseParams struct {
	UserID string `form:"user_id" validate:"required,uuid4"`
}

type TietoevryExerciseUpsertInput

type TietoevryExerciseUpsertInput struct {
	ID                string   `json:"id" validate:"required,uuid4"`
	CreatedAt         string   `json:"created_at" validate:"required"`
	UpdatedAt         string   `json:"updated_at" validate:"required"`
	UserID            string   `json:"user_id" validate:"required,uuid4"`
	StartTime         string   `json:"start_time" validate:"required"`
	Duration          string   `json:"duration" validate:"required"`
	Comment           *string  `json:"comment"`
	SportType         *string  `json:"sport_type"`
	DetailedSportType *string  `json:"detailed_sport_type"`
	Distance          *float64 `json:"distance"`
	AvgHeartRate      *float64 `json:"avg_heart_rate"`
	MaxHeartRate      *float64 `json:"max_heart_rate"`
	Trimp             *float64 `json:"trimp"`
	SprintCount       *int32   `json:"sprint_count"`
	AvgSpeed          *float64 `json:"avg_speed"`
	MaxSpeed          *float64 `json:"max_speed"`
	Source            string   `json:"source" validate:"required"`
	Status            *string  `json:"status"`
	Calories          *int32   `json:"calories"`
	TrainingLoad      *int32   `json:"training_load"`
	RawID             *string  `json:"raw_id"`
	Feeling           *int32   `json:"feeling"`
	Recovery          *int32   `json:"recovery"`
	RPE               *int32   `json:"rpe"`
	RawData           *string  `json:"raw_data"`

	HRZones  []HRZoneInput  `json:"hr_zones"`
	Samples  []SampleInput  `json:"samples"`
	Sections []SectionInput `json:"sections"`
}

type TietoevryExercisesBulkInput

type TietoevryExercisesBulkInput struct {
	Exercises []TietoevryExerciseUpsertInput `json:"exercises" validate:"required,dive"`
}

type TietoevryMeasurementHandler

type TietoevryMeasurementHandler struct {
	// contains filtered or unexported fields
}

Handler struct

func NewTietoevryMeasurementHandler

func NewTietoevryMeasurementHandler(store tietoevry.Measurements, cache *cache.Storage) *TietoevryMeasurementHandler

func (*TietoevryMeasurementHandler) GetMeasurements

func (h *TietoevryMeasurementHandler) GetMeasurements(w http.ResponseWriter, r *http.Request)

GetMeasurements godoc

@Summary		Get measurements by user ID
@Description	Get all measurements for a specific user
@Tags			Tietoevry - Measurements
@Accept			json
@Produce		json
@Param			user_id	query		string	true	"User ID (UUID)"
@Success		200		{object}	swagger.TietoevryMeasurementResponse
@Failure		400		{object}	swagger.ValidationErrorResponse
@Failure		401		{object}	swagger.UnauthorizedResponse
@Failure		403		{object}	swagger.ForbiddenResponse
@Failure		500		{object}	swagger.InternalServerErrorResponse
@Failure		503		{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/measurements [get]

func (*TietoevryMeasurementHandler) InsertMeasurementsBulk

func (h *TietoevryMeasurementHandler) InsertMeasurementsBulk(w http.ResponseWriter, r *http.Request)

InsertMeasurements godoc

@Summary		Insert measurements (bulk)
@Description	Insert multiple measurements for user (idempotent)
@Tags			Tietoevry - Measurements
@Accept			json
@Produce		json
@Param			measurements	body	swagger.TietoevryMeasurementsBulkInput	true	"Measurement data"
@Success		201				"Measurements processed successfully"
@Failure		400				{object}	swagger.ValidationErrorResponse
@Failure		401				{object}	swagger.UnauthorizedResponse
@Failure		403				{object}	swagger.ForbiddenResponse
@Failure		409				{object}	swagger.ConflictResponse
@Failure		500				{object}	swagger.InternalServerErrorResponse
@Failure		503				{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/measurements [post]

type TietoevryMeasurementInput

type TietoevryMeasurementInput struct {
	ID             string   `json:"id" validate:"required,uuid4"`
	CreatedAt      string   `json:"created_at" validate:"required"`
	UpdatedAt      string   `json:"updated_at" validate:"required"`
	UserID         string   `json:"user_id" validate:"required,uuid4"`
	Date           string   `json:"date" validate:"required"`
	Name           string   `json:"name" validate:"required"`
	NameType       string   `json:"name_type" validate:"required"`
	Source         string   `json:"source" validate:"required"`
	Value          string   `json:"value" validate:"required"`
	ValueNumeric   *float64 `json:"value_numeric"`
	Comment        *string  `json:"comment"`
	RawID          *string  `json:"raw_id"`
	RawData        *string  `json:"raw_data"`
	AdditionalInfo *string  `json:"additional_info"`
}

Input struct for validation

type TietoevryMeasurementParams

type TietoevryMeasurementParams struct {
	UserID string `form:"user_id" validate:"required,uuid4"`
}

type TietoevryMeasurementsBulkInput

type TietoevryMeasurementsBulkInput struct {
	Measurements []TietoevryMeasurementInput `json:"measurements" validate:"required,dive"`
}

type TietoevryQuestionnaireAnswerInput

type TietoevryQuestionnaireAnswerInput struct {
	UserID                  string  `json:"user_id" validate:"required,uuid4"`
	QuestionnaireInstanceID string  `json:"questionnaire_instance_id" validate:"required,uuid4"`
	QuestionnaireNameFi     *string `json:"questionnaire_name_fi"`
	QuestionnaireNameEn     *string `json:"questionnaire_name_en"`
	QuestionnaireKey        string  `json:"questionnaire_key" validate:"required"`
	QuestionID              string  `json:"question_id" validate:"required,uuid4"`
	QuestionLabelFi         *string `json:"question_label_fi"`
	QuestionLabelEn         *string `json:"question_label_en"`
	QuestionType            string  `json:"question_type" validate:"required"`
	OptionID                *string `json:"option_id"`
	OptionValue             *int32  `json:"option_value"`
	OptionLabelFi           *string `json:"option_label_fi"`
	OptionLabelEn           *string `json:"option_label_en"`
	FreeText                *string `json:"free_text"`
	CreatedAt               string  `json:"created_at" validate:"required"`
	UpdatedAt               string  `json:"updated_at" validate:"required"`
	Value                   *string `json:"value"`
}

type TietoevryQuestionnaireAnswersBulkInput

type TietoevryQuestionnaireAnswersBulkInput struct {
	Questionnaires []TietoevryQuestionnaireAnswerInput `json:"questionnaires" validate:"required,dive"`
}

type TietoevryQuestionnaireHandler

type TietoevryQuestionnaireHandler struct {
	// contains filtered or unexported fields
}

func NewTietoevryQuestionnaireHandler

func NewTietoevryQuestionnaireHandler(store tietoevry.Questionnaires, cache *cache.Storage) *TietoevryQuestionnaireHandler

func (*TietoevryQuestionnaireHandler) GetQuestionnaires

func (h *TietoevryQuestionnaireHandler) GetQuestionnaires(w http.ResponseWriter, r *http.Request)

GetQuestionnaires godoc

@Summary		Get questionnaires by user ID
@Description	Get all questionnaire answers for a specific user
@Tags			Tietoevry - Questionnaires
@Accept			json
@Produce		json
@Param			user_id	query		string	true	"User ID (UUID)"
@Success		200		{object}	swagger.TietoevryQuestionnaireAnswerResponse
@Failure		400		{object}	swagger.ValidationErrorResponse
@Failure		401		{object}	swagger.UnauthorizedResponse
@Failure		403		{object}	swagger.ForbiddenResponse
@Failure		500		{object}	swagger.InternalServerErrorResponse
@Failure		503		{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/questionnaires [get]

func (*TietoevryQuestionnaireHandler) InsertQuestionnaireAnswersBulk

func (h *TietoevryQuestionnaireHandler) InsertQuestionnaireAnswersBulk(w http.ResponseWriter, r *http.Request)

InsertQuestionnaireAnswers godoc

@Summary		Insert questionnaire answers (bulk)
@Description	Insert multiple questionnaire answers for users (idempotent)
@Tags			Tietoevry - Questionnaires
@Accept			json
@Produce		json
@Param			questionnaires	body	swagger.TietoevryQuestionnaireAnswersBulkInput	true	"Questionnaire answers"
@Success		201				"Questionnaire answers processed successfully"
@Failure		400				{object}	swagger.ValidationErrorResponse
@Failure		401				{object}	swagger.UnauthorizedResponse
@Failure		403				{object}	swagger.ForbiddenResponse
@Failure		409				{object}	swagger.ConflictResponse
@Failure		500				{object}	swagger.InternalServerErrorResponse
@Failure		503				{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/questionnaires [post]

type TietoevryQuestionnaireParams

type TietoevryQuestionnaireParams struct {
	UserID string `form:"user_id" validate:"required,uuid4"`
}

type TietoevrySymptomHandler

type TietoevrySymptomHandler struct {
	// contains filtered or unexported fields
}

Handler struct

func NewTietoevrySymptomHandler

func NewTietoevrySymptomHandler(store tietoevry.Symptoms, cache *cache.Storage) *TietoevrySymptomHandler

func (*TietoevrySymptomHandler) GetSymptoms

func (h *TietoevrySymptomHandler) GetSymptoms(w http.ResponseWriter, r *http.Request)

GetSymptoms godoc

@Summary		Get symptoms by user ID
@Description	Get all symptoms for a specific user
@Tags			Tietoevry - Symptoms
@Accept			json
@Produce		json
@Param			user_id	query		string	true	"User ID (UUID)"
@Success		200		{object}	swagger.TietoevrySymptomResponse
@Failure		400		{object}	swagger.ValidationErrorResponse
@Failure		401		{object}	swagger.UnauthorizedResponse
@Failure		403		{object}	swagger.ForbiddenResponse
@Failure		500		{object}	swagger.InternalServerErrorResponse
@Failure		503		{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/symptoms [get]

func (*TietoevrySymptomHandler) InsertSymptomsBulk

func (h *TietoevrySymptomHandler) InsertSymptomsBulk(w http.ResponseWriter, r *http.Request)

InsertSymptoms godoc

@Summary		Insert symptoms (bulk)
@Description	Insert multiple symptoms for user (idempotent)
@Tags			Tietoevry - Symptoms
@Accept			json
@Produce		json
@Param			symptoms	body	swagger.TietoevrySymptomsBulkInput	true	"Symptom data"
@Success		201			"Symptoms processed successfully (idempotent operation)"
@Failure		400			{object}	swagger.ValidationErrorResponse
@Failure		401			{object}	swagger.UnauthorizedResponse
@Failure		403			{object}	swagger.ForbiddenResponse
@Failure		409			{object}	swagger.ConflictResponse
@Failure		500			{object}	swagger.InternalServerErrorResponse
@Failure		503			{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/symptoms [post]

type TietoevrySymptomInput

type TietoevrySymptomInput struct {
	ID             string  `json:"id" validate:"required,uuid4"`
	UserID         string  `json:"user_id" validate:"required,uuid4"`
	Date           string  `json:"date" validate:"required"`
	Symptom        string  `json:"symptom" validate:"required"`
	Severity       int32   `json:"severity" validate:"required"`
	Comment        *string `json:"comment"`
	Source         string  `json:"source" validate:"required"`
	CreatedAt      string  `json:"created_at" validate:"required"`
	UpdatedAt      string  `json:"updated_at" validate:"required"`
	RawID          *string `json:"raw_id"`
	OriginalID     *string `json:"original_id"`
	Recovered      *bool   `json:"recovered"`
	PainIndex      *int32  `json:"pain_index"`
	Side           *string `json:"side"`
	Category       *string `json:"category"`
	AdditionalData *string `json:"additional_data"`
}

Input struct for validation

type TietoevrySymptomParams

type TietoevrySymptomParams struct {
	UserID string `form:"user_id" validate:"required,uuid4"`
}

type TietoevrySymptomsBulkInput

type TietoevrySymptomsBulkInput struct {
	Symptoms []TietoevrySymptomInput `json:"symptoms" validate:"required,dive"`
}

type TietoevryTestResultHandler

type TietoevryTestResultHandler struct {
	// contains filtered or unexported fields
}

func NewTietoevryTestResultHandler

func NewTietoevryTestResultHandler(store tietoevry.TestResults, cache *cache.Storage) *TietoevryTestResultHandler

func (*TietoevryTestResultHandler) GetTestResults

func (h *TietoevryTestResultHandler) GetTestResults(w http.ResponseWriter, r *http.Request)

GetTestResults godoc

@Summary		Get test results by user ID
@Description	Get all test results for a specific user
@Tags			Tietoevry - Test_Results
@Accept			json
@Produce		json
@Param			user_id	query		string	true	"User ID (UUID)"
@Success		200		{object}	swagger.TietoevryTestResultResponse
@Failure		400		{object}	swagger.ValidationErrorResponse
@Failure		401		{object}	swagger.UnauthorizedResponse
@Failure		403		{object}	swagger.ForbiddenResponse
@Failure		500		{object}	swagger.InternalServerErrorResponse
@Failure		503		{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/test-results [get]

func (*TietoevryTestResultHandler) InsertTestResultsBulk

func (h *TietoevryTestResultHandler) InsertTestResultsBulk(w http.ResponseWriter, r *http.Request)

InsertTestResultsBulk godoc

@Summary		Insert test results (bulk)
@Description	Insert multiple test results for users (idempotent)
@Tags			Tietoevry - Test_Results
@Accept			json
@Produce		json
@Param			test_results	body	swagger.TietoevryTestResultsBulkInput	true	"Test result data"
@Success		201				"Test results processed successfully"
@Failure		400				{object}	swagger.ValidationErrorResponse
@Failure		401				{object}	swagger.UnauthorizedResponse
@Failure		403				{object}	swagger.ForbiddenResponse
@Failure		409				{object}	swagger.ConflictResponse
@Failure		500				{object}	swagger.InternalServerErrorResponse
@Failure		503				{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/test-results [post]

type TietoevryTestResultInput

type TietoevryTestResultInput struct {
	ID                          string  `json:"id" validate:"required,uuid4"`
	UserID                      string  `json:"user_id" validate:"required,uuid4"`
	TypeID                      string  `json:"type_id" validate:"required,uuid4"`
	TypeType                    *string `json:"type_type"`
	TypeResultType              string  `json:"type_result_type" validate:"required"`
	TypeName                    *string `json:"type_name"`
	Timestamp                   string  `json:"timestamp" validate:"required"`
	Name                        *string `json:"name"`
	Comment                     *string `json:"comment"`
	Data                        string  `json:"data" validate:"required"`
	CreatedAt                   string  `json:"created_at" validate:"required"`
	UpdatedAt                   string  `json:"updated_at" validate:"required"`
	TestEventID                 *string `json:"test_event_id"`
	TestEventName               *string `json:"test_event_name"`
	TestEventDate               *string `json:"test_event_date"`
	TestEventTemplateTestID     *string `json:"test_event_template_test_id"`
	TestEventTemplateTestName   *string `json:"test_event_template_test_name"`
	TestEventTemplateTestLimits *string `json:"test_event_template_test_limits"`
}

type TietoevryTestResultParams

type TietoevryTestResultParams struct {
	UserID string `form:"user_id" validate:"required,uuid4"`
}

type TietoevryTestResultsBulkInput

type TietoevryTestResultsBulkInput struct {
	TestResults []TietoevryTestResultInput `json:"test_results" validate:"required,dive"`
}

type TietoevryUserDeleteParams

type TietoevryUserDeleteParams struct {
	ID string `form:"id" validate:"required,uuid4"`
}

type TietoevryUserHandler

type TietoevryUserHandler struct {
	// contains filtered or unexported fields
}

handler struct

func NewTietoevryUserHandler

func NewTietoevryUserHandler(store tietoevry.Users, cache *cache.Storage) *TietoevryUserHandler

func (*TietoevryUserHandler) DeleteUser

func (h *TietoevryUserHandler) DeleteUser(w http.ResponseWriter, r *http.Request)

DeleteUser godoc

@Summary		Delete a user
@Description	Removes a user by ID
@Tags			Tietoevry - User
@Accept			json
@Produce		json
@Param			id	query	string	true	"User ID (UUID)"
@Success		200 "User deleted successfully"
@Success		204 "No content, user not found"
@Failure		400	{object}	swagger.ValidationErrorResponse
@Failure		401	{object}	swagger.UnauthorizedResponse
@Failure		403	{object}	swagger.ForbiddenResponse
@Failure		500	{object}	swagger.InternalServerErrorResponse
@Failure		503	{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/users [delete]

func (*TietoevryUserHandler) GetDeletedUsers

func (h *TietoevryUserHandler) GetDeletedUsers(w http.ResponseWriter, r *http.Request)

GetDeletedUsers godoc

@Summary		List deleted users
@Description	Returns a list of deleted users with timestamps
@Tags			Tietoevry - User
@Produce		json
@Success		200	{object}	swagger.TietoevryDeletedUsersResponse
@Failure		401 {object}	swagger.UnauthorizedResponse
@Failure		403	{object}	swagger.ForbiddenResponse
@Failure		500	{object}	swagger.InternalServerErrorResponse
@Failure		503	{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/deleted-users [get]

func (*TietoevryUserHandler) GetUser

GetUser godoc

@Summary		Get user by ID
@Description	Retrieve a single user by UUID
@Tags			Tietoevry - User
@Accept			json
@Produce		json
@Param			id	query		string	true	"User ID (UUID)"
@Success		200	{object}	swagger.TietoevryUserResponse
@Failure		400	{object}	swagger.ValidationErrorResponse
@Failure		401	{object}	swagger.UnauthorizedResponse
@Failure		403	{object}	swagger.ForbiddenResponse
@Failure		404	{object}	swagger.NotFoundResponse
@Failure		500	{object}	swagger.InternalServerErrorResponse
@Failure		503	{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/users [get]

func (*TietoevryUserHandler) UpsertUser

func (h *TietoevryUserHandler) UpsertUser(w http.ResponseWriter, r *http.Request)

UpsertUser godoc

@Summary		Upsert user
@Description	Upserts a user with the provided data
@Tags			Tietoevry - User
@Accept			json
@Produce		json
@Param			user	body	swagger.TietoevryUserUpsertInput	true	"User data"
@Success		201		"created"
@Failure		400		{object}	swagger.ValidationErrorResponse
@Failure		401		{object}	swagger.UnauthorizedResponse
@Failure		403		{object}	swagger.ForbiddenResponse
@Failure		500		{object}	swagger.InternalServerErrorResponse
@Failure		503		{object}	swagger.ServiceUnavailableResponse
@Security		BearerAuth
@Router			/tietoevry/users [post]

type TietoevryUserUpsertInput

type TietoevryUserUpsertInput struct {
	ID                        string   `json:"id" validate:"required,uuid4"`
	SporttiID                 int32    `json:"sportti_id" validate:"required"`
	ProfileGender             *string  `json:"profile_gender"`
	ProfileBirthdate          *string  `json:"profile_birthdate"`
	ProfileWeight             *float64 `json:"profile_weight"`
	ProfileHeight             *float64 `json:"profile_height"`
	ProfileRestingHeartRate   *int32   `json:"profile_resting_heart_rate"`
	ProfileMaximumHeartRate   *int32   `json:"profile_maximum_heart_rate"`
	ProfileAerobicThreshold   *int32   `json:"profile_aerobic_threshold"`
	ProfileAnaerobicThreshold *int32   `json:"profile_anaerobic_threshold"`
	ProfileVo2max             *int32   `json:"profile_vo2max"`
}

request model

Jump to

Keyboard shortcuts

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