@ttoss/postgresdb 0.3.0 → 0.4.1
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 +71 -0
- package/dist/esm/index.js +2 -2
- package/dist/index.d.ts +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -369,6 +369,77 @@ Initializes database connection and loads models.
|
|
|
369
369
|
|
|
370
370
|
All [sequelize-typescript](https://www.npmjs.com/package/sequelize-typescript) decorators are exported: `@Table`, `@Column`, `@ForeignKey`, etc.
|
|
371
371
|
|
|
372
|
+
#### Hooks
|
|
373
|
+
|
|
374
|
+
Lifecycle hooks allow you to execute code at specific points in the model lifecycle. All hook decorators from sequelize-typescript are available:
|
|
375
|
+
|
|
376
|
+
**Instance Hooks:**
|
|
377
|
+
|
|
378
|
+
- `@BeforeValidate`, `@AfterValidate`, `@ValidationFailed`
|
|
379
|
+
- `@BeforeCreate`, `@AfterCreate`
|
|
380
|
+
- `@BeforeUpdate`, `@AfterUpdate`
|
|
381
|
+
- `@BeforeDestroy`, `@AfterDestroy`
|
|
382
|
+
- `@BeforeSave`, `@AfterSave` (v4 only)
|
|
383
|
+
- `@BeforeUpsert`, `@AfterUpsert` (v4 only)
|
|
384
|
+
- `@BeforeRestore`, `@AfterRestore`
|
|
385
|
+
|
|
386
|
+
**Bulk Hooks:**
|
|
387
|
+
|
|
388
|
+
- `@BeforeBulkCreate`, `@AfterBulkCreate`
|
|
389
|
+
- `@BeforeBulkUpdate`, `@AfterBulkUpdate`
|
|
390
|
+
- `@BeforeBulkDestroy`, `@AfterBulkDestroy`
|
|
391
|
+
- `@BeforeBulkRestore`, `@AfterBulkRestore`
|
|
392
|
+
- `@BeforeBulkSync`, `@AfterBulkSync`
|
|
393
|
+
|
|
394
|
+
**Query Hooks:**
|
|
395
|
+
|
|
396
|
+
- `@BeforeFind`, `@AfterFind`
|
|
397
|
+
- `@BeforeFindAfterExpandIncludeAll`, `@BeforeFindAfterOptions`
|
|
398
|
+
- `@BeforeCount`
|
|
399
|
+
|
|
400
|
+
**Connection Hooks:**
|
|
401
|
+
|
|
402
|
+
- `@BeforeConnect`, `@AfterConnect`
|
|
403
|
+
- `@BeforeDefine`, `@AfterDefine`
|
|
404
|
+
- `@BeforeInit`, `@AfterInit`
|
|
405
|
+
|
|
406
|
+
**Example:**
|
|
407
|
+
|
|
408
|
+
```typescript
|
|
409
|
+
import {
|
|
410
|
+
Table,
|
|
411
|
+
Column,
|
|
412
|
+
Model,
|
|
413
|
+
BeforeCreate,
|
|
414
|
+
BeforeUpdate,
|
|
415
|
+
} from '@ttoss/postgresdb';
|
|
416
|
+
|
|
417
|
+
@Table
|
|
418
|
+
class Product extends Model {
|
|
419
|
+
@Column
|
|
420
|
+
declare name: string;
|
|
421
|
+
|
|
422
|
+
@Column
|
|
423
|
+
declare slug: string;
|
|
424
|
+
|
|
425
|
+
@BeforeCreate
|
|
426
|
+
static generateSlug(instance: Product) {
|
|
427
|
+
if (instance.name && !instance.slug) {
|
|
428
|
+
instance.slug = instance.name.toLowerCase().replace(/\s+/g, '-');
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
@BeforeUpdate
|
|
433
|
+
static updateSlug(instance: Product) {
|
|
434
|
+
if (instance.changed('name') && instance.name) {
|
|
435
|
+
instance.slug = instance.name.toLowerCase().replace(/\s+/g, '-');
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
See the [sequelize-typescript hooks documentation](https://github.com/sequelize/sequelize-typescript#hooks) for more details.
|
|
442
|
+
|
|
372
443
|
### DataType
|
|
373
444
|
|
|
374
445
|
All standard Sequelize data types are available through `DataType`, including:
|
package/dist/esm/index.js
CHANGED
|
@@ -8,7 +8,7 @@ var __name = (target, value) => __defProp(target, "name", {
|
|
|
8
8
|
// src/sequelize-typescript.ts
|
|
9
9
|
import pgvector from "pgvector/sequelize";
|
|
10
10
|
import { DataType as SequelizeDataType, Sequelize } from "sequelize-typescript";
|
|
11
|
-
import { BelongsTo, BelongsToMany, Column, CreatedAt, DeletedAt, ForeignKey, HasMany, HasOne, Index, Model, PrimaryKey, Sequelize as Sequelize2, Table, Unique, UpdatedAt } from "sequelize-typescript";
|
|
11
|
+
import { AfterBulkCreate, AfterBulkDestroy, AfterBulkRestore, AfterBulkSync, AfterBulkUpdate, AfterConnect, AfterCreate, AfterDefine, AfterDestroy, AfterFind, AfterInit, AfterRestore, AfterSave, AfterUpdate, AfterUpsert, AfterValidate, BeforeBulkCreate, BeforeBulkDestroy, BeforeBulkRestore, BeforeBulkSync, BeforeBulkUpdate, BeforeConnect, BeforeCount, BeforeCreate, BeforeDefine, BeforeDestroy, BeforeFind, BeforeFindAfterExpandIncludeAll, BeforeFindAfterOptions, BeforeInit, BeforeRestore, BeforeSave, BeforeUpdate, BeforeUpsert, BeforeValidate, BelongsTo, BelongsToMany, Column, CreatedAt, DeletedAt, ForeignKey, HasMany, HasOne, Index, Model, PrimaryKey, Sequelize as Sequelize2, Table, Unique, UpdatedAt, ValidationFailed } from "sequelize-typescript";
|
|
12
12
|
pgvector.registerType(Sequelize);
|
|
13
13
|
var DataType = SequelizeDataType;
|
|
14
14
|
|
|
@@ -61,4 +61,4 @@ var initialize = /* @__PURE__ */__name(async ({
|
|
|
61
61
|
|
|
62
62
|
// src/index.ts
|
|
63
63
|
import { Op } from "sequelize";
|
|
64
|
-
export { BelongsTo, BelongsToMany, Column, CreatedAt, DataType, DeletedAt, ForeignKey, HasMany, HasOne, Index, Model, Op, PrimaryKey, Sequelize2 as Sequelize, Table, Unique, UpdatedAt, initialize };
|
|
64
|
+
export { AfterBulkCreate, AfterBulkDestroy, AfterBulkRestore, AfterBulkSync, AfterBulkUpdate, AfterConnect, AfterCreate, AfterDefine, AfterDestroy, AfterFind, AfterInit, AfterRestore, AfterSave, AfterUpdate, AfterUpsert, AfterValidate, BeforeBulkCreate, BeforeBulkDestroy, BeforeBulkRestore, BeforeBulkSync, BeforeBulkUpdate, BeforeConnect, BeforeCount, BeforeCreate, BeforeDefine, BeforeDestroy, BeforeFind, BeforeFindAfterExpandIncludeAll, BeforeFindAfterOptions, BeforeInit, BeforeRestore, BeforeSave, BeforeUpdate, BeforeUpsert, BeforeValidate, BelongsTo, BelongsToMany, Column, CreatedAt, DataType, DeletedAt, ForeignKey, HasMany, HasOne, Index, Model, Op, PrimaryKey, Sequelize2 as Sequelize, Table, Unique, UpdatedAt, ValidationFailed, initialize };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DataType as DataType$1, ModelCtor, SequelizeOptions, Sequelize, Model } from 'sequelize-typescript';
|
|
2
|
-
export { BelongsTo, BelongsToMany, Column, CreatedAt, DeletedAt, ForeignKey, HasMany, HasOne, Index, Model, ModelCtor, PrimaryKey, Sequelize, SequelizeOptions, Table, Unique, UpdatedAt } from 'sequelize-typescript';
|
|
2
|
+
export { AfterBulkCreate, AfterBulkDestroy, AfterBulkRestore, AfterBulkSync, AfterBulkUpdate, AfterConnect, AfterCreate, AfterDefine, AfterDestroy, AfterFind, AfterInit, AfterRestore, AfterSave, AfterUpdate, AfterUpsert, AfterValidate, BeforeBulkCreate, BeforeBulkDestroy, BeforeBulkRestore, BeforeBulkSync, BeforeBulkUpdate, BeforeConnect, BeforeCount, BeforeCreate, BeforeDefine, BeforeDestroy, BeforeFind, BeforeFindAfterExpandIncludeAll, BeforeFindAfterOptions, BeforeInit, BeforeRestore, BeforeSave, BeforeUpdate, BeforeUpsert, BeforeValidate, BelongsTo, BelongsToMany, Column, CreatedAt, DeletedAt, ForeignKey, HasMany, HasOne, Index, Model, ModelCtor, PrimaryKey, Sequelize, SequelizeOptions, Table, Unique, UpdatedAt, ValidationFailed } from 'sequelize-typescript';
|
|
3
3
|
import { DataType as DataType$2 } from 'sequelize';
|
|
4
4
|
export { Op } from 'sequelize';
|
|
5
5
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttoss/postgresdb",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "A library to handle PostgreSQL database connections and queries",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "ttoss",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"@testcontainers/postgresql": "^11.8.1",
|
|
34
34
|
"jest": "^30.2.0",
|
|
35
35
|
"tsup": "^8.5.1",
|
|
36
|
-
"@ttoss/config": "^1.
|
|
36
|
+
"@ttoss/config": "^1.36.0"
|
|
37
37
|
},
|
|
38
38
|
"keywords": [
|
|
39
39
|
"database",
|