Example #1
0
    def open_database(self, db_name, pathValues=[]):
        try:
            if (db_name in ['null', '']):
                raise ARMException('No database name defined')

            dbList = list(map(lambda db: db['database'],
                              self.show_databases()))

            b = Borg()
            ses_settings = b.get_settings(self.session_id)
            dbUser = ses_settings['dbUser']
            currentlyOpenDbName = ses_settings['dbName']
            toOpenDbName = dbUser + '_' + canonicalDbName(db_name)

            if ((db_name not in dbList)
                    and (toOpenDbName != currentlyOpenDbName)):
                raise ObjectNotFound(db_name + " does not exist")

            if (db_name == 'default'):
                b = Borg()
                ses_settings = b.get_settings(self.session_id)
                database_owner = ses_settings['dbUser']
            else:
                database_owner = dbOwner(db_name)

            self.db_proxy.openDatabase(database_owner + '_' + db_name,
                                       self.session_id)
            return 'Database successfully opened'
        except ObjectNotFound as ex:
            self.close()
            raise ObjectNotFoundHTTPError(db_name + ' does not exist')
        except DatabaseProxyException as ex:
            raise ARMHTTPError(ex)
        except ARMException as ex:
            raise ARMHTTPError(ex)
Example #2
0
 def get_permissions(self,db_name, pathValues = []):
   try:
     b = Borg()
     dbUser = b.get_settings(self.session_id)['dbUser']
     if (isOwner(dbUser,db_name) == False):
       raise CairisHTTPError(status_code=http.client.BAD_REQUEST,status="Unauthorised request",message="Not authorised to get permissions for " + db_name)
     return dbUsers(dbUser + '_' + canonicalDbName(db_name))
   except ARMException as ex:
     self.close()
     raise ARMHTTPError(ex)
Example #3
0
  def create_new_database(self,db_name):
    try:
      if (db_name in ['null','']):
        raise ARMException('No database name defined')
      if (db_name == 'default'):
        raise ARMException('Cannot create a new default database')

      b = Borg()
      ses_settings = b.get_settings(self.session_id)
      dbUser = ses_settings['dbUser']
      dbName = dbUser + '_' + canonicalDbName(db_name)
      if (dbExists(dbName)):
        raise ARMException(db_name + " already exists")
 
      self.db_proxy.createDatabase(db_name,self.session_id)
    except DatabaseProxyException as ex:
      raise ARMHTTPError(ex)
    except ARMException as ex:
      raise ARMHTTPError(ex)