<?php
// $Id$

/**
 * Implementation of hook_install().
 */
function openid_install() {
  // Create table.
  drupal_install_schema('openid');
}

/**
 * Implementation of hook_uninstall().
 */
function openid_uninstall() {
  // Remove table.
  drupal_uninstall_schema('openid');
}

/**
 * Implementation of hook_schema().
 */
function openid_schema() {
  $schema['openid_association'] = array(
    'description' => t('Stores temporary shared key association information for OpenID authentication.'),
    'fields' => array(
      'idp_endpoint_uri' => array(
        'type' => 'varchar',
        'length' => 255,
        'description' => t('URI of the OpenID Provider endpoint.'),
      ),
      'assoc_handle' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'description' => t('Primary Key: Used to refer to this association in subsequent messages.'),
      ),
      'assoc_type' => array(
        'type' => 'varchar',
        'length' => 32,
        'description' => t('The signature algorithm used: one of HMAC-SHA1 or HMAC-SHA256.'),
      ),
      'session_type' => array(
        'type' => 'varchar',
        'length' => 32,
        'description' => t('Valid association session types: "no-encryption", "DH-SHA1", and "DH-SHA256".'),
      ),
      'mac_key' => array(
        'type' => 'varchar',
        'length' => 255,
        'description' => t('The MAC key (shared secret) for this association.'),
      ),
      'created' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'description' => t('UNIX timestamp for when the association was created.'),
      ),
      'expires_in' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'description' => t('The lifetime, in seconds, of this association.'),
      ),
    ),
    'primary key' => array('assoc_handle'),
  );

  return $schema;
}
