Documentation
¶
Index ¶
Constants ¶
View Source
const ( // Success codes CodeSuccess = Code(iota + 10) CodeAccepted )
View Source
const ( // common errors CodeInvalidValue = Code(iota + 1000) CodeContextDeadlineExceeded CodeContextCanceled CodeInternalServerError CodeNotImplemented CodeBadRequest CodeNotFound CodeConflict CodeTooManyRequest CodeMarshal CodeUnmarshal )
View Source
const ( // SQL errors CodeSQL = Code(iota + 1300) CodeSQLInit CodeSQLBuilder CodeSQLTxBegin CodeSQLTxCommit CodeSQLTxRollback CodeSQLTxExec CodeSQLPrepareStmt CodeSQLRead CodeSQLRowScan CodeSQLRecordDoesNotExist CodeSQLUniqueConstraint CodeSQLConflict CodeSQLNoRowsAffected )
View Source
const ( // NoSQL errors CodeNoSQL = Code(iota + 1400) CodeNoSQLClose CodeNoSQLRead CodeNoSQLDecode CodeNoSQLInsert CodeNoSQLUpdate )
View Source
const ( // third party/client errors CodeClient = Code(iota + 1500) CodeClientMarshal CodeClientUnmarshal CodeClientErrorOnRequest CodeClientErrorOnReadBody )
View Source
const ( // general file I/O errors CodeFile = Code(iota + 1600) CodeFilePathOpenFailed CodeFileTooBig )
View Source
const ( // auth errors CodeAuth = Code(iota + 1700) CodeAuthRefreshTokenExpired CodeAuthAccessTokenExpired CodeAuthFailure CodeAuthInvalidToken CodeForbidden CodeAuthRevokeRefreshTokenFailed )
View Source
const ( // JSON encoding errors CodeJSONSchema = Code(iota + 1900) CodeJSONSchemaInvalid CodeJSONSchemaNotFound CodeJSONStructInvalid CodeJSONRawInvalid CodeJSONValidationError CodeJSONMarshalError CodeJSONUnmarshalError )
View Source
const ( // XML encoding errors CodeXMLSchema = Code(iota + 1950) CodeXMLMarshalError CodeXMLUnmarshalError )
View Source
const ( // Excel Errors CodeExcelFailedParsing = Code(iota + 2000) CodeExcelInvalidType CodeExcelFailedToSaveFile )
View Source
const ( // Storage Errors CodeStorage = Code(iota + 2100) CodeStorageS3Upload CodeStorageS3Download CodeStorageS3Delete )
View Source
const ( // data conversion error CodeConvert = Code(iota + 2200) CodeConvertTime )
View Source
const ( // Reset Password Error CodePasswordDoesNotMatch = Code(iota + 3800) CodeFailedResetPassword CodeResetPasswordTokenExpired CodeEmptyEmail CodeInvalidEmail CodeSameCurrentPassword CodePasswordIsNotFilled CodeResetPasswordTokenInvalid CodePasswordIsWeak )
View Source
const ( // Redis Cache Error CodeRedisGet = Code(iota + 3900) CodeRedisSetex CodeFailedLock CodeFailedReleaseLock CodeLockExist CodeCacheMarshal CodeCacheUnmarshal CodeCacheGetSimpleKey CodeCacheSetSimpleKey CodeCacheDeleteSimpleKey CodeCacheGetHashKey CodeCacheSetHashKey CodeCacheDeleteHashKey CodeCacheSetExpiration CodeCacheDecode CodeCacheLockNotAcquired CodeCacheInvalidCastType CodeCacheNotFound )
View Source
const ( CodeErrorHttpNewRequest = Code(iota + 4000) CodeErrorHttpDo CodeErrorIoutilReadAll CodeHttpUnmarshal CodeHttpMarshal )
View Source
const ( // Code Go-html template errors CodeExecuteTemplateFailed = Code(iota + 4200) CodeConvertMJMLToHTMLFailed CodePDFToJSONFailed CodePDFGeneratorFromJSONFailed CodeGeneratePDFFailed CodeParseHTMlTemplateFailed )
View Source
const ( // Security Error CodeErrorSecurityInvalidChipper = Code(iota + 4700) )
View Source
const ( // Slack Alert Error CodeErrorSlackAlert = Code(iota + 4600) )
View Source
const ( // Timelib error CodeErrorTimelib = Code(iota + 4800) )
View Source
const ( // Code Feature Flag Retriever Errors CodeFeatureFlagRetrieverFailed = Code(iota + 4100) )
View Source
const ( // Image Upload Error CodeImageUploadSizeTooBig = Code(iota + 5100) )
View Source
const ( // SES Errors CodeSendEmailFailed = Code(iota + 3700) )
View Source
const ( // Translator Error CodeTranslatorError = Code(iota + 5000) )
Variables ¶
View Source
var ( // 4xx ErrMsgBadRequest = Message{ StatusCode: http.StatusBadRequest, TitleEN: language.HTTPStatusText(language.English, http.StatusBadRequest), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusBadRequest), BodyEN: "Invalid input. Please validate your input.", BodyID: "Input data tidak valid. Mohon cek kembali input data anda.", } StatusCode: http.StatusUnauthorized, TitleEN: language.HTTPStatusText(language.English, http.StatusUnauthorized), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusUnauthorized), BodyEN: "Unauthorized access. You are not authorized to access this resource.", BodyID: "Akses ditolak. Anda tidak memiliki izin untuk mengakses laman ini.", } ErrMsgInvalidToken = Message{ StatusCode: http.StatusUnauthorized, TitleEN: language.HTTPStatusText(language.English, http.StatusUnauthorized), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusUnauthorized), BodyEN: "Invalid token. Please renew your session by reloading.", BodyID: "Token tidak valid. Mohon perbarui sesi dengan memuat ulang laman.", } ErrMsgRefreshTokenExpired = Message{ StatusCode: http.StatusUnauthorized, TitleEN: language.HTTPStatusText(language.English, http.StatusUnauthorized), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusUnauthorized), BodyEN: "Session refresh token has expired. Please renew your session by reloading.", BodyID: "Token pembaruan sudah tidak berlaku. Mohon perbarui sesi dengan memuat ulang laman.", } ErrMsgAccessTokenExpired = Message{ StatusCode: http.StatusUnauthorized, TitleEN: language.HTTPStatusText(language.English, http.StatusUnauthorized), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusUnauthorized), BodyEN: "Session access token has expired. Please renew your session by reloading.", BodyID: "Token akses sudah tidak berlaku. Mohon perbarui sesi dengan memuat ulang laman.", } ErrMsgForbidden = Message{ StatusCode: http.StatusForbidden, TitleEN: language.HTTPStatusText(language.English, http.StatusForbidden), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusForbidden), BodyEN: "Forbidden. You don't have permission to access this resource.", BodyID: "Terlarang. Anda tidak memiliki izin untuk mengakses laman ini.", } ErrMsgRevokeRefreshTokenFailed = Message{ StatusCode: http.StatusInternalServerError, TitleEN: language.HTTPStatusText(language.English, http.StatusInternalServerError), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusInternalServerError), BodyEN: "Failed revoking refresh token.", BodyID: "Gagal mencabut refresh token.", } ErrMsgNotFound = Message{ StatusCode: http.StatusNotFound, TitleEN: language.HTTPStatusText(language.English, http.StatusNotFound), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusNotFound), BodyEN: "Record does not exist. Please validate your input or contact the administrator.", BodyID: "Data tidak ditemukan. Mohon cek kembali input data anda atau hubungi administrator.", } ErrMsgContextTimeout = Message{ StatusCode: http.StatusRequestTimeout, TitleEN: language.HTTPStatusText(language.English, http.StatusRequestTimeout), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusRequestTimeout), BodyEN: "Request time has been exceeded.", BodyID: "Waktu permintaan telah habis.", } ErrMsgConflict = Message{ StatusCode: http.StatusConflict, TitleEN: language.HTTPStatusText(language.English, http.StatusConflict), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusConflict), BodyEN: "Record has existed. Please validate your input or contact the administrator.", BodyID: "Data sudah ada. Mohon cek kembali input data anda atau hubungi administrator.", } ErrMsgTooManyRequest = Message{ StatusCode: http.StatusTooManyRequests, TitleEN: language.HTTPStatusText(language.English, http.StatusTooManyRequests), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusTooManyRequests), BodyEN: "Too many requests. Please wait and try again after a few moments.", BodyID: "Terlalu banyak permintaan. Mohon tunggu dan coba lagi setelah beberapa saat.", } // 5xx ErrMsgInternalServerError = Message{ StatusCode: http.StatusInternalServerError, TitleEN: language.HTTPStatusText(language.English, http.StatusInternalServerError), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusInternalServerError), BodyEN: "Internal server error. Please contact the administrator.", BodyID: "Terjadi kendala pada server. Mohon hubungi administrator.", } ErrMsgNotImplemented = Message{ StatusCode: http.StatusNotImplemented, TitleEN: language.HTTPStatusText(language.English, http.StatusNotImplemented), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusNotImplemented), BodyEN: "Not Implemented. Please contact the administrator.", BodyID: "Layanan tidak tersedia. Mohon hubungi administrator.", } StatusCode: http.StatusServiceUnavailable, TitleEN: language.HTTPStatusText(language.English, http.StatusServiceUnavailable), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusServiceUnavailable), BodyEN: "Service is unavailable. Please contact the administrator.", BodyID: "Layanan sedang tidak tersedia. Mohon hubungi administrator.", } // Application specific messages ErrMsgResetPassword = Message{ StatusCode: http.StatusBadRequest, TitleEN: "Failed To Reset Password", TitleID: "Gagal Mengatur Ulang Kata Sandi", BodyEN: "", BodyID: "", } ErrMsgPasswordDoesNotMatch = Message{ StatusCode: http.StatusBadRequest, TitleEN: "Entered Password Does Not Match", TitleID: "Kata Sandi Yang Dimasukkan Salah", BodyEN: "", BodyID: "", } ErrMsgPasswordIsWeak = Message{ StatusCode: http.StatusBadRequest, TitleEN: "Entered Password Combination Is Weak. Please Choose a Stronger Password", TitleID: "Kombinasi Kata Sandi Yang Dimasukkan Lemah. Mohon Masukkan Password yang Lebih Kuat", BodyEN: "Password must be at least 8 characters and include at least one uppercase letter, one lowercase letter, and one special character", BodyID: "Kata sandi minimal 8 karakter dan harus mengandung minimal satu huruf besar, satu huruf kecil, dan satu karakter khusus", } ErrMsgResetTokenExpired = Message{ StatusCode: http.StatusBadRequest, TitleEN: "Reset Password Token Has Expired", TitleID: "Token Atur Ulang Kata Sandi Sudah Kadaluwarsa", BodyEN: "Please create a new password reset request", BodyID: "Silakan lakukan permintaan pengaturan ulang kata sandi kembali", } ErrMsgEmptyEmail = Message{ StatusCode: http.StatusBadRequest, TitleEN: "Your Email is Empty", TitleID: "Alamat Email Kosong", BodyEN: "Please input your email", BodyID: "Silakan isi email anda", } ErrMsgInvalidEmail = Message{ StatusCode: http.StatusBadRequest, TitleEN: "Your Email is Invalid", TitleID: "Alamat Email Tidak Valid", BodyEN: "Please input a valid email", BodyID: "Silakan isi email yang valid", } ErrMsgSameCurrentPassword = Message{ StatusCode: http.StatusBadRequest, TitleEN: "Your new password cannot be the same with your current password", TitleID: "Kata sandi baru anda tidak boleh sama dengan kata sandi saat ini", BodyEN: "Please input a new password", BodyID: "Silakan isi password yang baru", } ErrMsgResetTokenInvalid = Message{ StatusCode: http.StatusBadRequest, TitleEN: "Reset Password Token Is Invalid", TitleID: "Token Reset Pasword Tidak Valid", BodyEN: "Please check your token", BodyID: "Silakan periksa kembali token anda", } ErrMsgLockExist = Message{ StatusCode: http.StatusTooManyRequests, TitleEN: "Please wait for a while before requesting a new password", TitleID: "Mohon tunggu sejenak sebelum meminta password baru", BodyEN: "", BodyID: "", } ErrMsgExecuteTemplateFailed = Message{ StatusCode: http.StatusInternalServerError, TitleEN: "Failed to execute golang template", TitleID: "Gagal mengeksekusi template golang", BodyEN: "", BodyID: "", } ErrMsgConvertMJMLToHTMLFailed = Message{ StatusCode: http.StatusInternalServerError, TitleEN: "Failed to convert MJML to HTML", TitleID: "Gagal mengkonversi MJML ke HTML", BodyEN: "", BodyID: "", } ErrMsgConvertGoTemplateToPDFFailed = Message{ StatusCode: http.StatusInternalServerError, TitleEN: "Failed to convert (html/template) to PDF", TitleID: "Gagal mengkonversi (html/template) ke PDF", BodyEN: "", BodyID: "", } ErrMsgGenerateToPDFFailed = Message{ StatusCode: http.StatusInternalServerError, TitleEN: "Failed to generate file PDF", TitleID: "Gagal menghasilkan file PDF", BodyEN: "", BodyID: "", } ErrMsgPasswordIsNotFilled = Message{ StatusCode: http.StatusBadRequest, TitleEN: "Your new password and new confirmation password must be filled", TitleID: "Kata sandi baru anda dan konfirmasi kata sandi baru harus diisi", BodyEN: "Please input a new password and the confirmation password", BodyID: "Silakan isi password dan konfirmasi password", } ErrMsgCodeParseHTMlTemplateFailed = Message{ StatusCode: http.StatusInternalServerError, TitleEN: "Failed to parse HTML Template", TitleID: "Gagal menyusun template HTML", BodyEN: "", BodyID: "", } // Slack Alert ErrMsgSlackAlert = Message{ StatusCode: http.StatusBadRequest, TitleEN: "Slack alerting failed", TitleID: "Peringatan slack gagal", BodyEN: "", BodyID: "", } // Translator Error ErrMsgTranslatorlib = Message{ StatusCode: http.StatusInternalServerError, TitleEN: "Translator error", TitleID: "Translator mengalami kegagalan", } // content too large common error ErrMsgContentTooLarge = Message{ StatusCode: http.StatusRequestEntityTooLarge, TitleEN: "File Content Too Large", TitleID: "Konten File Terlalu Besar", BodyEN: "", BodyID: "", } // Image Too Big (10MB) error ErrMsgImageTooBig = Message{ StatusCode: http.StatusRequestEntityTooLarge, TitleEN: "Maximum Image size is 10 MB", TitleID: "Maksimum ukuran gambar adalah 10 MB", } )
HTTP message
View Source
var ( // Files upload SuccessDefault = Message{ StatusCode: http.StatusOK, TitleEN: language.HTTPStatusText(language.English, http.StatusOK), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusOK), BodyEN: requestSuccessfulBodyEN, BodyID: requestSuccessfulBodyID, } SuccessAccepted = Message{ StatusCode: http.StatusAccepted, TitleEN: language.HTTPStatusText(language.English, http.StatusAccepted), TitleID: language.HTTPStatusText(language.Indonesian, http.StatusAccepted), BodyEN: requestAcceptedBodyEN, BodyID: requestAcceptedBodyID, } // Image SuccessUploadImage = Message{ StatusCode: http.StatusOK, TitleEN: "Image Upload Success", TitleID: "Anda Telah Berhasil Mengunggah Gambar", BodyEN: "", BodyID: "", } // Verif Token SuccessResetPassword = Message{ StatusCode: http.StatusOK, TitleEN: "Reset password success. Please check your email.", TitleID: "Pengaturan ulang kata sandi berhasil. Silakan cek email anda.", BodyEN: "", BodyID: "", } SuccessInputResetPassword = Message{ StatusCode: http.StatusOK, TitleEN: "Access Granted", TitleID: "Akses Diberikan", BodyEN: "", BodyID: "", } )
Application message
View Source
var ApplicationMessages = AppMessage{ CodeAccepted: SuccessAccepted, }
Successful messages only
View Source
var ErrorMessages = AppMessage{ CodeInvalidValue: ErrMsgBadRequest, CodeContextDeadlineExceeded: ErrMsgContextTimeout, CodeContextCanceled: ErrMsgContextTimeout, CodeInternalServerError: ErrMsgInternalServerError, CodeServerUnavailable: ErrMsgServiceUnavailable, CodeNotImplemented: ErrMsgNotImplemented, CodeBadRequest: ErrMsgBadRequest, CodeNotFound: ErrMsgNotFound, CodeConflict: ErrMsgConflict, CodeUnauthorized: ErrMsgUnauthorized, CodeTooManyRequest: ErrMsgTooManyRequest, CodeMarshal: ErrMsgBadRequest, CodeUnmarshal: ErrMsgBadRequest, CodeJSONMarshalError: ErrMsgBadRequest, CodeJSONUnmarshalError: ErrMsgBadRequest, CodeJSONValidationError: ErrMsgBadRequest, CodeSQL: ErrMsgInternalServerError, CodeSQLInit: ErrMsgInternalServerError, CodeSQLBuilder: ErrMsgInternalServerError, CodeSQLTxBegin: ErrMsgInternalServerError, CodeSQLTxCommit: ErrMsgInternalServerError, CodeSQLTxRollback: ErrMsgInternalServerError, CodeSQLTxExec: ErrMsgInternalServerError, CodeSQLPrepareStmt: ErrMsgInternalServerError, CodeSQLRead: ErrMsgInternalServerError, CodeSQLRowScan: ErrMsgInternalServerError, CodeSQLRecordDoesNotExist: ErrMsgNotFound, CodeSQLUniqueConstraint: ErrMsgConflict, CodeSQLConflict: ErrMsgConflict, CodeSQLNoRowsAffected: ErrMsgInternalServerError, CodeClient: ErrMsgInternalServerError, CodeClientMarshal: ErrMsgInternalServerError, CodeClientUnmarshal: ErrMsgInternalServerError, CodeClientErrorOnRequest: ErrMsgBadRequest, CodeClientErrorOnReadBody: ErrMsgBadRequest, CodeAuth: ErrMsgUnauthorized, CodeAuthRefreshTokenExpired: ErrMsgRefreshTokenExpired, CodeAuthAccessTokenExpired: ErrMsgAccessTokenExpired, CodeAuthFailure: ErrMsgUnauthorized, CodeAuthInvalidToken: ErrMsgInvalidToken, CodeForbidden: ErrMsgForbidden, CodeAuthRevokeRefreshTokenFailed: ErrMsgRevokeRefreshTokenFailed, CodeStorageS3Upload: ErrMsgBadRequest, CodeConvert: ErrMsgInternalServerError, CodeConvertTime: ErrMsgInternalServerError, CodeFailedResetPassword: ErrMsgResetPassword, CodePasswordDoesNotMatch: ErrMsgPasswordDoesNotMatch, CodeResetPasswordTokenExpired: ErrMsgResetTokenExpired, CodeEmptyEmail: ErrMsgEmptyEmail, CodeInvalidEmail: ErrMsgInvalidEmail, CodeSameCurrentPassword: ErrMsgSameCurrentPassword, CodePasswordIsNotFilled: ErrMsgPasswordIsNotFilled, CodeResetPasswordTokenInvalid: ErrMsgResetTokenInvalid, CodePasswordIsWeak: ErrMsgPasswordIsWeak, CodeLockExist: ErrMsgLockExist, CodeRedisGet: ErrMsgInternalServerError, CodeRedisSetex: ErrMsgInternalServerError, CodeFailedLock: ErrMsgInternalServerError, CodeFailedReleaseLock: ErrMsgInternalServerError, CodeCacheMarshal: ErrMsgInternalServerError, CodeCacheUnmarshal: ErrMsgInternalServerError, CodeCacheGetSimpleKey: ErrMsgInternalServerError, CodeCacheSetSimpleKey: ErrMsgInternalServerError, CodeCacheDeleteSimpleKey: ErrMsgInternalServerError, CodeCacheGetHashKey: ErrMsgInternalServerError, CodeCacheSetHashKey: ErrMsgInternalServerError, CodeCacheDeleteHashKey: ErrMsgInternalServerError, CodeCacheSetExpiration: ErrMsgInternalServerError, CodeCacheDecode: ErrMsgInternalServerError, CodeCacheLockNotAcquired: ErrMsgInternalServerError, CodeCacheInvalidCastType: ErrMsgInternalServerError, CodeCacheNotFound: ErrMsgInternalServerError, CodeErrorHttpNewRequest: ErrMsgInternalServerError, CodeErrorHttpDo: ErrMsgInternalServerError, CodeErrorIoutilReadAll: ErrMsgInternalServerError, CodeHttpMarshal: ErrMsgInternalServerError, CodeHttpUnmarshal: ErrMsgInternalServerError, CodeFeatureFlagRetrieverFailed: ErrMsgInternalServerError, CodeExecuteTemplateFailed: ErrMsgExecuteTemplateFailed, CodeConvertMJMLToHTMLFailed: ErrMsgConvertMJMLToHTMLFailed, CodePDFToJSONFailed: ErrMsgConvertGoTemplateToPDFFailed, CodePDFGeneratorFromJSONFailed: ErrMsgConvertGoTemplateToPDFFailed, CodeGeneratePDFFailed: ErrMsgGenerateToPDFFailed, CodeParseHTMlTemplateFailed: ErrMsgCodeParseHTMlTemplateFailed, CodeErrorSlackAlert: ErrMsgSlackAlert, CodeFile: ErrMsgInternalServerError, CodeFilePathOpenFailed: ErrMsgInternalServerError, CodeFileTooBig: ErrMsgContentTooLarge, CodeTranslatorError: ErrMsgTranslatorlib, CodeImageUploadSizeTooBig: ErrMsgImageTooBig, }
Error messages only
Functions ¶
This section is empty.
Types ¶
type AppMessage ¶
type DisplayMessage ¶
type DisplayMessage struct {
StatusCode int `json:"statusCode"`
Title string `json:"title"`
Body string `json:"body"`
}
func Compile ¶
func Compile(code Code, lang string) DisplayMessage
Click to show internal directories.
Click to hide internal directories.