IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 5501 for trunk/Nebulous/lib


Ignore:
Timestamp:
Nov 10, 2005, 11:51:06 AM (21 years ago)
Author:
jhoblitt
Message:

add _is_valid_volume_name()

Location:
trunk/Nebulous/lib/Nebulous
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Nebulous/lib/Nebulous/Server.pm

    r5498 r5501  
    11# Copyright (c) 2004  Joshua Hoblitt
    22#
    3 # $Id: Server.pm,v 1.14 2005-11-10 21:31:26 jhoblitt Exp $
     3# $Id: Server.pm,v 1.15 2005-11-10 21:51:06 jhoblitt Exp $
    44
    55package Nebulous::Server;
     
    8282        {
    8383            type        => SCALAR,
     84            callbacks   => {
     85                # check that the volume requested is valid
     86                'is valid volume name' => sub { _is_valid_volume_name($_[0]) },
     87            },
    8488            optional    => 1,
    8589        },
     
    97101
    98102    # check that the comment isn't too long
    99     # check that the volume requested is valid
    100103
    101104    my $uri;
     
    702705}
    703706
     707sub _is_valid_volume_name  {
     708    my $vol_name = shift;
     709
     710    my $volume;
     711    eval {
     712        my $query = $db->prepare_cached( $sql->get_volume_by_name  );
     713        $query->execute( $vol_name );
     714        ( $volume ) = $query->fetchrow_array;
     715
     716        $query->finish;
     717    };
     718    if ( $@ ) {
     719        $db->rollback;
     720        $log->logdie( "database error: $@" );
     721    }
     722
     723    return ( defined $volume ) ? 1 : undef;
     724}
     725
    7047261;
    705727
  • trunk/Nebulous/lib/Nebulous/Server/SQL.pm

    r5496 r5501  
    11# Copyright (c) 2004  Joshua Hoblitt
    22#
    3 # $Id: SQL.pm,v 1.15 2005-11-10 21:21:14 jhoblitt Exp $
     3# $Id: SQL.pm,v 1.16 2005-11-10 21:51:06 jhoblitt Exp $
    44
    55package Nebulous::Server::SQL;
     
    128128        FROM class
    129129        WHERE class_id = ?
     130    },
     131    get_volume_by_name => qq{
     132        SELECT vol_id, name, uri
     133        FROM volume
     134        WHERE name = ?
    130135    },
    131136);
Note: See TracChangeset for help on using the changeset viewer.