goldstars-services 1.0.12 → 1.0.13
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/index.js +7 -0
- package/dist/models/plan.model.js +52 -0
- package/dist/services/plan.service.js +100 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -27,8 +27,15 @@ Object.defineProperty(exports, "iniciarDb", {
|
|
|
27
27
|
return _db.default;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
|
+
Object.defineProperty(exports, "planService", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _plan.default;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
30
36
|
var _db = _interopRequireDefault(require("./db"));
|
|
31
37
|
var _user = _interopRequireDefault(require("./services/user.service"));
|
|
32
38
|
var _config = _interopRequireDefault(require("./services/config.service"));
|
|
33
39
|
var _transanctions = _interopRequireDefault(require("./services/transanctions.service"));
|
|
40
|
+
var _plan = _interopRequireDefault(require("./services/plan.service"));
|
|
34
41
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
// models/Plan.js
|
|
10
|
+
|
|
11
|
+
var {
|
|
12
|
+
Schema
|
|
13
|
+
} = _mongoose.default;
|
|
14
|
+
var PlanSchema = new Schema({
|
|
15
|
+
name: {
|
|
16
|
+
type: String,
|
|
17
|
+
required: true
|
|
18
|
+
},
|
|
19
|
+
// Nombre del plan, e.g., "Silver"
|
|
20
|
+
description: {
|
|
21
|
+
type: String,
|
|
22
|
+
required: true
|
|
23
|
+
},
|
|
24
|
+
// Descripción del plan
|
|
25
|
+
price: {
|
|
26
|
+
type: Number,
|
|
27
|
+
required: true
|
|
28
|
+
},
|
|
29
|
+
// Precio en dólares
|
|
30
|
+
mode: {
|
|
31
|
+
type: String,
|
|
32
|
+
enum: ['monthly', 'annual'],
|
|
33
|
+
// Modalidad: mensual o anual
|
|
34
|
+
required: true
|
|
35
|
+
},
|
|
36
|
+
location: {
|
|
37
|
+
type: String,
|
|
38
|
+
enum: ['Las virtudes', 'Sambil', 'Ambas'],
|
|
39
|
+
// Sedes donde el plan es válido
|
|
40
|
+
required: true
|
|
41
|
+
},
|
|
42
|
+
users: [{
|
|
43
|
+
type: Schema.Types.ObjectId,
|
|
44
|
+
ref: "User"
|
|
45
|
+
}],
|
|
46
|
+
createdAt: {
|
|
47
|
+
type: Date,
|
|
48
|
+
default: Date.now
|
|
49
|
+
} // Fecha de creación
|
|
50
|
+
});
|
|
51
|
+
var Plan = _mongoose.default.model('Plan', PlanSchema);
|
|
52
|
+
var _default = exports.default = Plan;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _plan = _interopRequireDefault(require("../models/plan.model"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
// services/plan.service.js
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @description Creates a new plan
|
|
13
|
+
* @param {Object} planData
|
|
14
|
+
* @returns {Promise<PlanModel>}
|
|
15
|
+
*/
|
|
16
|
+
var createPlan = planData => {
|
|
17
|
+
var plan = new _plan.default(planData);
|
|
18
|
+
return plan.save();
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @description Returns a plan by its ID
|
|
23
|
+
* @param {String} planId
|
|
24
|
+
* @returns {Promise<PlanModel>}
|
|
25
|
+
*/
|
|
26
|
+
var getPlanById = planId => {
|
|
27
|
+
return _plan.default.findById(planId).populate("users");
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @description Updates a plan
|
|
32
|
+
* @param {String} planId
|
|
33
|
+
* @param {Object} updateData
|
|
34
|
+
* @returns {Promise<PlanModel>}
|
|
35
|
+
*/
|
|
36
|
+
var updatePlan = (planId, updateData) => {
|
|
37
|
+
return _plan.default.findByIdAndUpdate(planId, updateData, {
|
|
38
|
+
new: true
|
|
39
|
+
}).populate("users");
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @description Deletes a plan by its ID
|
|
44
|
+
* @param {String} planId
|
|
45
|
+
* @returns {Promise<PlanModel>}
|
|
46
|
+
*/
|
|
47
|
+
var deletePlan = planId => {
|
|
48
|
+
return _plan.default.findByIdAndDelete(planId);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @description Lists all plans with optional filters
|
|
53
|
+
* @param {Object} filters
|
|
54
|
+
* @returns {Promise<PlanModel[]>}
|
|
55
|
+
*/
|
|
56
|
+
var listPlans = function listPlans() {
|
|
57
|
+
var filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
58
|
+
return _plan.default.find(filters).populate("users");
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @description Adds a user to a plan
|
|
63
|
+
* @param {String} planId
|
|
64
|
+
* @param {String} userId
|
|
65
|
+
* @returns {Promise<PlanModel>}
|
|
66
|
+
*/
|
|
67
|
+
var addUserToPlan = (planId, userId) => {
|
|
68
|
+
return _plan.default.findByIdAndUpdate(planId, {
|
|
69
|
+
$addToSet: {
|
|
70
|
+
users: userId
|
|
71
|
+
}
|
|
72
|
+
}, {
|
|
73
|
+
new: true
|
|
74
|
+
}).populate("users");
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* @description Removes a user from a plan
|
|
79
|
+
* @param {String} planId
|
|
80
|
+
* @param {String} userId
|
|
81
|
+
* @returns {Promise<PlanModel>}
|
|
82
|
+
*/
|
|
83
|
+
var removeUserFromPlan = (planId, userId) => {
|
|
84
|
+
return _plan.default.findByIdAndUpdate(planId, {
|
|
85
|
+
$pull: {
|
|
86
|
+
users: userId
|
|
87
|
+
}
|
|
88
|
+
}, {
|
|
89
|
+
new: true
|
|
90
|
+
}).populate("users");
|
|
91
|
+
};
|
|
92
|
+
var _default = exports.default = {
|
|
93
|
+
createPlan,
|
|
94
|
+
getPlanById,
|
|
95
|
+
updatePlan,
|
|
96
|
+
deletePlan,
|
|
97
|
+
listPlans,
|
|
98
|
+
addUserToPlan,
|
|
99
|
+
removeUserFromPlan
|
|
100
|
+
};
|