Merge remote-tracking branch 'jvelilla/roc_email' into ewf_v1
Conflicts: cms.ecf examples/demo/demo-safe.ecf examples/demo/site/scripts/user.sql examples/demo/src/ewf_roc_server.e
This commit is contained in:
@@ -27,6 +27,7 @@ feature {NONE} -- Initialization
|
||||
initialize
|
||||
ensure
|
||||
name_set: name = a_name
|
||||
status_not_active: status = not_active
|
||||
end
|
||||
|
||||
make_with_id (a_id: INTEGER_64)
|
||||
@@ -38,11 +39,13 @@ feature {NONE} -- Initialization
|
||||
initialize
|
||||
ensure
|
||||
id_set: id = a_id
|
||||
status_not_active: status = not_active
|
||||
end
|
||||
|
||||
initialize
|
||||
do
|
||||
create creation_date.make_now_utc
|
||||
mark_not_active
|
||||
end
|
||||
|
||||
feature -- Access
|
||||
@@ -71,6 +74,13 @@ feature -- Access
|
||||
last_login_date: detachable DATE_TIME
|
||||
-- User last login.
|
||||
|
||||
status: INTEGER
|
||||
-- Associated status for the current user.
|
||||
-- default: not_active
|
||||
-- active
|
||||
-- trashed
|
||||
|
||||
|
||||
feature -- Roles
|
||||
|
||||
roles: detachable LIST [CMS_USER_ROLE]
|
||||
@@ -118,6 +128,12 @@ feature -- Status report
|
||||
Result := other /= Void and then id = other.id
|
||||
end
|
||||
|
||||
is_active: BOOLEAN
|
||||
-- is the current user active?
|
||||
do
|
||||
Result := status = {CMS_USER}.active
|
||||
end
|
||||
|
||||
feature -- Change element
|
||||
|
||||
set_id (a_id: like id)
|
||||
@@ -225,6 +241,52 @@ feature -- Change element: data
|
||||
end
|
||||
end
|
||||
|
||||
feature -- Status change
|
||||
|
||||
mark_not_active
|
||||
-- Set status to not_active
|
||||
do
|
||||
set_status (not_active)
|
||||
ensure
|
||||
status_not_active: status = not_active
|
||||
end
|
||||
|
||||
mark_active
|
||||
-- Set status to active.
|
||||
do
|
||||
set_status (active)
|
||||
ensure
|
||||
status_active: status = active
|
||||
end
|
||||
|
||||
mark_trashed
|
||||
-- Set status to trashed.
|
||||
do
|
||||
set_status (trashed)
|
||||
ensure
|
||||
status_trash: status = trashed
|
||||
end
|
||||
|
||||
set_status (a_status: like status)
|
||||
-- Assign `status' with `a_status'.
|
||||
do
|
||||
status := a_status
|
||||
ensure
|
||||
status_set: status = a_status
|
||||
end
|
||||
|
||||
|
||||
feature -- User status
|
||||
|
||||
not_active: INTEGER = 0
|
||||
-- The user is not active.
|
||||
|
||||
active: INTEGER = 1
|
||||
-- The user is active
|
||||
|
||||
Trashed: INTEGER = -1
|
||||
-- The user is trashed (soft delete), ready to be deleted/destroyed from storage.
|
||||
|
||||
invariant
|
||||
|
||||
id_or_name_set: id > 0 or else not name.is_whitespace
|
||||
|
||||
30
library/persistence/mysql/scripts/core.sql
Normal file
30
library/persistence/mysql/scripts/core.sql
Normal file
@@ -0,0 +1,30 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE `logs` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`category` VARCHAR(255) NOT NULL,
|
||||
`level` int(11) NOT NULL,
|
||||
`uid` int(11) DEFAULT NULL,
|
||||
`message` text NOT NULL,
|
||||
`info` text,
|
||||
`link` text,
|
||||
`date` datetime NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
|
||||
CREATE TABLE `custom_values` (
|
||||
`type` VARCHAR(255) NOT NULL,
|
||||
`name` VARCHAR(255) NOT NULL,
|
||||
`value` VARCHAR(255) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE `path_aliases` (
|
||||
`pid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`source` varchar(255) NOT NULL,
|
||||
`alias` varchar(255) NOT NULL,
|
||||
`lang` varchar(12) DEFAULT NULL,
|
||||
PRIMARY KEY (`pid`)
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
|
||||
24
library/persistence/mysql/scripts/node.sql
Normal file
24
library/persistence/mysql/scripts/node.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE nodes (
|
||||
nid INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL CHECK( nid >=0),
|
||||
revision INTEGER,
|
||||
type TEXT NOT NULL,
|
||||
title VARCHAR(255) NOT NULL,
|
||||
summary TEXT,
|
||||
content MEDIUMTEXT NOT NULL,
|
||||
format VARCHAR(255),
|
||||
author INTEGER,
|
||||
publish DATETIME,
|
||||
created DATETIME NOT NULL,
|
||||
changed DATETIME NOT NULL,
|
||||
status INTEGER
|
||||
);
|
||||
|
||||
CREATE TABLE page_nodes(
|
||||
nid INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL CHECK( nid >=0),
|
||||
revision INTEGER,
|
||||
parent INTEGER
|
||||
);
|
||||
|
||||
COMMIT;
|
||||
66
library/persistence/mysql/scripts/user.sql
Normal file
66
library/persistence/mysql/scripts/user.sql
Normal file
@@ -0,0 +1,66 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE `users` (
|
||||
`uid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`password` varchar(100) NOT NULL,
|
||||
`salt` varchar(100) NOT NULL,
|
||||
`email` varchar(250) NOT NULL,
|
||||
`status` int(11) DEFAULT NULL,
|
||||
`created` datetime NOT NULL,
|
||||
`signed` datetime DEFAULT NULL,
|
||||
CHECK (`uid` >= 0),
|
||||
PRIMARY KEY (`uid`),
|
||||
UNIQUE KEY `name` (`name`)
|
||||
);
|
||||
|
||||
CREATE TABLE `roles` (
|
||||
`rid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
CHECK (`rid` >= 0),
|
||||
PRIMARY KEY (`rid`),
|
||||
UNIQUE KEY `name` (`name`)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE `users_roles` (
|
||||
`uid` int(11) NOT NULL,
|
||||
`rid` int(11) NOT NULL,
|
||||
CHECK (`uid` >= 0),
|
||||
CHECK (`rid` >= 0)
|
||||
);
|
||||
|
||||
CREATE TABLE `role_permissions` (
|
||||
`rid` int(11) NOT NULL,
|
||||
`permission` varchar(255) NOT NULL,
|
||||
`module` varchar(255) DEFAULT NULL,
|
||||
CHECK (`rid` >= 0)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE `users_activations` (
|
||||
`aid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`token` varchar(255) NOT NULL,
|
||||
`uid` int(11) NOT NULL,
|
||||
`created` datetime NOT NULL,
|
||||
CHECK (`aid` >= 0),
|
||||
CHECK (`uid` >= 0),
|
||||
PRIMARY KEY (`aid`),
|
||||
UNIQUE KEY `token` (`token`)
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE `users_password_recovery` (
|
||||
`aid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`token` varchar(255) NOT NULL,
|
||||
`uid` int(11) NOT NULL,
|
||||
`created` datetime NOT NULL,
|
||||
CHECK (`aid` >= 0),
|
||||
CHECK (`uid` >= 0),
|
||||
PRIMARY KEY (`aid`),
|
||||
UNIQUE KEY `token` (`token`)
|
||||
);
|
||||
|
||||
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user