sogo/OGoContentStore/sql/acls.sh
Wolfgang Sourdeau 87b9ce1c6b Monotone-Parent: 4e29c9141c3baa1b13e856cae96ad405650bbc7a
Monotone-Revision: 04c74b765ea8033858202ae2f613bc7e35c7b198

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2006-12-15T15:16:03
Monotone-Branch: ca.inverse.sogo
2006-12-15 15:16:03 +00:00

107 lines
3 KiB
Bash
Executable file

#!/bin/bash
#
# Usage: generate-folderinfo-sql-for-users user1 [user2] [user3] [...]
#
DB_USER="sogo"
DB_PASS="sogo"
DB_HOST="192.168.0.4"
DB_PORT="5432"
DB_NAME="sogo"
TIMEZONE="Canada/Eastern"
while [ "$1" != "" ]; do
USER_ID=$1
USER_TABLE=`echo $USER_ID | tr -s [:punct:] _`
cat << EOF
--
-- (C) 2004 SKYRIX Software AG
--
-- TODO:
-- add a unique constraints on path
DELETE FROM SOGo_folder_info WHERE c_path2 = '${USER_ID}' AND c_folder_type = 'Acls';
INSERT INTO SOGo_folder_info
( c_path, c_path1, c_path2, c_path3, c_path4, c_foldername,
c_location, c_quick_location, c_folder_type )
VALUES
( '/Users/${USER_ID}/acls',
'Users',
'${USER_ID}',
'acls',
NULL,
'acls',
'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_acls',
'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_acls',
'Acls' );
INSERT INTO SOGo_folder_info
( c_path, c_path1, c_path2, c_path3, c_path4, c_foldername,
c_location, c_quick_location, c_folder_type )
VALUES
( '/Users/${USER_ID}/Calendar/acls',
'Users',
'${USER_ID}',
'Calendar',
'acls',
'acls',
'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_privcal_acls',
'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_privcal_acls',
'Acls' );
INSERT INTO SOGo_folder_info
( c_path, c_path1, c_path2, c_path3, c_path4, c_foldername,
c_location, c_quick_location, c_folder_type )
VALUES
( '/Users/${USER_ID}/Contacts/acls',
'Users',
'${USER_ID}',
'Contacts',
'acls',
'acls',
'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_contacts_acls',
'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_contacts_acls',
'Acls' );
INSERT INTO SOGo_folder_info
( c_path, c_path1, c_path2, c_path3, c_path4, c_foldername,
c_location, c_quick_location, c_folder_type )
VALUES
( '/Users/${USER_ID}/Contacts/personal/acls',
'Users',
'${USER_ID}',
'Contacts',
'personal',
'acls',
'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_contacts_acls',
'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_contacts_acls',
'Acls' );
DROP TABLE SOGo_${USER_TABLE}_acls;
DROP TABLE SOGo_${USER_TABLE}_privcal_acls;
DROP TABLE SOGo_${USER_TABLE}_contacts_acls;
CREATE TABLE SOGo_${USER_TABLE}_acls (
uid VARCHAR(256) NOT NULL,
object VARCHAR(256) NOT NULL,
role VARCHAR(80) NOT NULL
);
CREATE TABLE SOGo_${USER_TABLE}_privcal_acls (
uid VARCHAR(256) NOT NULL,
object VARCHAR(256) NOT NULL,
role VARCHAR(80) NOT NULL
);
CREATE TABLE SOGo_${USER_TABLE}_contacts_acls (
uid VARCHAR(256) NOT NULL,
object VARCHAR(256) NOT NULL,
role VARCHAR(80) NOT NULL
);
EOF
shift
done