endpoints

package
v0.0.0-...-3b4fc3b Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCreateSubscriptionHandler

func NewCreateSubscriptionHandler(s domain.ServiceInterface, opts ...kithttp.ServerOption) *kithttp.Server

NewCreateSubscriptionHandler creates new subscription handler @Summary Create subscription @Description Create a new subscription @Tags subscriptions @Accept json @Produce json @Param subscription body CreateSubscriptionRequest true "Add Subscription" @Success 200 {object} CreateSubscriptionResponse @Failure 400 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /subscriptions [post].

func NewDeleteSubscriptionHandler

func NewDeleteSubscriptionHandler(s domain.ServiceInterface, opts ...kithttp.ServerOption) *kithttp.Server

NewDeleteSubscriptionHandler deletes subscription handler @Summary Delete subscription @Description Delete a new subscription @Tags subscriptions @Produce json @Param uuid path string true "Subscription UUID" Format(uuid) @Success 200 {object} DeleteSubscriptionResponse @Failure 400 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /subscriptions/{uuid} [delete].

func NewFindSubscriptionHandler

func NewFindSubscriptionHandler(s domain.ServiceInterface, opts ...kithttp.ServerOption) *kithttp.Server

NewFindSubscriptionHandler find subscription handler @Summary Find subscription @Description Find a new subscription @Tags subscriptions @Produce json @Param uuid path string true "Subscription UUID" Format(uuid) @Success 200 {object} FindSubscriptionResponse @Failure 400 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /subscriptions/{uuid} [get].

func NewListSubscriptionsHandler

func NewListSubscriptionsHandler(s domain.ServiceInterface, opts ...kithttp.ServerOption) *kithttp.Server

NewListSubscriptionsHandler list subscriptions handler @Summary List subscriptions @Description List a new subscriptions @Tags subscriptions @Produce json @Param course_uuid query string false "course search by uuid" Format(uuid) @Param user_uuid query string false "user search by uuid" Format(uuid) @Success 200 {object} ListSubscriptionsResponse @Failure 400 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /subscriptions [get].

func NewUpdateSubscriptionHandler

func NewUpdateSubscriptionHandler(s domain.ServiceInterface, opts ...kithttp.ServerOption) *kithttp.Server

NewUpdateSubscriptionHandler updates new subscription handler @Summary Update subscription @Description Update a subscription @Tags subscriptions @Accept json @Produce json @Param uuid path string true "Subscription UUID" Format(uuid) @Param subscription body UpdateSubscriptionRequest true "Update Subscription" @Success 200 {object} UpdateSubscriptionResponse @Failure 400 {object} error @Failure 404 {object} error @Failure 500 {object} error @Router /subscriptions/{uuid} [put].

Types

type CreateSubscriptionRequest

type CreateSubscriptionRequest struct {
	UserUUID   uuid.UUID  `json:"user_uuid"   validate:"required"`
	CourseUUID uuid.UUID  `json:"course_uuid" validate:"required"`
	MatrixUUID *uuid.UUID `json:"matrix_uuid"`
	Role       string     `json:"role"        validate:"required"`
	ExpiresAt  *time.Time `json:"expires_at"`
}

type CreateSubscriptionResponse

type CreateSubscriptionResponse struct {
	Subscription *SubscriptionResponse `json:"subscription"`
}

type DeleteSubscriptionRequest

type DeleteSubscriptionRequest struct {
	UUID   uuid.UUID `json:"uuid"   validate:"required"`
	Reason string    `json:"reason" validate:"required"`
}

type DeleteSubscriptionResponse

type DeleteSubscriptionResponse struct {
	Subscription *DeletedSubscriptionResponse `json:"subscription"`
}

type DeletedSubscriptionResponse

type DeletedSubscriptionResponse struct {
	UUID      uuid.UUID `json:"uuid"`
	Reason    string    `json:"reason"`
	DeletedAt time.Time `json:"deleted_at"`
}

type FindSubscriptionRequest

type FindSubscriptionRequest struct {
	UUID uuid.UUID `json:"uuid"`
}

type FindSubscriptionResponse

type FindSubscriptionResponse struct {
	Subscription *SubscriptionResponse `json:"subscription"`
}

type ListSubscriptionsRequest

type ListSubscriptionsRequest struct {
	CourseUUID uuid.UUID `json:"course_uuid"`
	UserUUID   uuid.UUID `json:"user_uuid"`
}

type ListSubscriptionsResponse

type ListSubscriptionsResponse struct {
	Subscriptions []SubscriptionsResponse `json:"subscriptions"`
}

type SubscriptionCourseResponse

type SubscriptionCourseResponse struct {
	UUID uuid.UUID `db:"uuid" json:"uuid"`
	Code string    `db:"code" json:"code"`
	Name string    `db:"name" json:"name"`
}

func SerializeCourse

func SerializeCourse(subscription domain.Subscription) *SubscriptionCourseResponse

type SubscriptionMatrixResponse

type SubscriptionMatrixResponse struct {
	UUID *uuid.UUID `db:"uuid" json:"uuid,omitempty"`
	Code *string    `db:"code" json:"code,omitempty"`
	Name *string    `db:"name" json:"name,omitempty"`
}

func SerializeMatrix

func SerializeMatrix(subscription domain.Subscription) *SubscriptionMatrixResponse

type SubscriptionResponse

type SubscriptionResponse struct {
	UUID       uuid.UUID  `json:"uuid"`
	UserUUID   uuid.UUID  `json:"user_uuid"`
	CourseUUID *uuid.UUID `json:"course_uuid,omitempty"`
	MatrixUUID *uuid.UUID `json:"matrix_uuid,omitempty"`
	Role       string     `json:"role"`
	ExpiresAt  *time.Time `json:"expires_at,omitempty"`
	CreatedAt  time.Time  `json:"created_at"`
	UpdatedAt  time.Time  `json:"updated_at"`
}

type SubscriptionsResponse

type SubscriptionsResponse struct {
	UUID       uuid.UUID                   `json:"uuid"`
	UserUUID   uuid.UUID                   `json:"user_uuid"`
	Course     *SubscriptionCourseResponse `json:"course,omitempty"`
	CourseUUID *uuid.UUID                  `json:"course_uuid,omitempty"`
	Matrix     *SubscriptionMatrixResponse `json:"matrix,omitempty"`
	MatrixUUID *uuid.UUID                  `json:"matrix_uuid,omitempty"`
	Role       string                      `json:"role"`
	ExpiresAt  *time.Time                  `json:"expires_at,omitempty"`
	CreatedAt  time.Time                   `json:"created_at"`
	UpdatedAt  time.Time                   `json:"updated_at"`
}

type UpdateSubscriptionRequest

type UpdateSubscriptionRequest struct {
	UUID      uuid.UUID  `json:"uuid"       validate:"required"`
	Role      string     `json:"role"       validate:"required"`
	ExpiresAt *time.Time `json:"expires_at"`
}

type UpdateSubscriptionResponse

type UpdateSubscriptionResponse struct {
	Subscription *SubscriptionResponse `json:"subscription"`
}

Jump to

Keyboard shortcuts

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