@taleswords/common 1.0.17 → 1.0.19

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.
@@ -0,0 +1,13 @@
1
+ import mongoose from 'mongoose';
2
+ import type { UserDoc } from '../auth/user.interfaces.js';
3
+ export interface ProductDoc extends mongoose.Document {
4
+ user: UserDoc | string;
5
+ title: string;
6
+ price: number;
7
+ images: {
8
+ src: string;
9
+ }[];
10
+ }
11
+ export interface ProductModel extends mongoose.Model<ProductDoc> {
12
+ }
13
+ //# sourceMappingURL=product.interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product.interfaces.d.ts","sourceRoot":"","sources":["../../../src/constants/seller/product.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,MAAM,WAAW,UAAW,SAAQ,QAAQ,CAAC,QAAQ;IACjD,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;CAAG"}
@@ -0,0 +1,2 @@
1
+ import mongoose from 'mongoose';
2
+ //# sourceMappingURL=product.interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product.interfaces.js","sourceRoot":"","sources":["../../../src/constants/seller/product.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA"}
package/build/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import './types/express.js';
2
2
  export * from './constants/globals.js';
3
3
  export * from './constants/auth/user.interfaces.js';
4
+ export * from './constants/seller/product.interfaces.js';
4
5
  export * from './errors/bad-request-error.js';
5
6
  export * from './errors/custom-error.js';
6
7
  export * from './errors/database-connection-error.js';
@@ -10,6 +11,7 @@ export * from './errors/request-validation-error.js';
10
11
  export * from './middlewares/current-user.js';
11
12
  export * from './middlewares/error-handler.js';
12
13
  export * from './middlewares/require-auth.js';
14
+ export * from './middlewares/uploader.js';
13
15
  export * from './middlewares/validation-request.js';
14
16
  export * from './services/authentication.service.js';
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uCAAuC,CAAA;AACrD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AAEnD,cAAc,sCAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,0CAA0C,CAAA;AACxD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uCAAuC,CAAA;AACrD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA;AAEnD,cAAc,sCAAsC,CAAA"}
package/build/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import './types/express.js';
2
2
  export * from './constants/globals.js';
3
3
  export * from './constants/auth/user.interfaces.js';
4
+ export * from './constants/seller/product.interfaces.js';
4
5
  export * from './errors/bad-request-error.js';
5
6
  export * from './errors/custom-error.js';
6
7
  export * from './errors/database-connection-error.js';
@@ -10,6 +11,7 @@ export * from './errors/request-validation-error.js';
10
11
  export * from './middlewares/current-user.js';
11
12
  export * from './middlewares/error-handler.js';
12
13
  export * from './middlewares/require-auth.js';
14
+ export * from './middlewares/uploader.js';
13
15
  export * from './middlewares/validation-request.js';
14
16
  export * from './services/authentication.service.js';
15
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uCAAuC,CAAA;AACrD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,qCAAqC,CAAA;AAEnD,cAAc,sCAAsC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,0CAA0C,CAAA;AACxD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uCAAuC,CAAA;AACrD,cAAc,kCAAkC,CAAA;AAChD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qCAAqC,CAAA;AAEnD,cAAc,sCAAsC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import multer, { type FileFilterCallback } from 'multer';
2
+ import type { Request } from 'express';
3
+ export interface UploaderMiddlewareOptions {
4
+ types?: string[];
5
+ fieldName: string;
6
+ }
7
+ export declare class Uploader {
8
+ uploadDir: string;
9
+ constructor(uploadDir?: string);
10
+ fileFilter: (types?: Array<string>) => (req: Request, file: Express.Multer.File, cb: FileFilterCallback) => void;
11
+ storage: multer.StorageEngine;
12
+ uploadMultipleFiles(options?: UploaderMiddlewareOptions): import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
13
+ uploadSingleFile(options?: UploaderMiddlewareOptions): import("express").RequestHandler<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
14
+ }
15
+ //# sourceMappingURL=uploader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../src/middlewares/uploader.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,KAAK,EAAE,OAAO,EAA0B,MAAM,SAAS,CAAA;AAE9D,MAAM,WAAW,yBAAyB;IACtC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,QAAQ;IAEE,SAAS,EAAE,MAAM;gBAAjB,SAAS,GAAE,MAAkB;IAEzC,UAAU,GAAI,QAAQ,KAAK,CAAC,MAAM,CAAC,MAC9B,KAAK,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,kBAAkB,UAa1E;IAEM,OAAO,uBAOZ;IAEF,mBAAmB,CAAC,OAAO,CAAC,EAAE,yBAAyB;IAOvD,gBAAgB,CAAC,OAAO,CAAC,EAAE,yBAAyB;CAMvD"}
@@ -0,0 +1,41 @@
1
+ import multer, {} from 'multer';
2
+ export class Uploader {
3
+ uploadDir;
4
+ constructor(uploadDir = 'upload') {
5
+ this.uploadDir = uploadDir;
6
+ }
7
+ fileFilter = (types) => {
8
+ return (req, file, cb) => {
9
+ const type = file.mimetype;
10
+ if (!types || types.length === 0) {
11
+ return cb(null, true);
12
+ }
13
+ if (types.some((accepted) => type === accepted)) {
14
+ return cb(null, true);
15
+ }
16
+ req.uploaderError = new Error(`we only accept these types ${types}`);
17
+ return cb(null, false);
18
+ };
19
+ };
20
+ storage = multer.diskStorage({
21
+ destination: (req, file, cb) => {
22
+ cb(null, this.uploadDir);
23
+ },
24
+ filename: (req, file, cb) => {
25
+ cb(null, file.fieldname + Date.now());
26
+ }
27
+ });
28
+ uploadMultipleFiles(options) {
29
+ return multer({
30
+ storage: this.storage,
31
+ fileFilter: this.fileFilter(options?.types)
32
+ }).array(options?.fieldName || 'file');
33
+ }
34
+ uploadSingleFile(options) {
35
+ return multer({
36
+ storage: this.storage,
37
+ fileFilter: this.fileFilter(options?.types)
38
+ }).single(options?.fieldName || 'file');
39
+ }
40
+ }
41
+ //# sourceMappingURL=uploader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploader.js","sourceRoot":"","sources":["../../src/middlewares/uploader.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAA2B,MAAM,QAAQ,CAAA;AAQxD,MAAM,OAAO,QAAQ;IAEE;IAAnB,YAAmB,YAAqB,QAAQ;QAA7B,cAAS,GAAT,SAAS,CAAoB;IAAG,CAAC;IAE7C,UAAU,GAAG,CAAC,KAAqB,EAAE,EAAE;QAC1C,OAAO,CAAC,GAAY,EAAE,IAAyB,EAAE,EAAsB,EAAE,EAAE;YACvE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAA;YAE1B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACzB,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACtD,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACzB,CAAC;YACD,GAAG,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAA;YACpE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC1B,CAAC,CAAA;IACL,CAAC,CAAA;IAEM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YAC3B,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5B,CAAC;QACD,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;YACxB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QACzC,CAAC;KACJ,CAAC,CAAA;IAEF,mBAAmB,CAAC,OAAmC;QACnD,OAAO,MAAM,CAAC;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC;SAC9C,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,gBAAgB,CAAC,OAAmC;QAChD,OAAO,MAAM,CAAC;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC;SAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC,CAAA;IAC3C,CAAC;CACJ"}
@@ -7,6 +7,7 @@ declare global {
7
7
  jwt: string;
8
8
  };
9
9
  currentUser?: JWTPayload;
10
+ uploaderError?: Error;
10
11
  }
11
12
  }
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/types/express.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAU,OAAO;YACb,OAAO,CAAC,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,CAAA;YACzB,WAAW,CAAC,EAAE,UAAU,CAAA;SAC3B;KACJ;CACJ"}
1
+ {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/types/express.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAU,OAAO;YACb,OAAO,CAAC,EAAE;gBAAE,GAAG,EAAE,MAAM,CAAA;aAAE,CAAA;YACzB,WAAW,CAAC,EAAE,UAAU,CAAC;YACzB,aAAa,CAAC,EAAE,KAAK,CAAA;SACxB;KACJ;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taleswords/common",
3
- "version": "1.0.17",
3
+ "version": "1.0.19",
4
4
  "description": "",
5
5
  "license": "ISC",
6
6
  "author": "",