Merge pull request 'update-alias' (#15) from update-alias into master
Reviewed-on: #15
This commit is contained in:
		
						commit
						c44ac0116f
					
				| @ -25,6 +25,7 @@ const ( | ||||
| 	AliasRegistrationPrefix     = "/api/v1/internal/register" | ||||
| 	AliasResolverPrefix         = "/api/v1/resolve" | ||||
| 	ExternalSMSPrefix           = "/api/v1/external" | ||||
| 	AliasUpdatePrefix           = "/api/v1/internal/update" | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| @ -55,6 +56,7 @@ var ( | ||||
| 	AliasRegistrationURL     string | ||||
| 	AliasResolverURL         string | ||||
| 	ExternalSMSURL           string | ||||
| 	AliasUpdateURL           string | ||||
| ) | ||||
| 
 | ||||
| func setBase() error { | ||||
| @ -102,6 +104,7 @@ func LoadConfig() error { | ||||
| 	AliasRegistrationURL, _ = url.JoinPath(aliasEnsURLBase, AliasRegistrationPrefix) | ||||
| 	AliasResolverURL, _ = url.JoinPath(aliasEnsURLBase, AliasResolverPrefix) | ||||
| 	ExternalSMSURL, _ = url.JoinPath(externalSMSBase, ExternalSMSPrefix) | ||||
| 	AliasUpdateURL, _ = url.JoinPath(aliasEnsURLBase, AliasUpdatePrefix) | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| @ -806,6 +806,13 @@ func (das *DevAccountService) RequestAlias(ctx context.Context, publicKey string | ||||
| 	}, nil | ||||
| } | ||||
| 
 | ||||
| func (das *DevAccountService) UpdateAlias(ctx context.Context, publicKey string, name string) (*models.RequestAliasResult, error) { | ||||
| 	logg.DebugCtxf(ctx, "Updated the alias", "address", publicKey, "name", name) | ||||
| 	return &models.RequestAliasResult{ | ||||
| 		Alias: name, | ||||
| 	}, nil | ||||
| } | ||||
| 
 | ||||
| func (das *DevAccountService) SendUpsellSMS(ctx context.Context, inviterPhone, inviteePhone string) (*models.SendSMSResponse, error) { | ||||
| 	logg.DebugCtxf(ctx, "sent an SMS", "inviterPhone", inviterPhone, "inviteePhone", inviteePhone) | ||||
| 	return &models.SendSMSResponse{ | ||||
|  | ||||
| @ -17,6 +17,7 @@ type AccountService interface { | ||||
| 	TokenTransfer(ctx context.Context, amount, from, to, tokenAddress string) (*models.TokenTransferResponse, error) | ||||
| 	CheckAliasAddress(ctx context.Context, alias string) (*models.AliasAddress, error) | ||||
| 	RequestAlias(ctx context.Context, hint string, publicKey string) (*models.RequestAliasResult, error) | ||||
| 	UpdateAlias(ctx context.Context, name string, publicKey string) (*models.RequestAliasResult, error) | ||||
| 	SendUpsellSMS(ctx context.Context, inviterPhone, inviteePhone string) (*models.SendSMSResponse, error) | ||||
| 	SendAddressSMS(ctx context.Context, publicKey, originPhone string) error | ||||
| 	SendPINResetSMS(ctx context.Context, admin, phone string) error | ||||
|  | ||||
| @ -559,6 +559,54 @@ func requestEnsAlias(ctx context.Context, publicKey string, hint string) (*model | ||||
| 	return &r, nil | ||||
| } | ||||
| 
 | ||||
| func (as *HTTPAccountService) UpdateAlias(ctx context.Context, name string, publicKey string) (*models.RequestAliasResult, error) { | ||||
| 	if as.SS == nil { | ||||
| 		return nil, fmt.Errorf("The storage service cannot be nil") | ||||
| 	} | ||||
| 	if as.UseApi { | ||||
| 		if !strings.Contains(name, ".") { | ||||
| 			name = as.ToFqdn(name) | ||||
| 		} | ||||
| 		enr, err := updateEnsAlias(ctx, name, publicKey) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 		return &models.RequestAliasResult{Alias: enr.Name}, nil | ||||
| 	} else { | ||||
| 		svc := dev.NewDevAccountService(ctx, as.SS) | ||||
| 		return svc.RequestAlias(ctx, publicKey, name) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func updateEnsAlias(ctx context.Context, name string, publicKey string) (*models.AliasEnsResult, error) { | ||||
| 	var r models.AliasEnsResult | ||||
| 
 | ||||
| 	endpoint := config.AliasUpdateURL | ||||
| 
 | ||||
| 	logg.InfoCtxf(ctx, "updating alias", "endpoint", endpoint, "name", name) | ||||
| 
 | ||||
| 	payload := map[string]string{ | ||||
| 		"name":    name, | ||||
| 		"address": publicKey, | ||||
| 	} | ||||
| 	payloadBytes, err := json.Marshal(payload) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	req, err := http.NewRequest("PUT", endpoint, bytes.NewBuffer(payloadBytes)) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	// Log the request body
 | ||||
| 	logg.InfoCtxf(ctx, "request body", "payload", string(payloadBytes)) | ||||
| 	_, err = doRequest(ctx, req, &r) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	logg.InfoCtxf(ctx, "alias successfully updated", "alias", r.Name) | ||||
| 	return &r, nil | ||||
| } | ||||
| 
 | ||||
| // SendSMS calls the API to send out an SMS.
 | ||||
| // Parameters:
 | ||||
| //   - inviterPhone: The user initiating the SMS.
 | ||||
|  | ||||
| @ -58,6 +58,10 @@ func (m MockApi) RequestAlias(ctx context.Context, publicKey string, hint string | ||||
| 	return nil, nil | ||||
| } | ||||
| 
 | ||||
| func (m MockApi) UpdateAlias(ctx context.Context, publicKey string, name string) (*models.RequestAliasResult, error) { | ||||
| 	return nil, nil | ||||
| } | ||||
| 
 | ||||
| func (m MockApi) TokenTransfer(ctx context.Context, amount, from, to, tokenAddress string) (*models.TokenTransferResponse, error) { | ||||
| 	return nil, nil | ||||
| } | ||||
|  | ||||
| @ -58,6 +58,11 @@ func (m *MockAccountService) RequestAlias(ctx context.Context, publicKey string, | ||||
| 	return args.Get(0).(*models.RequestAliasResult), args.Error(1) | ||||
| } | ||||
| 
 | ||||
| func (m *MockAccountService) UpdateAlias(ctx context.Context, publicKey string, name string) (*models.RequestAliasResult, error) { | ||||
| 	args := m.Called(publicKey, name) | ||||
| 	return args.Get(0).(*models.RequestAliasResult), args.Error(1) | ||||
| } | ||||
| 
 | ||||
| func (m *MockAccountService) SendUpsellSMS(ctx context.Context, inviterPhone, inviteePhone string) (*models.SendSMSResponse, error) { | ||||
| 	args := m.Called(inviterPhone, inviteePhone) | ||||
| 	return args.Get(0).(*models.SendSMSResponse), args.Error(1) | ||||
|  | ||||
| @ -69,6 +69,10 @@ func (m *TestAccountService) RequestAlias(ctx context.Context, publicKey string, | ||||
| 	return &models.RequestAliasResult{}, nil | ||||
| } | ||||
| 
 | ||||
| func (m *TestAccountService) UpdateAlias(ctx context.Context, publicKey string, hint string) (*models.RequestAliasResult, error) { | ||||
| 	return &models.RequestAliasResult{}, nil | ||||
| } | ||||
| 
 | ||||
| func (m *TestAccountService) SendUpsellSMS(ctx context.Context, inviterPhone, inviteePhone string) (*models.SendSMSResponse, error) { | ||||
| 	return &models.SendSMSResponse{}, nil | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user