OSDN Git Service

sequelizeに移行した
[webchat/WebChat.git] / profile.js
index 20a069b..9734638 100644 (file)
@@ -264,22 +264,15 @@ function RenderMessage(res,msg,info)
 //\r
 function ProfileCollection()\r
 {\r
-       var MySQLPool = new require("./mysql_pool.js");\r
        var murmurhash = require("murmurhash");\r
-       var pool = new MySQLPool({\r
-                               host     : config.db_host,\r
-                               user     : config.db_user,\r
-                               password : config.db_password,\r
-                               port     : config.db_port,\r
-                               database : config.db_name,\r
-                       });\r
+       var Profile = require("./init").GetProfileColletion;\r
        this.AuthAsync = function(name,password,cb){\r
                async.waterfall([\r
                        function(next){\r
-                               pool.query("SELECT password FROM profilelist WHERE name_hash = ? and name = ?",[murmurhash.v3(name),name],next);\r
+                               Profile.find({name_hash:murmurhash.v3(name), name:name}).done(next);\r
                        },\r
                        function(result,next){\r
-                               if(result[0].password == md5_hex(password))\r
+                               if(result.password == md5_hex(password))\r
                                        next(null,true);\r
                                else\r
                                        next(null,false);\r
@@ -287,30 +280,38 @@ function ProfileCollection()
                ],cb);\r
        }\r
        this.GetAsync = function(name,cb){\r
-               pool.query("SELECT * FROM profilelist WHERE name_hash = ? and name = ?",[murmurhash.v3(name),name],cb);\r
+               Profile.find({name_hash:murmurhash.v3(name), name:name}).done(cb);\r
        }\r
        this.AddAsync = function(data,cb){\r
-               var item = GetItem(data);;\r
-               pool.query("INSERT INTO profilelist SET ?",[item],cb);\r
+               newProfile = Profile.build(GetItem(data));\r
+               newProfile.save().done(cb);\r
        }\r
        this.UpdatAsync = function(name,data,cb){\r
-               var item = GetItem(data);\r
-               pool.query("UPDATE profilelist SET ? WHERE name_hash = ? and name = ?",[item,murmurhash.v3(name),name],cb);\r
+               Profile.update(GetItem(data),{name_hash:murmurhash.v3(name), name:name}).done(cb);\r
        }\r
        this.ClearAsync = function(cb){\r
-               pool.query("TRUNCATE TABLE profilelist",null,cb);\r
+               Profile.drop().done(cb);\r
        }\r
        this.RemoveRangeAsync = function(names,cb){\r
-               pool.query("DELETE FROM profilelist WHERE name IN (?)",[names],cb);\r
+               Profile.destroy({where:{\r
+                               in:[names]\r
+                       }\r
+               }).done(cb);\r
        }\r
        this.RemoveAsync = function(name,cb){\r
-               pool.query("DELETE FROM profilelist WHERE name_hash = ? and name = ?",[murmurhash.v3(name),name],cb);\r
+               Profile.destroy({name_hash:murmurhash.v3(name), name:name}).done(cb);\r
        }\r
        this.FindByNameAsync = function(pattern,start,count,cb){\r
-               pool.query("SELECT * FROM profilelist WHERE name LIKE ? LIMIT ?,?",[pattern+"%",start,count],cb);\r
+               Profile.findAll({\r
+                       offset:start,\r
+                       limit:count,\r
+                       where:{\r
+                               like:pattern\r
+                       }\r
+               }).done(cb);\r
        }\r
        this.ToArrayAsync = function(start,count,cb){\r
-               pool.query("SELECT name,lastmodified FROM profilelist LIMIT ?,?",[start,count],cb);\r
+               Profile.findAll({offset:start,limit:count}).done(cb);\r
        }\r
 \r
        var crypto = require("crypto");\r