@stamhoofd/models 2.88.1 → 2.89.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/dist/src/migrations/1751970372-create-webshop-uitpas-numbers.sql +10 -0
- package/dist/src/models/WebshopUitpasNumber.d.ts +11 -0
- package/dist/src/models/WebshopUitpasNumber.d.ts.map +1 -0
- package/dist/src/models/WebshopUitpasNumber.js +41 -0
- package/dist/src/models/WebshopUitpasNumber.js.map +1 -0
- package/dist/src/models/index.d.ts +1 -0
- package/dist/src/models/index.d.ts.map +1 -1
- package/dist/src/models/index.js +1 -0
- package/dist/src/models/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/migrations/1751970372-create-webshop-uitpas-numbers.sql +10 -0
- package/src/models/WebshopUitpasNumber.ts +32 -0
- package/src/models/index.ts +1 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
CREATE TABLE `webshop_uitpas_numbers` (
|
|
2
|
+
`id` varchar(36) NOT NULL,
|
|
3
|
+
`uitpasNumber` varchar(36) NOT NULL,
|
|
4
|
+
`webshopId` varchar(36) NOT NULL,
|
|
5
|
+
`productId` varchar(36) NOT NULL,
|
|
6
|
+
`orderId` varchar(36) NOT NULL,
|
|
7
|
+
PRIMARY KEY (id),
|
|
8
|
+
CONSTRAINT `fk_webshop` FOREIGN KEY (`webshopId`) REFERENCES `webshops` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
9
|
+
CONSTRAINT `fk_order` FOREIGN KEY (`orderId`) REFERENCES `webshop_orders` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
10
|
+
);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { QueryableModel } from '@stamhoofd/sql';
|
|
2
|
+
export declare class WebshopUitpasNumber extends QueryableModel {
|
|
3
|
+
static table: string;
|
|
4
|
+
id: string;
|
|
5
|
+
uitpasNumber: string;
|
|
6
|
+
webshopId: string;
|
|
7
|
+
productId: string;
|
|
8
|
+
orderId: string;
|
|
9
|
+
static areUitpasNumbersUsed(webshopId: string, productId: string, uitpasNumbers: string[]): Promise<boolean>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=WebshopUitpasNumber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebshopUitpasNumber.d.ts","sourceRoot":"","sources":["../../../src/models/WebshopUitpasNumber.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,qBAAa,mBAAoB,SAAQ,cAAc;IACnD,MAAM,CAAC,KAAK,SAA4B;IAQxC,EAAE,EAAG,MAAM,CAAC;IAGZ,YAAY,EAAE,MAAM,CAAC;IAGrB,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,MAAM,CAAC;IAGlB,OAAO,SAAM;WAEA,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAIrH"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebshopUitpasNumber = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const simple_database_1 = require("@simonbackx/simple-database");
|
|
6
|
+
const sql_1 = require("@stamhoofd/sql");
|
|
7
|
+
const uuid_1 = require("uuid");
|
|
8
|
+
class WebshopUitpasNumber extends sql_1.QueryableModel {
|
|
9
|
+
static table = 'webshop_uitpas_numbers';
|
|
10
|
+
// Columns
|
|
11
|
+
id;
|
|
12
|
+
uitpasNumber;
|
|
13
|
+
webshopId;
|
|
14
|
+
productId;
|
|
15
|
+
orderId = '';
|
|
16
|
+
static async areUitpasNumbersUsed(webshopId, productId, uitpasNumbers) {
|
|
17
|
+
const hasBeenUsed = !!(await WebshopUitpasNumber.select('uitpasNumber').where('webshopId', webshopId).andWhere('productId', productId).andWhere('uitpasNumber', uitpasNumbers).first(false));
|
|
18
|
+
return hasBeenUsed;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.WebshopUitpasNumber = WebshopUitpasNumber;
|
|
22
|
+
tslib_1.__decorate([
|
|
23
|
+
(0, simple_database_1.column)({
|
|
24
|
+
primary: true, type: 'string', beforeSave(value) {
|
|
25
|
+
return value ?? (0, uuid_1.v4)();
|
|
26
|
+
},
|
|
27
|
+
})
|
|
28
|
+
], WebshopUitpasNumber.prototype, "id", void 0);
|
|
29
|
+
tslib_1.__decorate([
|
|
30
|
+
(0, simple_database_1.column)({ type: 'string' })
|
|
31
|
+
], WebshopUitpasNumber.prototype, "uitpasNumber", void 0);
|
|
32
|
+
tslib_1.__decorate([
|
|
33
|
+
(0, simple_database_1.column)({ type: 'string' })
|
|
34
|
+
], WebshopUitpasNumber.prototype, "webshopId", void 0);
|
|
35
|
+
tslib_1.__decorate([
|
|
36
|
+
(0, simple_database_1.column)({ type: 'string' })
|
|
37
|
+
], WebshopUitpasNumber.prototype, "productId", void 0);
|
|
38
|
+
tslib_1.__decorate([
|
|
39
|
+
(0, simple_database_1.column)({ type: 'string' })
|
|
40
|
+
], WebshopUitpasNumber.prototype, "orderId", void 0);
|
|
41
|
+
//# sourceMappingURL=WebshopUitpasNumber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebshopUitpasNumber.js","sourceRoot":"","sources":["../../../src/models/WebshopUitpasNumber.ts"],"names":[],"mappings":";;;;AAAA,iEAAqD;AACrD,wCAAgD;AAChD,+BAAoC;AAEpC,MAAa,mBAAoB,SAAQ,oBAAc;IACnD,MAAM,CAAC,KAAK,GAAG,wBAAwB,CAAC;IAExC,UAAU;IAMV,EAAE,CAAU;IAGZ,YAAY,CAAS;IAGrB,SAAS,CAAS;IAGlB,SAAS,CAAS;IAGlB,OAAO,GAAG,EAAE,CAAC;IAEb,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAiB,EAAE,SAAiB,EAAE,aAAuB;QAC3F,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7L,OAAO,WAAW,CAAC;IACvB,CAAC;;AA1BL,kDA2BC;AAlBG;IALC,IAAA,wBAAM,EAAC;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK;YAC3C,OAAO,KAAK,IAAI,IAAA,SAAM,GAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;+CACU;AAGZ;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;yDACN;AAGrB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sDACT;AAGlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;sDACT;AAGlB;IADC,IAAA,wBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;oDACd"}
|
|
@@ -35,6 +35,7 @@ export * from './StripeCheckoutSession';
|
|
|
35
35
|
export * from './Document';
|
|
36
36
|
export * from './DocumentTemplate';
|
|
37
37
|
export * from './WebshopDiscountCode';
|
|
38
|
+
export * from './WebshopUitpasNumber';
|
|
38
39
|
export * from './Platform';
|
|
39
40
|
export * from './MemberResponsibilityRecord';
|
|
40
41
|
export * from './OrganizationRegistrationPeriod';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAc,yBAAyB,CAAC;AAExC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAExC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAE7B,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAc,yBAAyB,CAAC;AAExC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/C,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AAErC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAExC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAE7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAE7B,cAAc,0BAA0B,CAAC"}
|
package/dist/src/models/index.js
CHANGED
|
@@ -50,6 +50,7 @@ tslib_1.__exportStar(require("./StripeCheckoutSession"), exports);
|
|
|
50
50
|
tslib_1.__exportStar(require("./Document"), exports);
|
|
51
51
|
tslib_1.__exportStar(require("./DocumentTemplate"), exports);
|
|
52
52
|
tslib_1.__exportStar(require("./WebshopDiscountCode"), exports);
|
|
53
|
+
tslib_1.__exportStar(require("./WebshopUitpasNumber"), exports);
|
|
53
54
|
tslib_1.__exportStar(require("./Platform"), exports);
|
|
54
55
|
tslib_1.__exportStar(require("./MemberResponsibilityRecord"), exports);
|
|
55
56
|
tslib_1.__exportStar(require("./OrganizationRegistrationPeriod"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mDAAyB;AACzB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,kEAAwC;AAExC,kDAAwB;AACxB,0DAAgC;AAChC,wDAA8B;AAC9B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,0DAAgC;AAChC,4DAAkC;AAClC,yDAA+B;AAC/B,sDAA4B;AAC5B,sDAA4B;AAC5B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,iCAA+C;AAAtC,8FAAA,KAAK,OAAA;AACd,oDAA0B;AAC1B,qDAA2B;AAC3B,6DAAmC;AACnC,mDAAyB;AACzB,0DAAgC;AAChC,4DAAkC;AAClC,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,6DAAmC;AACnC,2DAAiC;AACjC,iEAAuC;AACvC,+DAAqC;AAErC,0DAAgC;AAChC,gEAAsC;AACtC,kEAAwC;AAExC,qDAA2B;AAC3B,6DAAmC;AAEnC,gEAAsC;AAEtC,qDAA2B;AAC3B,uEAA6C;AAE7C,2EAAiD;AACjD,+DAAqC;AACrC,qEAA2C;AAC3C,kDAAwB;AACxB,2DAAiC;AACjC,kDAAwB;AACxB,8DAAoC;AACpC,0DAAgC;AAChC,qDAA2B;AAC3B,uDAA6B;AAE7B,mEAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mDAAyB;AACzB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,kEAAwC;AAExC,kDAAwB;AACxB,0DAAgC;AAChC,wDAA8B;AAC9B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,0DAAgC;AAChC,4DAAkC;AAClC,yDAA+B;AAC/B,sDAA4B;AAC5B,sDAA4B;AAC5B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,iCAA+C;AAAtC,8FAAA,KAAK,OAAA;AACd,oDAA0B;AAC1B,qDAA2B;AAC3B,6DAAmC;AACnC,mDAAyB;AACzB,0DAAgC;AAChC,4DAAkC;AAClC,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AAEd,6DAAmC;AACnC,2DAAiC;AACjC,iEAAuC;AACvC,+DAAqC;AAErC,0DAAgC;AAChC,gEAAsC;AACtC,kEAAwC;AAExC,qDAA2B;AAC3B,6DAAmC;AAEnC,gEAAsC;AACtC,gEAAsC;AAEtC,qDAA2B;AAC3B,uEAA6C;AAE7C,2EAAiD;AACjD,+DAAqC;AACrC,qEAA2C;AAC3C,kDAAwB;AACxB,2DAAiC;AACjC,kDAAwB;AACxB,8DAAoC;AACpC,0DAAgC;AAChC,qDAA2B;AAC3B,uDAA6B;AAE7B,mEAAyC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/factories/addressfactory.ts","../src/factories/balanceitemfactory.ts","../src/factories/documenttemplatefactory.ts","../src/factories/emailtemplatefactory.ts","../src/factories/emergencycontactfactory.ts","../src/factories/eventfactory.ts","../src/factories/eventnotificationfactory.ts","../src/factories/eventnotificationtypefactory.ts","../src/factories/groupfactory.ts","../src/factories/memberfactory.ts","../src/factories/memberresponsibilityrecordfactory.ts","../src/factories/organizationfactory.ts","../src/factories/organizationregistrationperiodfactory.ts","../src/factories/organizationtagfactory.ts","../src/factories/parentfactory.ts","../src/factories/platformeventtypefactory.ts","../src/factories/platformresponsibilityfactory.ts","../src/factories/recordanswerfactory.ts","../src/factories/recordcategoryfactory.ts","../src/factories/recordfactory.ts","../src/factories/registercodefactory.ts","../src/factories/registrationfactory.ts","../src/factories/registrationperiodfactory.ts","../src/factories/userfactory.ts","../src/factories/webshopfactory.ts","../src/factories/index.ts","../src/helpers/dnsvalidator.ts","../src/helpers/emailbuilder.ts","../src/helpers/groupbuilder.ts","../src/helpers/handlebars.ts","../src/helpers/membermerger.test.ts","../src/helpers/membermerger.ts","../src/helpers/ratelimiter.ts","../src/helpers/webshopcounter.ts","../src/migrations/1605262045-import-postcodes.ts","../src/migrations/1605262046-import-postcodes-nl.ts","../src/models/auditlog.ts","../src/models/balanceitem.ts","../src/models/balanceitempayment.ts","../src/models/buckaroopayment.ts","../src/models/cachedbalance.ts","../src/models/document.ts","../src/models/documenttemplate.ts","../src/models/email.test.ts","../src/models/email.ts","../src/models/emailrecipient.ts","../src/models/emailtemplate.ts","../src/models/emailverificationcode.ts","../src/models/event.ts","../src/models/eventnotification.ts","../src/models/group.ts","../src/models/image.ts","../src/models/member.ts","../src/models/memberplatformmembership.ts","../src/models/memberresponsibilityrecord.ts","../src/models/memberuser.ts","../src/models/mergedmember.ts","../src/models/molliepayment.ts","../src/models/mollietoken.ts","../src/models/onetimetoken.ts","../src/models/order.ts","../src/models/organization.ts","../src/models/organizationregistrationperiod.ts","../src/models/passwordtoken.ts","../src/models/payconiqpayment.ts","../src/models/payment.ts","../src/models/platform.test.ts","../src/models/platform.ts","../src/models/registercode.ts","../src/models/registration.ts","../src/models/registrationperiod.ts","../src/models/stcredit.ts","../src/models/stinvoice.ts","../src/models/stpackage.ts","../src/models/stpendinginvoice.ts","../src/models/stripeaccount.ts","../src/models/stripecheckoutsession.ts","../src/models/stripepaymentintent.ts","../src/models/ticket.ts","../src/models/token.test.ts","../src/models/token.ts","../src/models/uitpasclientcredential.ts","../src/models/usedregistercode.ts","../src/models/user.ts","../src/models/userpermissions.ts","../src/models/webshop.ts","../src/models/webshopdiscountcode.ts","../src/models/index.ts","../src/models/addresses/city.ts","../src/models/addresses/postalcode.test.ts","../src/models/addresses/postalcode.ts","../src/models/addresses/province.ts","../src/models/addresses/street.ts","../src/structures/organizationservermetadata.ts","../tests/jest.global.setup.ts","../tests/jest.setup.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.8.3"}
|
|
1
|
+
{"root":["../src/index.ts","../src/factories/addressfactory.ts","../src/factories/balanceitemfactory.ts","../src/factories/documenttemplatefactory.ts","../src/factories/emailtemplatefactory.ts","../src/factories/emergencycontactfactory.ts","../src/factories/eventfactory.ts","../src/factories/eventnotificationfactory.ts","../src/factories/eventnotificationtypefactory.ts","../src/factories/groupfactory.ts","../src/factories/memberfactory.ts","../src/factories/memberresponsibilityrecordfactory.ts","../src/factories/organizationfactory.ts","../src/factories/organizationregistrationperiodfactory.ts","../src/factories/organizationtagfactory.ts","../src/factories/parentfactory.ts","../src/factories/platformeventtypefactory.ts","../src/factories/platformresponsibilityfactory.ts","../src/factories/recordanswerfactory.ts","../src/factories/recordcategoryfactory.ts","../src/factories/recordfactory.ts","../src/factories/registercodefactory.ts","../src/factories/registrationfactory.ts","../src/factories/registrationperiodfactory.ts","../src/factories/userfactory.ts","../src/factories/webshopfactory.ts","../src/factories/index.ts","../src/helpers/dnsvalidator.ts","../src/helpers/emailbuilder.ts","../src/helpers/groupbuilder.ts","../src/helpers/handlebars.ts","../src/helpers/membermerger.test.ts","../src/helpers/membermerger.ts","../src/helpers/ratelimiter.ts","../src/helpers/webshopcounter.ts","../src/migrations/1605262045-import-postcodes.ts","../src/migrations/1605262046-import-postcodes-nl.ts","../src/models/auditlog.ts","../src/models/balanceitem.ts","../src/models/balanceitempayment.ts","../src/models/buckaroopayment.ts","../src/models/cachedbalance.ts","../src/models/document.ts","../src/models/documenttemplate.ts","../src/models/email.test.ts","../src/models/email.ts","../src/models/emailrecipient.ts","../src/models/emailtemplate.ts","../src/models/emailverificationcode.ts","../src/models/event.ts","../src/models/eventnotification.ts","../src/models/group.ts","../src/models/image.ts","../src/models/member.ts","../src/models/memberplatformmembership.ts","../src/models/memberresponsibilityrecord.ts","../src/models/memberuser.ts","../src/models/mergedmember.ts","../src/models/molliepayment.ts","../src/models/mollietoken.ts","../src/models/onetimetoken.ts","../src/models/order.ts","../src/models/organization.ts","../src/models/organizationregistrationperiod.ts","../src/models/passwordtoken.ts","../src/models/payconiqpayment.ts","../src/models/payment.ts","../src/models/platform.test.ts","../src/models/platform.ts","../src/models/registercode.ts","../src/models/registration.ts","../src/models/registrationperiod.ts","../src/models/stcredit.ts","../src/models/stinvoice.ts","../src/models/stpackage.ts","../src/models/stpendinginvoice.ts","../src/models/stripeaccount.ts","../src/models/stripecheckoutsession.ts","../src/models/stripepaymentintent.ts","../src/models/ticket.ts","../src/models/token.test.ts","../src/models/token.ts","../src/models/uitpasclientcredential.ts","../src/models/usedregistercode.ts","../src/models/user.ts","../src/models/userpermissions.ts","../src/models/webshop.ts","../src/models/webshopdiscountcode.ts","../src/models/webshopuitpasnumber.ts","../src/models/index.ts","../src/models/addresses/city.ts","../src/models/addresses/postalcode.test.ts","../src/models/addresses/postalcode.ts","../src/models/addresses/province.ts","../src/models/addresses/street.ts","../src/structures/organizationservermetadata.ts","../tests/jest.global.setup.ts","../tests/jest.setup.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.8.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stamhoofd/models",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.89.1",
|
|
4
4
|
"main": "./dist/src/index.js",
|
|
5
5
|
"types": "./dist/src/index.d.ts",
|
|
6
6
|
"license": "UNLICENCED",
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"publishConfig": {
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "538a0e198d2db14c1e7650c75a645113b4394e71"
|
|
34
34
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
CREATE TABLE `webshop_uitpas_numbers` (
|
|
2
|
+
`id` varchar(36) NOT NULL,
|
|
3
|
+
`uitpasNumber` varchar(36) NOT NULL,
|
|
4
|
+
`webshopId` varchar(36) NOT NULL,
|
|
5
|
+
`productId` varchar(36) NOT NULL,
|
|
6
|
+
`orderId` varchar(36) NOT NULL,
|
|
7
|
+
PRIMARY KEY (id),
|
|
8
|
+
CONSTRAINT `fk_webshop` FOREIGN KEY (`webshopId`) REFERENCES `webshops` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
9
|
+
CONSTRAINT `fk_order` FOREIGN KEY (`orderId`) REFERENCES `webshop_orders` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
10
|
+
);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { column } from '@simonbackx/simple-database';
|
|
2
|
+
import { QueryableModel } from '@stamhoofd/sql';
|
|
3
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
4
|
+
|
|
5
|
+
export class WebshopUitpasNumber extends QueryableModel {
|
|
6
|
+
static table = 'webshop_uitpas_numbers';
|
|
7
|
+
|
|
8
|
+
// Columns
|
|
9
|
+
@column({
|
|
10
|
+
primary: true, type: 'string', beforeSave(value) {
|
|
11
|
+
return value ?? uuidv4();
|
|
12
|
+
},
|
|
13
|
+
})
|
|
14
|
+
id!: string;
|
|
15
|
+
|
|
16
|
+
@column({ type: 'string' })
|
|
17
|
+
uitpasNumber: string;
|
|
18
|
+
|
|
19
|
+
@column({ type: 'string' })
|
|
20
|
+
webshopId: string;
|
|
21
|
+
|
|
22
|
+
@column({ type: 'string' })
|
|
23
|
+
productId: string;
|
|
24
|
+
|
|
25
|
+
@column({ type: 'string' })
|
|
26
|
+
orderId = '';
|
|
27
|
+
|
|
28
|
+
static async areUitpasNumbersUsed(webshopId: string, productId: string, uitpasNumbers: string[]): Promise<boolean> {
|
|
29
|
+
const hasBeenUsed = !!(await WebshopUitpasNumber.select('uitpasNumber').where('webshopId', webshopId).andWhere('productId', productId).andWhere('uitpasNumber', uitpasNumbers).first(false));
|
|
30
|
+
return hasBeenUsed;
|
|
31
|
+
}
|
|
32
|
+
}
|
package/src/models/index.ts
CHANGED