bitbucket.org/Aishee/synsec@v0.0.0-20210414005726-236fc01a153d/pkg/apiclient/auth_service.go (about)

     1  package apiclient
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  
     7  	"bitbucket.org/Aishee/synsec/pkg/models"
     8  )
     9  
    10  // type ApiAlerts service
    11  
    12  type AuthService service
    13  
    14  func (s *AuthService) UnregisterWatcher(ctx context.Context) (*Response, error) {
    15  
    16  	u := fmt.Sprintf("%s/watchers", s.client.URLPrefix)
    17  	req, err := s.client.NewRequest("DELETE", u, nil)
    18  	if err != nil {
    19  		return nil, err
    20  	}
    21  
    22  	resp, err := s.client.Do(ctx, req, nil)
    23  	if err != nil {
    24  		return resp, err
    25  	}
    26  	return resp, nil
    27  }
    28  
    29  func (s *AuthService) RegisterWatcher(ctx context.Context, registration models.WatcherRegistrationRequest) (*Response, error) {
    30  
    31  	u := fmt.Sprintf("%s/watchers", s.client.URLPrefix)
    32  
    33  	req, err := s.client.NewRequest("POST", u, &registration)
    34  	if err != nil {
    35  		return nil, err
    36  	}
    37  
    38  	resp, err := s.client.Do(ctx, req, nil)
    39  	if err != nil {
    40  		return resp, err
    41  	}
    42  	return resp, nil
    43  }
    44  
    45  func (s *AuthService) AuthenticateWatcher(ctx context.Context, auth models.WatcherAuthRequest) (*Response, error) {
    46  	u := fmt.Sprintf("%s/watchers/login", s.client.URLPrefix)
    47  	req, err := s.client.NewRequest("POST", u, &auth)
    48  	if err != nil {
    49  		return nil, err
    50  	}
    51  
    52  	resp, err := s.client.Do(ctx, req, nil)
    53  	if err != nil {
    54  		return resp, err
    55  	}
    56  	return resp, nil
    57  }