github.com/smugmug/godynamo@v0.0.0-20151122084750-7913028f6623/endpoints/delete_table/delete_table.go (about) 1 // Support for the DynamoDB DeleteTable endpoint. 2 // 3 // example use: 4 // 5 // tests/delete_table-livestest.go 6 // 7 package delete_table 8 9 import ( 10 "encoding/json" 11 "errors" 12 "github.com/smugmug/godynamo/authreq" 13 "github.com/smugmug/godynamo/aws_const" 14 "github.com/smugmug/godynamo/conf" 15 create_table "github.com/smugmug/godynamo/endpoints/create_table" 16 ) 17 18 const ( 19 ENDPOINT_NAME = "DeleteTable" 20 DELETETABLE_ENDPOINT = aws_const.ENDPOINT_PREFIX + ENDPOINT_NAME 21 ) 22 23 type DeleteTable struct { 24 TableName string 25 } 26 27 // Delete is an alias for backwards compatibility 28 type Delete DeleteTable 29 30 type Request DeleteTable 31 32 func NewDeleteTable() *DeleteTable { 33 d := new(DeleteTable) 34 return d 35 } 36 37 // DeleteTable and CreateTable use the same Response format 38 type Response create_table.Response 39 40 func NewResponse() *Response { 41 cr := create_table.NewResponse() 42 r := Response(*cr) 43 return &r 44 } 45 46 // These implementations of EndpointReq use a parameterized conf. 47 48 func (delete_table *DeleteTable) EndpointReqWithConf(c *conf.AWS_Conf) ([]byte, int, error) { 49 if delete_table == nil { 50 return nil, 0, errors.New("delete_table.(DeleteTable)EndpointReqWithConf: receiver is nil") 51 } 52 if !conf.IsValid(c) { 53 return nil, 0, errors.New("delete_table.EndpointReqWithConf: c is not valid") 54 } 55 // returns resp_body,code,err 56 reqJSON, json_err := json.Marshal(delete_table) 57 if json_err != nil { 58 return nil, 0, json_err 59 } 60 return authreq.RetryReqJSON_V4WithConf(reqJSON, DELETETABLE_ENDPOINT, c) 61 } 62 63 func (delete *Delete) EndpointReqWithConf(c *conf.AWS_Conf) ([]byte, int, error) { 64 if delete == nil { 65 return nil, 0, errors.New("delete_table.(Delete)EndpointReqWithConf: receiver is nil") 66 } 67 delete_table := DeleteTable(*delete) 68 return delete_table.EndpointReqWithConf(c) 69 } 70 71 func (req *Request) EndpointReqWithConf(c *conf.AWS_Conf) ([]byte, int, error) { 72 if req == nil { 73 return nil, 0, errors.New("delete_table.(Request)EndpointReqWithConf: receiver is nil") 74 } 75 delete_table := DeleteTable(*req) 76 return delete_table.EndpointReqWithConf(c) 77 } 78 79 // These implementations of EndpointReq use the global conf. 80 81 func (delete_table *DeleteTable) EndpointReq() ([]byte, int, error) { 82 if delete_table == nil { 83 return nil, 0, errors.New("delete_table.(DeleteTable)EndpointReq: receiver is nil") 84 } 85 return delete_table.EndpointReqWithConf(&conf.Vals) 86 } 87 88 func (delete *Delete) EndpointReq() ([]byte, int, error) { 89 if delete == nil { 90 return nil, 0, errors.New("delete_table.(Delete)EndpointReq: receiver is nil") 91 } 92 delete_table := DeleteTable(*delete) 93 return delete_table.EndpointReqWithConf(&conf.Vals) 94 } 95 96 func (req *Request) EndpointReq() ([]byte, int, error) { 97 if req == nil { 98 return nil, 0, errors.New("delete_table.(Request)EndpointReq: receiver is nil") 99 } 100 delete_table := DeleteTable(*req) 101 return delete_table.EndpointReqWithConf(&conf.Vals) 102 }