aboutsummaryrefslogtreecommitdiff
path: root/client/js/models
diff options
context:
space:
mode:
authorrr-2017-01-07 11:07:51 +0100
committerrr-2017-01-08 02:26:26 +0100
commitf00cc5f3fa3a16a1f7055c772c3008d030f41fef (patch)
treef4d9b3b63900c087425f5952c6f2f58098b7c2f6 /client/js/models
parentd1bb33ecf0e82689ecbca747a8ac7b038d6cf173 (diff)
client/posts: search for similar posts on upload
Diffstat (limited to 'client/js/models')
-rw-r--r--client/js/models/post.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/client/js/models/post.js b/client/js/models/post.js
index 8002a0c..18a6223 100644
--- a/client/js/models/post.js
+++ b/client/js/models/post.js
@@ -69,6 +69,36 @@ class Post extends events.EventTarget {
return ret;
}
+ static reverseSearchFromFile(content) {
+ return Post._reverseSearch({content: content});
+ }
+
+ static reverseSearchFromUrl(imageUrl) {
+ return Post._reverseSearch({contentUrl: imageUrl});
+ }
+
+ static _reverseSearch(request) {
+ let apiPromise = api.post('/posts/reverse-search', {}, request);
+ let returnedPromise = apiPromise
+ .then(response => {
+ if (response.exactPost) {
+ response.exactPost = Post.fromResponse(response.exactPost);
+ }
+ for (let item of response.similarPosts) {
+ item.post = Post.fromResponse(item.post);
+ }
+ return Promise.resolve(response);
+ }, response => {
+ return Promise.reject(response.description);
+ });
+
+ returnedPromise.abort = () => {
+ apiPromise.abort();
+ };
+
+ return returnedPromise;
+ }
+
static get(id) {
return api.get('/post/' + id)
.then(response => {

© 2015 - 2026 Jakob L. Kreuze