Socialify

Folder ..

Viewing messages.go
30 lines (24 loc) • 955.0 B

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package config

import "strings"

var ErrorMessages = errorMessages{
	RouteNotFound:                         "Error: route not found.",
	InvalidRequestBody:                    "Error: invalid request body.",
	MissingUserRegistrationRequiredFields: "Error: username, email, and password are required.",
	FailedToHashPassword:                  "Error: failed to hash password.",
	SQLError:                              parseSQLError,
}

var SuccessMessages = successMessages{
	UserCreatedSuccessfully: "User created successfully.",
}

func parseSQLError(err error) string {
	errMsg := err.Error()

	if strings.Contains(errMsg, "duplicate key value violates unique constraint") {
		switch {
		case strings.Contains(errMsg, "idx_users_username"):
			errMsg = "Error: another user with that username already exists."
		case strings.Contains(errMsg, "idx_users_email"):
			errMsg = "Error: another user with that email already exists."
		}
	}

	return errMsg
}