make self-service session cache module configurable, start framework for in-database...
[freeside.git] / FS / bin / freeside-setup
index 24b0685..5ab6eb9 100755 (executable)
@@ -142,7 +142,11 @@ foreach $attribute (@check_attributes) {
 }
 
 #create history tables (false laziness w/create-history-tables)
-foreach my $table ( grep { ! /^h_/ } $dbdef->tables ) {
+foreach my $table (
+  grep { ! /^clientapi_session/ }
+  grep { ! /^h_/ }
+  $dbdef->tables
+) {
   my $tableobj = $dbdef->table($table)
     or die "unknown table $table";
 
@@ -1230,6 +1234,29 @@ sub tables_hash_hack {
       'index'       => [ [ 'codenum' ] ],
     },
 
+    'clientapi_session' => {
+      'columns' => [
+        'sessionnum',  'serial',  '', '',
+        'sessionid',  'varchar',  '', $char_d,
+        'namespace',  'varchar',  '', $char_d,
+      ],
+      'primary_key' => 'sessionnum',
+      'unique'      => [ [ 'sessionid', 'namespace' ] ],
+      'index'       => [],
+    },
+
+    'clientapi_session_field' => {
+      'columns' => [
+        'fieldnum',    'serial',     '', '',
+        'sessionnum',     'int',     '', '',
+        'fieldname',  'varchar',     '', $char_d,
+        'fieldvalue',    'text', 'NULL', '',
+      ],
+      'primary_key' => 'fieldnum',
+      'unique'      => [ [ 'sessionnum', 'fieldname' ] ],
+      'index'       => [],
+    },
+
   );
 
   %tables;