#!/bin/csh -f
## this script creates the tables needed by ippMonitor for user administration

if ($#argv < 4) goto usage;

if ("$1" == "init") then
  if ($#argv != 4) goto usage;
  set dbserver = $2
  set dbuser = $3
  set dbpass = $4

  mysql -h $dbserver -u root -p <<EOF
create database ippadmin;
create table users (username char(20) not null, password varchar(255));
create table cookies (username char(20) not null, cookie varchar(255));
grant all on *.* to $dbuser@localhost identified by '$dbpass';
EOF
    exit 0;
endif

if ("$1" == "client") then
  if ($#argv != 5) goto usage;
  set client = $2
  set dbserver = $3
  set dbuser = $4
  set dbpass = $5

  mysql -h $dbserver -u root -p <<EOF
   grant all on *.* to $dbuser@"$client" identified by '$dbpass';
EOF
    exit 0;
endif

if ("$1" == "user") then
  if ($#argv != 5) goto usage;
  set user = $2
  set pass = $3
  set dbserver = $4
  set dbuser = $5

  mysql -h $dbserver -u $dbuser -p ippadmin <<EOF
  insert into users (username, password) values ('$user', '$pass');
EOF
    exit 0;
endif

if ("$1" == "db") then
  if ($#argv != 4) goto usage;
  set dbname = $2
  set dbserver = $3
  set dbuser = $4

  mysql -h $dbserver -u $dbuser -p <<EOF
   create database $dbname;
EOF
    exit 0;
endif

usage:
  echo "USAGE: dbadmin (options)"
  echo "  dbadmin init (dbserver) (dbuser) (dbpassword)"
  echo "    creates admin tables, basic db user -- requires root password"
  echo "  dbadmin client (client) (dbserver) (dbuser) (dbpassword)"
  echo "    add client name or regex"
  echo "  dbadmin db (dbname) (dbserver) (dbuser)"
  echo "    create a new ipp database (project)"
  echo "  dbadmin user (username) (password) (dbserver) (dbuser)"
  echo "    create a new www user and password"
  exit 2
