Commits

Richo Healey committed 10844ad

Migrate to a 'file' datastore

Comments (0)

Files changed (3)

datastore/file.scm

+(define user-mapping
+  (map
+    (lambda (file)
+      (let ((username (if (string-suffix? "json" file)
+                          (substring file 0 (- (string-length file) 5))
+                          file)))
+        (list username . ((read-all (string-append "people/" file))))))
+    (directory "people")))
       (if u
         (cadr u)
         #f))))
-
-(define user-mapping
-  (map
-    (lambda (file)
-      (let ((username (if (string-suffix? "json" file)
-                          (substring file 0 (- (string-length file) 5))
-                          file)))
-        (list username . ((read-all (string-append "people/" file))))))
-    (directory "people")))
 (use posix)
 (use utils)
 ; (require-extension intarweb)
+
+; Fetch our datastore
+(cond ((get-environment-variable "IDENTSO_DATASTORE")
+        (require (string-append "datastore/" (get-environment-variable "IDENTSO_DATASTORE"))))
+      ((get-environment-variable "REDISCLOUD_URL")
+        (require "datastore/redis"))
+      (else (require "datastore/file")))
+
 (require "lib/response")
 (require "lib/request")
 (require "lib/user")
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.