controller

package
v0.0.0-...-f23b7a0 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2022 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

Functions

This section is empty.

Types

type AddRequest

type AddRequest struct {
	YoutubeVideoID string `json:"youtubeVideoID"`
	Body           string `json:"body"`
}

type BaseResponse

type BaseResponse struct {
	Code    HTTPCode    `json:"code"`
	Message string      `json:"message,omitempty"`
	Data    interface{} `json:"data,omitempty"`
}

type HTTPCode

type HTTPCode int32
const (
	// Not an error; returned on success
	//
	// HTTP Mapping: 200 OK
	Ok HTTPCode = iota

	// The operation was cancelled, typically by the caller.
	//
	// HTTP Mapping: 499 Client Closed Request
	Cancelled

	// Unknown error.  For example, this error may be returned when
	// a `Status` value received from another address space belongs to
	// an error space that is not known in this address space.  Also
	// errors raised by APIs that do not return enough error information
	// may be converted to this error.
	//
	// HTTP Mapping: 500 Internal Server Error
	Unknown

	// The client specified an invalid argument.  Note that this differs
	// from `FAILED_PRECONDITION`.  `INVALID_ARGUMENT` indicates arguments
	// that are problematic regardless of the state of the system
	// (e.g., a malformed file name).
	//
	// HTTP Mapping: 400 Bad Request
	InvalidArgument

	// The deadline expired before the operation could complete. For operations
	// that change the state of the system, this error may be returned
	// even if the operation has completed successfully.  For example, a
	// successful response from a server could have been delayed long
	// enough for the deadline to expire.
	//
	// HTTP Mapping: 504 Gateway Timeout
	DeadlineExceeded

	// Some requested entity (e.g., file or directory) was not found.
	//
	// Note to server developers: if a request is denied for an entire class
	// of users, such as gradual feature rollout or undocumented whitelist,
	// `NOT_FOUND` may be used. If a request is denied for some users within
	// a class of users, such as user-based access control, `PERMISSION_DENIED`
	// must be used.
	//
	// HTTP Mapping: 404 Not Found
	NotFound

	// The entity that a client attempted to create (e.g., file or directory)
	// already exists.
	//
	// HTTP Mapping: 409 Conflict
	AlreadyExists

	// The caller does not have permission to execute the specified
	// operation. `PERMISSION_DENIED` must not be used for rejections
	// caused by exhausting some resource (use `RESOURCE_EXHAUSTED`
	// instead for those errors). `PERMISSION_DENIED` must not be
	// used if the caller can not be identified (use `UNAUTHENTICATED`
	// instead for those errors). This error code does not imply the
	// request is valid or the requested entity exists or satisfies
	// other pre-conditions.
	//
	// HTTP Mapping: 403 Forbidden
	PermissionDenied

	// The request does not have valid authentication credentials for the
	// operation.
	//
	// HTTP Mapping: 401 Unauthorized
	Unauthenticated

	// Some resource has been exhausted, perhaps a per-user quota, or
	// perhaps the entire file system is out of space.
	//
	// HTTP Mapping: 429 Too Many Requests
	ResourceExhausted

	// The operation was rejected because the system is not in a state
	// required for the operation's execution.  For example, the directory
	// to be deleted is non-empty, an rmdir operation is applied to
	// a non-directory, etc.
	//
	// Service implementors can use the following guidelines to decide
	// between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:
	//  (a) Use `UNAVAILABLE` if the client can retry just the failing call.
	//  (b) Use `ABORTED` if the client should retry at a higher level
	//      (e.g., when a client-specified test-and-set fails, indicating the
	//      client should restart a read-modify-write sequence).
	//  (c) Use `FAILED_PRECONDITION` if the client should not retry until
	//      the system state has been explicitly fixed.  E.g., if an "rmdir"
	//      fails because the directory is non-empty, `FAILED_PRECONDITION`
	//      should be returned since the client should not retry unless
	//      the files are deleted from the directory.
	//
	// HTTP Mapping: 400 Bad Request
	FailedPrecondition

	// The operation was aborted, typically due to a concurrency issue such as
	// a sequencer check failure or transaction abort.
	//
	// See the guidelines above for deciding between `FAILED_PRECONDITION`,
	// `ABORTED`, and `UNAVAILABLE`.
	//
	// HTTP Mapping: 409 Conflict
	Aborted

	// The operation was attempted past the valid range.  E.g., seeking or
	// reading past end-of-file.
	//
	// Unlike `INVALID_ARGUMENT`, this error indicates a problem that may
	// be fixed if the system state changes. For example, a 32-bit file
	// system will generate `INVALID_ARGUMENT` if asked to read at an
	// offset that is not in the range [0,2^32-1], but it will generate
	// `OUT_OF_RANGE` if asked to read from an offset past the current
	// file size.
	//
	// There is a fair bit of overlap between `FAILED_PRECONDITION` and
	// `OUT_OF_RANGE`.  We recommend using `OUT_OF_RANGE` (the more specific
	// error) when it applies so that callers who are iterating through
	// a space can easily look for an `OUT_OF_RANGE` error to detect when
	// they are done.
	//
	// HTTP Mapping: 400 Bad Request
	OutOfRange

	// The operation is not implemented or is not supported/enabled in this
	// service.
	//
	// HTTP Mapping: 501 Not Implemented
	Unimplemented

	// Internal errors.  This means that some invariants expected by the
	// underlying system have been broken.  This error code is reserved
	// for serious errors.
	//
	// HTTP Mapping: 500 Internal Server Error
	Internal

	// The service is currently unavailable.  This is most likely a
	// transient condition, which can be corrected by retrying with
	// a backoff. Note that it is not always safe to retry
	// non-idempotent operations.
	//
	// See the guidelines above for deciding between `FAILED_PRECONDITION`,
	// `ABORTED`, and `UNAVAILABLE`.
	//
	// HTTP Mapping: 503 Service Unavailable
	Unavailable

	// Unrecoverable data loss or corruption.
	//
	// HTTP Mapping: 500 Internal Server Error
	DataLoss
)

https://github.com/googleapis/googleapis/blob/643311525df18aff3090d13449db4e9c2e9df419/google/rpc/code.proto#L32

type ListMemoData

type ListMemoData struct {
	Memos []MemoResponse `json:"memos"`
}

type ListMemoResponse

type ListMemoResponse struct {
	BaseResponse
	Data ListMemoData `json:"data"`
}

type ListMusicData

type ListMusicData struct {
	Musics        []MusicResponse `json:"musics"`
	NextPageToken string          `json:"nextPageToken,omitempty"`
}

type ListMusicResponse

type ListMusicResponse struct {
	BaseResponse
	Data ListMusicData `json:"data"`
}

type MemberController

type MemberController interface {
	SignUp() fiber.Handler
	Get() fiber.Handler
	Update() fiber.Handler
}

func NewMemberController

func NewMemberController(ms member.MemberService) MemberController

type MemberResponse

type MemberResponse struct {
	BaseResponse
	Data memberResponseData `json:"data"`
}

type MemoController

type MemoController interface {
	GetMemo(ctx *fiber.Ctx) error
	GetMemos(ctx *fiber.Ctx) error
	AddMemo(ctx *fiber.Ctx) error
	UpdateMemo(ctx *fiber.Ctx) error
	DeleteMemo(ctx *fiber.Ctx) error
}

func NewMemoController

func NewMemoController(memoService memos.Service, musicService musics.Service) MemoController

type MemoResponse

type MemoResponse struct {
	MemoID         string   `json:"memoID"`
	YoutubeVideoID string   `json:"youtubeVideoID"`
	ThumbnailURL   string   `json:"thumbnailURL"`
	Title          string   `json:"title"`
	Body           string   `json:"body"`
	Keywords       []string `json:"keywords"`
}

type MusicController

type MusicController interface {
	Search() fiber.Handler
	Retrieve() fiber.Handler
	Prefer() fiber.Handler
}

func NewMusicController

func NewMusicController(l *zap.SugaredLogger, ms musics.Service, memoService memos.Service, ts tag.TagService) MusicController

type MusicResponse

type MusicResponse struct {
	YoutubeVideoID string   `json:"youtubeVideoID"`
	ThumbnailURL   string   `json:"thumbnailURL"`
	Title          string   `json:"title"`
	YoutubeTags    []string `json:"youtubeTags"`
	VideoDeepLink  string   `json:"videoDeepLink"`
	IsMemoed       bool     `json:"isMemoed"`
}

type Order

type Order string
const (
	RecentOrder  Order = "recent"
	PopularOrder       = "count"
)

type PatchRequest

type PatchRequest struct {
	Body string `json:"body"`
}

type PreferQueryParams

type PreferQueryParams struct {
	NextToken string `query:"nextToken"`
}

type RecommendResponse

type RecommendResponse struct {
	BaseResponse
	Data RecommendResponseData `json:"data"`
}

type RecommendResponseData

type RecommendResponseData struct {
	Tags []string `json:"tags"`
}

type Response

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

type RetrieveQueryParams

type RetrieveQueryParams struct {
	Order     Order  `query:"order"`
	NextToken string `query:"nextToken"`
}

type SearchQueryParams

type SearchQueryParams struct {
	Q         string `query:"q"`
	NextToken string `query:"nextToken"`
}

type TagController

type TagController interface {
	Recommend() fiber.Handler
}

func NewTagController

func NewTagController(ts tag.TagService) TagController

Jump to

Keyboard shortcuts

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