Implement the friends data adaptor

slimupdates
Melanie 2010-02-05 12:31:29 +00:00
parent 0ab8dd61d7
commit b92cb6126d
4 changed files with 25 additions and 8 deletions

View File

@ -45,7 +45,7 @@ namespace OpenSim.Data
public interface IFriendsData public interface IFriendsData
{ {
bool Store(FriendsData data); bool Store(FriendsData data);
bool Delete(UUID ownerID, UUID friendID); bool Delete(UUID ownerID, string friend);
FriendsData[] GetFriends(UUID owner); FriendsData[] GetFriends(UUID principalID);
} }
} }

View File

@ -38,19 +38,26 @@ namespace OpenSim.Data.MySQL
public class MySqlFriendsData : MySQLGenericTableHandler<FriendsData>, IFriendsData public class MySqlFriendsData : MySQLGenericTableHandler<FriendsData>, IFriendsData
{ {
public MySqlFriendsData(string connectionString, string realm) public MySqlFriendsData(string connectionString, string realm)
: base(connectionString, realm, "Friends") : base(connectionString, realm, "FriendsStore")
{ {
} }
public bool Delete(UUID principalID, UUID friendID) public bool Delete(UUID principalID, string friend)
{ {
// We need to delete the row where PrincipalID=principalID AND FriendID=firnedID MySqlCommand cmd = new MySqlCommand();
return false;
cmd.CommandText = String.Format("delete from {0} where PrincipalID = ?PrincipalID and Friend = ?Friend", m_Realm);
cmd.Parameters.AddWithValue("?PrincipalID", principalID.ToString());
cmd.Parameters.AddWithValue("?Friend", friend);
ExecuteNonQuery(cmd);
return true;
} }
public FriendsData[] GetFriends(UUID userID) public FriendsData[] GetFriends(UUID principalID)
{ {
return Get("PrincipalID =\'" + userID.ToString() + "'"); return Get("PrincipalID", principalID.ToString());
} }
} }
} }

View File

@ -0,0 +1,5 @@
BEGIN;
CREATE TABLE `Friends` (`PrincipalID` CHAR(36) NOT NULL, `Friend` VARCHAR(255) NOT NULL, `Flags` VARCHAR(16) NOT NULL DEFAULT 0, `Offered` VARCHAR(32) NOT NULL DEFAULT 0, PRIMARY KEY(`PrincipalID`, `Friend`), KEY(`PrincipalID`));
COMMIT;

View File

@ -0,0 +1,5 @@
BEGIN;
INSERT INTO `Friends` SELECT `ownerID`, `friendID`, `friendPerms`, 0 FROM `userfriends`;
COMMIT;