Refactored CMS_MODULE.router (..): WSF_ROUTER design, to create only one router object of type CMS_ROUTER. Added optional CMS_NODE.link: CMS_LOCAL_LINK Reviewed permissions related to node module. Refactor and add CMS_STORAGE_SQL(_BUILDER) abstractions for implementation relying only on SQL statements. Factorized sql builder initialization (to work for sqlite and mysql storage builders). Added CMS_RESPONSE.formatted_string (a_text: READABLE_STRING_GENERAL; args: TUPLE): STRING_32 Added function "translation", but not implemented for now. Updated indexing notes and comments. Code cleaning.
35 lines
775 B
PL/PgSQL
35 lines
775 B
PL/PgSQL
BEGIN;
|
|
|
|
CREATE TABLE "users"(
|
|
"uid" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("uid">=0),
|
|
"name" VARCHAR(100) NOT NULL,
|
|
"password" VARCHAR(100) NOT NULL,
|
|
"salt" VARCHAR(100) NOT NULL,
|
|
"email" VARCHAR(250) NOT NULL,
|
|
"status" INTEGER,
|
|
"created" DATETIME NOT NULL,
|
|
"signed" DATETIME,
|
|
CONSTRAINT "name"
|
|
UNIQUE("name")
|
|
);
|
|
|
|
CREATE TABLE "roles"(
|
|
"rid" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL CHECK("rid">=0),
|
|
"name" VARCHAR(100) NOT NULL,
|
|
CONSTRAINT "name"
|
|
UNIQUE("name")
|
|
);
|
|
|
|
CREATE TABLE "users_roles"(
|
|
"uid" INTEGER NOT NULL CHECK("uid">=0),
|
|
"rid" INTEGER NOT NULL CHECK("rid">=0)
|
|
);
|
|
|
|
CREATE TABLE "role_permissions"(
|
|
"rid" INTEGER NOT NULL CHECK("rid">=0),
|
|
"permission" VARCHAR(255) NOT NULL,
|
|
"module" VARCHAR(255)
|
|
);
|
|
|
|
COMMIT;
|