ApplicationBatcher

Type parameters

Hierarchy

  • ApplicationBatcher

Methods

delete

  • The method allows you to perform a bulk soft delete.

    To use this method, the app must grant the current user data import permissions. Example of deleting app items:

    var rows =  await Application.batch()
        .delete() 
        .where(f => f.number.gte(10))  
        .size(100) 
        .all(); 
    

    Returns ApplicationBatchDeleteBuilder<T>

hardDelete

  • The method allows you to permanently delete an app item.

    The operation is available only for a soft-deleted item (with __deletedAt !== null). When attempting to delete an active item, the method returns an error:

    fail to hard delete items: cannot hard delete  item with id \"019db3d5-6e26-7128-bde8-f0bd222018ba\" reason: __deletedAt  === null. 
    

    If the hard delete feature is disabled in your company, the method returns an error: method not available. Example of hard deleting app Items:

    const limit = 5;
    let offset = 0; 
    let  countDeleteItems = 0; 
    do { 
     const countDeleteItems = await  Application.batch() 
         .hardDelete() 
         .where((f,c) => c.and (f.__deletedAt.neq(null), f.__name.like('End')))) 
         .size(limit) 
          .from(offset) 
         .all(); 
     offset = offset + limit; 
    } 
    while  (countDeleteItems === limit) 
    

    Returns ApplicationBatchHardDeleteBuilder<T>

save

  • The method allows you to run a batch save.

    To use this method, the app must grant the current user data import permissions. Example of creating or updating of multiple items. The most common approach is where an array of items is created in memory and passed to the save function.

    var items = [];
    for (var i = 0; i <  500; i++) { 
        var item = Application.create(); 
        items.push(item) 
    }  
    await Application.batch().save().items(items).all(); 
    

    Example of creating or updating app items using generators. The main difference from the previous approach is that the entire array is not stored in memory. Instead, items are generated one at a time, which helps save memory.

    await Application.batch().save().items((function*(){
        for ( var i = 0; i < 500; i++) { 
            var item = Application.create();  
            yield item 
        } 
    })()).all(); 
    

    Returns ApplicationBatchSaveBuilder<T, P>

setStatus

  • The method allows you to bulk change the status of app items.

    Parameters

    • status: TStatus<any, any>
    • Optional comment: undefined | string

    Returns ApplicationBatchSetStatusBuilder<T>

update

  • The method allows you to run a batch update.

    To use this method, the app must grant the current user data import permissions. Example of updating app items:

    var rows =  await Application.batch()
        .update() 
        .set('number', (f, op) => 1)  
        .set('number1' (f, op) => f.number1) 
        .set('number2', (f, op) => op. inc(f.number, 10) 
        .where(f => f.number.gte(10)) 
        .size(100) 
        . all(); 
    

    Returns ApplicationBatchUpdateBuilder<T, T, P>