diff --git a/net/server/internal/api_account.go b/net/server/internal/api_account.go index e6a69441..217a0ab5 100644 --- a/net/server/internal/api_account.go +++ b/net/server/internal/api_account.go @@ -63,8 +63,4 @@ func GetAccountListing(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) } -func SetAccountSeachable(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/json; charset=UTF-8") - w.WriteHeader(http.StatusOK) -} diff --git a/net/server/internal/api_getAccountStatus.go b/net/server/internal/api_getAccountStatus.go index 0697f175..8b1c4172 100644 --- a/net/server/internal/api_getAccountStatus.go +++ b/net/server/internal/api_getAccountStatus.go @@ -7,9 +7,9 @@ import ( func GetAccountStatus(w http.ResponseWriter, r *http.Request) { - account, err := AccountLogin(r) + account, code, err := BearerAppToken(r, false) if err != nil { - ErrResponse(w, http.StatusUnauthorized, err) + ErrResponse(w, code, err) return } diff --git a/net/server/internal/api_setAccountSearchable.go b/net/server/internal/api_setAccountSearchable.go new file mode 100644 index 00000000..cc5d8532 --- /dev/null +++ b/net/server/internal/api_setAccountSearchable.go @@ -0,0 +1,29 @@ +package databag + +import ( + "net/http" + "databag/internal/store" +) + +func SetAccountSearchable(w http.ResponseWriter, r *http.Request) { + + account, code, err := BearerAppToken(r, false) + if err != nil { + ErrResponse(w, code, err) + return + } + + var flag bool + if err := ParseRequest(r, w, &flag); err != nil { + ErrResponse(w, http.StatusBadRequest, err) + return + } + + if err = store.DB.Model(account).Update("searchable", flag).Error; err != nil { + ErrResponse(w, http.StatusInternalServerError, err) + return + } + + WriteResponse(w, nil) +} + diff --git a/net/server/internal/routers.go b/net/server/internal/routers.go index 4cd081ed..736f5bf2 100644 --- a/net/server/internal/routers.go +++ b/net/server/internal/routers.go @@ -180,6 +180,13 @@ var routes = Routes{ SetAccountNode, }, + Route{ + "SetAccountSerchable", + strings.ToUpper("Put"), + "/account/searchable", + SetAccountSearchable, + }, + Route{ "AddNodeAccount", strings.ToUpper("Post"), diff --git a/net/server/internal/ucAccountConfig_test.go b/net/server/internal/ucAccountConfig_test.go index ffc7c5b1..4095a55a 100644 --- a/net/server/internal/ucAccountConfig_test.go +++ b/net/server/internal/ucAccountConfig_test.go @@ -92,12 +92,17 @@ func TestAccountConfig(t *testing.T) { return false })) + // set to searchable + searchable := true + params = &TestApiParams{ query: "/account/searchable", tokenType: APP_TOKENAPP, token: set.A.Token, body: &searchable } + assert.NoError(t, TestApiRequest(SetAccountSearchable, params, nil)) + // get account status accountStatus := &AccountStatus{} - params = &TestApiParams{ query: "/account/status", authorization: "newguy:ssap", - path: map[string]string{ "channelId": channel.Id, "topicId": topic.Id } } + params = &TestApiParams{ query: "/account/status", tokenType: APP_TOKENAPP, token: set.A.Token } response = &TestApiResponse{ data: accountStatus } assert.NoError(t, TestApiRequest(GetAccountStatus, params, response)) + assert.True(t, accountStatus.Searchable) // add asset to topic assets = &[]Asset{}