@recursyve/nestjs-unique-codes-core 8.0.0-beta.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/adapters/database.adapter.d.ts +4 -0
- package/adapters/database.adapter.js +6 -0
- package/adapters/index.d.ts +1 -0
- package/adapters/index.js +4 -0
- package/controllers/unique-codes.controller.d.ts +6 -0
- package/controllers/unique-codes.controller.js +26 -0
- package/helpers/load-adapter.d.ts +1 -0
- package/helpers/load-adapter.js +16 -0
- package/index.d.ts +5 -0
- package/index.js +8 -0
- package/models/index.d.ts +1 -0
- package/models/index.js +4 -0
- package/models/unique-codes.model.d.ts +10 -0
- package/models/unique-codes.model.js +2 -0
- package/package.json +22 -0
- package/pipes/index.d.ts +1 -0
- package/pipes/index.js +5 -0
- package/pipes/unique-code-valid-pipe.service.d.ts +2 -0
- package/pipes/unique-code-valid-pipe.service.js +21 -0
- package/services/index.d.ts +1 -0
- package/services/index.js +4 -0
- package/services/unique-codes.service.d.ts +10 -0
- package/services/unique-codes.service.js +6 -0
- package/unique-codes.module.d.ts +5 -0
- package/unique-codes.module.js +26 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./database.adapter";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UniqueCodesController = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const services_1 = require("../services");
|
|
7
|
+
let UniqueCodesController = class UniqueCodesController {
|
|
8
|
+
constructor(service) {
|
|
9
|
+
this.service = service;
|
|
10
|
+
}
|
|
11
|
+
validate(code) {
|
|
12
|
+
return this.service.validate(code);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
tslib_1.__decorate([
|
|
16
|
+
(0, common_1.Get)(":code"),
|
|
17
|
+
tslib_1.__param(0, (0, common_1.Param)("code")),
|
|
18
|
+
tslib_1.__metadata("design:type", Function),
|
|
19
|
+
tslib_1.__metadata("design:paramtypes", [String]),
|
|
20
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
21
|
+
], UniqueCodesController.prototype, "validate", null);
|
|
22
|
+
UniqueCodesController = tslib_1.__decorate([
|
|
23
|
+
(0, common_1.Controller)("unique-code"),
|
|
24
|
+
tslib_1.__metadata("design:paramtypes", [services_1.UniqueCodesService])
|
|
25
|
+
], UniqueCodesController);
|
|
26
|
+
exports.UniqueCodesController = UniqueCodesController;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function loadAdapter(defaultPlatform: string, loaderFn?: Function): any;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadAdapter = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const MISSING_REQUIRED_DEPENDENCY = (defaultPlatform) => `No driver (UniqueCodesDatabase) has been selected. In order to take advantage of the default driver, please, ensure to install the "${defaultPlatform}" package ($ npm install ${defaultPlatform}).`;
|
|
6
|
+
const logger = new common_1.Logger("PackageLoader");
|
|
7
|
+
function loadAdapter(defaultPlatform, loaderFn) {
|
|
8
|
+
try {
|
|
9
|
+
return loaderFn ? loaderFn() : require(defaultPlatform);
|
|
10
|
+
}
|
|
11
|
+
catch (e) {
|
|
12
|
+
logger.error(MISSING_REQUIRED_DEPENDENCY(defaultPlatform));
|
|
13
|
+
process.exit(1);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.loadAdapter = loadAdapter;
|
package/index.d.ts
ADDED
package/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./adapters"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./services"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./models"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./pipes"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./unique-codes.module"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./unique-codes.model";
|
package/models/index.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@recursyve/nestjs-unique-codes-core",
|
|
3
|
+
"version": "8.0.0-beta.1",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"peerDependencies": {
|
|
8
|
+
"@nestjs/common": "^8.0.0",
|
|
9
|
+
"@nestjs/core": "^8.0.0",
|
|
10
|
+
"reflect-metadata": "^0.1.13",
|
|
11
|
+
"rxjs": "^7.2.0"
|
|
12
|
+
},
|
|
13
|
+
"devDependencies": {
|
|
14
|
+
"@nestjs/common": "^8.0.5",
|
|
15
|
+
"@nestjs/core": "^8.0.5",
|
|
16
|
+
"reflect-metadata": "^0.1.13",
|
|
17
|
+
"rxjs": "^7.2.0",
|
|
18
|
+
"tslint": "^6.1.2",
|
|
19
|
+
"typescript": "^4.3.5"
|
|
20
|
+
},
|
|
21
|
+
"gitHead": "9cef464495d8155c8dff97a6055da3253c899ddf"
|
|
22
|
+
}
|
package/pipes/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UniqueCodePipe } from "./unique-code-valid-pipe.service";
|
package/pipes/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UniqueCodePipe = void 0;
|
|
4
|
+
var unique_code_valid_pipe_service_1 = require("./unique-code-valid-pipe.service");
|
|
5
|
+
Object.defineProperty(exports, "UniqueCodePipe", { enumerable: true, get: function () { return unique_code_valid_pipe_service_1.UniqueCodePipe; } });
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UniqueCodePipe = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
function UniqueCodePipe(type) {
|
|
6
|
+
class MixinUniqueCodePipe {
|
|
7
|
+
constructor(uniqueCodesService) {
|
|
8
|
+
this.uniqueCodesService = uniqueCodesService;
|
|
9
|
+
}
|
|
10
|
+
async transform(code, metadata) {
|
|
11
|
+
const uniqueCode = await this.uniqueCodesService.getByCodeAndType(code, type);
|
|
12
|
+
const isValid = await this.uniqueCodesService.validate(uniqueCode);
|
|
13
|
+
if (!isValid) {
|
|
14
|
+
throw new common_1.PreconditionFailedException(`Invalid code: ${code}`);
|
|
15
|
+
}
|
|
16
|
+
return uniqueCode;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return (0, common_1.mixin)(MixinUniqueCodePipe);
|
|
20
|
+
}
|
|
21
|
+
exports.UniqueCodePipe = UniqueCodePipe;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./unique-codes.service";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UniqueCodes } from "../models";
|
|
2
|
+
export declare abstract class UniqueCodesService {
|
|
3
|
+
abstract create(uniqueCode: Partial<UniqueCodes>): Promise<UniqueCodes>;
|
|
4
|
+
abstract getByCode(code: string): Promise<UniqueCodes>;
|
|
5
|
+
abstract findByCode(code: string): Promise<UniqueCodes | null>;
|
|
6
|
+
abstract getByCodeAndType(code: string, type: any): Promise<UniqueCodes>;
|
|
7
|
+
abstract findByCodeAndType(code: string, type: any): Promise<UniqueCodes | null>;
|
|
8
|
+
abstract validate(code: string | UniqueCodes): Promise<boolean>;
|
|
9
|
+
abstract use(id: number, metadata?: Record<string, any>): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var NestjsUniqueCodesModule_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.NestjsUniqueCodesModule = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const load_adapter_1 = require("./helpers/load-adapter");
|
|
8
|
+
let NestjsUniqueCodesModule = NestjsUniqueCodesModule_1 = class NestjsUniqueCodesModule {
|
|
9
|
+
static forRoot() {
|
|
10
|
+
const adapter = this.createDatabaseAdapter();
|
|
11
|
+
return {
|
|
12
|
+
module: NestjsUniqueCodesModule_1,
|
|
13
|
+
imports: [
|
|
14
|
+
adapter.forRoot()
|
|
15
|
+
]
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
static createDatabaseAdapter() {
|
|
19
|
+
const { SequelizeAdapter } = (0, load_adapter_1.loadAdapter)("@recursyve/nestjs-unique-codes-sequelize", () => require("@recursyve/nestjs-unique-codes-sequelize"));
|
|
20
|
+
return new SequelizeAdapter();
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
NestjsUniqueCodesModule = NestjsUniqueCodesModule_1 = tslib_1.__decorate([
|
|
24
|
+
(0, common_1.Module)({})
|
|
25
|
+
], NestjsUniqueCodesModule);
|
|
26
|
+
exports.NestjsUniqueCodesModule = NestjsUniqueCodesModule;
|