Skip to content

Commit

Permalink
Moved strings to constants
Browse files Browse the repository at this point in the history
  • Loading branch information
nigeon committed Dec 11, 2023
1 parent f8ee436 commit b1e022b
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 15 deletions.
30 changes: 15 additions & 15 deletions handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func (f *faucet) registerHandlers(api *apirest.API) {
log.Fatal(err)
}

if f.authTypes["open"] > 0 {
if f.authTypes[AuthTypeOpen] > 0 {
if err := api.RegisterMethod(
"/open/claim/{to}",
"GET",
Expand All @@ -35,7 +35,7 @@ func (f *faucet) registerHandlers(api *apirest.API) {
}
}

if f.authTypes["oauth"] > 0 {
if f.authTypes[AuthTypeOauth] > 0 {
if err := api.RegisterMethod(
"/oauth/claim",
"POST",
Expand All @@ -55,7 +55,7 @@ func (f *faucet) registerHandlers(api *apirest.API) {
}
}

if f.authTypes["aragondao"] > 0 {
if f.authTypes[AuthTypeAragonDao] > 0 {
if err := api.RegisterMethod(
"/aragondao/claim",
"POST",
Expand All @@ -79,31 +79,31 @@ func (f *faucet) authTypesHandler(_ *apirest.APIdata, ctx *httprouter.HTTPContex

// Open faucet handler (does no logic but flood protection)
func (f *faucet) authOpenHandler(_ *apirest.APIdata, ctx *httprouter.HTTPContext) error {
amount, ok := f.authTypes["open"]
amount, ok := f.authTypes[AuthTypeOpen]
if !ok || amount == 0 {
return ctx.Send(new(HandlerResponse).SetError(ReasonErrUnsupportedAuthType).MustMarshall(), CodeErrUnsupportedAuthType)
}
addr, err := stringToAddress(ctx.URLParam("to"))
if err != nil {
return err
}
if funded, t := f.storage.checkIsFundedUserID(addr.Bytes(), "open"); funded {
if funded, t := f.storage.checkIsFundedUserID(addr.Bytes(), AuthTypeOpen); funded {
errReason := fmt.Sprintf("address %s already funded, wait until %s", addr.Hex(), t)
return ctx.Send(new(HandlerResponse).SetError(errReason).MustMarshall(), CodeErrFlood)
}
data, err := f.prepareFaucetPackage(addr, "open")
data, err := f.prepareFaucetPackage(addr, AuthTypeOpen)
if err != nil {
return err
}
if err := f.storage.addFundedUserID(addr.Bytes(), "open"); err != nil {
if err := f.storage.addFundedUserID(addr.Bytes(), AuthTypeOpen); err != nil {
return err
}
return ctx.Send(new(HandlerResponse).Set(data).MustMarshall(), apirest.HTTPstatusOK)
}

// oAuth faucet handler
func (f *faucet) authOAuthHandler(msg *apirest.APIdata, ctx *httprouter.HTTPContext) error {
amount, ok := f.authTypes["oauth"]
amount, ok := f.authTypes[AuthTypeOauth]
if !ok || amount == 0 {
return ctx.Send([]byte("auth type oAuth not supported"), apirest.HTTPstatusInternalErr)
}
Expand All @@ -123,7 +123,7 @@ func (f *faucet) authOAuthHandler(msg *apirest.APIdata, ctx *httprouter.HTTPCont
if err != nil {
return err
}
if funded, t := f.storage.checkIsFundedUserID(addr.Bytes(), "oauth"); funded {
if funded, t := f.storage.checkIsFundedUserID(addr.Bytes(), AuthTypeOauth); funded {
errReason := fmt.Sprintf("address %s already funded, wait until %s", addr.Hex(), t)
return ctx.Send(new(HandlerResponse).SetError(errReason).MustMarshall(), CodeErrFlood)
}
Expand Down Expand Up @@ -164,13 +164,13 @@ func (f *faucet) authOAuthHandler(msg *apirest.APIdata, ctx *httprouter.HTTPCont
return ctx.Send(new(HandlerResponse).SetError(errReason).MustMarshall(), CodeErrFlood)
}

data, err := f.prepareFaucetPackage(addr, "oauth")
data, err := f.prepareFaucetPackage(addr, AuthTypeOauth)
if err != nil {
return err
}

// Add address and profile to the funded list
if err := f.storage.addFundedUserID(addr.Bytes(), "oauth"); err != nil {
if err := f.storage.addFundedUserID(addr.Bytes(), AuthTypeOauth); err != nil {
return err
}
if err := f.storage.addFundedUserID([]byte(fundedProfileField), fundedAuthType); err != nil {
Expand Down Expand Up @@ -212,7 +212,7 @@ func (f *faucet) authOAuthUrl(msg *apirest.APIdata, ctx *httprouter.HTTPContext)
func (f *faucet) authAragonDaoHandler(msg *apirest.APIdata, ctx *httprouter.HTTPContext) error {
var err error

amount, ok := f.authTypes["aragondao"]
amount, ok := f.authTypes[AuthTypeAragonDao]
if !ok || amount == 0 {
return ctx.Send([]byte("auth type AragonDao not supported"), apirest.HTTPstatusInternalErr)
}
Expand All @@ -234,7 +234,7 @@ func (f *faucet) authAragonDaoHandler(msg *apirest.APIdata, ctx *httprouter.HTTP
}

// Check if the address is already funded
if funded, t := f.storage.checkIsFundedUserID(addr.Bytes(), "aragon"); funded {
if funded, t := f.storage.checkIsFundedUserID(addr.Bytes(), AuthTypeAragonDao); funded {
errReason := fmt.Sprintf("address %s already funded, wait until %s", addr.Hex(), t)
return ctx.Send(new(HandlerResponse).SetError(errReason).MustMarshall(), CodeErrFlood)
}
Expand All @@ -257,12 +257,12 @@ func (f *faucet) authAragonDaoHandler(msg *apirest.APIdata, ctx *httprouter.HTTP
}
}

data, err := f.prepareFaucetPackage(addr, "aragondao")
data, err := f.prepareFaucetPackage(addr, AuthTypeAragonDao)
if err != nil {
return ctx.Send(new(HandlerResponse).SetError(err.Error()).MustMarshall(), CodeErrInternalError)
}

if err := f.storage.addFundedUserID(addr.Bytes(), "aragon"); err != nil {
if err := f.storage.addFundedUserID(addr.Bytes(), AuthTypeAragonDao); err != nil {
return ctx.Send(new(HandlerResponse).SetError(err.Error()).MustMarshall(), CodeErrInternalError)
}

Expand Down
6 changes: 6 additions & 0 deletions types.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ type AuthTypes struct {

var errAddressAlreadyFunded = fmt.Errorf("address already funded")

const (
AuthTypeOpen = "open"
AuthTypeOauth = "oauth"
AuthTypeAragonDao = "aragondao"
)

type ErrorResponse struct {
Error string `json:"error"`
}

0 comments on commit b1e022b

Please sign in to comment.