mirror of
https://github.com/mainflux/mainflux.git
synced 2025-04-24 13:48:49 +08:00
NOISSUE-Add resetPassword to the SDK (#1872)
* Add resetPassword to the SDK Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * add space to sdk comments Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * add tab space to comments Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * update .env file Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * add referer header to sdk request Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * update .env file Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * update adding headers to processRequest Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * remove code repetition Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * add comment to content-Type Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * update header initialization Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * update docker-compose file Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * add cli functionality Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * add host as a tag Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * update hostURL flag Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * update comments Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * remove hostURL duplication Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * update inline Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * add space in comments Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * add space in comment Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> * update description of reset password request Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> --------- Signed-off-by: ianmuchyri <ianmuchiri8@gmail.com> Co-authored-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
This commit is contained in:
parent
38992085bd
commit
c8710efce0
40
cli/users.go
40
cli/users.go
@ -232,6 +232,46 @@ var cmdUsers = []cobra.Command{
|
||||
logJSON(user)
|
||||
},
|
||||
},
|
||||
{
|
||||
Use: "resetpasswordrequest <email>",
|
||||
Short: "Send reset password request",
|
||||
Long: "Send reset password request\n" +
|
||||
"Usage:\n" +
|
||||
"\tmainflux-cli users resetpasswordrequest example@mail.com\n",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
if len(args) != 1 {
|
||||
logUsage(cmd.Use)
|
||||
return
|
||||
}
|
||||
|
||||
if err := sdk.ResetPasswordRequest(args[0]); err != nil {
|
||||
logError(err)
|
||||
return
|
||||
}
|
||||
|
||||
logOK()
|
||||
},
|
||||
},
|
||||
{
|
||||
Use: "resetpassword <password> <confpass> <password_request_token>",
|
||||
Short: "Reset password",
|
||||
Long: "Reset password\n" +
|
||||
"Usage:\n" +
|
||||
"\tmainflux-cli users resetpassword 12345678 12345678 $REQUESTTOKEN\n",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
if len(args) != 3 {
|
||||
logUsage(cmd.Use)
|
||||
return
|
||||
}
|
||||
|
||||
if err := sdk.ResetPassword(args[0], args[1], args[2]); err != nil {
|
||||
logError(err)
|
||||
return
|
||||
}
|
||||
|
||||
logOK()
|
||||
},
|
||||
},
|
||||
{
|
||||
Use: "password <old_password> <password> <user_auth_token>",
|
||||
Short: "Update password",
|
||||
|
@ -32,6 +32,7 @@ func main() {
|
||||
CertsURL: defCertsURL,
|
||||
MsgContentType: sdk.ContentType(msgContentType),
|
||||
TLSVerification: false,
|
||||
HostURL: defURL,
|
||||
}
|
||||
|
||||
// Root
|
||||
@ -123,6 +124,14 @@ func main() {
|
||||
"Reader URL",
|
||||
)
|
||||
|
||||
rootCmd.PersistentFlags().StringVarP(
|
||||
&sdkConf.HostURL,
|
||||
"host-url",
|
||||
"H",
|
||||
sdkConf.HostURL,
|
||||
"Host URL",
|
||||
)
|
||||
|
||||
rootCmd.PersistentFlags().StringVarP(
|
||||
&msgContentType,
|
||||
"content-type",
|
||||
|
@ -80,7 +80,7 @@ MF_EMAIL_USERNAME=18bf7f70705139
|
||||
MF_EMAIL_PASSWORD=2b0d302e775b1e
|
||||
MF_EMAIL_FROM_ADDRESS=from@example.com
|
||||
MF_EMAIL_FROM_NAME=Example
|
||||
MF_EMAIL_TEMPLATE=smtp-notifier.tmpl
|
||||
MF_EMAIL_TEMPLATE=email.tmpl
|
||||
|
||||
### Things
|
||||
MF_THINGS_LOG_LEVEL=debug
|
||||
|
@ -53,7 +53,7 @@ services:
|
||||
networks:
|
||||
- mainflux-base-net
|
||||
ports:
|
||||
- 4222:4222
|
||||
- 4222:4222
|
||||
|
||||
things-db:
|
||||
image: postgres:13.3-alpine
|
||||
@ -113,7 +113,7 @@ services:
|
||||
MF_THINGS_DB_SSL_KEY: ${MF_THINGS_DB_SSL_KEY}
|
||||
MF_THINGS_DB_SSL_ROOT_CERT: ${MF_THINGS_DB_SSL_ROOT_CERT}
|
||||
MF_AUTH_GRPC_URL: ${MF_USERS_GRPC_URL}
|
||||
MF_AUTH_GRPC_TIMEOUT : ${MF_USERS_GRPC_TIMEOUT}
|
||||
MF_AUTH_GRPC_TIMEOUT: ${MF_USERS_GRPC_TIMEOUT}
|
||||
MF_AUTH_GRPC_CLIENT_TLS: ${MF_USERS_GRPC_CLIENT_TLS}
|
||||
MF_AUTH_GRPC_CA_CERT: ${MF_USERS_GRPC_CA_CERT}
|
||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||
@ -175,7 +175,7 @@ services:
|
||||
MF_EMAIL_PASSWORD: ${MF_EMAIL_PASSWORD}
|
||||
MF_EMAIL_FROM_ADDRESS: ${MF_EMAIL_FROM_ADDRESS}
|
||||
MF_EMAIL_FROM_NAME: ${MF_EMAIL_FROM_NAME}
|
||||
MF_EMAIL_TEMPLATE: ${MF_USERS_RESET_PWD_TEMPLATE}
|
||||
MF_EMAIL_TEMPLATE: ${MF_EMAIL_TEMPLATE}
|
||||
MF_JAEGER_URL: ${MF_JAEGER_URL}
|
||||
MF_SEND_TELEMETRY: ${MF_SEND_TELEMETRY}
|
||||
ports:
|
||||
@ -184,8 +184,8 @@ services:
|
||||
networks:
|
||||
- mainflux-base-net
|
||||
volumes:
|
||||
- ./templates/${MF_USERS_RESET_PWD_TEMPLATE}:/email.tmpl
|
||||
|
||||
- ./templates/${MF_USERS_RESET_PWD_TEMPLATE}:/email.tmpl
|
||||
|
||||
jaeger:
|
||||
image: jaegertracing/all-in-one:1.38.0
|
||||
container_name: mainflux-jaeger
|
||||
|
@ -97,7 +97,7 @@ func (sdk mfSDK) AddBootstrap(cfg BootstrapConfig, token string) (string, errors
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.bootstrapURL, configsEndpoint)
|
||||
|
||||
headers, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusOK, http.StatusCreated)
|
||||
headers, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusOK, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return "", sdkerr
|
||||
}
|
||||
@ -113,7 +113,7 @@ func (sdk mfSDK) Bootstraps(pm PageMetadata, token string) (BootstrapPage, error
|
||||
return BootstrapPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return BootstrapPage{}, sdkerr
|
||||
}
|
||||
@ -138,14 +138,15 @@ func (sdk mfSDK) Whitelist(cfg BootstrapConfig, token string) errors.SDKError {
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.bootstrapURL, whitelistEndpoint, cfg.ThingID)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, token, string(CTJSON), data, http.StatusCreated, http.StatusOK)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, token, data, nil, http.StatusCreated, http.StatusOK)
|
||||
|
||||
return sdkerr
|
||||
}
|
||||
|
||||
func (sdk mfSDK) ViewBootstrap(id, token string) (BootstrapConfig, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.bootstrapURL, configsEndpoint, id)
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return BootstrapConfig{}, err
|
||||
}
|
||||
@ -165,7 +166,8 @@ func (sdk mfSDK) UpdateBootstrap(cfg BootstrapConfig, token string) errors.SDKEr
|
||||
}
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.bootstrapURL, configsEndpoint, cfg.ThingID)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, token, string(CTJSON), data, http.StatusOK)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, token, data, nil, http.StatusOK)
|
||||
|
||||
return sdkerr
|
||||
}
|
||||
@ -183,7 +185,7 @@ func (sdk mfSDK) UpdateBootstrapCerts(id, clientCert, clientKey, ca, token strin
|
||||
return BootstrapConfig{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, data, nil, http.StatusOK)
|
||||
|
||||
var bc BootstrapConfig
|
||||
if err := json.Unmarshal(body, &bc); err != nil {
|
||||
@ -203,19 +205,21 @@ func (sdk mfSDK) UpdateBootstrapConnection(id string, channels []string, token s
|
||||
return errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, token, data, nil, http.StatusOK)
|
||||
return sdkerr
|
||||
}
|
||||
|
||||
func (sdk mfSDK) RemoveBootstrap(id, token string) errors.SDKError {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.bootstrapURL, configsEndpoint, id)
|
||||
_, _, err := sdk.processRequest(http.MethodDelete, url, token, string(CTJSON), nil, http.StatusNoContent)
|
||||
|
||||
_, _, err := sdk.processRequest(http.MethodDelete, url, token, nil, nil, http.StatusNoContent)
|
||||
return err
|
||||
}
|
||||
|
||||
func (sdk mfSDK) Bootstrap(externalID, externalKey string) (BootstrapConfig, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.bootstrapURL, bootstrapEndpoint, externalID)
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, ThingPrefix+externalKey, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, ThingPrefix+externalKey, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return BootstrapConfig{}, err
|
||||
}
|
||||
@ -230,7 +234,8 @@ func (sdk mfSDK) Bootstrap(externalID, externalKey string) (BootstrapConfig, err
|
||||
|
||||
func (sdk mfSDK) BootstrapSecure(externalID, externalKey string) (BootstrapConfig, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s/%s", sdk.bootstrapURL, bootstrapEndpoint, secureEndpoint, externalID)
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, ThingPrefix+externalKey, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, ThingPrefix+externalKey, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return BootstrapConfig{}, err
|
||||
}
|
||||
|
@ -37,7 +37,8 @@ func (sdk mfSDK) IssueCert(thingID, valid, token string) (Cert, errors.SDKError)
|
||||
}
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.certsURL, certsEndpoint)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), d, http.StatusCreated)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, d, nil, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return Cert{}, sdkerr
|
||||
}
|
||||
@ -52,7 +53,8 @@ func (sdk mfSDK) IssueCert(thingID, valid, token string) (Cert, errors.SDKError)
|
||||
|
||||
func (sdk mfSDK) ViewCert(id, token string) (Cert, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.certsURL, certsEndpoint, id)
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return Cert{}, err
|
||||
}
|
||||
@ -67,7 +69,8 @@ func (sdk mfSDK) ViewCert(id, token string) (Cert, errors.SDKError) {
|
||||
|
||||
func (sdk mfSDK) ViewCertByThing(thingID, token string) (CertSerials, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.certsURL, serialsEndpoint, thingID)
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return CertSerials{}, err
|
||||
}
|
||||
@ -82,7 +85,8 @@ func (sdk mfSDK) ViewCertByThing(thingID, token string) (CertSerials, errors.SDK
|
||||
|
||||
func (sdk mfSDK) RevokeCert(id, token string) (time.Time, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.certsURL, certsEndpoint, id)
|
||||
_, body, err := sdk.processRequest(http.MethodDelete, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodDelete, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return time.Time{}, err
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ func (sdk mfSDK) CreateChannel(c Channel, token string) (Channel, errors.SDKErro
|
||||
}
|
||||
url := fmt.Sprintf("%s/%s", sdk.thingsURL, channelsEndpoint)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusCreated)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return Channel{}, sdkerr
|
||||
}
|
||||
@ -58,7 +58,7 @@ func (sdk mfSDK) CreateChannels(chs []Channel, token string) ([]Channel, errors.
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.thingsURL, channelsEndpoint, "bulk")
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return []Channel{}, sdkerr
|
||||
}
|
||||
@ -77,7 +77,7 @@ func (sdk mfSDK) Channels(pm PageMetadata, token string) (ChannelsPage, errors.S
|
||||
return ChannelsPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return ChannelsPage{}, sdkerr
|
||||
}
|
||||
@ -95,7 +95,8 @@ func (sdk mfSDK) ChannelsByThing(thingID string, pm PageMetadata, token string)
|
||||
if err != nil {
|
||||
return ChannelsPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return ChannelsPage{}, sdkerr
|
||||
}
|
||||
@ -111,7 +112,7 @@ func (sdk mfSDK) ChannelsByThing(thingID string, pm PageMetadata, token string)
|
||||
func (sdk mfSDK) Channel(id, token string) (Channel, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.thingsURL, channelsEndpoint, id)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return Channel{}, err
|
||||
}
|
||||
@ -132,7 +133,7 @@ func (sdk mfSDK) UpdateChannel(c Channel, token string) (Channel, errors.SDKErro
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.thingsURL, channelsEndpoint, c.ID)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPut, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPut, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return Channel{}, sdkerr
|
||||
}
|
||||
@ -156,7 +157,7 @@ func (sdk mfSDK) DisableChannel(id, token string) (Channel, errors.SDKError) {
|
||||
func (sdk mfSDK) changeChannelStatus(id, status, token string) (Channel, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s/%s", sdk.thingsURL, channelsEndpoint, id, status)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, err := sdk.processRequest(http.MethodPost, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return Channel{}, err
|
||||
}
|
||||
|
@ -34,7 +34,8 @@ func (sdk mfSDK) CreateSubscription(topic, contact, token string) (string, error
|
||||
}
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.usersURL, subscriptionEndpoint)
|
||||
headers, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusCreated)
|
||||
|
||||
headers, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return "", sdkerr
|
||||
}
|
||||
@ -49,7 +50,8 @@ func (sdk mfSDK) ListSubscriptions(pm PageMetadata, token string) (SubscriptionP
|
||||
if err != nil {
|
||||
return SubscriptionPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return SubscriptionPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
@ -64,7 +66,8 @@ func (sdk mfSDK) ListSubscriptions(pm PageMetadata, token string) (SubscriptionP
|
||||
|
||||
func (sdk mfSDK) ViewSubscription(id, token string) (Subscription, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, subscriptionEndpoint, id)
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return Subscription{}, err
|
||||
}
|
||||
@ -80,7 +83,7 @@ func (sdk mfSDK) ViewSubscription(id, token string) (Subscription, errors.SDKErr
|
||||
func (sdk mfSDK) DeleteSubscription(id, token string) errors.SDKError {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, subscriptionEndpoint, id)
|
||||
|
||||
_, _, err := sdk.processRequest(http.MethodDelete, url, token, string(CTJSON), nil, http.StatusNoContent)
|
||||
_, _, err := sdk.processRequest(http.MethodDelete, url, token, nil, nil, http.StatusNoContent)
|
||||
|
||||
return err
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ func (sdk mfSDK) CreateGroup(g Group, token string) (Group, errors.SDKError) {
|
||||
}
|
||||
url := fmt.Sprintf("%s/%s", sdk.usersURL, groupsEndpoint)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusCreated)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return Group{}, sdkerr
|
||||
}
|
||||
@ -63,7 +63,7 @@ func (sdk mfSDK) Memberships(clientID string, pm PageMetadata, token string) (Me
|
||||
return MembershipsPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return MembershipsPage{}, sdkerr
|
||||
}
|
||||
@ -106,7 +106,8 @@ func (sdk mfSDK) Children(id string, pm PageMetadata, token string) (GroupsPage,
|
||||
}
|
||||
|
||||
func (sdk mfSDK) getGroups(url, token string) (GroupsPage, errors.SDKError) {
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return GroupsPage{}, err
|
||||
}
|
||||
@ -121,7 +122,8 @@ func (sdk mfSDK) getGroups(url, token string) (GroupsPage, errors.SDKError) {
|
||||
|
||||
func (sdk mfSDK) Group(id, token string) (Group, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, groupsEndpoint, id)
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return Group{}, err
|
||||
}
|
||||
@ -141,7 +143,8 @@ func (sdk mfSDK) UpdateGroup(g Group, token string) (Group, errors.SDKError) {
|
||||
}
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, groupsEndpoint, g.ID)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPut, url, token, string(CTJSON), data, http.StatusOK)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPut, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return Group{}, sdkerr
|
||||
}
|
||||
@ -164,7 +167,8 @@ func (sdk mfSDK) DisableGroup(id, token string) (Group, errors.SDKError) {
|
||||
|
||||
func (sdk mfSDK) changeGroupStatus(id, status, token string) (Group, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s/%s", sdk.usersURL, groupsEndpoint, id, status)
|
||||
_, body, err := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodPost, url, token, nil, nil, http.StatusOK)
|
||||
if err != nil {
|
||||
return Group{}, err
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ func (sdk mfSDK) SendMessage(chanName, msg, key string) errors.SDKError {
|
||||
|
||||
url := fmt.Sprintf("%s/channels/%s/messages%s", sdk.httpAdapterURL, chanID, subtopicPart)
|
||||
|
||||
_, _, err := sdk.processRequest(http.MethodPost, url, ThingPrefix+key, string(CTJSON), []byte(msg), http.StatusAccepted)
|
||||
_, _, err := sdk.processRequest(http.MethodPost, url, ThingPrefix+key, []byte(msg), nil, http.StatusAccepted)
|
||||
|
||||
return err
|
||||
}
|
||||
@ -39,7 +39,10 @@ func (sdk mfSDK) ReadMessages(chanName, token string) (MessagesPage, errors.SDKE
|
||||
|
||||
url := fmt.Sprintf("%s/channels/%s/messages%s", sdk.readerURL, chanID, subtopicPart)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, string(sdk.msgContentType), nil, http.StatusOK)
|
||||
var header = make(map[string]string)
|
||||
header["Content-Type"] = string(sdk.msgContentType)
|
||||
|
||||
_, body, err := sdk.processRequest(http.MethodGet, url, token, nil, header, http.StatusOK)
|
||||
if err != nil {
|
||||
return MessagesPage{}, err
|
||||
}
|
||||
|
@ -39,7 +39,8 @@ func (sdk mfSDK) AuthorizeUser(accessReq AccessRequest, token string) (bool, err
|
||||
}
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.usersURL, authorizeEndpoint)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusOK)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return false, sdkerr
|
||||
}
|
||||
@ -54,7 +55,8 @@ func (sdk mfSDK) CreateUserPolicy(p Policy, token string) errors.SDKError {
|
||||
}
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.usersURL, policyEndpoint)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusCreated)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return sdkerr
|
||||
}
|
||||
@ -70,7 +72,7 @@ func (sdk mfSDK) UpdateUserPolicy(p Policy, token string) errors.SDKError {
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.usersURL, policyEndpoint)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, token, string(CTJSON), data, http.StatusNoContent)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, token, data, nil, http.StatusNoContent)
|
||||
if sdkerr != nil {
|
||||
return sdkerr
|
||||
}
|
||||
@ -84,7 +86,7 @@ func (sdk mfSDK) ListUserPolicies(pm PageMetadata, token string) (PolicyPage, er
|
||||
return PolicyPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return PolicyPage{}, sdkerr
|
||||
}
|
||||
@ -99,7 +101,8 @@ func (sdk mfSDK) ListUserPolicies(pm PageMetadata, token string) (PolicyPage, er
|
||||
|
||||
func (sdk mfSDK) DeleteUserPolicy(p Policy, token string) errors.SDKError {
|
||||
url := fmt.Sprintf("%s/%s/%s/%s", sdk.usersURL, policyEndpoint, p.Subject, p.Object)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodDelete, url, token, string(CTJSON), nil, http.StatusNoContent)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodDelete, url, token, nil, nil, http.StatusNoContent)
|
||||
|
||||
return sdkerr
|
||||
}
|
||||
@ -111,7 +114,8 @@ func (sdk mfSDK) CreateThingPolicy(p Policy, token string) errors.SDKError {
|
||||
}
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.thingsURL, policyEndpoint)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusCreated)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return sdkerr
|
||||
}
|
||||
@ -127,7 +131,7 @@ func (sdk mfSDK) UpdateThingPolicy(p Policy, token string) errors.SDKError {
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.thingsURL, policyEndpoint)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, token, string(CTJSON), data, http.StatusNoContent)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, token, data, nil, http.StatusNoContent)
|
||||
if sdkerr != nil {
|
||||
return sdkerr
|
||||
}
|
||||
@ -141,7 +145,7 @@ func (sdk mfSDK) ListThingPolicies(pm PageMetadata, token string) (PolicyPage, e
|
||||
return PolicyPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return PolicyPage{}, sdkerr
|
||||
}
|
||||
@ -156,7 +160,8 @@ func (sdk mfSDK) ListThingPolicies(pm PageMetadata, token string) (PolicyPage, e
|
||||
|
||||
func (sdk mfSDK) DeleteThingPolicy(p Policy, token string) errors.SDKError {
|
||||
url := fmt.Sprintf("%s/%s/%s/%s", sdk.thingsURL, policyEndpoint, p.Subject, p.Object)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodDelete, url, token, string(CTJSON), nil, http.StatusNoContent)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodDelete, url, token, nil, nil, http.StatusNoContent)
|
||||
|
||||
return sdkerr
|
||||
}
|
||||
@ -187,7 +192,7 @@ func (sdk mfSDK) Connect(connIDs ConnectionIDs, token string) errors.SDKError {
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.thingsURL, connectEndpoint)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusOK)
|
||||
|
||||
return sdkerr
|
||||
}
|
||||
@ -199,7 +204,8 @@ func (sdk mfSDK) Disconnect(connIDs ConnectionIDs, token string) errors.SDKError
|
||||
}
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.thingsURL, disconnectEndpoint)
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusNoContent)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusNoContent)
|
||||
|
||||
return sdkerr
|
||||
}
|
||||
@ -229,7 +235,8 @@ func (sdk mfSDK) AuthorizeThing(accessReq AccessRequest, token string) (bool, st
|
||||
}
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s/%s", sdk.thingsURL, channelsEndpoint, accessReq.Object, accessEndpoint)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusOK)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return false, "", sdkerr
|
||||
}
|
||||
|
@ -9,6 +9,17 @@ type updateClientSecretReq struct {
|
||||
NewSecret string `json:"new_secret,omitempty"`
|
||||
}
|
||||
|
||||
type resetPasswordRequestreq struct {
|
||||
Email string `json:"email"`
|
||||
Host string `json:"host"`
|
||||
}
|
||||
|
||||
type resetPasswordReq struct {
|
||||
Token string `json:"token"`
|
||||
Password string `json:"password"`
|
||||
ConfPass string `json:"confirm_password"`
|
||||
}
|
||||
|
||||
type updateThingSecretReq struct {
|
||||
Secret string `json:"secret,omitempty"`
|
||||
}
|
||||
|
@ -200,6 +200,20 @@ type SDK interface {
|
||||
// fmt.Println(user)
|
||||
UpdateUserOwner(user User, token string) (User, errors.SDKError)
|
||||
|
||||
// ResetPasswordRequest sends a password request email to a user.
|
||||
//
|
||||
// example:
|
||||
// err := sdk.ResetPasswordRequest("example@email.com")
|
||||
// fmt.Println(err)
|
||||
ResetPasswordRequest(email string) errors.SDKError
|
||||
|
||||
// ResetPassword changes a user's password to the one passed in the argument.
|
||||
//
|
||||
// example:
|
||||
// err := sdk.ResetPassword("password","password","token")
|
||||
// fmt.Println(err)
|
||||
ResetPassword(password, confPass, token string) errors.SDKError
|
||||
|
||||
// UpdatePassword updates user password.
|
||||
//
|
||||
// example:
|
||||
@ -960,6 +974,7 @@ type mfSDK struct {
|
||||
readerURL string
|
||||
thingsURL string
|
||||
usersURL string
|
||||
HostURL string
|
||||
|
||||
msgContentType ContentType
|
||||
client *http.Client
|
||||
@ -973,6 +988,7 @@ type Config struct {
|
||||
ReaderURL string
|
||||
ThingsURL string
|
||||
UsersURL string
|
||||
HostURL string
|
||||
|
||||
MsgContentType ContentType
|
||||
TLSVerification bool
|
||||
@ -987,6 +1003,7 @@ func NewSDK(conf Config) SDK {
|
||||
readerURL: conf.ReaderURL,
|
||||
thingsURL: conf.ThingsURL,
|
||||
usersURL: conf.UsersURL,
|
||||
HostURL: conf.HostURL,
|
||||
|
||||
msgContentType: conf.MsgContentType,
|
||||
client: &http.Client{
|
||||
@ -1001,21 +1018,26 @@ func NewSDK(conf Config) SDK {
|
||||
|
||||
// processRequest creates and send a new HTTP request, and checks for errors in the HTTP response.
|
||||
// It then returns the response headers, the response body, and the associated error(s) (if any).
|
||||
func (sdk mfSDK) processRequest(method, url, token, contentType string, data []byte, expectedRespCodes ...int) (http.Header, []byte, errors.SDKError) {
|
||||
func (sdk mfSDK) processRequest(method, url, token string, data []byte, headers map[string]string, expectedRespCodes ...int) (http.Header, []byte, errors.SDKError) {
|
||||
req, err := http.NewRequest(method, url, bytes.NewReader(data))
|
||||
if err != nil {
|
||||
return make(http.Header), []byte{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
// Sets a default value for the Content-Type.
|
||||
// Overridden if Content-Type is passed in the headers arguments.
|
||||
req.Header.Add("Content-Type", string(CTJSON))
|
||||
|
||||
for key, value := range headers {
|
||||
req.Header.Add(key, value)
|
||||
}
|
||||
|
||||
if token != "" {
|
||||
if !strings.Contains(token, ThingPrefix) {
|
||||
token = BearerPrefix + token
|
||||
}
|
||||
req.Header.Set("Authorization", token)
|
||||
}
|
||||
if contentType != "" {
|
||||
req.Header.Add("Content-Type", contentType)
|
||||
}
|
||||
|
||||
resp, err := sdk.client.Do(req)
|
||||
if err != nil {
|
||||
|
@ -37,7 +37,7 @@ func (sdk mfSDK) CreateThing(thing Thing, token string) (Thing, errors.SDKError)
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.thingsURL, thingsEndpoint)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusCreated)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return Thing{}, sdkerr
|
||||
}
|
||||
@ -58,7 +58,7 @@ func (sdk mfSDK) CreateThings(things []Thing, token string) ([]Thing, errors.SDK
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.thingsURL, thingsEndpoint, "bulk")
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return []Thing{}, sdkerr
|
||||
}
|
||||
@ -77,7 +77,7 @@ func (sdk mfSDK) Things(pm PageMetadata, token string) (ThingsPage, errors.SDKEr
|
||||
return ThingsPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return ThingsPage{}, sdkerr
|
||||
}
|
||||
@ -96,7 +96,7 @@ func (sdk mfSDK) ThingsByChannel(chanID string, pm PageMetadata, token string) (
|
||||
return ThingsPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return ThingsPage{}, sdkerr
|
||||
}
|
||||
@ -112,7 +112,7 @@ func (sdk mfSDK) ThingsByChannel(chanID string, pm PageMetadata, token string) (
|
||||
func (sdk mfSDK) Thing(id, token string) (Thing, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.thingsURL, thingsEndpoint, id)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return Thing{}, sdkerr
|
||||
}
|
||||
@ -133,7 +133,7 @@ func (sdk mfSDK) UpdateThing(t Thing, token string) (Thing, errors.SDKError) {
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.thingsURL, thingsEndpoint, t.ID)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return Thing{}, sdkerr
|
||||
}
|
||||
@ -154,7 +154,7 @@ func (sdk mfSDK) UpdateThingTags(t Thing, token string) (Thing, errors.SDKError)
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s/tags", sdk.thingsURL, thingsEndpoint, t.ID)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return Thing{}, sdkerr
|
||||
}
|
||||
@ -177,7 +177,7 @@ func (sdk mfSDK) UpdateThingSecret(id, secret, token string) (Thing, errors.SDKE
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s/secret", sdk.thingsURL, thingsEndpoint, id)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return Thing{}, sdkerr
|
||||
}
|
||||
@ -198,7 +198,7 @@ func (sdk mfSDK) UpdateThingOwner(t Thing, token string) (Thing, errors.SDKError
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s/owner", sdk.thingsURL, thingsEndpoint, t.ID)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return Thing{}, sdkerr
|
||||
}
|
||||
@ -221,7 +221,8 @@ func (sdk mfSDK) DisableThing(id, token string) (Thing, errors.SDKError) {
|
||||
|
||||
func (sdk mfSDK) changeThingStatus(id, status, token string) (Thing, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s/%s", sdk.thingsURL, thingsEndpoint, id, status)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return Thing{}, sdkerr
|
||||
}
|
||||
@ -236,7 +237,8 @@ func (sdk mfSDK) changeThingStatus(id, status, token string) (Thing, errors.SDKE
|
||||
|
||||
func (sdk mfSDK) IdentifyThing(key string) (string, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s", sdk.thingsURL, identifyEndpoint)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, ThingPrefix+key, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, ThingPrefix+key, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return "", sdkerr
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ func (sdk mfSDK) CreateToken(user User) (Token, errors.SDKError) {
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, usersEndpoint, issueTokenEndpoint)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, "", string(CTJSON), data, http.StatusCreated)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, "", data, nil, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return Token{}, sdkerr
|
||||
}
|
||||
@ -43,7 +43,7 @@ func (sdk mfSDK) CreateToken(user User) (Token, errors.SDKError) {
|
||||
func (sdk mfSDK) RefreshToken(token string) (Token, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, usersEndpoint, refreshTokenEndpoint)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), []byte{}, http.StatusCreated)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, []byte{}, nil, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return Token{}, sdkerr
|
||||
}
|
||||
|
@ -10,12 +10,13 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
usersEndpoint = "users"
|
||||
enableEndpoint = "enable"
|
||||
disableEndpoint = "disable"
|
||||
issueTokenEndpoint = "tokens/issue"
|
||||
refreshTokenEndpoint = "tokens/refresh"
|
||||
membersEndpoint = "members"
|
||||
usersEndpoint = "users"
|
||||
enableEndpoint = "enable"
|
||||
disableEndpoint = "disable"
|
||||
issueTokenEndpoint = "tokens/issue"
|
||||
refreshTokenEndpoint = "tokens/refresh"
|
||||
membersEndpoint = "members"
|
||||
PasswordResetEndpoint = "password"
|
||||
)
|
||||
|
||||
// User represents mainflux user its credentials.
|
||||
@ -40,7 +41,7 @@ func (sdk mfSDK) CreateUser(user User, token string) (User, errors.SDKError) {
|
||||
|
||||
url := fmt.Sprintf("%s/%s", sdk.usersURL, usersEndpoint)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), data, http.StatusCreated)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, data, nil, http.StatusCreated)
|
||||
if sdkerr != nil {
|
||||
return User{}, sdkerr
|
||||
}
|
||||
@ -59,7 +60,7 @@ func (sdk mfSDK) Users(pm PageMetadata, token string) (UsersPage, errors.SDKErro
|
||||
return UsersPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return UsersPage{}, sdkerr
|
||||
}
|
||||
@ -78,7 +79,7 @@ func (sdk mfSDK) Members(groupID string, meta PageMetadata, token string) (Membe
|
||||
return MembersPage{}, errors.NewSDKError(err)
|
||||
}
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return MembersPage{}, sdkerr
|
||||
}
|
||||
@ -94,7 +95,7 @@ func (sdk mfSDK) Members(groupID string, meta PageMetadata, token string) (Membe
|
||||
func (sdk mfSDK) User(id, token string) (User, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, usersEndpoint, id)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return User{}, sdkerr
|
||||
}
|
||||
@ -110,7 +111,7 @@ func (sdk mfSDK) User(id, token string) (User, errors.SDKError) {
|
||||
func (sdk mfSDK) UserProfile(token string) (User, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/profile", sdk.usersURL, usersEndpoint)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodGet, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return User{}, sdkerr
|
||||
}
|
||||
@ -131,7 +132,7 @@ func (sdk mfSDK) UpdateUser(user User, token string) (User, errors.SDKError) {
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s", sdk.usersURL, usersEndpoint, user.ID)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return User{}, sdkerr
|
||||
}
|
||||
@ -152,7 +153,7 @@ func (sdk mfSDK) UpdateUserTags(user User, token string) (User, errors.SDKError)
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s/tags", sdk.usersURL, usersEndpoint, user.ID)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return User{}, sdkerr
|
||||
}
|
||||
@ -175,7 +176,7 @@ func (sdk mfSDK) UpdateUserIdentity(user User, token string) (User, errors.SDKEr
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s/identity", sdk.usersURL, usersEndpoint, user.ID)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return User{}, sdkerr
|
||||
}
|
||||
@ -188,6 +189,37 @@ func (sdk mfSDK) UpdateUserIdentity(user User, token string) (User, errors.SDKEr
|
||||
return user, nil
|
||||
}
|
||||
|
||||
func (sdk mfSDK) ResetPasswordRequest(email string) errors.SDKError {
|
||||
var rpr = resetPasswordRequestreq{Email: email}
|
||||
|
||||
data, err := json.Marshal(rpr)
|
||||
if err != nil {
|
||||
return errors.NewSDKError(err)
|
||||
}
|
||||
url := fmt.Sprintf("%s/%s/reset-request", sdk.usersURL, PasswordResetEndpoint)
|
||||
|
||||
var header = make(map[string]string)
|
||||
header["Referer"] = sdk.HostURL
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPost, url, "", data, header, http.StatusCreated)
|
||||
|
||||
return sdkerr
|
||||
}
|
||||
|
||||
func (sdk mfSDK) ResetPassword(password, confPass, token string) errors.SDKError {
|
||||
var rpr = resetPasswordReq{Token: token, Password: password, ConfPass: confPass}
|
||||
|
||||
data, err := json.Marshal(rpr)
|
||||
if err != nil {
|
||||
return errors.NewSDKError(err)
|
||||
}
|
||||
url := fmt.Sprintf("%s/%s/reset", sdk.usersURL, PasswordResetEndpoint)
|
||||
|
||||
_, _, sdkerr := sdk.processRequest(http.MethodPut, url, "", data, nil, http.StatusCreated)
|
||||
|
||||
return sdkerr
|
||||
}
|
||||
|
||||
func (sdk mfSDK) UpdatePassword(oldPass, newPass, token string) (User, errors.SDKError) {
|
||||
var ucsr = updateClientSecretReq{OldSecret: oldPass, NewSecret: newPass}
|
||||
|
||||
@ -198,7 +230,7 @@ func (sdk mfSDK) UpdatePassword(oldPass, newPass, token string) (User, errors.SD
|
||||
|
||||
url := fmt.Sprintf("%s/%s/secret", sdk.usersURL, usersEndpoint)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return User{}, sdkerr
|
||||
}
|
||||
@ -219,7 +251,7 @@ func (sdk mfSDK) UpdateUserOwner(user User, token string) (User, errors.SDKError
|
||||
|
||||
url := fmt.Sprintf("%s/%s/%s/owner", sdk.usersURL, usersEndpoint, user.ID)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, string(CTJSON), data, http.StatusOK)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPatch, url, token, data, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return User{}, sdkerr
|
||||
}
|
||||
@ -242,7 +274,8 @@ func (sdk mfSDK) DisableUser(id, token string) (User, errors.SDKError) {
|
||||
|
||||
func (sdk mfSDK) changeClientStatus(token, id, status string) (User, errors.SDKError) {
|
||||
url := fmt.Sprintf("%s/%s/%s/%s", sdk.usersURL, usersEndpoint, id, status)
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, string(CTJSON), nil, http.StatusOK)
|
||||
|
||||
_, body, sdkerr := sdk.processRequest(http.MethodPost, url, token, nil, nil, http.StatusOK)
|
||||
if sdkerr != nil {
|
||||
return User{}, sdkerr
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user