Skip to content

Commit

Permalink
post instead of get to get stickups around a location
Browse files Browse the repository at this point in the history
(following GAE example)
  • Loading branch information
Tim Burks committed Jul 5, 2010
1 parent 4929125 commit e05407b
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 20 deletions.
40 changes: 21 additions & 19 deletions service/numongo/site.nu
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,13 @@

(post "/stickup"
(set stickup (REQUEST post))
(set user (mongo findOne:(dict name:(stickup user:)) inCollection:"stickup.users"))
(unless user
(set user (dict name:(stickup user:) password:(stickup password:)))
(mongo insertObject:user intoCollection:"stickup.users"))
(if (eq (user password:) (stickup password:))
(set user nil)
(if (stickup user:)
(set user (mongo findOne:(dict name:(stickup user:)) inCollection:"stickup.users"))
(unless user
(set user (dict name:(stickup user:) password:(stickup password:)))
(mongo insertObject:user intoCollection:"stickup.users")))
(if (and user (eq (user password:) (stickup password:)))
(then
(stickup removeObjectForKey:"password")
(stickup time:((NSDate date) description))
Expand All @@ -53,20 +55,20 @@
((dict status:403 message:"Unable to post stickup.")
JSONRepresentation))))

(get "/stickups"
(mongo ensureCollection:"stickup.stickups" hasIndex:(dict location:"2d") withOptions:0)
(set query (dict))
(if (and (set latitude (((REQUEST query) latitude:) floatValue))
(set longitude (((REQUEST query) longitude:) floatValue)))
(query location:(dict $near:(dict latitude:latitude longitude:longitude))))
(unless (set count (((REQUEST query) count:) intValue))
(set count 10))
((dict status:200 stickups:(mongo findArray:query
inCollection:"stickup.stickups"
returningFields:nil
numberToReturn:count
numberToSkip:0))
JSONRepresentation))
(post "/stickups"
(mongo ensureCollection:"stickup.stickups" hasIndex:(dict location:"2d") withOptions:0)
(set query (dict))
(if (and (set latitude (((REQUEST post) latitude:) floatValue))
(set longitude (((REQUEST post) longitude:) floatValue)))
(query location:(dict $near:(dict latitude:latitude longitude:longitude))))
(unless (set count (((REQUEST query) count:) intValue))
(set count 10))
((dict status:200 stickups:(mongo findArray:query
inCollection:"stickup.stickups"
returningFields:nil
numberToReturn:count
numberToSkip:0))
JSONRepresentation))

(get "/count"
(set count (mongo countWithCondition:nil inCollection:"stickups" inDatabase:"stickup"))
Expand Down
2 changes: 1 addition & 1 deletion service/numongo/stickupd.pid
Original file line number Diff line number Diff line change
@@ -1 +1 @@
95931
11237

0 comments on commit e05407b

Please sign in to comment.