goldstars-services 1.0.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/config/queries.js +131 -0
- package/dist/db/index.js +31 -0
- package/dist/models/config.model.js +82 -0
- package/dist/models/user.model.js +101 -0
- package/dist/services/config.service.js +168 -0
- package/dist/services/user.service.js +247 -0
- package/dist/utils/encrypt.js +27 -0
- package/package.json +35 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.QUERY_USER_SELECT = exports.QUERY_USER_PAY_METHOD = exports.QUERY_USER_NOTIFICATIONS_SETTINGS = exports.QUERY_USER_EXIST_SELECT_EXTRA = exports.QUERY_USER_EXIST_SELECT = exports.QUERY_TRAINERS_FOR_CLIENT_SELECT = exports.QUERY_SESSION_USER_SELECT = exports.QUERY_POST_SELECT = exports.QUERY_POST_ID = exports.QUERY_GET_USER_PAYMENT_METHODS = exports.QUERY_GET_USER_PAYMENTS = exports.QUERY_GET_USER = exports.QUERY_GET_SESSIONS = exports.CHAT_USER_INFO_SELECT = void 0;
|
|
7
|
+
var QUERY_USER_EXIST_SELECT = exports.QUERY_USER_EXIST_SELECT = {
|
|
8
|
+
_id: 1
|
|
9
|
+
};
|
|
10
|
+
var QUERY_USER_EXIST_SELECT_EXTRA = exports.QUERY_USER_EXIST_SELECT_EXTRA = {
|
|
11
|
+
_id: 1,
|
|
12
|
+
voxImplant: 1,
|
|
13
|
+
firstName: 1,
|
|
14
|
+
lastName: 1
|
|
15
|
+
};
|
|
16
|
+
var QUERY_USER_SELECT = exports.QUERY_USER_SELECT = {
|
|
17
|
+
_id: 1,
|
|
18
|
+
firstName: 1,
|
|
19
|
+
lastName: 1,
|
|
20
|
+
phone: 1,
|
|
21
|
+
avatar: 1,
|
|
22
|
+
sessions: 1,
|
|
23
|
+
isDoctor: 1,
|
|
24
|
+
external_id: 1,
|
|
25
|
+
loginType: 1,
|
|
26
|
+
country: 1,
|
|
27
|
+
email: 1,
|
|
28
|
+
bio: 1,
|
|
29
|
+
birthDate: 1,
|
|
30
|
+
pacientNotes: 1,
|
|
31
|
+
pacientStatus: 1,
|
|
32
|
+
voxImplant: 1,
|
|
33
|
+
confirmPhone: 1,
|
|
34
|
+
courtesysession: 1,
|
|
35
|
+
tokenFCM: 1,
|
|
36
|
+
chatPorLeer: 1
|
|
37
|
+
};
|
|
38
|
+
var QUERY_TRAINERS_FOR_CLIENT_SELECT = exports.QUERY_TRAINERS_FOR_CLIENT_SELECT = {
|
|
39
|
+
_id: 1,
|
|
40
|
+
country: 1,
|
|
41
|
+
firstName: 1,
|
|
42
|
+
lastName: 1,
|
|
43
|
+
external_id: 1,
|
|
44
|
+
loginType: 1,
|
|
45
|
+
phone: 1,
|
|
46
|
+
avatar: 1,
|
|
47
|
+
birthDate: 1,
|
|
48
|
+
isDoctor: 1,
|
|
49
|
+
sessions: 1,
|
|
50
|
+
tokenFCM: 1,
|
|
51
|
+
rejected: 1
|
|
52
|
+
};
|
|
53
|
+
var CHAT_USER_INFO_SELECT = exports.CHAT_USER_INFO_SELECT = {
|
|
54
|
+
firstName: 1,
|
|
55
|
+
lastName: 1,
|
|
56
|
+
avatar: 1
|
|
57
|
+
};
|
|
58
|
+
var QUERY_POST_ID = exports.QUERY_POST_ID = {
|
|
59
|
+
_id: 1,
|
|
60
|
+
createdBy: 1
|
|
61
|
+
};
|
|
62
|
+
var QUERY_POST_SELECT = exports.QUERY_POST_SELECT = {
|
|
63
|
+
_id: 1,
|
|
64
|
+
header: 1,
|
|
65
|
+
title: 1,
|
|
66
|
+
content: 1,
|
|
67
|
+
active: 1,
|
|
68
|
+
likes: 1,
|
|
69
|
+
createdBy: 1,
|
|
70
|
+
modifiedDate: 1,
|
|
71
|
+
comments: 1
|
|
72
|
+
};
|
|
73
|
+
var QUERY_USER_PAY_METHOD = exports.QUERY_USER_PAY_METHOD = {
|
|
74
|
+
type: 1,
|
|
75
|
+
method: 1,
|
|
76
|
+
user: 1,
|
|
77
|
+
relatedSessions: 1,
|
|
78
|
+
idNumber: 1,
|
|
79
|
+
fullName: 1,
|
|
80
|
+
transactionRef: 1,
|
|
81
|
+
bank: 1,
|
|
82
|
+
imageRef: 1,
|
|
83
|
+
status: 1,
|
|
84
|
+
amount: 1,
|
|
85
|
+
creationDate: 1
|
|
86
|
+
};
|
|
87
|
+
var QUERY_GET_USER = exports.QUERY_GET_USER = {
|
|
88
|
+
firstName: 1,
|
|
89
|
+
lastName: 1,
|
|
90
|
+
avatar: 1,
|
|
91
|
+
paymentMethods: 1,
|
|
92
|
+
voxImplant: 1,
|
|
93
|
+
_id: 1,
|
|
94
|
+
external_id: 1,
|
|
95
|
+
loginType: 1,
|
|
96
|
+
tokenFCM: 1
|
|
97
|
+
};
|
|
98
|
+
var QUERY_GET_USER_PAYMENTS = exports.QUERY_GET_USER_PAYMENTS = {
|
|
99
|
+
method: 1,
|
|
100
|
+
fullName: 1,
|
|
101
|
+
idNumber: 1,
|
|
102
|
+
account: 1,
|
|
103
|
+
email: 1,
|
|
104
|
+
favorite: 1
|
|
105
|
+
};
|
|
106
|
+
var QUERY_GET_USER_PAYMENT_METHODS = exports.QUERY_GET_USER_PAYMENT_METHODS = {
|
|
107
|
+
paymentMethods: 1,
|
|
108
|
+
_id: 1
|
|
109
|
+
};
|
|
110
|
+
var QUERY_GET_SESSIONS = exports.QUERY_GET_SESSIONS = {
|
|
111
|
+
_id: 1,
|
|
112
|
+
firstName: 1,
|
|
113
|
+
lastName: 1,
|
|
114
|
+
avatar: 1,
|
|
115
|
+
tokenFCM: 1,
|
|
116
|
+
pacientStatus: 1,
|
|
117
|
+
phone: 1,
|
|
118
|
+
external_id: 1,
|
|
119
|
+
avatar: 1
|
|
120
|
+
};
|
|
121
|
+
var QUERY_SESSION_USER_SELECT = exports.QUERY_SESSION_USER_SELECT = {
|
|
122
|
+
_id: 1,
|
|
123
|
+
email: 1,
|
|
124
|
+
firstName: 1,
|
|
125
|
+
lastName: 1
|
|
126
|
+
};
|
|
127
|
+
var QUERY_USER_NOTIFICATIONS_SETTINGS = exports.QUERY_USER_NOTIFICATIONS_SETTINGS = {
|
|
128
|
+
_id: 1,
|
|
129
|
+
notificationsSettings: 1,
|
|
130
|
+
tokenFCM: 1
|
|
131
|
+
};
|
package/dist/db/index.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _mongoose = _interopRequireDefault(require("mongoose"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
var iniciarDb = function iniciarDb(MONGO_URI) {
|
|
10
|
+
var Logger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => {};
|
|
11
|
+
return new Promise((resolve, reject) => {
|
|
12
|
+
// Base de Datos
|
|
13
|
+
_mongoose.default.connect(MONGO_URI, {
|
|
14
|
+
useNewUrlParser: true,
|
|
15
|
+
useUnifiedTopology: true,
|
|
16
|
+
useCreateIndex: true,
|
|
17
|
+
useFindAndModify: false
|
|
18
|
+
});
|
|
19
|
+
var db = _mongoose.default.connection;
|
|
20
|
+
// Eventos de DB
|
|
21
|
+
db.once("open", () => {
|
|
22
|
+
Logger.info("Conexion creada a la DB");
|
|
23
|
+
resolve(db);
|
|
24
|
+
});
|
|
25
|
+
db.on("error", () => {
|
|
26
|
+
console.error.bind(console, "connection error:");
|
|
27
|
+
reject("Error conectando a la DB");
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
var _default = exports.default = iniciarDb;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _mongoose = _interopRequireDefault(require("mongoose"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
+
var {
|
|
15
|
+
Schema
|
|
16
|
+
} = _mongoose.default;
|
|
17
|
+
var bankAccounts = {
|
|
18
|
+
method: {
|
|
19
|
+
type: String,
|
|
20
|
+
enum: ["zelle", "transferencia", "pagoMovil"]
|
|
21
|
+
},
|
|
22
|
+
bank: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: false
|
|
25
|
+
},
|
|
26
|
+
account: {
|
|
27
|
+
name: {
|
|
28
|
+
type: String,
|
|
29
|
+
required: true
|
|
30
|
+
},
|
|
31
|
+
id: {
|
|
32
|
+
type: String,
|
|
33
|
+
required: false
|
|
34
|
+
},
|
|
35
|
+
email: {
|
|
36
|
+
type: String,
|
|
37
|
+
required: false
|
|
38
|
+
},
|
|
39
|
+
phone: {
|
|
40
|
+
type: String,
|
|
41
|
+
required: false
|
|
42
|
+
},
|
|
43
|
+
number: {
|
|
44
|
+
type: String,
|
|
45
|
+
required: false
|
|
46
|
+
},
|
|
47
|
+
currency: {
|
|
48
|
+
type: String,
|
|
49
|
+
required: true,
|
|
50
|
+
enum: ["USD", "BS"],
|
|
51
|
+
default: "BS"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
active: {
|
|
55
|
+
type: Boolean,
|
|
56
|
+
required: false,
|
|
57
|
+
default: true
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
var configSchema = Schema({
|
|
61
|
+
dolarPrice: {
|
|
62
|
+
pacient: {
|
|
63
|
+
type: Number,
|
|
64
|
+
required: false
|
|
65
|
+
},
|
|
66
|
+
doctor: {
|
|
67
|
+
type: Number,
|
|
68
|
+
required: false
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
sessionValue: {
|
|
72
|
+
type: Number,
|
|
73
|
+
required: false
|
|
74
|
+
},
|
|
75
|
+
banks: [_objectSpread({}, bankAccounts)],
|
|
76
|
+
paypal: {
|
|
77
|
+
type: Boolean,
|
|
78
|
+
default: false
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
var config = _mongoose.default.model("Config", configSchema);
|
|
82
|
+
var _default = exports.default = config;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _mongoose = _interopRequireDefault(require("mongoose"));
|
|
8
|
+
var _encrypt = require("../utils/encrypt");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
11
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
12
|
+
var {
|
|
13
|
+
Schema
|
|
14
|
+
} = _mongoose.default;
|
|
15
|
+
var UserSchema = Schema({
|
|
16
|
+
email: {
|
|
17
|
+
type: String,
|
|
18
|
+
required: true,
|
|
19
|
+
unique: true
|
|
20
|
+
},
|
|
21
|
+
password: {
|
|
22
|
+
type: String
|
|
23
|
+
},
|
|
24
|
+
firstName: {
|
|
25
|
+
type: String,
|
|
26
|
+
required: true
|
|
27
|
+
},
|
|
28
|
+
lastName: {
|
|
29
|
+
type: String,
|
|
30
|
+
required: true
|
|
31
|
+
},
|
|
32
|
+
phone: {
|
|
33
|
+
type: String,
|
|
34
|
+
default: ""
|
|
35
|
+
},
|
|
36
|
+
firstLogin: {
|
|
37
|
+
type: Boolean,
|
|
38
|
+
default: true
|
|
39
|
+
},
|
|
40
|
+
isTrainer: {
|
|
41
|
+
type: Object,
|
|
42
|
+
default: null
|
|
43
|
+
},
|
|
44
|
+
trainer: {
|
|
45
|
+
type: Schema.Types.ObjectId,
|
|
46
|
+
ref: "User",
|
|
47
|
+
default: null
|
|
48
|
+
},
|
|
49
|
+
subscription: {
|
|
50
|
+
type: String
|
|
51
|
+
},
|
|
52
|
+
rejected: {
|
|
53
|
+
type: Boolean,
|
|
54
|
+
default: false
|
|
55
|
+
},
|
|
56
|
+
isAdmin: {
|
|
57
|
+
type: {
|
|
58
|
+
active: Boolean,
|
|
59
|
+
adminType: {
|
|
60
|
+
type: String,
|
|
61
|
+
enum: ["support", "billing", "owner"]
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
default: null
|
|
65
|
+
},
|
|
66
|
+
signUpDate: {
|
|
67
|
+
type: Date,
|
|
68
|
+
default: Date.now
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
UserSchema.pre("save", /*#__PURE__*/function () {
|
|
72
|
+
var _ref = _asyncToGenerator(function* (next) {
|
|
73
|
+
this.password = yield (0, _encrypt.encrypt)(this.password);
|
|
74
|
+
next();
|
|
75
|
+
});
|
|
76
|
+
return function (_x) {
|
|
77
|
+
return _ref.apply(this, arguments);
|
|
78
|
+
};
|
|
79
|
+
}());
|
|
80
|
+
UserSchema.pre("findOneAndUpdate", /*#__PURE__*/function () {
|
|
81
|
+
var _ref2 = _asyncToGenerator(function* (next) {
|
|
82
|
+
var update = this.getUpdate();
|
|
83
|
+
if (update.password) {
|
|
84
|
+
update.password = yield (0, _encrypt.encrypt)(update.password);
|
|
85
|
+
}
|
|
86
|
+
next();
|
|
87
|
+
});
|
|
88
|
+
return function (_x2) {
|
|
89
|
+
return _ref2.apply(this, arguments);
|
|
90
|
+
};
|
|
91
|
+
}());
|
|
92
|
+
UserSchema.methods.isValidPassword = /*#__PURE__*/function () {
|
|
93
|
+
var _ref3 = _asyncToGenerator(function* (password) {
|
|
94
|
+
return yield (0, _encrypt.match)(password, this.password);
|
|
95
|
+
});
|
|
96
|
+
return function (_x3) {
|
|
97
|
+
return _ref3.apply(this, arguments);
|
|
98
|
+
};
|
|
99
|
+
}();
|
|
100
|
+
var User = _mongoose.default.model("User", UserSchema);
|
|
101
|
+
var _default = exports.default = User;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _config = _interopRequireDefault(require("../models/config.model"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
10
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
11
|
+
/**
|
|
12
|
+
* @description Get app config by query params
|
|
13
|
+
* @param {Object} transactionParams
|
|
14
|
+
* @param {Boolean} populate
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
var getAppConfig = () => {
|
|
18
|
+
return _config.default.findOne({});
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @description Creates a new app config
|
|
23
|
+
* @param {Object} params
|
|
24
|
+
* @returns Promise<AxiosResponse<appConfigModel>>
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
var createAppConfig = params => {
|
|
28
|
+
var newConfig = new _config.default(params);
|
|
29
|
+
return newConfig.save();
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @description Update app config
|
|
34
|
+
* @param {Object} params
|
|
35
|
+
* @returns Promise<AxiosResponse<appConfigModel>>
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
var updateAppConfig = (queryParams, paramsToUpdate) => {
|
|
39
|
+
var mongooseOptions = {
|
|
40
|
+
useFindAndModify: false
|
|
41
|
+
};
|
|
42
|
+
var updateOperation = _config.default.findOneAndUpdate(queryParams, paramsToUpdate, mongooseOptions);
|
|
43
|
+
return updateOperation;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @description Creates a new bank account
|
|
48
|
+
* @param {Object} accountData
|
|
49
|
+
* @returns {Promise<Object>}
|
|
50
|
+
*/
|
|
51
|
+
var createBankAccount = /*#__PURE__*/function () {
|
|
52
|
+
var _ref = _asyncToGenerator(function* (accountData) {
|
|
53
|
+
try {
|
|
54
|
+
var result = yield _config.default.updateOne({}, {
|
|
55
|
+
$push: {
|
|
56
|
+
banks: accountData
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
return result;
|
|
60
|
+
} catch (error) {
|
|
61
|
+
console.error(error);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
return function createBankAccount(_x) {
|
|
65
|
+
return _ref.apply(this, arguments);
|
|
66
|
+
};
|
|
67
|
+
}();
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* @description Deletes a bank account by id
|
|
71
|
+
* @param {String} id
|
|
72
|
+
* @returns {Promise<Object>}
|
|
73
|
+
*/
|
|
74
|
+
var deleteBankAccount = /*#__PURE__*/function () {
|
|
75
|
+
var _ref2 = _asyncToGenerator(function* (id) {
|
|
76
|
+
try {
|
|
77
|
+
var result = yield _config.default.updateOne({}, {
|
|
78
|
+
$pull: {
|
|
79
|
+
banks: {
|
|
80
|
+
_id: id
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
return result;
|
|
85
|
+
} catch (error) {
|
|
86
|
+
console.error(error);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
return function deleteBankAccount(_x2) {
|
|
90
|
+
return _ref2.apply(this, arguments);
|
|
91
|
+
};
|
|
92
|
+
}();
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* @description Updates a bank account by id
|
|
96
|
+
* @param {String} id
|
|
97
|
+
* @param {Object} accountData
|
|
98
|
+
* @returns {Promise<Object>}
|
|
99
|
+
*/
|
|
100
|
+
|
|
101
|
+
var updateBankAccount = /*#__PURE__*/function () {
|
|
102
|
+
var _ref3 = _asyncToGenerator(function* (id, accountData) {
|
|
103
|
+
try {
|
|
104
|
+
var result = yield _config.default.updateOne({
|
|
105
|
+
"banks._id": id
|
|
106
|
+
}, {
|
|
107
|
+
$set: {
|
|
108
|
+
"banks.$": accountData
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
return result;
|
|
112
|
+
} catch (error) {
|
|
113
|
+
console.error(error);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
return function updateBankAccount(_x3, _x4) {
|
|
117
|
+
return _ref3.apply(this, arguments);
|
|
118
|
+
};
|
|
119
|
+
}();
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* @description Cambia el estado activo de un banco
|
|
123
|
+
* @param {String} bankId - ID del banco que se desea actualizar
|
|
124
|
+
* @param {Boolean} newStatus - Nuevo estado activo del banco (true/false)
|
|
125
|
+
* @returns {Promise<Object>}
|
|
126
|
+
*/
|
|
127
|
+
|
|
128
|
+
var changeBankStatus = /*#__PURE__*/function () {
|
|
129
|
+
var _ref4 = _asyncToGenerator(function* (bankId, newStatus) {
|
|
130
|
+
try {
|
|
131
|
+
// Primero, encuentra el documento que contiene el banco con el ID dado
|
|
132
|
+
var config = yield _config.default.findOne({
|
|
133
|
+
"banks._id": bankId
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
// Luego, encuentra el índice del banco en el array
|
|
137
|
+
var bankIndex = config.banks.findIndex(bank => bank._id.toString() === bankId);
|
|
138
|
+
|
|
139
|
+
// Ahora, construye la ruta del campo que quieres actualizar
|
|
140
|
+
var updatePath = "banks.".concat(bankIndex, ".active");
|
|
141
|
+
|
|
142
|
+
// Finalmente, realiza la actualización
|
|
143
|
+
var result = yield _config.default.updateOne({
|
|
144
|
+
_id: config._id
|
|
145
|
+
}, {
|
|
146
|
+
$set: {
|
|
147
|
+
[updatePath]: newStatus
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
return result;
|
|
151
|
+
} catch (error) {
|
|
152
|
+
console.error(error);
|
|
153
|
+
throw error;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
return function changeBankStatus(_x5, _x6) {
|
|
157
|
+
return _ref4.apply(this, arguments);
|
|
158
|
+
};
|
|
159
|
+
}();
|
|
160
|
+
var _default = exports.default = {
|
|
161
|
+
getAppConfig,
|
|
162
|
+
createAppConfig,
|
|
163
|
+
updateAppConfig,
|
|
164
|
+
createBankAccount,
|
|
165
|
+
deleteBankAccount,
|
|
166
|
+
updateBankAccount,
|
|
167
|
+
changeBankStatus
|
|
168
|
+
};
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _user = _interopRequireDefault(require("../models/user.model"));
|
|
8
|
+
var _queries = require("../config/queries");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
11
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
12
|
+
/**
|
|
13
|
+
* @description Populates the query with the user data
|
|
14
|
+
* @param {UserModel} query query to populate
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
var populateQueryUserData = userQuery => {
|
|
18
|
+
return populateClientOfTrainer(userQuery.populate({
|
|
19
|
+
path: "isDoctor.clientes",
|
|
20
|
+
model: "User",
|
|
21
|
+
select: _queries.QUERY_USER_SELECT
|
|
22
|
+
}));
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @description Creates an user and returns it
|
|
27
|
+
* @param {Object} params params for creating the user
|
|
28
|
+
* @param {*} isTrainer if the user is a doctor
|
|
29
|
+
* @returns {Promise<UserModel>}
|
|
30
|
+
*/
|
|
31
|
+
var createUser = (params, isTrainer) => {
|
|
32
|
+
var userBody = params;
|
|
33
|
+
if (isTrainer) {
|
|
34
|
+
userBody["isTrainer"] = {
|
|
35
|
+
confirmed: false
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
var User = new _user.default(userBody);
|
|
39
|
+
return User.save();
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @description Returns a user by dynamic parameters
|
|
44
|
+
* @param {Object} queryParams
|
|
45
|
+
* @param {Boolean} populate
|
|
46
|
+
* @returns Promise<UserModel | null>
|
|
47
|
+
*/
|
|
48
|
+
var getUser = /*#__PURE__*/function () {
|
|
49
|
+
var _ref = _asyncToGenerator(function* (queryParams) {
|
|
50
|
+
var populate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
51
|
+
var dataToSelect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
52
|
+
var query = _user.default.findOne(queryParams, dataToSelect);
|
|
53
|
+
if (populate) {
|
|
54
|
+
var user = yield populateQueryUserData(query);
|
|
55
|
+
|
|
56
|
+
// Devolver null si el usuario no se encuentra
|
|
57
|
+
if (!user) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return user;
|
|
61
|
+
}
|
|
62
|
+
return query;
|
|
63
|
+
});
|
|
64
|
+
return function getUser(_x) {
|
|
65
|
+
return _ref.apply(this, arguments);
|
|
66
|
+
};
|
|
67
|
+
}();
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* @description Updates a user
|
|
71
|
+
* @param {string} queryParams
|
|
72
|
+
* @param {Object} paramsToUpdate
|
|
73
|
+
* @param {Boolean} populate
|
|
74
|
+
* @param {Boolean} isNew
|
|
75
|
+
* @returns Promise<AxiosResponse<UserModel>>
|
|
76
|
+
*/
|
|
77
|
+
var updateUser = function updateUser(queryParams, paramsToUpdate) {
|
|
78
|
+
var populate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
79
|
+
var isNew = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
80
|
+
var mongooseOptions = {
|
|
81
|
+
useFindAndModify: false
|
|
82
|
+
};
|
|
83
|
+
if (isNew) mongooseOptions["new"] = true;
|
|
84
|
+
var updateOperation = _user.default.findOneAndUpdate(queryParams, paramsToUpdate, mongooseOptions);
|
|
85
|
+
return populate ? populateQueryUserData(updateOperation) : updateOperation;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @description Get List of Doctors to Pacients, so pacient can choose a doctor an subscribe
|
|
90
|
+
* @returns {Promise<UserModel>}
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
var getTrainersForClients = () => {
|
|
94
|
+
return _user.default.find({
|
|
95
|
+
isDoctor: {
|
|
96
|
+
$exists: true,
|
|
97
|
+
$ne: null
|
|
98
|
+
}
|
|
99
|
+
}, _queries.QUERY_TRAINERS_FOR_CLIENT_SELECT);
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @description Get List of Doctors for Pacients to choose from and subscribe
|
|
104
|
+
* @returns {Promise<UserModel>}
|
|
105
|
+
*/
|
|
106
|
+
var getTrainersForClientsWithConfirmation = () => {
|
|
107
|
+
return _user.default.find({
|
|
108
|
+
"isTrainer.confirmed": true
|
|
109
|
+
}, _queries.QUERY_TRAINERS_FOR_CLIENT_SELECT);
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* @description Checks if the user exists
|
|
114
|
+
* @param {Object} queryParams
|
|
115
|
+
* @param {Boolean} returnUser set true if the user should be returned
|
|
116
|
+
* @returns {Boolean}
|
|
117
|
+
*/
|
|
118
|
+
var checkIfUserExist = /*#__PURE__*/function () {
|
|
119
|
+
var _ref2 = _asyncToGenerator(function* (queryParams) {
|
|
120
|
+
var returnUser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
121
|
+
var result = yield _user.default.findOne(queryParams, returnUser ? _queries.QUERY_USER_EXIST_SELECT_EXTRA : _queries.QUERY_USER_EXIST_SELECT);
|
|
122
|
+
return returnUser ? result || false : !!result;
|
|
123
|
+
});
|
|
124
|
+
return function checkIfUserExist(_x2) {
|
|
125
|
+
return _ref2.apply(this, arguments);
|
|
126
|
+
};
|
|
127
|
+
}();
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* @description Checks if the user is Doctor
|
|
131
|
+
* @param {Object} queryParams
|
|
132
|
+
* @param {*} isDoctor if the user is a doctor
|
|
133
|
+
* @returns {Boolean}
|
|
134
|
+
*/
|
|
135
|
+
var checkIfUserIsTrainer = /*#__PURE__*/function () {
|
|
136
|
+
var _ref4 = _asyncToGenerator(function* (_ref3) {
|
|
137
|
+
var {
|
|
138
|
+
_id
|
|
139
|
+
} = _ref3;
|
|
140
|
+
var result = yield _user.default.findOne({
|
|
141
|
+
_id,
|
|
142
|
+
isTrainer: {
|
|
143
|
+
$exists: true,
|
|
144
|
+
$ne: null
|
|
145
|
+
}
|
|
146
|
+
}, _queries.QUERY_USER_EXIST_SELECT);
|
|
147
|
+
return !!result;
|
|
148
|
+
});
|
|
149
|
+
return function checkIfUserIsTrainer(_x3) {
|
|
150
|
+
return _ref4.apply(this, arguments);
|
|
151
|
+
};
|
|
152
|
+
}();
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* @description Returns multiple users by dynamic parameters
|
|
156
|
+
* @param {Object} queryParams
|
|
157
|
+
* @param {Boolean} populate
|
|
158
|
+
* @returns Promise<UserModel>
|
|
159
|
+
*/
|
|
160
|
+
var getUsers = function getUsers(queryParams) {
|
|
161
|
+
var populate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
162
|
+
var query = _user.default.find(queryParams);
|
|
163
|
+
return populate ? populateQueryUserData(query) : query;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* @description Get List of active Doctors
|
|
168
|
+
* @returns {Promise<UserModel>}
|
|
169
|
+
*/
|
|
170
|
+
var getActiveTrainer = () => {
|
|
171
|
+
return _user.default.find({
|
|
172
|
+
"isTrainer.confirmed": true
|
|
173
|
+
}, _queries.QUERY_TRAINERS_FOR_CLIENT_SELECT);
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* @description Unsusbscribe a pacient from a doctor
|
|
178
|
+
* @param {Number} clienteId
|
|
179
|
+
* @param {Number} entrenadorId
|
|
180
|
+
* @returns {Promise<UserModel[]>}
|
|
181
|
+
*/
|
|
182
|
+
|
|
183
|
+
var unsubscribePacient = /*#__PURE__*/function () {
|
|
184
|
+
var _ref6 = _asyncToGenerator(function* (_ref5) {
|
|
185
|
+
var {
|
|
186
|
+
clienteId,
|
|
187
|
+
entrenadorId
|
|
188
|
+
} = _ref5;
|
|
189
|
+
var updatedClient = yield _user.default.findOneAndUpdate({
|
|
190
|
+
_id: clienteId
|
|
191
|
+
}, {
|
|
192
|
+
doctor: null
|
|
193
|
+
});
|
|
194
|
+
var updatedTrainer = yield _user.default.findOneAndUpdate({
|
|
195
|
+
_id: entrenadorId
|
|
196
|
+
}, {
|
|
197
|
+
$pull: {
|
|
198
|
+
"isTrainer.clientes": entrenadorId
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
if (!(updatedClient && updatedTrainer)) {
|
|
202
|
+
throw Error("Error updating users");
|
|
203
|
+
}
|
|
204
|
+
var trainers = yield getActiveTrainer();
|
|
205
|
+
return trainers;
|
|
206
|
+
});
|
|
207
|
+
return function unsubscribePacient(_x4) {
|
|
208
|
+
return _ref6.apply(this, arguments);
|
|
209
|
+
};
|
|
210
|
+
}();
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* @description Returns the user if they are an admin
|
|
214
|
+
* @param {String} userId
|
|
215
|
+
* @returns {Promise<Object>}
|
|
216
|
+
*/
|
|
217
|
+
var getUserIfAdmin = /*#__PURE__*/function () {
|
|
218
|
+
var _ref7 = _asyncToGenerator(function* (userId) {
|
|
219
|
+
try {
|
|
220
|
+
var user = yield _user.default.findOne({
|
|
221
|
+
_id: userId,
|
|
222
|
+
isAdmin: {
|
|
223
|
+
$ne: null
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
return user ? user.isAdmin : null;
|
|
227
|
+
} catch (error) {
|
|
228
|
+
console.error(error);
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
return function getUserIfAdmin(_x5) {
|
|
232
|
+
return _ref7.apply(this, arguments);
|
|
233
|
+
};
|
|
234
|
+
}();
|
|
235
|
+
var _default = exports.default = {
|
|
236
|
+
createUser,
|
|
237
|
+
getUser,
|
|
238
|
+
getTrainersForClients,
|
|
239
|
+
checkIfUserExist,
|
|
240
|
+
updateUser,
|
|
241
|
+
checkIfUserIsTrainer,
|
|
242
|
+
getUsers,
|
|
243
|
+
getActiveTrainer,
|
|
244
|
+
unsubscribePacient,
|
|
245
|
+
getTrainersForClientsWithConfirmation,
|
|
246
|
+
getUserIfAdmin
|
|
247
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.match = exports.encrypt = void 0;
|
|
7
|
+
var _bcrypt = _interopRequireDefault(require("bcrypt"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
10
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
11
|
+
var encrypt = exports.encrypt = /*#__PURE__*/function () {
|
|
12
|
+
var _ref = _asyncToGenerator(function* (string) {
|
|
13
|
+
var salt = yield _bcrypt.default.genSalt(10);
|
|
14
|
+
return yield _bcrypt.default.hash(string, salt);
|
|
15
|
+
});
|
|
16
|
+
return function encrypt(_x) {
|
|
17
|
+
return _ref.apply(this, arguments);
|
|
18
|
+
};
|
|
19
|
+
}();
|
|
20
|
+
var match = exports.match = /*#__PURE__*/function () {
|
|
21
|
+
var _ref2 = _asyncToGenerator(function* (string, encrypted) {
|
|
22
|
+
return yield _bcrypt.default.compare(string, encrypted);
|
|
23
|
+
});
|
|
24
|
+
return function match(_x2, _x3) {
|
|
25
|
+
return _ref2.apply(this, arguments);
|
|
26
|
+
};
|
|
27
|
+
}();
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "goldstars-services",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "This is the services layer for GoldStars",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"start": "npm run build && node ./dist/index.js",
|
|
8
|
+
"build": "babel src -d dist",
|
|
9
|
+
"dev": "nodemon --exec babel-node ./src/index.js",
|
|
10
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
11
|
+
},
|
|
12
|
+
"author": "Carlos Tribiec & Mantenance/Upgrade for Codembody",
|
|
13
|
+
"license": "ISC",
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@babel/cli": "^7.21.5",
|
|
16
|
+
"@babel/core": "^7.21.5",
|
|
17
|
+
"@babel/node": "^7.16.8",
|
|
18
|
+
"@babel/preset-env": "^7.16.11"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"axios": "^0.27.0",
|
|
22
|
+
"bcrypt": "^5.0.1",
|
|
23
|
+
"mongoose": "^5.13.14",
|
|
24
|
+
"nodemon": "^2.0.15"
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist/*.js",
|
|
28
|
+
"dist/**/*.js"
|
|
29
|
+
],
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git"
|
|
32
|
+
},
|
|
33
|
+
"bugs": {
|
|
34
|
+
}
|
|
35
|
+
}
|