Add auth bits to Blerg::Database
[blerg.git] / lib / perl / Blerg-Database / Database.xs
index 69d2442..a3f87a5 100644 (file)
@@ -10,6 +10,7 @@
 #include "database/tags.h"
 #include "database/subscription.h"
 #include "database/util.h"
+#include "common/auth.h"
 
 #include "const-c.inc"
 
@@ -144,16 +145,8 @@ void tag_list(const char *tag, const char *str_offset, int direction)
         free(list);
 
 int subscription_add(const char *from, const char *to)
-    CODE:
-        RETVAL = subscription_add(from, to);
-    OUTPUT:
-        RETVAL
 
 int subscription_remove(const char *from, const char *to)
-    CODE:
-        RETVAL = subscription_remove(from, to);
-    OUTPUT:
-        RETVAL
 
 void _subscription_list(const char *author, const char *str_offset, int direction)
     INIT:
@@ -179,3 +172,23 @@ void _subscription_list(const char *author, const char *str_offset, int directio
 int valid_tag_name(const char *name)
 
 int valid_name(const char *name)
+
+int auth_set_password(const char *username, const char *password)
+
+int auth_check_password(const char *username, const char *password)
+
+char * auth_login(const char *username, const char *password)
+    INIT:
+        char *token;
+    PPCODE:
+        token = auth_login(username, password);
+        if (token != NULL) {
+            XPUSHs(sv_2mortal(newSVpv(token, TOKEN_SIZE * 2)));
+        } else {
+            XSRETURN_UNDEF;
+        }
+        free(token);
+
+int auth_logout(const char *username, const char *token)
+
+int auth_check_token(const char *username, const char *given_token)