diff options
-rw-r--r-- | classes/Foreign_service.php | 24 | ||||
-rw-r--r-- | classes/Foreign_subscription.php | 23 | ||||
-rw-r--r-- | classes/Foreign_user.php | 27 | ||||
-rw-r--r-- | classes/stoica.ini | 37 | ||||
-rw-r--r-- | db/laconica.sql | 35 |
5 files changed, 146 insertions, 0 deletions
diff --git a/classes/Foreign_service.php b/classes/Foreign_service.php new file mode 100644 index 000000000..ec38c5417 --- /dev/null +++ b/classes/Foreign_service.php @@ -0,0 +1,24 @@ +<?php +/** + * Table Definition for foreign_service + */ +require_once 'DB/DataObject.php'; + +class Foreign_service extends DB_DataObject +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__table = 'foreign_service'; // table name + public $id; // int(4) primary_key not_null + public $name; // varchar(32) unique_key not_null + public $description; // varchar(255) + public $created; // datetime() not_null + public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP + + /* Static get */ + function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('Foreign_service',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/classes/Foreign_subscription.php b/classes/Foreign_subscription.php new file mode 100644 index 000000000..b8cbed8ca --- /dev/null +++ b/classes/Foreign_subscription.php @@ -0,0 +1,23 @@ +<?php +/** + * Table Definition for foreign_subscription + */ +require_once 'DB/DataObject.php'; + +class Foreign_subscription extends DB_DataObject +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__table = 'foreign_subscription'; // table name + public $service; // int(4) primary_key not_null + public $subscriber; // int(4) primary_key not_null + public $subscribed; // int(4) primary_key not_null + public $created; // datetime() not_null + + /* Static get */ + function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('Foreign_subscription',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/classes/Foreign_user.php b/classes/Foreign_user.php new file mode 100644 index 000000000..98034df49 --- /dev/null +++ b/classes/Foreign_user.php @@ -0,0 +1,27 @@ +<?php +/** + * Table Definition for foreign_user + */ +require_once 'DB/DataObject.php'; + +class Foreign_user extends DB_DataObject +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__table = 'foreign_user'; // table name + public $id; // int(4) primary_key not_null + public $service; // int(4) primary_key not_null + public $uri; // varchar(255) unique_key not_null + public $nickname; // varchar(255) + public $user_id; // int(4) + public $credentials; // varchar(255) + public $created; // datetime() not_null + public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP + + /* Static get */ + function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('Foreign_user',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/classes/stoica.ini b/classes/stoica.ini index 8a21d33ce..4dead9610 100644 --- a/classes/stoica.ini +++ b/classes/stoica.ini @@ -47,6 +47,43 @@ modified = 384 notice_id = K user_id = K +[foreign_service] +id = 129 +name = 130 +description = 2 +created = 142 +modified = 384 + +[foreign_service__keys] +id = K +name = U + +[foreign_subscription] +service = 129 +subscriber = 129 +subscribed = 129 +created = 142 + +[foreign_subscription__keys] +service = K +subscriber = K +subscribed = K + +[foreign_user] +id = 129 +service = 129 +uri = 130 +nickname = 2 +user_id = 1 +credentials = 2 +created = 142 +modified = 384 + +[foreign_user__keys] +id = K +service = K +uri = U + [nonce] consumer_key = 130 tok = 130 diff --git a/db/laconica.sql b/db/laconica.sql index 16faf53a0..da2a1c89d 100644 --- a/db/laconica.sql +++ b/db/laconica.sql @@ -251,3 +251,38 @@ create table notice_tag ( constraint primary key (tag, notice_id), index notice_tag_created_idx (created) ) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin; + +/* Synching with foreign services */ + +create table foreign_service ( + id int not null primary key comment 'numeric key for service', + name varchar(32) not null unique key comment 'name of the service', + description varchar(255) comment 'description', + created datetime not null comment 'date this record was created', + modified timestamp comment 'date this record was modified' +) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin; + +create table foreign_user ( + id int not null comment 'unique numeric key on foreign service', + service int not null comment 'foreign key to service' references foreign_service(id), + uri varchar(255) not null unique key comment 'identifying URI', + nickname varchar(255) comment 'nickname on foreign service', + user_id int comment 'link to user on this system, if exists' references user (id), + credentials varchar(255) comment 'authc credentials, typically a password', + created datetime not null comment 'date this record was created', + modified timestamp comment 'date this record was modified', + + constraint primary key (id, service), + index foreign_user_user_id_idx (user_id) +) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin; + +create table foreign_subscription ( + service int not null comment 'service where relationship happens' references foreign_service(id), + subscriber int not null comment 'subscriber on foreign service' references foreign_user (id), + subscribed int not null comment 'subscribed user' references foreign_user (id), + created datetime not null comment 'date this record was created', + + constraint primary key (service, subscriber, subscribed), + index foreign_subscription_subscriber_idx (subscriber), + index foreign_subscription_subscribed_idx (subscribed) +) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin; |