github.com/altipla-consulting/ravendb-go-client@v0.1.3/delete_document_command.go (about)

     1  package ravendb
     2  
     3  import "net/http"
     4  
     5  var (
     6  	_ RavenCommand = &DeleteDocumentCommand{}
     7  )
     8  
     9  type DeleteDocumentCommand struct {
    10  	RavenCommandBase
    11  
    12  	_id           string
    13  	_changeVector *string
    14  }
    15  
    16  func NewDeleteDocumentCommand(id string, changeVector *string) *DeleteDocumentCommand {
    17  	cmd := &DeleteDocumentCommand{
    18  		RavenCommandBase: NewRavenCommandBase(),
    19  
    20  		_id:           id,
    21  		_changeVector: changeVector,
    22  	}
    23  	cmd.ResponseType = RavenCommandResponseTypeEmpty
    24  	return cmd
    25  }
    26  
    27  func (c *DeleteDocumentCommand) createRequest(node *ServerNode) (*http.Request, error) {
    28  	url := node.URL + "/databases/" + node.Database + "/docs?id=" + urlEncode(c._id)
    29  
    30  	request, err := newHttpDelete(url, nil)
    31  	if err != nil {
    32  		return nil, err
    33  	}
    34  	addChangeVectorIfNotNull(c._changeVector, request)
    35  	return request, nil
    36  
    37  }