# CKTool JS - "database" API Package

This package is part of the CKTool JS JavaScript client
library suite and includes operations and TypeScript types
related to "database".

Each operation has a corresponding function that
returns a `CancellablePromise` that resolves
if successful and rejects if the operation fails.

Don't use this package on its own. It is automatically pulled
in when you include `@apple/cktool.database`
in your `package.json` dependencies.

## Getting Started

See [Apple Developer Documentation](https://developer.apple.com/documentation/cktooljs)
for more details on how to get started using CKTool JS.

## API Promise Mixin

`DatabasePromisesApiMixin`

Don't use this mixin directly. Instead, use `PromisesApi`
from `@apple/cktool.database`.

### Methods

The following methods are added by the mixin.

- `acceptRecord`
  Accepts a share on behalf of the current user.
- `createAssetUploadUrl`
  Creates a new URL for uploading assets.
- `createRecord`
  Creates a new record.
- `createZone`
  Creates a new zone.
- `deleteRecord`
  Deletes a single record.
- `deleteRecordsByQuery`
  Deletes records matching the provided query.
- `deleteZone`
  Deletes a zone.
- `exportSchema`
  Downloads the container’s schema.
- `getRecord`
  Returns a record's details.
- `getSessionUser`
  Returns details for the user in current session.
- `getZone`
  Returns details for a zone.
- `getZones`
  Returns a collection of zones.
- `importSchema`
  Uploads a file that defines the new schema for the container.
- `lookupRecords`
  Fetches multiple records by record name.
- `queryRecordChanges`
  Returns records that changed since a specified sync token or since a zone was created.
- `queryRecords`
  Returns a collection of records matching the provided query.
- `resetConfigToProduction`
  Resets the container configuration to production.
- `resetToProduction`
  Resets the schema of the environment to production.
- `resolveRecord`
  Fetches information about records given their shortGuid properties.
- `updateRecord`
  Updates an existing record.
- `validateSchema`
  Validates the uploaded schema file for the container.

## TypeScript Types

- `CKDBAsset`
- `CKDBAssetUploadUrlResponse`
- `CKDBBatchDeleteError`
- `CKDBChangeMetadata`
- `CKDBCreateAssetUploadUrlRequestBody`
- `CKDBCreateRecordRequestBody`
- `CKDBCreateZoneRequestBody`
- `CKDBDeleteRecordsByQueryRequestBody`
- `CKDBDeletedRecordResult`
- `CKDBErrorRecordResult`
- `CKDBExistingRecordResult`
- `CKDBForRecord`
- `CKDBLocation`
- `CKDBLookupRecordsRequestBody`
- `CKDBLookupRecordsResponse`
- `CKDBModifyRecordRequestBody`
- `CKDBNullableReference`
- `CKDBPagedBatchDeleteResponse`
- `CKDBPermissionType`
- `CKDBQuery`
- `CKDBQueryFilter`
- `CKDBQueryFilterType`
- `CKDBQueryRecordsRequestBody`
- `CKDBQuerySort`
- `CKDBQuerySortOrder`
- `CKDBRecord`
- `CKDBRecordChangesRequestBody`
- `CKDBRecordChangesResponse`
- `CKDBRecordFieldAssetListValue`
- `CKDBRecordFieldAssetValue`
- `CKDBRecordFieldBytesListValue`
- `CKDBRecordFieldBytesValue`
- `CKDBRecordFieldDoubleListValue`
- `CKDBRecordFieldDoubleValue`
- `CKDBRecordFieldEmptyListValue`
- `CKDBRecordFieldEncryptedBytesListValue`
- `CKDBRecordFieldEncryptedBytesValue`
- `CKDBRecordFieldEncryptedDoubleListValue`
- `CKDBRecordFieldEncryptedDoubleValue`
- `CKDBRecordFieldEncryptedInt64ListValue`
- `CKDBRecordFieldEncryptedInt64Value`
- `CKDBRecordFieldEncryptedLocationListValue`
- `CKDBRecordFieldEncryptedLocationValue`
- `CKDBRecordFieldEncryptedStringListValue`
- `CKDBRecordFieldEncryptedStringValue`
- `CKDBRecordFieldEncryptedTimestampListValue`
- `CKDBRecordFieldEncryptedTimestampValue`
- `CKDBRecordFieldInt64ListValue`
- `CKDBRecordFieldInt64Value`
- `CKDBRecordFieldLocationListValue`
- `CKDBRecordFieldLocationValue`
- `CKDBRecordFieldReferenceListValue`
- `CKDBRecordFieldReferenceValue`
- `CKDBRecordFieldStringListValue`
- `CKDBRecordFieldStringValue`
- `CKDBRecordFieldTimestampListValue`
- `CKDBRecordFieldTimestampValue`
- `CKDBRecordFieldValue`
- `CKDBRecordReference`
- `CKDBRecordReferenceAction`
- `CKDBRecordResponse`
- `CKDBRecordResult`
- `CKDBRecordsResponse`
- `CKDBResolveRecordRequestBody`
- `CKDBResolveRecordResponse`
- `CKDBResolvedRecord`
- `CKDBSchemaImportRequestBody`
- `CKDBSessionUser`
- `CKDBSessionUserResponse`
- `CKDBShareAcceptanceStatus`
- `CKDBShareParticipant`
- `CKDBShareParticipantType`
- `CKDBSharePotentialParticipant`
- `CKDBStableUrl`
- `CKDBStreamingAsset`
- `CKDBUserIdentity`
- `CKDBUserIdentityLookupInfo`
- `CKDBUserNameComponents`
- `CKDBValidateSchemaResponse`
- `CKDBZone`
- `CKDBZoneId`
- `CKDBZoneResponse`
- `CKDBZonesResponse`
