-
-
Save DGaffney/76a95097b7ef402f5c6f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns graph-api.core | |
(:gen-class) | |
(:use compojure.core | |
clojure.stacktrace | |
ring.middleware.json) | |
(:require [ring.adapter.jetty :as jetty] | |
[clojure.string :as string] | |
[compojure.handler :as handler] | |
[monger.collection :as mc] | |
[environ.core :refer [env]] | |
[digest :as d] | |
[graph-api.mongodb :as m] | |
[graph-api.controllers.user :as controllers.user] | |
[graph-api.controllers.graph :as controllers.graph] | |
[graph-api.controllers.edge :as controllers.edge] | |
[graph-api.controllers.node :as controllers.node] | |
[noir.response :as response] | |
[cheshire.core :refer [generate-string]] | |
[cheshire.generate :refer [add-encoder encode-str]])) | |
(add-encoder org.bson.types.ObjectId encode-str) | |
(defn respond [response] | |
(response/json response)) | |
(defroutes app | |
(ANY "/v1/user/create.json" {params :params} (respond (controllers.user/create params))) | |
(ANY "/v1/user/edit.json" {params :params} (respond (controllers.user/edit params))) | |
(ANY "/v1/user/destroy.json" {params :params} (respond (controllers.user/destroy params))) | |
(ANY "/v1/graph/create.json" {params :params} (respond (controllers.graph/create params))) | |
(ANY "/v1/graph/add-node.json" {params :params} (respond (controllers.graph/add-node params))) | |
(ANY "/v1/graph/drop-node.json" {params :params} (respond (controllers.graph/drop-node params))) | |
(ANY "/v1/graph/edit.json" {params :params} (respond (controllers.graph/edit params))) | |
(ANY "/v1/graph/destroy.json" {params :params} (respond (controllers.graph/destroy params))) | |
(ANY "/v1/graph/download.json" {params :params} (respond (controllers.graph/download params))) | |
(ANY "/v1/edge/create.json" {params :params} (respond (controllers.edge/create params))) | |
(ANY "/v1/edge/edit.json" {params :params} (respond (controllers.edge/edit params))) | |
(ANY "/v1/edge/destroy.json" {params :params} (respond (controllers.edge/destroy params))) | |
(ANY "/v1/node/create.json" {params :params} (respond (prn params))) | |
(ANY "/v1/node/edit.json" {params :params} (respond (controllers.node/edit params))) | |
(ANY "/v1/node/destroy.json" {params :params} (respond (controllers.node/destroy params)))) | |
(defn start | |
[] | |
(m/connect! m/database-name) | |
(println "Started") | |
(jetty/run-jetty (-> app handler/site ring.middleware.json/wrap-json-params) {:port 8080})) | |
(defn -main | |
[& args] | |
(start)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment