def add_file_permissions(permissions_file_key,permissions_user_key, permissions, new_colour = '000000', new_starred = False): new_permission = FilePermissions( parent = ndb.Key("PermissionsTable", "*notitle*"), user_key = permissions_user_key, file_key = permissions_file_key, read = permissions.read, write = permissions.write, full_control = permissions.full_control, colour = new_colour, starred = new_starred ); return new_permission.put()
def get_user_file_permissions(file_key, user_key): if (isinstance(user_key,ndb.Key)) and (isinstance(file_key,ndb.Key)): query = FilePermissions.query(ndb.AND(FilePermissions.user_key == user_key, FilePermissions.file_key == file_key)) return query.get() else: return None
def revoke_user_file_permissions(file_key, user_key): if (isinstance(user_key,ndb.Key)) and (isinstance(file_key,ndb.Key)): query = FilePermissions.query(ndb.AND(FilePermissions.user_key == user_key, FilePermissions.file_key == file_key)) query.get().key.delete() return True else: return False
def revoke_all_by_user_key(user_key): if(isinstance(user_key,ndb.Key)): query = FilePermissions.query(FilePermissions.user_key == user_key) iterator = query.iter() for entry in iterator: entry.key.delete() return True else: return False
def modify_file_permissions_by_keys(file_key, user_key, new_permissions = None, new_starred = None, new_colour = None): if (isinstance(user_key,ndb.Key)) and (isinstance(file_key,ndb.Key)): query = FilePermissions.query(ndb.AND(FilePermissions.user_key == user_key, FilePermissions.file_key == file_key)) permissions = query.get() if new_permissions is not None: permissions.read = new_permissions.read permissions.write = new_permissions.write permissions.full_control = new_permissions.full_control if new_starred is not None: permissions.starred = new_starred if new_colour is not None: permissions.colour = new_colour permissions.put() return True else: return False
def get_user_permissions_list(user_key): if(isinstance(user_key,ndb.Key)): query = FilePermissions.query(FilePermissions.user_key == user_key) return query.iter() else: return None
def get_file_permissions_list(file_key): if(isinstance(file_key,ndb.Key)): query = FilePermissions.query(FilePermissions.file_key == file_key) return query.iter() else: return None