62 lines
2.3 KiB
Go
62 lines
2.3 KiB
Go
// Package userv1contract provides public-contract helpers for the
|
|
// authenticated gateway v1 User Service self-service message types.
|
|
package userv1contract
|
|
|
|
import (
|
|
usermodel "galaxy/model/user"
|
|
"galaxy/transcoder"
|
|
)
|
|
|
|
const (
|
|
// MessageTypeGetMyAccount is the authenticated gateway message type used to
|
|
// read the current self-service account aggregate.
|
|
MessageTypeGetMyAccount = usermodel.MessageTypeGetMyAccount
|
|
|
|
// MessageTypeUpdateMyProfile is the authenticated gateway message type used
|
|
// to mutate self-service profile fields.
|
|
MessageTypeUpdateMyProfile = usermodel.MessageTypeUpdateMyProfile
|
|
|
|
// MessageTypeUpdateMySettings is the authenticated gateway message type used
|
|
// to mutate self-service settings fields.
|
|
MessageTypeUpdateMySettings = usermodel.MessageTypeUpdateMySettings
|
|
|
|
// ResultCodeOK is the success result code projected by gateway for all
|
|
// successful `user.*` authenticated commands.
|
|
ResultCodeOK = "ok"
|
|
)
|
|
|
|
// EncodeGetMyAccountRequest returns the FlatBuffers payload for the public
|
|
// empty get-account request.
|
|
func EncodeGetMyAccountRequest() ([]byte, error) {
|
|
return transcoder.GetMyAccountRequestToPayload(&usermodel.GetMyAccountRequest{})
|
|
}
|
|
|
|
// EncodeUpdateMyProfileRequest returns the FlatBuffers payload for one public
|
|
// self-service profile mutation request.
|
|
func EncodeUpdateMyProfileRequest(raceName string) ([]byte, error) {
|
|
return transcoder.UpdateMyProfileRequestToPayload(&usermodel.UpdateMyProfileRequest{
|
|
RaceName: raceName,
|
|
})
|
|
}
|
|
|
|
// EncodeUpdateMySettingsRequest returns the FlatBuffers payload for one public
|
|
// self-service settings mutation request.
|
|
func EncodeUpdateMySettingsRequest(preferredLanguage string, timeZone string) ([]byte, error) {
|
|
return transcoder.UpdateMySettingsRequestToPayload(&usermodel.UpdateMySettingsRequest{
|
|
PreferredLanguage: preferredLanguage,
|
|
TimeZone: timeZone,
|
|
})
|
|
}
|
|
|
|
// DecodeAccountResponse decodes the public FlatBuffers success payload shared
|
|
// by all authenticated `user.*` commands.
|
|
func DecodeAccountResponse(payload []byte) (*usermodel.AccountResponse, error) {
|
|
return transcoder.PayloadToAccountResponse(payload)
|
|
}
|
|
|
|
// DecodeErrorResponse decodes the public FlatBuffers error payload shared by
|
|
// all authenticated `user.*` commands.
|
|
func DecodeErrorResponse(payload []byte) (*usermodel.ErrorResponse, error) {
|
|
return transcoder.PayloadToErrorResponse(payload)
|
|
}
|