# SqliteStorageManager\<T>

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:11](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L11)

SQLite-based storage manager for persisting StorageObject instances to a local database file. Suitable for Node.js/Electron environments where SQLite is available.

## Type Parameters

| Type Parameter                                                                                                             | Default type                                                                                                 | Description                     |
| -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------- |
| `T` *extends* [`StorageObject`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/StorageObject.md) | [`StorageObject`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/StorageObject.md) | Type of StorageObject to manage |

## Implements

* [`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md)<`T`>

## Constructors

### Constructor

```
new SqliteStorageManager<T>(filename): SqliteStorageManager<T>;
```

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:22](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L22)

Creates a new SqliteStorageManager instance

#### Parameters

| Parameter  | Type     | Description                      |
| ---------- | -------- | -------------------------------- |
| `filename` | `string` | Path to the SQLite database file |

#### Returns

`SqliteStorageManager`<`T`>

## Properties

### data

```
data: object = {};
```

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:41](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L41)

In-memory cache of stored objects, keyed by hash

#### Index Signature

```
[p: string]: T
```

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`data`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#data)

***

### db?

```
optional db: Database;
```

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:16](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L16)

SQLite database instance (available after init)

***

### filename

```
readonly filename: string;
```

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:14](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L14)

Path to the SQLite database file

## Methods

### init()

```
init(): Promise<void>;
```

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:27](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L27)

Initializes the storage backend

#### Returns

`Promise`<`void`>

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`init`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#init)

***

### loadData()

```
loadData(type): Promise<T[]>;
```

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:44](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L44)

Loads all stored objects and deserializes them using the provided constructor

#### Parameters

| Parameter | Type            | Description                                     |
| --------- | --------------- | ----------------------------------------------- |
| `type`    | (`data`) => `T` | Constructor function to instantiate each object |

#### Returns

`Promise`<`T`\[]>

Array of deserialized objects

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`loadData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#loaddata)

***

### removeData()

```
removeData(hash): Promise<void>;
```

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:58](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L58)

Removes an object from storage

#### Parameters

| Parameter | Type     | Description                        |
| --------- | -------- | ---------------------------------- |
| `hash`    | `string` | Identifier of the object to remove |

#### Returns

`Promise`<`void`>

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`removeData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#removedata)

***

### removeDataArr()

```
removeDataArr(keys): Promise<void>;
```

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:69](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L69)

Removes multiple objects from storage (optional batch operation)

#### Parameters

| Parameter | Type        | Description                    |
| --------- | ----------- | ------------------------------ |
| `keys`    | `string`\[] | Array of identifiers to remove |

#### Returns

`Promise`<`void`>

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`removeDataArr`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#removedataarr)

***

### saveData()

```
saveData(hash, object): Promise<void>;
```

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:85](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L85)

Saves an object to storage

#### Parameters

| Parameter | Type     | Description                      |
| --------- | -------- | -------------------------------- |
| `hash`    | `string` | Unique identifier for the object |
| `object`  | `T`      | Object to save                   |

#### Returns

`Promise`<`void`>

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`saveData`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#savedata)

***

### saveDataArr()

```
saveDataArr(values): Promise<void>;
```

Defined in: [atomiq-storage-sqlite/src/SqliteStorageManager.ts:100](https://github.com/atomiqlabs/atomiq-storage-sqlite/blob/47deacc8ba114160a54297cd8b904bb666d60dd5/src/SqliteStorageManager.ts#L100)

Saves multiple objects to storage (optional batch operation)

#### Parameters

| Parameter | Type        | Description                      |
| --------- | ----------- | -------------------------------- |
| `values`  | `object`\[] | Array of id-object pairs to save |

#### Returns

`Promise`<`void`>

#### Implementation of

[`IStorageManager`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md).[`saveDataArr`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/interfaces/IStorageManager.md#savedataarr)
