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, ®istration) 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 }