# HG changeset patch # User jbe # Date 1311965963 -7200 # Node ID b0b7e0b18d78114ba714f652bdb204c43edee6ca # Parent af3d208e81be72eee9f8c84a0df8c996df37d681 New table "member_application" for API diff -r af3d208e81be -r b0b7e0b18d78 core.sql --- a/core.sql Fri Jul 29 20:26:45 2011 +0200 +++ b/core.sql Fri Jul 29 20:59:23 2011 +0200 @@ -164,6 +164,26 @@ COMMENT ON COLUMN "member"."statement" IS 'Freely chosen text of the member for his homepage within the system'; +CREATE TYPE "application_access_level" AS ENUM + ('member', 'full', 'pseudonymous', 'anonymous'); + +COMMENT ON TYPE "application_access_level" IS 'Access privileges for applications using the API'; + + +CREATE TABLE "member_application" ( + "id" SERIAL8 PRIMARY KEY, + UNIQUE ("member_id", "name"), + "member_id" INT4 NOT NULL REFERENCES "member" ("id") + ON DELETE CASCADE ON UPDATE CASCADE, + "name" TEXT NOT NULL, + "comment" TEXT, + "access_level" "application_access_level" NOT NULL, + "key" TEXT NOT NULL, + "last_usage" TIMESTAMPTZ ); + +COMMENT ON TABLE "member_application" IS 'Registered application being allowed to use the API'; + + CREATE TABLE "member_history" ( "id" SERIAL8 PRIMARY KEY, "member_id" INT4 NOT NULL REFERENCES "member" ("id") ON DELETE CASCADE ON UPDATE CASCADE, diff -r af3d208e81be -r b0b7e0b18d78 update/core-update.v1.4.0-v1.5.0.sql --- a/update/core-update.v1.4.0-v1.5.0.sql Fri Jul 29 20:26:45 2011 +0200 +++ b/update/core-update.v1.4.0-v1.5.0.sql Fri Jul 29 20:59:23 2011 +0200 @@ -21,6 +21,24 @@ COMMENT ON COLUMN "member"."active" IS 'Memberships, support and votes are taken into account when corresponding members are marked as active. Automatically set to FALSE, if "last_activity" is older than "system_setting"."member_ttl".'; COMMENT ON COLUMN "member"."formatting_engine" IS 'Allows different formatting engines (i.e. wiki formats) to be used for "member"."statement"'; +CREATE TYPE "application_access_level" AS ENUM + ('member', 'full', 'pseudonymous', 'anonymous'); + +COMMENT ON TYPE "application_access_level" IS 'Access privileges for applications using the API'; + +CREATE TABLE "member_application" ( + "id" SERIAL8 PRIMARY KEY, + UNIQUE ("member_id", "name"), + "member_id" INT4 NOT NULL REFERENCES "member" ("id") + ON DELETE CASCADE ON UPDATE CASCADE, + "name" TEXT NOT NULL, + "comment" TEXT, + "access_level" "application_access_level" NOT NULL, + "key" TEXT NOT NULL, + "last_usage" TIMESTAMPTZ ); + +COMMENT ON TABLE "member_application" IS 'Registered application being allowed to use the API'; + CREATE TABLE "rendered_member_statement" ( PRIMARY KEY ("member_id", "format"), "member_id" INT8 REFERENCES "member" ("id") ON DELETE CASCADE ON UPDATE CASCADE,