@kysera/soft-delete 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -13
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
| **Bundle Size** | ~4 KB (minified) |
|
|
15
15
|
| **Test Coverage** | 39+ tests passing |
|
|
16
16
|
| **Dependencies** | @kysera/core (workspace) |
|
|
17
|
-
| **Peer Dependencies** | kysely >=0.28.8, @kysera/repository, zod ^4.1.13 |
|
|
17
|
+
| **Peer Dependencies** | kysely >=0.28.8, @kysera/repository, zod ^4.1.13 (optional) |
|
|
18
18
|
| **Target Runtimes** | Node.js 20+, Bun 1.0+, Deno |
|
|
19
19
|
| **Module System** | ESM only |
|
|
20
20
|
| **Database Support** | PostgreSQL, MySQL, SQLite |
|
|
@@ -381,7 +381,7 @@ The plugin extends repositories with these methods:
|
|
|
381
381
|
Mark a record as deleted by setting `deleted_at` timestamp.
|
|
382
382
|
|
|
383
383
|
```typescript
|
|
384
|
-
async softDelete(id: number): Promise<T>
|
|
384
|
+
async softDelete(id: number | string): Promise<T>
|
|
385
385
|
```
|
|
386
386
|
|
|
387
387
|
**Example:**
|
|
@@ -413,7 +413,7 @@ console.log(directQuery) // Record exists with deleted_at set
|
|
|
413
413
|
Restore a soft-deleted record by setting `deleted_at` to `null`.
|
|
414
414
|
|
|
415
415
|
```typescript
|
|
416
|
-
async restore(id: number): Promise<T>
|
|
416
|
+
async restore(id: number | string): Promise<T>
|
|
417
417
|
```
|
|
418
418
|
|
|
419
419
|
**Example:**
|
|
@@ -443,7 +443,7 @@ const users = await userRepo.findAll()
|
|
|
443
443
|
Permanently delete a record from the database (bypasses soft delete).
|
|
444
444
|
|
|
445
445
|
```typescript
|
|
446
|
-
async hardDelete(id: number): Promise<void>
|
|
446
|
+
async hardDelete(id: number | string): Promise<void>
|
|
447
447
|
```
|
|
448
448
|
|
|
449
449
|
**Example:**
|
|
@@ -529,7 +529,7 @@ console.log(deleted[0].deleted_at) // Not null
|
|
|
529
529
|
Find a specific record including if soft-deleted.
|
|
530
530
|
|
|
531
531
|
```typescript
|
|
532
|
-
async findWithDeleted(id: number): Promise<T | null>
|
|
532
|
+
async findWithDeleted(id: number | string): Promise<T | null>
|
|
533
533
|
```
|
|
534
534
|
|
|
535
535
|
**Example:**
|
|
@@ -840,12 +840,12 @@ The plugin is fully type-safe with TypeScript.
|
|
|
840
840
|
|
|
841
841
|
```typescript
|
|
842
842
|
interface SoftDeleteRepository<T> extends Repository<T> {
|
|
843
|
-
softDelete(id: number): Promise<T>
|
|
844
|
-
restore(id: number): Promise<T>
|
|
845
|
-
hardDelete(id: number): Promise<void>
|
|
843
|
+
softDelete(id: number | string): Promise<T>
|
|
844
|
+
restore(id: number | string): Promise<T>
|
|
845
|
+
hardDelete(id: number | string): Promise<void>
|
|
846
846
|
findAllWithDeleted(): Promise<T[]>
|
|
847
847
|
findDeleted(): Promise<T[]>
|
|
848
|
-
findWithDeleted(id: number): Promise<T | null>
|
|
848
|
+
findWithDeleted(id: number | string): Promise<T | null>
|
|
849
849
|
}
|
|
850
850
|
|
|
851
851
|
// Type-safe usage
|
|
@@ -896,6 +896,7 @@ interface SoftDeleteOptions {
|
|
|
896
896
|
includeDeleted?: boolean // Default: false
|
|
897
897
|
tables?: string[] // Default: undefined (all tables)
|
|
898
898
|
primaryKeyColumn?: string // Default: 'id'
|
|
899
|
+
logger?: KyseraLogger // Default: silentLogger (no output)
|
|
899
900
|
}
|
|
900
901
|
```
|
|
901
902
|
|
|
@@ -919,7 +920,7 @@ const plugin = softDeletePlugin({
|
|
|
919
920
|
Soft delete a record by ID.
|
|
920
921
|
|
|
921
922
|
**Parameters:**
|
|
922
|
-
- `id: number` - Record ID
|
|
923
|
+
- `id: number | string` - Record ID
|
|
923
924
|
|
|
924
925
|
**Returns:** `Promise<T>` - The soft-deleted record
|
|
925
926
|
|
|
@@ -932,7 +933,7 @@ Soft delete a record by ID.
|
|
|
932
933
|
Restore a soft-deleted record.
|
|
933
934
|
|
|
934
935
|
**Parameters:**
|
|
935
|
-
- `id: number` - Record ID
|
|
936
|
+
- `id: number | string` - Record ID
|
|
936
937
|
|
|
937
938
|
**Returns:** `Promise<T>` - The restored record
|
|
938
939
|
|
|
@@ -943,7 +944,7 @@ Restore a soft-deleted record.
|
|
|
943
944
|
Permanently delete a record.
|
|
944
945
|
|
|
945
946
|
**Parameters:**
|
|
946
|
-
- `id: number` - Record ID
|
|
947
|
+
- `id: number | string` - Record ID
|
|
947
948
|
|
|
948
949
|
**Returns:** `Promise<void>`
|
|
949
950
|
|
|
@@ -970,7 +971,7 @@ Find only soft-deleted records.
|
|
|
970
971
|
Find a record by ID including if soft-deleted.
|
|
971
972
|
|
|
972
973
|
**Parameters:**
|
|
973
|
-
- `id: number` - Record ID
|
|
974
|
+
- `id: number | string` - Record ID
|
|
974
975
|
|
|
975
976
|
**Returns:** `Promise<T | null>`
|
|
976
977
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kysera/soft-delete",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Soft delete plugin for Kysera ORM",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"src"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@kysera/core": "0.
|
|
19
|
+
"@kysera/core": "0.6.0"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/better-sqlite3": "^7.6.13",
|
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
"typescript": "^5.9.3",
|
|
29
29
|
"vitest": "^4.0.15",
|
|
30
30
|
"zod": "^4.1.13",
|
|
31
|
-
"@kysera/repository": "0.
|
|
31
|
+
"@kysera/repository": "0.6.0"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"kysely": ">=0.28.8",
|
|
35
35
|
"zod": "^4.1.13",
|
|
36
|
-
"@kysera/repository": "0.
|
|
36
|
+
"@kysera/repository": "0.6.0"
|
|
37
37
|
},
|
|
38
38
|
"peerDependenciesMeta": {
|
|
39
39
|
"zod": {
|