Setup the groups and database permissions. The three groups
[gnucomo.git] / src / gcm_daemon / classes / gnucomo_db_version.php
index 3eb32c9..e69ca90 100644 (file)
       $local_sql = "UPDATE action SET statuscode = LOWER(statuscode)";
       $dbms->query($local_sql);
 
+ case 22:
+       //Create a log_adv_kernel_network table that recognizes the log-records
+       //that have come from the kernel-network interface (typically iptables).
+       $local_sql  = "CREATE TABLE log_adv_daemon (";
+       $local_sql .= "service TEXT, event TEXT";
+       $local_sql .= ") INHERITS (log_adv)";
+       $dbms->query($local_sql);
+
+ case 23:
+      $local_sql = "CREATE INDEX log_adv_daemon_service ON log_adv_daemon (service)";
+      $dbms->query($local_sql);
+ case 24: 
+       $local_sql = "ALTER TABLE object ADD COLUMN log_count BIGINT";
+       $dbms->query($local_sql);
+
+       $local_sql = "ALTER TABLE object ADD COLUMN notification_count BIGINT";
+       $dbms->query($local_sql);
+
+       $local_sql = "ALTER TABLE object ADD COLUMN parameter_count BIGINT";
+       $dbms->query($local_sql);
+case 25:
+       $local_sql = "UPDATE object SET log_count = '0', "
+        . "notification_count = '0', " 
+       . "parameter_count = '0' ";
+       $dbms->query($local_sql);
+
+case 26:
+       $local_sql = "UPDATE type_of_issue SET name = TRIM(name)";
+       $dbms->query($local_sql);
+
+case 27: 
+       $local_sql = "INSERT INTO db_value VALUES ('last_notification', '0')";
+       $dbms->query($local_sql);
+
+case 28:
+       $dbms->query("CREATE GROUP view");
+       $dbms->query("CREATE GROUP ops");
+       $dbms->query("CREATE GROUP admin");
+
+       $dbms->query("GRANT SELECT ON action TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON action_user TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON db_value TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON history TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_adv TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_adv_daemon TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_adv_kernel_network TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON log_notification TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON notification TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_issue TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_priority TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_service TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON object_user TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON parameter TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON parameter_class TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON parameter_notification TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON priority TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON property TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON service TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON status TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON supported_os TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON type_of_issue TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT SELECT ON usr TO GROUP view, GROUP ops, GROUP admin");
+       
+       $dbms->query("GRANT INSERT ON action_user TO GROUP ops, GROUP admin");
+       $dbms->query("GRANT UPDATE ON notification TO GROUP ops, GROUP admin");
+       $dbms->query("GRANT INSERT ON object TO GROUP admin");
+       $dbms->query("GRANT UPDATE ON object TO GROUP ops, GROUP admin");
+       $dbms->query("GRANT DELETE ON object TO GROUP admin");
+       $dbms->query("GRANT UPDATE ON usr TO GROUP view, GROUP ops, GROUP admin");
+       $dbms->query("GRANT INSERT ON usr TO GROUP admin");
+       $dbms->query("GRANT DELETE ON usr TO GROUP admin");
+
+case 29:
+     $local_sql = "INSERT INTO action (actionname, description) VALUES ('Redisplayed to user', "
+      . "'The notification has been presented to a user. This is not the first time')";
+      echo $local_sql;
+     $dbms->query ($local_sql);
+
 /*    
      //These columns have to be removed when a new version of PGSQL has become mainstream that supportsa DROP COLUMN
      $local_sql = "ALTER TABLE log DROP COLUMN recognized";
      $local_sql = "ALTER TABLE logng DROP COLUMN recognized";
      $dbms->query($local_sql);
 */
+
    }
 
    $local_sql = "UPDATE db_value SET setting_value = ".$db_version." WHERE setting = 'db_version'";