unified backend to uuid's instead of u(u|g|c)id's

api keeps unaffected
updated sql dumps to new namings
This commit is contained in:
Steffen Vogel 2010-06-13 14:25:19 +02:00
parent 02ffac52e0
commit 8d9c294de7
13 changed files with 397 additions and 411 deletions

View file

@ -32,9 +32,9 @@ class ChannelController extends Controller {
public function add() {
$channel = new Channel();
// TODO add ucid generation or exception if no one has been passed via get
// TODO add uuid generation or exception if no one has been passed via get
if (substr($channel->ucid, 0, 19) == OneWireSensor::$ucidPrefix) {
if (substr($channel->uuid, 0, 19) == OneWireSensor::$uuidPrefix) {
$channel->type = 'OneWireSensor';
$channel->description = OneWireSensor::getFamilyDescription($channel);
}
@ -47,7 +47,7 @@ class ChannelController extends Controller {
}
public function delete() { // TODO untested
$channel = Channel::getByUcid($this->view->request->get['ucid']);
$channel = Channel::getByUuid($this->view->request->get['ucid']);
$channel->delete();
}
}

View file

@ -22,7 +22,7 @@
class DataController extends Controller {
public function add() {
$ucid = $this->view->request->get['ucid'];
$channel = Channel::getByUcid($ucid);
$channel = Channel::getByUuid($ucid);
$channel->addData($this->view->request->get); // array(timestamp, value, count)
}

View file

@ -25,20 +25,20 @@ class GroupController extends Controller {
$group->description = $this->view->request->get['description'];
$group->save();
// TODO generate ugid
// TODO generate uuid
$this->view->addGroup($group);
}
public function delete() {
$group = Group::getByFilter(array('ugid' => $this->view->request->get['ugid']));
$group = Group::getByUuid($this->view->request->get['ugid']);
$group->delete();
}
public function get() {
$user = User::getByFilter(array('uuid' => $this->view->request->get['uuid']));
$groups = Group::getByFilter(array('user' => $user));
$user = User::getByUuid($this->view->request->get['uuid']);
$groups = $user->getGroups(false); // TODO recursive or not?
foreach ($groups as $group) {
$this->view->addGroup($group);

View file

@ -31,7 +31,7 @@ class UserController extends Controller {
}
public function delete() {
$user = User::getByFilter(array('uuid' => $this->view->request->get['uuid']));
$user = User::getByUuid($this->view->request->get['uuid']);
$user->delete();
}
@ -39,15 +39,15 @@ class UserController extends Controller {
// TODO implement UserController::edit();
}
public function login() {
$user = User::getByFilter(array('uuid' => $this->view->request->get['uuid']));
public function login() { // TODO add session handling
$user = User::getByUuid($this->view->request->get['uuid']);
if ($user->checkPasswort($this->view->request->get['password'])) {
$_SESSION['user_id'] = $user->id; // TODO add session handling
$_SESSION['user_id'] = $user->id;
}
}
public function logout() {
public function logout() { // TODO add session handling
if ($_SESSION['user_id']) {
unset($_SESSION['user_id']);
}

View file

@ -136,19 +136,6 @@ abstract class Channel extends DatabaseObject implements ChannelInterface {
return array_reverse($packages); // start with oldest ts and ends with newest ts (reverse array order due to descending order in sql statement)
}
/*
* simple self::getByFilter() wrapper
*/
static public function getByUcid($ucid) {
$channel = current(self::getByFilter(array('ucid' => $ucid)));
if ($channel === false) {
throw new InvalidArgumentException('No such channel!');
}
return $channel;
}
/*
* simple self::getByFilter() wrapper
*/

View file

@ -27,16 +27,16 @@ class OneWireSensor extends Sensor {
const unit = 'todo';
/*
* all 1-wire sensor should use a ucid with this prefix followed by their unique rom id
* all 1-wire sensor should use a uuid with this prefix followed by their unique rom id
*/
static public $ucidPrefix = '07506920-6e7a-11df-';
static public $uuidPrefix = '07506920-6e7a-11df-';
/*
* the first byte of the rom id contains the family id describing the type of the sensors
* the rom id should be included in the ucid of the sensor. so we can determine the family out of the ucid.
* the rom id should be included in the uuid of the sensor. so we can determine the family out of the uuid.
*/
static function getFamilyDescription($channel) {
$family = base_convert(substr($channel->ucid, 19, 2), 16, 10);
$family = base_convert(substr($channel->uuid, 19, 2), 16, 10);
switch($family) {
case 0x01:

View file

@ -114,6 +114,19 @@ abstract class DatabaseObject {
$this->dbh->execute('DELETE FROM ' . static::table . ' WHERE id = ' . (int) $this->id); // delete from database
unset($this->data['id']);
}
/*
* simple self::getByFilter() wrapper
*/
public static function getByUuid($uuid) {
$obj = current(self::getByFilter(array('uuid' => $uuid)));
if ($obj === false) {
throw new InvalidArgumentException('No such object!');
}
return $obj;
}
/*
* data filtering

View file

@ -37,16 +37,6 @@ class Group extends DatabaseObject {
return $groups;
}
public static function getByUgid($ugid) {
$group = current(self::getByFilter(array('ugid' => $ugid)));
if ($group === false) {
throw new InvalidArgumentException('No such group!');
}
return $group;
}
public function getUsers($recursive = false) {
$groups[$this->id] = $this;
if ($recursive === true) {

View file

@ -25,19 +25,6 @@
class User extends DatabaseObject {
const table = 'users';
/*
* simple self::getByFilter() wrapper
*/
public static function getByUuid($uuid) {
$user = current(self::getByFilter(array('uuid' => $uuid)));
if ($user === false) {
throw new InvalidArgumentException('No such user!');
}
return $user;
}
public static function getByEMail($email) {
$user = current(self::getByFilter(array('email' => $email)));

View file

@ -52,7 +52,7 @@ class JsonView extends View {
public function addChannel(Channel $obj, $data = NULL) {
$channel['id'] = (int) $obj->id;
$channel['ucid'] = $obj->ucid;
$channel['uuid'] = $obj->uuid;
$channel['type'] = $obj->type;
$channel['unit'] = $obj->unit;
$channel['description'] = $obj->description;
@ -78,7 +78,7 @@ class JsonView extends View {
public function addGroup(Group $obj) {
$group['id'] = (int) $obj->id;
$group['ugid'] = $obj->ugid;
$group['uuid'] = $obj->uuid;
$group['description'] = $obj->description;
// TODO include sub groups?

View file

@ -51,7 +51,7 @@ class XmlView extends View {
$xmlChannel = $this->xmlDoc->createElement('channel');
$xmlChannel->setAttribute('id', (int) $obj->id);
$xmlChannel->appendChild($this->xmlDoc->createElement('ucid', $obj->ucid));
$xmlChannel->appendChild($this->xmlDoc->createElement('uuid', $obj->uuid));
$xmlChannel->appendChild($this->xmlDoc->createElement('type', $obj->type));
$xmlChannel->appendChild($this->xmlDoc->createElement('unit', $obj->unit));
$xmlChannel->appendChild($this->xmlDoc->createElement('description', $obj->description));
@ -88,7 +88,7 @@ class XmlView extends View {
public function addGroup(Group $obj) {
$xmlGroup = $this->xmlDoc->createElement('group');
$xmlGroup->setAttribute('id', (int) $obj->id);
$xmlGroup->appendChild($this->xmlDoc->createElement('ugid', $obj->uuid));
$xmlGroup->appendChild($this->xmlDoc->createElement('uuid', $obj->uuid));
$xmlGroup->appendChild($this->xmlDoc->createElement('description', $obj->description));
// TODO include sub groups?

View file

@ -3,7 +3,7 @@
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 08. Juni 2010 um 01:55
-- Erstellungszeit: 13. Juni 2010 um 14:22
-- Server Version: 5.1.41
-- PHP-Version: 5.3.2-1ubuntu4.2
@ -27,20 +27,20 @@ SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATE TABLE IF NOT EXISTS `channels` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ucid` varchar(36) CHARACTER SET latin1 NOT NULL COMMENT 'globally Unique Channel ID',
`uuid` varchar(36) CHARACTER SET latin1 NOT NULL COMMENT 'Universally Unique Identifier',
`type` varchar(255) COLLATE utf8_unicode_ci DEFAULT 'Channel' COMMENT 'maps meter to classname (caseinsensitive)',
`resolution` int(11) DEFAULT NULL,
`cost` int(11) DEFAULT '0',
`description` varchar(255) CHARACTER SET latin1 DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `ucid` (`ucid`)
UNIQUE KEY `ucid` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='channels with detailed data' AUTO_INCREMENT=22 ;
--
-- Daten für Tabelle `channels`
--
INSERT INTO `channels` (`id`, `ucid`, `type`, `resolution`, `cost`, `description`) VALUES
INSERT INTO `channels` (`id`, `uuid`, `type`, `resolution`, `cost`, `description`) VALUES
(1, '12345678-1234-1234-1234-123456789012', 'PowerMeter', 2000, 0, 'test2'),
(2, '12345678-1234-1234-1234-123456789013', 'PowerMeter', 2000, 0, 'Demo Meter'),
(17, '07506920-6e7a-11df-1012-6D300080077', 'OneWireSensor', NULL, 0, 'DS1820/DS18S20/DS1920 Temperature Sensor'),
@ -59,7 +59,7 @@ CREATE TABLE IF NOT EXISTS `data` (
`channel_id` int(11) NOT NULL,
`timestamp` bigint(20) NOT NULL COMMENT 'in seconds since 1970',
`value` float NOT NULL COMMENT 'absolute sensor value or pulse since last timestamp (dependening on "meters.type")',
KEY `meter_id` (`channel_id`)
KEY `channel_id` (`channel_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='data for all meters, regardless of which type they are';
--
@ -6115,321 +6115,321 @@ INSERT INTO `data` (`channel_id`, `timestamp`, `value`) VALUES
(19, 1275812705000, 24.6875),
(20, 1275812706000, 34.375),
(21, 1275812707000, 23.8125),
(17, 1275813002, 25.3125),
(18, 1275813004, 25.3125),
(19, 1275813005, 24.75),
(20, 1275813006, 35.4375),
(21, 1275813007, 24.125),
(17, 1275813303, 25.3125),
(18, 1275813305, 25.375),
(19, 1275813306, 24.75),
(20, 1275813307, 36.875),
(21, 1275813309, 24.1875),
(17, 1275813602, 25.4375),
(18, 1275813603, 25.375),
(19, 1275813605, 24.8125),
(20, 1275813606, 37.4375),
(21, 1275813607, 24.25),
(17, 1275813902, 25.3125),
(18, 1275813904, 25.3125),
(19, 1275813905, 24.875),
(20, 1275813906, 37.9375),
(21, 1275813908, 24.6875),
(17, 1275814202, 25.4375),
(18, 1275814204, 25.3125),
(19, 1275814205, 24.9375),
(20, 1275814206, 38.4375),
(21, 1275814208, 25.1875),
(17, 1275814502, 25.4375),
(18, 1275814504, 25.375),
(19, 1275814505, 24.875),
(20, 1275814506, 38.3125),
(21, 1275814508, 25.375),
(17, 1275814802, 25.4375),
(18, 1275814804, 25.4375),
(19, 1275814805, 24.8125),
(20, 1275814806, 38.3125),
(21, 1275814808, 25.4375),
(17, 1275815102, 25.4375),
(18, 1275815104, 25.375),
(19, 1275815105, 24.75),
(20, 1275815106, 38.4375),
(21, 1275815108, 25.5),
(17, 1275815402, 25.5625),
(18, 1275815403, 25.4375),
(19, 1275815405, 24.9375),
(20, 1275815406, 38.625),
(21, 1275815407, 25.75),
(17, 1275815703, 25.625),
(18, 1275815704, 25.4375),
(19, 1275815705, 25.0625),
(20, 1275815706, 39.0625),
(21, 1275815708, 26),
(17, 1275816003, 25.625),
(18, 1275816004, 25.4375),
(19, 1275816005, 25),
(20, 1275816007, 39.3125),
(21, 1275816008, 26.125),
(17, 1275816303, 25.5625),
(18, 1275816305, 25.4375),
(19, 1275816306, 24.9375),
(20, 1275816307, 39.3125),
(21, 1275816309, 26.625),
(17, 1275816603, 25.625),
(18, 1275816604, 25.5),
(19, 1275816606, 24.9375),
(20, 1275816607, 39.5),
(21, 1275816608, 26.5625),
(17, 1275816902, 25.75),
(18, 1275816904, 25.4375),
(19, 1275816905, 25.0625),
(20, 1275816906, 39.625),
(21, 1275816908, 26.9375),
(17, 1275817203, 25.75),
(18, 1275817204, 25.4375),
(19, 1275817205, 25.0625),
(20, 1275817207, 39.5625),
(21, 1275817208, 27.125),
(17, 1275817503, 25.5625),
(18, 1275817504, 25.4375),
(19, 1275817505, 24.9375),
(20, 1275817507, 39.625),
(21, 1275817508, 27.1875),
(17, 1275817803, 25.625),
(18, 1275817805, 25.4375),
(19, 1275817806, 24.9375),
(20, 1275817807, 39.625),
(21, 1275817809, 27.625),
(17, 1275818103, 25.625),
(18, 1275818105, 25.5),
(19, 1275818106, 24.9375),
(20, 1275818107, 39.625),
(21, 1275818109, 27.75),
(17, 1275818404, 25.875),
(18, 1275818405, 25.5),
(19, 1275818406, 25.1875),
(20, 1275818408, 39.625),
(21, 1275818409, 28.3125),
(17, 1275818703, 25.75),
(18, 1275818704, 25.5),
(19, 1275818706, 25),
(20, 1275818707, 39.75),
(21, 1275818708, 27.9375),
(17, 1275819003, 25.8125),
(18, 1275819004, 25.5),
(19, 1275819005, 25.0625),
(20, 1275819007, 39.8125),
(21, 1275819008, 28.125),
(17, 1275819302, 25.75),
(18, 1275819304, 25.5625),
(19, 1275819305, 25),
(20, 1275819306, 39.625),
(21, 1275819308, 28.5625),
(17, 1275819603, 25.75),
(18, 1275819604, 25.5625),
(19, 1275819605, 25),
(20, 1275819607, 39.6875),
(21, 1275819608, 29),
(17, 1275819902, 25.6875),
(18, 1275819904, 25.75),
(19, 1275819905, 25),
(20, 1275819906, 40.25),
(21, 1275819908, 29.25),
(17, 1275820203, 25.6875),
(18, 1275820204, 25.5625),
(19, 1275820205, 25),
(20, 1275820206, 40.5625),
(21, 1275820208, 28.8125),
(17, 1275820503, 25.6875),
(18, 1275820505, 25.5625),
(19, 1275820506, 24.9375),
(20, 1275820507, 40.4375),
(21, 1275820509, 29.1875),
(17, 1275820802, 25.6875),
(18, 1275820804, 25.6875),
(19, 1275820805, 25),
(20, 1275820806, 40.125),
(21, 1275820808, 29.5),
(17, 1275821103, 25.875),
(18, 1275821104, 25.625),
(19, 1275821105, 25.1875),
(20, 1275821107, 39.6875),
(21, 1275821108, 30.6875),
(17, 1275821402, 26),
(18, 1275821403, 25.6875),
(19, 1275821404, 25.25),
(20, 1275821406, 39.5),
(21, 1275821407, 30.625),
(17, 1275821702, 26.1875),
(18, 1275821704, 25.9375),
(19, 1275821705, 25.5),
(20, 1275821706, 39.4375),
(21, 1275821708, 31.1875),
(17, 1275822003, 26.0625),
(18, 1275822004, 25.9375),
(19, 1275822005, 25.375),
(20, 1275822007, 39.625),
(21, 1275822008, 31.0625),
(17, 1275822303, 26),
(18, 1275822304, 25.9375),
(19, 1275822306, 25.3125),
(20, 1275822307, 39.6875),
(21, 1275822308, 31.4375),
(17, 1275822603, 26.125),
(18, 1275822604, 25.9375),
(19, 1275822606, 25.375),
(20, 1275822607, 39.6875),
(21, 1275822608, 31.625),
(17, 1275822902, 26),
(18, 1275822904, 25.875),
(19, 1275822905, 25.3125),
(20, 1275822906, 39.9375),
(21, 1275822908, 31.375),
(17, 1275823202, 26.0625),
(18, 1275823203, 26.1875),
(19, 1275823205, 25.3125),
(20, 1275823206, 40.1875),
(21, 1275823207, 31.5),
(17, 1275823503, 26),
(18, 1275823504, 26.1875),
(19, 1275823505, 25.3125),
(20, 1275823507, 40.125),
(21, 1275823508, 31.375),
(17, 1275823803, 26),
(18, 1275823804, 26.25),
(19, 1275823805, 25.3125),
(20, 1275823807, 40.125),
(21, 1275823808, 32),
(17, 1275824103, 26.1875),
(18, 1275824104, 26.25),
(19, 1275824105, 25.5),
(20, 1275824107, 40.4375),
(21, 1275824108, 33.5),
(17, 1275824403, 26.4375),
(18, 1275824404, 26.375),
(19, 1275824405, 25.75),
(20, 1275824407, 40.5),
(21, 1275824408, 35.0625),
(17, 1275824703, 26.375),
(18, 1275824705, 26.4375),
(19, 1275824706, 25.625),
(20, 1275824707, 40.375),
(21, 1275824709, 35.125),
(17, 1275825002, 26.5625),
(18, 1275825004, 26.5),
(19, 1275825005, 25.875),
(20, 1275825006, 40.8125),
(21, 1275825008, 36.1875),
(17, 1275825303, 26.5625),
(18, 1275825304, 26.625),
(19, 1275825305, 25.9375),
(20, 1275825307, 40.625),
(21, 1275825308, 36.5),
(17, 1275825603, 26.6875),
(18, 1275825605, 27),
(19, 1275825606, 26),
(20, 1275825607, 40),
(21, 1275825608, 36.5),
(17, 1275825902, 26.8125),
(18, 1275825904, 27.0625),
(19, 1275825905, 26.1875),
(20, 1275825906, 39.75),
(21, 1275825908, 37.75),
(17, 1275826202, 26.9375),
(18, 1275826203, 27.125),
(19, 1275826205, 26.25),
(20, 1275826206, 39.6875),
(21, 1275826207, 36.625),
(17, 1275826503, 26.875),
(18, 1275826504, 27.0625),
(19, 1275826505, 26.125),
(20, 1275826507, 39.625),
(21, 1275826508, 34.0625),
(17, 1275826802, 26.625),
(18, 1275826804, 26.75),
(19, 1275826805, 25.875),
(20, 1275826806, 39.8125),
(21, 1275826808, 32.5),
(17, 1275827103, 26.6875),
(18, 1275827104, 26.9375),
(19, 1275827105, 25.9375),
(20, 1275827107, 40.25),
(21, 1275827108, 32.4375),
(17, 1275827403, 26.5625),
(18, 1275827405, 26.75),
(19, 1275827406, 25.8125),
(20, 1275827407, 40.3125),
(21, 1275827408, 31.75),
(17, 1275827702, 26.625),
(18, 1275827704, 26.625),
(19, 1275827705, 25.8125),
(20, 1275827706, 40.4375),
(21, 1275827708, 31),
(17, 1275828002, 26.6875),
(18, 1275828003, 26.6875),
(19, 1275828005, 25.875),
(20, 1275828006, 40.3125),
(21, 1275828007, 31.9375),
(17, 1275828302, 26.875),
(18, 1275828304, 26.8125),
(19, 1275828305, 26.0625),
(20, 1275828306, 40.375),
(21, 1275828308, 32.6875),
(17, 1275828603, 26.6875),
(18, 1275828604, 26.625),
(19, 1275828605, 25.875),
(20, 1275828607, 40.3125),
(21, 1275828608, 31.375),
(17, 1275828902, 26.625),
(18, 1275828903, 26.625),
(19, 1275828905, 25.75),
(20, 1275828906, 40.125),
(21, 1275828907, 30.375),
(17, 1275829203, 26.5625),
(18, 1275829204, 26.375),
(19, 1275829205, 25.6875),
(20, 1275829207, 40.125),
(21, 1275829208, 30.5625),
(17, 1275829503, 26.5625),
(18, 1275829504, 26.3125),
(19, 1275829505, 25.75),
(20, 1275829507, 40.4375),
(21, 1275829508, 30.3125),
(17, 1275829803, 26.6875),
(18, 1275829804, 26.125),
(19, 1275829805, 25.9375),
(20, 1275829807, 40.375),
(21, 1275829808, 29.8125),
(17, 1275830103, 26.4375),
(18, 1275830105, 26.125),
(19, 1275830106, 25.5625),
(20, 1275830107, 40.1875),
(21, 1275830108, 29.375),
(17, 1275830403, 26.125),
(18, 1275830404, 26),
(19, 1275830405, 25.375),
(20, 1275830407, 40),
(21, 1275830408, 28.8125),
(17, 1275830704, 26.125),
(18, 1275830705, 26),
(19, 1275830707, 25.3125),
(20, 1275830708, 39.9375),
(21, 1275830709, 26.3125),
(17, 1275831004, 26),
(18, 1275831005, 25.9375),
(19, 1275831007, 25.25),
(20, 1275831008, 40),
(21, 1275831009, 23),
(17, 1275831302, 26),
(18, 1275831303, 25.9375),
(19, 1275831305, 25.25),
(20, 1275831306, 40),
(21, 1275831307, 21.5),
(17, 1275831603, 26.125),
(18, 1275831604, 25.875),
(19, 1275831605, 25.375),
(20, 1275831606, 39.9375),
(21, 1275831608, 20.5);
(17, 1275813002000, 25.3125),
(18, 1275813004000, 25.3125),
(19, 1275813005000, 24.75),
(20, 1275813006000, 35.4375),
(21, 1275813007000, 24.125),
(17, 1275813303000, 25.3125),
(18, 1275813305000, 25.375),
(19, 1275813306000, 24.75),
(20, 1275813307000, 36.875),
(21, 1275813309000, 24.1875),
(17, 1275813602000, 25.4375),
(18, 1275813603000, 25.375),
(19, 1275813605000, 24.8125),
(20, 1275813606000, 37.4375),
(21, 1275813607000, 24.25),
(17, 1275813902000, 25.3125),
(18, 1275813904000, 25.3125),
(19, 1275813905000, 24.875),
(20, 1275813906000, 37.9375),
(21, 1275813908000, 24.6875),
(17, 1275814202000, 25.4375),
(18, 1275814204000, 25.3125),
(19, 1275814205000, 24.9375),
(20, 1275814206000, 38.4375),
(21, 1275814208000, 25.1875),
(17, 1275814502000, 25.4375),
(18, 1275814504000, 25.375),
(19, 1275814505000, 24.875),
(20, 1275814506000, 38.3125),
(21, 1275814508000, 25.375),
(17, 1275814802000, 25.4375),
(18, 1275814804000, 25.4375),
(19, 1275814805000, 24.8125),
(20, 1275814806000, 38.3125),
(21, 1275814808000, 25.4375),
(17, 1275815102000, 25.4375),
(18, 1275815104000, 25.375),
(19, 1275815105000, 24.75),
(20, 1275815106000, 38.4375),
(21, 1275815108000, 25.5),
(17, 1275815402000, 25.5625),
(18, 1275815403000, 25.4375),
(19, 1275815405000, 24.9375),
(20, 1275815406000, 38.625),
(21, 1275815407000, 25.75),
(17, 1275815703000, 25.625),
(18, 1275815704000, 25.4375),
(19, 1275815705000, 25.0625),
(20, 1275815706000, 39.0625),
(21, 1275815708000, 26),
(17, 1275816003000, 25.625),
(18, 1275816004000, 25.4375),
(19, 1275816005000, 25),
(20, 1275816007000, 39.3125),
(21, 1275816008000, 26.125),
(17, 1275816303000, 25.5625),
(18, 1275816305000, 25.4375),
(19, 1275816306000, 24.9375),
(20, 1275816307000, 39.3125),
(21, 1275816309000, 26.625),
(17, 1275816603000, 25.625),
(18, 1275816604000, 25.5),
(19, 1275816606000, 24.9375),
(20, 1275816607000, 39.5),
(21, 1275816608000, 26.5625),
(17, 1275816902000, 25.75),
(18, 1275816904000, 25.4375),
(19, 1275816905000, 25.0625),
(20, 1275816906000, 39.625),
(21, 1275816908000, 26.9375),
(17, 1275817203000, 25.75),
(18, 1275817204000, 25.4375),
(19, 1275817205000, 25.0625),
(20, 1275817207000, 39.5625),
(21, 1275817208000, 27.125),
(17, 1275817503000, 25.5625),
(18, 1275817504000, 25.4375),
(19, 1275817505000, 24.9375),
(20, 1275817507000, 39.625),
(21, 1275817508000, 27.1875),
(17, 1275817803000, 25.625),
(18, 1275817805000, 25.4375),
(19, 1275817806000, 24.9375),
(20, 1275817807000, 39.625),
(21, 1275817809000, 27.625),
(17, 1275818103000, 25.625),
(18, 1275818105000, 25.5),
(19, 1275818106000, 24.9375),
(20, 1275818107000, 39.625),
(21, 1275818109000, 27.75),
(17, 1275818404000, 25.875),
(18, 1275818405000, 25.5),
(19, 1275818406000, 25.1875),
(20, 1275818408000, 39.625),
(21, 1275818409000, 28.3125),
(17, 1275818703000, 25.75),
(18, 1275818704000, 25.5),
(19, 1275818706000, 25),
(20, 1275818707000, 39.75),
(21, 1275818708000, 27.9375),
(17, 1275819003000, 25.8125),
(18, 1275819004000, 25.5),
(19, 1275819005000, 25.0625),
(20, 1275819007000, 39.8125),
(21, 1275819008000, 28.125),
(17, 1275819302000, 25.75),
(18, 1275819304000, 25.5625),
(19, 1275819305000, 25),
(20, 1275819306000, 39.625),
(21, 1275819308000, 28.5625),
(17, 1275819603000, 25.75),
(18, 1275819604000, 25.5625),
(19, 1275819605000, 25),
(20, 1275819607000, 39.6875),
(21, 1275819608000, 29),
(17, 1275819902000, 25.6875),
(18, 1275819904000, 25.75),
(19, 1275819905000, 25),
(20, 1275819906000, 40.25),
(21, 1275819908000, 29.25),
(17, 1275820203000, 25.6875),
(18, 1275820204000, 25.5625),
(19, 1275820205000, 25),
(20, 1275820206000, 40.5625),
(21, 1275820208000, 28.8125),
(17, 1275820503000, 25.6875),
(18, 1275820505000, 25.5625),
(19, 1275820506000, 24.9375),
(20, 1275820507000, 40.4375),
(21, 1275820509000, 29.1875),
(17, 1275820802000, 25.6875),
(18, 1275820804000, 25.6875),
(19, 1275820805000, 25),
(20, 1275820806000, 40.125),
(21, 1275820808000, 29.5),
(17, 1275821103000, 25.875),
(18, 1275821104000, 25.625),
(19, 1275821105000, 25.1875),
(20, 1275821107000, 39.6875),
(21, 1275821108000, 30.6875),
(17, 1275821402000, 26),
(18, 1275821403000, 25.6875),
(19, 1275821404000, 25.25),
(20, 1275821406000, 39.5),
(21, 1275821407000, 30.625),
(17, 1275821702000, 26.1875),
(18, 1275821704000, 25.9375),
(19, 1275821705000, 25.5),
(20, 1275821706000, 39.4375),
(21, 1275821708000, 31.1875),
(17, 1275822003000, 26.0625),
(18, 1275822004000, 25.9375),
(19, 1275822005000, 25.375),
(20, 1275822007000, 39.625),
(21, 1275822008000, 31.0625),
(17, 1275822303000, 26),
(18, 1275822304000, 25.9375),
(19, 1275822306000, 25.3125),
(20, 1275822307000, 39.6875),
(21, 1275822308000, 31.4375),
(17, 1275822603000, 26.125),
(18, 1275822604000, 25.9375),
(19, 1275822606000, 25.375),
(20, 1275822607000, 39.6875),
(21, 1275822608000, 31.625),
(17, 1275822902000, 26),
(18, 1275822904000, 25.875),
(19, 1275822905000, 25.3125),
(20, 1275822906000, 39.9375),
(21, 1275822908000, 31.375),
(17, 1275823202000, 26.0625),
(18, 1275823203000, 26.1875),
(19, 1275823205000, 25.3125),
(20, 1275823206000, 40.1875),
(21, 1275823207000, 31.5),
(17, 1275823503000, 26),
(18, 1275823504000, 26.1875),
(19, 1275823505000, 25.3125),
(20, 1275823507000, 40.125),
(21, 1275823508000, 31.375),
(17, 1275823803000, 26),
(18, 1275823804000, 26.25),
(19, 1275823805000, 25.3125),
(20, 1275823807000, 40.125),
(21, 1275823808000, 32),
(17, 1275824103000, 26.1875),
(18, 1275824104000, 26.25),
(19, 1275824105000, 25.5),
(20, 1275824107000, 40.4375),
(21, 1275824108000, 33.5),
(17, 1275824403000, 26.4375),
(18, 1275824404000, 26.375),
(19, 1275824405000, 25.75),
(20, 1275824407000, 40.5),
(21, 1275824408000, 35.0625),
(17, 1275824703000, 26.375),
(18, 1275824705000, 26.4375),
(19, 1275824706000, 25.625),
(20, 1275824707000, 40.375),
(21, 1275824709000, 35.125),
(17, 1275825002000, 26.5625),
(18, 1275825004000, 26.5),
(19, 1275825005000, 25.875),
(20, 1275825006000, 40.8125),
(21, 1275825008000, 36.1875),
(17, 1275825303000, 26.5625),
(18, 1275825304000, 26.625),
(19, 1275825305000, 25.9375),
(20, 1275825307000, 40.625),
(21, 1275825308000, 36.5),
(17, 1275825603000, 26.6875),
(18, 1275825605000, 27),
(19, 1275825606000, 26),
(20, 1275825607000, 40),
(21, 1275825608000, 36.5),
(17, 1275825902000, 26.8125),
(18, 1275825904000, 27.0625),
(19, 1275825905000, 26.1875),
(20, 1275825906000, 39.75),
(21, 1275825908000, 37.75),
(17, 1275826202000, 26.9375),
(18, 1275826203000, 27.125),
(19, 1275826205000, 26.25),
(20, 1275826206000, 39.6875),
(21, 1275826207000, 36.625),
(17, 1275826503000, 26.875),
(18, 1275826504000, 27.0625),
(19, 1275826505000, 26.125),
(20, 1275826507000, 39.625),
(21, 1275826508000, 34.0625),
(17, 1275826802000, 26.625),
(18, 1275826804000, 26.75),
(19, 1275826805000, 25.875),
(20, 1275826806000, 39.8125),
(21, 1275826808000, 32.5),
(17, 1275827103000, 26.6875),
(18, 1275827104000, 26.9375),
(19, 1275827105000, 25.9375),
(20, 1275827107000, 40.25),
(21, 1275827108000, 32.4375),
(17, 1275827403000, 26.5625),
(18, 1275827405000, 26.75),
(19, 1275827406000, 25.8125),
(20, 1275827407000, 40.3125),
(21, 1275827408000, 31.75),
(17, 1275827702000, 26.625),
(18, 1275827704000, 26.625),
(19, 1275827705000, 25.8125),
(20, 1275827706000, 40.4375),
(21, 1275827708000, 31),
(17, 1275828002000, 26.6875),
(18, 1275828003000, 26.6875),
(19, 1275828005000, 25.875),
(20, 1275828006000, 40.3125),
(21, 1275828007000, 31.9375),
(17, 1275828302000, 26.875),
(18, 1275828304000, 26.8125),
(19, 1275828305000, 26.0625),
(20, 1275828306000, 40.375),
(21, 1275828308000, 32.6875),
(17, 1275828603000, 26.6875),
(18, 1275828604000, 26.625),
(19, 1275828605000, 25.875),
(20, 1275828607000, 40.3125),
(21, 1275828608000, 31.375),
(17, 1275828902000, 26.625),
(18, 1275828903000, 26.625),
(19, 1275828905000, 25.75),
(20, 1275828906000, 40.125),
(21, 1275828907000, 30.375),
(17, 1275829203000, 26.5625),
(18, 1275829204000, 26.375),
(19, 1275829205000, 25.6875),
(20, 1275829207000, 40.125),
(21, 1275829208000, 30.5625),
(17, 1275829503000, 26.5625),
(18, 1275829504000, 26.3125),
(19, 1275829505000, 25.75),
(20, 1275829507000, 40.4375),
(21, 1275829508000, 30.3125),
(17, 1275829803000, 26.6875),
(18, 1275829804000, 26.125),
(19, 1275829805000, 25.9375),
(20, 1275829807000, 40.375),
(21, 1275829808000, 29.8125),
(17, 1275830103000, 26.4375),
(18, 1275830105000, 26.125),
(19, 1275830106000, 25.5625),
(20, 1275830107000, 40.1875),
(21, 1275830108000, 29.375),
(17, 1275830403000, 26.125),
(18, 1275830404000, 26),
(19, 1275830405000, 25.375),
(20, 1275830407000, 40),
(21, 1275830408000, 28.8125),
(17, 1275830704000, 26.125),
(18, 1275830705000, 26),
(19, 1275830707000, 25.3125),
(20, 1275830708000, 39.9375),
(21, 1275830709000, 26.3125),
(17, 1275831004000, 26),
(18, 1275831005000, 25.9375),
(19, 1275831007000, 25.25),
(20, 1275831008000, 40),
(21, 1275831009000, 23),
(17, 1275831302000, 26),
(18, 1275831303000, 25.9375),
(19, 1275831305000, 25.25),
(20, 1275831306000, 40),
(21, 1275831307000, 21.5),
(17, 1275831603000, 26.125),
(18, 1275831604000, 25.875),
(19, 1275831605000, 25.375),
(20, 1275831606000, 39.9375),
(21, 1275831608000, 20.5);
-- --------------------------------------------------------
@ -6439,17 +6439,17 @@ INSERT INTO `data` (`channel_id`, `timestamp`, `value`) VALUES
CREATE TABLE IF NOT EXISTS `groups` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ugid` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
`uuid` varchar(36) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Universally Unique Identifier',
`description` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `ugid` (`ugid`)
UNIQUE KEY `ugid` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
--
-- Daten für Tabelle `groups`
--
INSERT INTO `groups` (`id`, `ugid`, `description`) VALUES
INSERT INTO `groups` (`id`, `uuid`, `description`) VALUES
(1, '6185b05b-72b8-4d14-bbcf-cacadb2e35ec', 'Zähler von Steffen'),
(2, '530171f0-34aa-4787-bc86-0c3ee1a55398', 'Temperatursensoren'),
(3, 'efe83f57-3d41-4cde-9c6b-77783112891b', '1-Wire Sensoren mit digitemp'),
@ -6513,6 +6513,7 @@ INSERT INTO `group_group` (`parent_id`, `child_id`) VALUES
CREATE TABLE IF NOT EXISTS `group_user` (
`group_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`role` enum('member','owner') NOT NULL,
KEY `user_id` (`user_id`),
KEY `group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@ -6521,10 +6522,10 @@ CREATE TABLE IF NOT EXISTS `group_user` (
-- Daten für Tabelle `group_user`
--
INSERT INTO `group_user` (`group_id`, `user_id`) VALUES
(1, 1),
(2, 1),
(2, 2);
INSERT INTO `group_user` (`group_id`, `user_id`, `role`) VALUES
(1, 1, 'member'),
(2, 1, 'member'),
(2, 2, 'member');
-- --------------------------------------------------------
@ -6534,7 +6535,7 @@ INSERT INTO `group_user` (`group_id`, `user_id`) VALUES
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uuid` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
`uuid` varchar(36) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Universally Unique Identifier',
`email` varchar(255) CHARACTER SET latin1 NOT NULL COMMENT 'also used for login',
`password` varchar(40) CHARACTER SET latin1 NOT NULL COMMENT 'SHA1() hashed',
PRIMARY KEY (`id`),
@ -6564,19 +6565,19 @@ ALTER TABLE `data`
-- Constraints der Tabelle `group_channel`
--
ALTER TABLE `group_channel`
ADD CONSTRAINT `group_channel_ibfk_4` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_channel_ibfk_3` FOREIGN KEY (`channel_id`) REFERENCES `channels` (`id`) ON DELETE CASCADE;
ADD CONSTRAINT `group_channel_ibfk_3` FOREIGN KEY (`channel_id`) REFERENCES `channels` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_channel_ibfk_4` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE;
--
-- Constraints der Tabelle `group_group`
--
ALTER TABLE `group_group`
ADD CONSTRAINT `group_group_ibfk_4` FOREIGN KEY (`child_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_group_ibfk_3` FOREIGN KEY (`parent_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE;
ADD CONSTRAINT `group_group_ibfk_3` FOREIGN KEY (`parent_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_group_ibfk_4` FOREIGN KEY (`child_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE;
--
-- Constraints der Tabelle `group_user`
--
ALTER TABLE `group_user`
ADD CONSTRAINT `group_user_ibfk_4` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_user_ibfk_3` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE;
ADD CONSTRAINT `group_user_ibfk_3` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_user_ibfk_4` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

View file

@ -3,7 +3,7 @@
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 08. Juni 2010 um 01:54
-- Erstellungszeit: 13. Juni 2010 um 14:23
-- Server Version: 5.1.41
-- PHP-Version: 5.3.2-1ubuntu4.2
@ -25,15 +25,16 @@ SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
-- Tabellenstruktur für Tabelle `channels`
--
CREATE TABLE IF NOT EXISTS `channels` (
DROP TABLE IF EXISTS `channels`;
CREATE TABLE `channels` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ucid` varchar(36) CHARACTER SET latin1 NOT NULL COMMENT 'globally Unique Channel ID',
`uuid` varchar(36) CHARACTER SET latin1 NOT NULL COMMENT 'Universally Unique Identifier',
`type` varchar(255) COLLATE utf8_unicode_ci DEFAULT 'Channel' COMMENT 'maps meter to classname (caseinsensitive)',
`resolution` int(11) DEFAULT NULL,
`cost` int(11) DEFAULT '0',
`description` varchar(255) CHARACTER SET latin1 DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `ucid` (`ucid`)
UNIQUE KEY `ucid` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='channels with detailed data';
-- --------------------------------------------------------
@ -42,11 +43,12 @@ CREATE TABLE IF NOT EXISTS `channels` (
-- Tabellenstruktur für Tabelle `data`
--
CREATE TABLE IF NOT EXISTS `data` (
DROP TABLE IF EXISTS `data`;
CREATE TABLE `data` (
`channel_id` int(11) NOT NULL,
`timestamp` bigint(20) NOT NULL COMMENT 'in seconds since 1970',
`value` float NOT NULL COMMENT 'absolute sensor value or pulse since last timestamp (dependening on "meters.type")',
KEY `meter_id` (`channel_id`)
KEY `channel_id` (`channel_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='data for all meters, regardless of which type they are';
-- --------------------------------------------------------
@ -55,12 +57,13 @@ CREATE TABLE IF NOT EXISTS `data` (
-- Tabellenstruktur für Tabelle `groups`
--
CREATE TABLE IF NOT EXISTS `groups` (
DROP TABLE IF EXISTS `groups`;
CREATE TABLE `groups` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ugid` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
`uuid` varchar(36) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Universally Unique Identifier',
`description` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `ugid` (`ugid`)
UNIQUE KEY `ugid` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- --------------------------------------------------------
@ -69,7 +72,8 @@ CREATE TABLE IF NOT EXISTS `groups` (
-- Tabellenstruktur für Tabelle `group_channel`
--
CREATE TABLE IF NOT EXISTS `group_channel` (
DROP TABLE IF EXISTS `group_channel`;
CREATE TABLE `group_channel` (
`channel_id` int(11) NOT NULL,
`group_id` int(11) NOT NULL,
KEY `channel_id` (`channel_id`),
@ -82,7 +86,8 @@ CREATE TABLE IF NOT EXISTS `group_channel` (
-- Tabellenstruktur für Tabelle `group_group`
--
CREATE TABLE IF NOT EXISTS `group_group` (
DROP TABLE IF EXISTS `group_group`;
CREATE TABLE `group_group` (
`parent_id` int(11) NOT NULL,
`child_id` int(11) NOT NULL,
KEY `parent_id` (`parent_id`),
@ -95,9 +100,11 @@ CREATE TABLE IF NOT EXISTS `group_group` (
-- Tabellenstruktur für Tabelle `group_user`
--
CREATE TABLE IF NOT EXISTS `group_user` (
DROP TABLE IF EXISTS `group_user`;
CREATE TABLE `group_user` (
`group_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`role` enum('member','owner') NOT NULL,
KEY `user_id` (`user_id`),
KEY `group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@ -108,9 +115,10 @@ CREATE TABLE IF NOT EXISTS `group_user` (
-- Tabellenstruktur für Tabelle `users`
--
CREATE TABLE IF NOT EXISTS `users` (
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uuid` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
`uuid` varchar(36) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Universally Unique Identifier',
`email` varchar(255) CHARACTER SET latin1 NOT NULL COMMENT 'also used for login',
`password` varchar(40) CHARACTER SET latin1 NOT NULL COMMENT 'SHA1() hashed',
PRIMARY KEY (`id`),
@ -132,19 +140,19 @@ ALTER TABLE `data`
-- Constraints der Tabelle `group_channel`
--
ALTER TABLE `group_channel`
ADD CONSTRAINT `group_channel_ibfk_4` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_channel_ibfk_3` FOREIGN KEY (`channel_id`) REFERENCES `channels` (`id`) ON DELETE CASCADE;
ADD CONSTRAINT `group_channel_ibfk_3` FOREIGN KEY (`channel_id`) REFERENCES `channels` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_channel_ibfk_4` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE;
--
-- Constraints der Tabelle `group_group`
--
ALTER TABLE `group_group`
ADD CONSTRAINT `group_group_ibfk_4` FOREIGN KEY (`child_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_group_ibfk_3` FOREIGN KEY (`parent_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE;
ADD CONSTRAINT `group_group_ibfk_3` FOREIGN KEY (`parent_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_group_ibfk_4` FOREIGN KEY (`child_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE;
--
-- Constraints der Tabelle `group_user`
--
ALTER TABLE `group_user`
ADD CONSTRAINT `group_user_ibfk_4` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_user_ibfk_3` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE;
ADD CONSTRAINT `group_user_ibfk_3` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `group_user_ibfk_4` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;