|
@@ -88,15 +88,25 @@ class ClientActivitiesController {
|
|
and a.category_id is null
|
|
and a.category_id is null
|
|
`);
|
|
`);
|
|
|
|
|
|
- const activitiesWithValidatorsData = await Promise.all(
|
|
|
|
|
|
+ const validatedActivities = await Promise.all(
|
|
activities.map(async (activity) => {
|
|
activities.map(async (activity) => {
|
|
|
|
+ const validatorsWithData = await cActService.addDataToActValidators({
|
|
|
|
+ validators: activity.validators,
|
|
|
|
+ activityId: activity.activityId,
|
|
|
|
+ });
|
|
|
|
+ const validatedActivity = validateActValidators(validatorsWithData);
|
|
|
|
+
|
|
return {
|
|
return {
|
|
- ...activity,
|
|
|
|
- validators: await Promise.all(
|
|
|
|
- activity.validators.map(async (validator) =>
|
|
|
|
- cActService.addDataToActValidator(validator, activity.activityId),
|
|
|
|
- ),
|
|
|
|
- ),
|
|
|
|
|
|
+ activityId: activity.activityId,
|
|
|
|
+ code: activity.code,
|
|
|
|
+ publicName: activity.publicName,
|
|
|
|
+ categoryId: activity.categoryId,
|
|
|
|
+ categoryCode: activity.categoryCode,
|
|
|
|
+ peTypes: activity.peTypes,
|
|
|
|
+ isUserReg: activity.isUserReg,
|
|
|
|
+
|
|
|
|
+ isOpen: validatedActivity.isOpen,
|
|
|
|
+ messages: validatedActivity.messages,
|
|
};
|
|
};
|
|
}),
|
|
}),
|
|
);
|
|
);
|
|
@@ -107,7 +117,7 @@ class ClientActivitiesController {
|
|
{
|
|
{
|
|
code: "success",
|
|
code: "success",
|
|
categories: [...categories],
|
|
categories: [...categories],
|
|
- activities: [...activitiesWithValidatorsData],
|
|
|
|
|
|
+ activities: [...validatedActivities],
|
|
},
|
|
},
|
|
);
|
|
);
|
|
}
|
|
}
|
|
@@ -168,15 +178,25 @@ class ClientActivitiesController {
|
|
a.category_code = ${categoryCode}
|
|
a.category_code = ${categoryCode}
|
|
`);
|
|
`);
|
|
|
|
|
|
- const activitiesWithValidatorsData = await Promise.all(
|
|
|
|
|
|
+ const validatedActivities = await Promise.all(
|
|
activities.map(async (activity) => {
|
|
activities.map(async (activity) => {
|
|
|
|
+ const validatorsWithData = await cActService.addDataToActValidators({
|
|
|
|
+ validators: activity.validators,
|
|
|
|
+ activityId: activity.activityId,
|
|
|
|
+ });
|
|
|
|
+ const validatedActivity = validateActValidators(validatorsWithData);
|
|
|
|
+
|
|
return {
|
|
return {
|
|
- ...activity,
|
|
|
|
- validators: await Promise.all(
|
|
|
|
- activity.validators.map(async (validator) =>
|
|
|
|
- cActService.addDataToActValidator(validator, activity.activityId),
|
|
|
|
- ),
|
|
|
|
- ),
|
|
|
|
|
|
+ activityId: activity.activityId,
|
|
|
|
+ code: activity.code,
|
|
|
|
+ publicName: activity.publicName,
|
|
|
|
+ categoryId: activity.categoryId,
|
|
|
|
+ categoryCode: activity.categoryCode,
|
|
|
|
+ peTypes: activity.peTypes,
|
|
|
|
+ isUserReg: activity.isUserReg,
|
|
|
|
+
|
|
|
|
+ isOpen: validatedActivity.isOpen,
|
|
|
|
+ messages: validatedActivity.messages,
|
|
};
|
|
};
|
|
}),
|
|
}),
|
|
);
|
|
);
|
|
@@ -187,7 +207,7 @@ class ClientActivitiesController {
|
|
{
|
|
{
|
|
code: "success",
|
|
code: "success",
|
|
categories: [...categories],
|
|
categories: [...categories],
|
|
- activities: [...activitiesWithValidatorsData],
|
|
|
|
|
|
+ activities: [...validatedActivities],
|
|
},
|
|
},
|
|
);
|
|
);
|
|
}
|
|
}
|
|
@@ -212,12 +232,61 @@ class ClientActivitiesController {
|
|
"Данные для регистрации на мероприятии не найдены",
|
|
"Данные для регистрации на мероприятии не найдены",
|
|
);
|
|
);
|
|
|
|
|
|
|
|
+ // validate act
|
|
|
|
+ const validatorsWithData = await cActService.addDataToActValidators({
|
|
|
|
+ validators: actRegData.validators,
|
|
|
|
+ activityId: actRegData.activityId,
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ const validatedActivity = validateActValidators(validatorsWithData);
|
|
|
|
+ if (!validatedActivity.isOpen)
|
|
|
|
+ throw ApiError.BadRequest(
|
|
|
|
+ "actValidatorFailed",
|
|
|
|
+ validatedActivity.messages.join(", "),
|
|
|
|
+ );
|
|
|
|
+ //
|
|
|
|
+
|
|
|
|
+ // validate pes
|
|
|
|
+ const pes = await cPeService.getUserOwnerPesWithFieldsAndMembers({
|
|
|
|
+ userId: user.userId,
|
|
|
|
+ eventInstId: event.eventInstId,
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ const validatedPes = await Promise.all(
|
|
|
|
+ pes.map(async (pe) => {
|
|
|
|
+ const validationResult = await validatePeForAct(actRegData, pe);
|
|
|
|
+ return {
|
|
|
|
+ peId: pe.peId,
|
|
|
|
+ peTypeId: pe.peTypeId,
|
|
|
|
+ peTypeCode: pe.peTypeCode,
|
|
|
|
+ peTypeName: pe.peTypeName,
|
|
|
|
+ name: pe.name,
|
|
|
|
+
|
|
|
|
+ isValid: validationResult.isValid,
|
|
|
|
+ messages: validationResult.messages,
|
|
|
|
+ };
|
|
|
|
+ }),
|
|
|
|
+ );
|
|
|
|
+
|
|
RouterUtils.validAndSendResponse(
|
|
RouterUtils.validAndSendResponse(
|
|
api.client.activities.GET_ActRegData.res,
|
|
api.client.activities.GET_ActRegData.res,
|
|
res,
|
|
res,
|
|
{
|
|
{
|
|
code: "success",
|
|
code: "success",
|
|
- actRegData: actRegData,
|
|
|
|
|
|
+ actRegData: {
|
|
|
|
+ isOpen: validatedActivity.isOpen,
|
|
|
|
+ messages: validatedActivity.messages,
|
|
|
|
+ activityId: actRegData.activityId,
|
|
|
|
+ code: actRegData.code,
|
|
|
|
+ publicName: actRegData.publicName,
|
|
|
|
+ eventInstId: actRegData.eventInstId,
|
|
|
|
+ categoryId: actRegData.categoryId,
|
|
|
|
+ categoryCode: actRegData.categoryCode,
|
|
|
|
+ isUserReg: actRegData.isUserReg,
|
|
|
|
+ peTypes: actRegData.peTypes,
|
|
|
|
+ fields: actRegData.fields,
|
|
|
|
+ validatedPes: validatedPes,
|
|
|
|
+ },
|
|
},
|
|
},
|
|
);
|
|
);
|
|
}
|
|
}
|
|
@@ -259,16 +328,12 @@ class ClientActivitiesController {
|
|
|
|
|
|
//
|
|
//
|
|
// -- ВАЛИДАЦИЯ --
|
|
// -- ВАЛИДАЦИЯ --
|
|
- const validatorsWithData = await Promise.all(
|
|
|
|
- actRegData.validators.map(
|
|
|
|
- async (validator) =>
|
|
|
|
- await cActService.addDataToActValidator(
|
|
|
|
- validator,
|
|
|
|
- actRegData.activityId,
|
|
|
|
- ),
|
|
|
|
- ),
|
|
|
|
- );
|
|
|
|
|
|
+
|
|
// валидация активности
|
|
// валидация активности
|
|
|
|
+ const validatorsWithData = await cActService.addDataToActValidators({
|
|
|
|
+ validators: actRegData.validators,
|
|
|
|
+ activityId: actRegData.activityId,
|
|
|
|
+ });
|
|
|
|
|
|
const validatedActivity = validateActValidators(validatorsWithData);
|
|
const validatedActivity = validateActValidators(validatorsWithData);
|
|
if (!validatedActivity.isOpen)
|
|
if (!validatedActivity.isOpen)
|
|
@@ -293,7 +358,7 @@ class ClientActivitiesController {
|
|
...pe,
|
|
...pe,
|
|
members: [...members],
|
|
members: [...members],
|
|
};
|
|
};
|
|
- const validationResult = validatePeForAct(actRegData, fullPe);
|
|
|
|
|
|
+ const validationResult = await validatePeForAct(actRegData, fullPe);
|
|
if (!validationResult.isValid)
|
|
if (!validationResult.isValid)
|
|
throw ApiError.BadRequest(
|
|
throw ApiError.BadRequest(
|
|
"peValidatorFailed",
|
|
"peValidatorFailed",
|
|
@@ -495,7 +560,7 @@ class ClientActivitiesController {
|
|
const { activityRegId } =
|
|
const { activityRegId } =
|
|
api.client.activities.GET_ActRegForPatch.req.params.parse(req.params);
|
|
api.client.activities.GET_ActRegForPatch.req.params.parse(req.params);
|
|
const actReg =
|
|
const actReg =
|
|
- await cActService.getActRegWithFieldsAndValidatorsAndValuesAndActValidators(
|
|
|
|
|
|
+ await cActService.getActRegWithFieldsAndValuesWithValidators(
|
|
activityRegId,
|
|
activityRegId,
|
|
);
|
|
);
|
|
|
|
|
|
@@ -558,15 +623,10 @@ class ClientActivitiesController {
|
|
|
|
|
|
//
|
|
//
|
|
// -- ВАЛИДАЦИЯ --
|
|
// -- ВАЛИДАЦИЯ --
|
|
- const validatorsWithData = await Promise.all(
|
|
|
|
- actRegData.validators.map(
|
|
|
|
- async (validator) =>
|
|
|
|
- await cActService.addDataToActValidator(
|
|
|
|
- validator,
|
|
|
|
- actRegData.activityId,
|
|
|
|
- ),
|
|
|
|
- ),
|
|
|
|
- );
|
|
|
|
|
|
+ const validatorsWithData = await cActService.addDataToActValidators({
|
|
|
|
+ validators: actRegData.validators,
|
|
|
|
+ activityId: actRegData.activityId,
|
|
|
|
+ });
|
|
// валидация активности
|
|
// валидация активности
|
|
|
|
|
|
const validatedActivity = validateActValidators(validatorsWithData);
|
|
const validatedActivity = validateActValidators(validatorsWithData);
|
|
@@ -591,7 +651,7 @@ class ClientActivitiesController {
|
|
...pe,
|
|
...pe,
|
|
members: [...members],
|
|
members: [...members],
|
|
};
|
|
};
|
|
- const validationResult = validatePeForAct(actRegData, fullPe);
|
|
|
|
|
|
+ const validationResult = await validatePeForAct(actRegData, fullPe);
|
|
if (!validationResult.isValid)
|
|
if (!validationResult.isValid)
|
|
throw ApiError.BadRequest(
|
|
throw ApiError.BadRequest(
|
|
"peValidatorFailed",
|
|
"peValidatorFailed",
|