Hub JS Package

Hub JS Package

  • Users
  • Buckets
  • Threads
  • Textile Docs

›WriteTransaction

Client

  • Client.withUserAuth() method
  • Client.withKeyInfo() method
  • Client.getToken() method
  • Client.getTokenChallenge() method
  • Client.newDB() method
  • Client.open() method
  • Client.deleteDB() method
  • Client.getDBInfo() method
  • Client.joinFromInfo() method
  • Client.newDBFromAddr() method
  • Client.listen() method
  • Client.listDBs() method
  • Client.newCollection() method
  • Client.newCollectionFromObject() method
  • Client.deleteCollection() method
  • Client.updateCollection() method
  • Client.getCollectionIndexes() method
  • Client.getCollectionInfo() method
  • Client.listCollections() method
  • Client.create() method
  • Client.save() method
  • Client.delete() method
  • Client.find() method
  • Client.findByID() method
  • Client.has() method
  • Client.readTransaction() method
  • Client.writeTransaction() method

WriteTransaction

  • WriteTransaction class
  • WriteTransaction.create() method
  • WriteTransaction.delete() method
  • WriteTransaction.find() method
  • WriteTransaction.findByID() method
  • WriteTransaction.has() method
  • WriteTransaction.save() method
  • WriteTransaction.start() method
  • WriteTransaction.discard() method

ReadTransaction

  • ReadTransaction class
  • ReadTransaction.find() method
  • ReadTransaction.findByID() method
  • ReadTransaction.has() method
  • ReadTransaction.start() method

Types

  • Action enum
  • DBInfo interface
  • Filter interface
  • Query class
  • Update interface
  • Where variable

@textile/hub > WriteTransaction

WriteTransaction class

WriteTransaction performs a mutating bulk transaction on the underlying store.

Signature:

export declare class WriteTransaction extends Transaction<WriteTransactionRequest, WriteTransactionReply> 

Extends: Transaction<WriteTransactionRequest, WriteTransactionReply>

Example 1

Create a new entry in our collection

import {Client, ThreadID} from '@textile/hub'

interface Astronaut {
  name: string
  missions: number
  _id: string
}

async function createBuzz (client: Client, threadID: ThreadID) {
  const buzz: Astronaut = {
    name: 'Buzz',
    missions: 2,
    _id: '',
  }

  const t = client.writeTransaction(threadID, 'astronauts')
  await t.start()
  await t.create([buzz])
  await t.end() // Commit
}

Example 2

Abort an in-flight transaction

import {Client, ThreadID} from '@textile/hub'

interface Astronaut {
  name: string
  missions: number
  _id: string
}

async function createBuzz (client: Client, threadID: ThreadID) {
  const buzz: Astronaut = {
    name: 'Buzz',
    missions: 2,
    _id: '',
  }

  const t = client.writeTransaction(threadID, 'astronauts')
  await t.start()
  await t.create([buzz])
  await t.discard() // Abort
  await t.end()
}

Constructors

ConstructorModifiersDescription
(constructor)(context, client, threadID, modelName)Constructs a new instance of the WriteTransaction class

Properties

PropertyModifiersTypeDescription
clientgrpc.Client<WriteTransactionRequest, WriteTransactionReply>
contextContextInterface
modelNamestring
threadIDThreadID

Methods

MethodModifiersDescription
create(values)create creates a new model instance in the given store.
delete(IDs)delete deletes an existing model instance from the given store.
discard()Discard drops all active transaction changes. It also invalidates the transaction, so it will fail upon calling end.
find(query)find queries the store for entities matching the given query parameters. See Query for options.
findByID(ID)findByID queries the store for the id of an instance.
has(IDs)has checks whether a given instance exists in the given store.
save(values)save saves changes to an existing model instance in the given store.
start()start begins the transaction. All operations between start and end will be applied as a single transaction upon a call to end.
verify(values)verify verifies existing instance changes.
← Client.writeTransaction() methodWriteTransaction.create() method →
  • WriteTransaction class
  • Example 1
  • Example 2
  • Constructors
  • Properties
  • Methods
Hub JS Package
Docs
Getting StartedThreadDBBuckets
Resources
All DocumentationProject SlackBlog
More
GitHubStar
Follow @textileio