@abyss-project/training 1.0.0
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/.eslintrc.js +34 -0
- package/README.md +2 -0
- package/dist/api/abyss.admin.api.d.ts +2 -0
- package/dist/api/abyss.admin.api.js +8 -0
- package/dist/api/analytics.api.d.ts +11 -0
- package/dist/api/analytics.api.js +18 -0
- package/dist/api/index.d.ts +7 -0
- package/dist/api/index.js +23 -0
- package/dist/api/monitor.api.d.ts +2 -0
- package/dist/api/monitor.api.js +8 -0
- package/dist/api/project-analytics.api.d.ts +7 -0
- package/dist/api/project-analytics.api.js +16 -0
- package/dist/api/project-document.admin.api.d.ts +6 -0
- package/dist/api/project-document.admin.api.js +24 -0
- package/dist/api/project-document.api.d.ts +9 -0
- package/dist/api/project-document.api.js +38 -0
- package/dist/api/project-event.api.d.ts +7 -0
- package/dist/api/project-event.api.js +28 -0
- package/dist/api/project-follower.admin.api.d.ts +4 -0
- package/dist/api/project-follower.admin.api.js +18 -0
- package/dist/api/project-follower.api.d.ts +5 -0
- package/dist/api/project-follower.api.js +20 -0
- package/dist/api/project-post.admin.api.d.ts +6 -0
- package/dist/api/project-post.admin.api.js +24 -0
- package/dist/api/project-post.api.d.ts +6 -0
- package/dist/api/project-post.api.js +24 -0
- package/dist/api/project-presentation.admin.api.d.ts +4 -0
- package/dist/api/project-presentation.admin.api.js +16 -0
- package/dist/api/project-presentation.api.d.ts +4 -0
- package/dist/api/project-presentation.api.js +16 -0
- package/dist/api/project-social-network.admin.api.d.ts +7 -0
- package/dist/api/project-social-network.admin.api.js +28 -0
- package/dist/api/project-social-network.api.d.ts +6 -0
- package/dist/api/project-social-network.api.js +24 -0
- package/dist/api/project-star.admin.api.d.ts +4 -0
- package/dist/api/project-star.admin.api.js +18 -0
- package/dist/api/project-star.api.d.ts +5 -0
- package/dist/api/project-star.api.js +20 -0
- package/dist/api/project.admin.api.d.ts +11 -0
- package/dist/api/project.admin.api.js +46 -0
- package/dist/api/project.api.d.ts +13 -0
- package/dist/api/project.api.js +56 -0
- package/dist/api/project.public.api.d.ts +8 -0
- package/dist/api/project.public.api.js +32 -0
- package/dist/api/user.admin.api.d.ts +5 -0
- package/dist/api/user.admin.api.js +23 -0
- package/dist/api/user.api.d.ts +4 -0
- package/dist/api/user.api.js +17 -0
- package/dist/api/workout-session.api.d.ts +9 -0
- package/dist/api/workout-session.api.js +38 -0
- package/dist/api/workout-template.api.d.ts +7 -0
- package/dist/api/workout-template.api.js +28 -0
- package/dist/api/workout-template.public.api.d.ts +3 -0
- package/dist/api/workout-template.public.api.js +12 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.js +17 -0
- package/dist/constants/project.constant.d.ts +4 -0
- package/dist/constants/project.constant.js +7 -0
- package/dist/constants/training.constant.d.ts +2 -0
- package/dist/constants/training.constant.js +5 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +99 -0
- package/dist/types/enum/api-error.enum.d.ts +21 -0
- package/dist/types/enum/api-error.enum.js +26 -0
- package/dist/types/enum/equipment-type.enum.d.ts +11 -0
- package/dist/types/enum/equipment-type.enum.js +15 -0
- package/dist/types/enum/exercise-group-type.enum.d.ts +9 -0
- package/dist/types/enum/exercise-group-type.enum.js +13 -0
- package/dist/types/enum/exercise-type.enum.d.ts +8 -0
- package/dist/types/enum/exercise-type.enum.js +12 -0
- package/dist/types/enum/index.d.ts +6 -0
- package/dist/types/enum/index.js +22 -0
- package/dist/types/enum/muscle-group.enum.d.ts +16 -0
- package/dist/types/enum/muscle-group.enum.js +20 -0
- package/dist/types/enum/project-category.enum.d.ts +63 -0
- package/dist/types/enum/project-category.enum.js +67 -0
- package/dist/types/enum/project-document-type.enum.d.ts +6 -0
- package/dist/types/enum/project-document-type.enum.js +10 -0
- package/dist/types/enum/project-language.enum.d.ts +40 -0
- package/dist/types/enum/project-language.enum.js +44 -0
- package/dist/types/enum/project-presentation-type.enum.d.ts +3 -0
- package/dist/types/enum/project-presentation-type.enum.js +7 -0
- package/dist/types/enum/project-status.enum.d.ts +5 -0
- package/dist/types/enum/project-status.enum.js +9 -0
- package/dist/types/enum/workout-session-status.enum.d.ts +7 -0
- package/dist/types/enum/workout-session-status.enum.js +11 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +18 -0
- package/dist/types/interface/api/index.d.ts +19 -0
- package/dist/types/interface/api/index.js +35 -0
- package/dist/types/interface/api/requests/abyss.admin.request.d.ts +3 -0
- package/dist/types/interface/api/requests/abyss.admin.request.js +2 -0
- package/dist/types/interface/api/requests/project-analytics.request.d.ts +19 -0
- package/dist/types/interface/api/requests/project-analytics.request.js +2 -0
- package/dist/types/interface/api/requests/project-document.admin.request.d.ts +18 -0
- package/dist/types/interface/api/requests/project-document.admin.request.js +2 -0
- package/dist/types/interface/api/requests/project-document.request.d.ts +52 -0
- package/dist/types/interface/api/requests/project-document.request.js +2 -0
- package/dist/types/interface/api/requests/project-event.request.d.ts +30 -0
- package/dist/types/interface/api/requests/project-event.request.js +2 -0
- package/dist/types/interface/api/requests/project-follower.admin.request.d.ts +13 -0
- package/dist/types/interface/api/requests/project-follower.admin.request.js +2 -0
- package/dist/types/interface/api/requests/project-follower.request.d.ts +12 -0
- package/dist/types/interface/api/requests/project-follower.request.js +2 -0
- package/dist/types/interface/api/requests/project-post-analytics.request.d.ts +4 -0
- package/dist/types/interface/api/requests/project-post-analytics.request.js +2 -0
- package/dist/types/interface/api/requests/project-post.admin.request.d.ts +24 -0
- package/dist/types/interface/api/requests/project-post.admin.request.js +2 -0
- package/dist/types/interface/api/requests/project-post.request.d.ts +28 -0
- package/dist/types/interface/api/requests/project-post.request.js +2 -0
- package/dist/types/interface/api/requests/project-presentation.admin.request.d.ts +12 -0
- package/dist/types/interface/api/requests/project-presentation.admin.request.js +2 -0
- package/dist/types/interface/api/requests/project-presentation.request.d.ts +13 -0
- package/dist/types/interface/api/requests/project-presentation.request.js +2 -0
- package/dist/types/interface/api/requests/project-social-network.admin.request.d.ts +30 -0
- package/dist/types/interface/api/requests/project-social-network.admin.request.js +2 -0
- package/dist/types/interface/api/requests/project-social-network.request.d.ts +28 -0
- package/dist/types/interface/api/requests/project-social-network.request.js +2 -0
- package/dist/types/interface/api/requests/project-star.admin.request.d.ts +13 -0
- package/dist/types/interface/api/requests/project-star.admin.request.js +2 -0
- package/dist/types/interface/api/requests/project-star.request.d.ts +12 -0
- package/dist/types/interface/api/requests/project-star.request.js +2 -0
- package/dist/types/interface/api/requests/project.admin.request.d.ts +69 -0
- package/dist/types/interface/api/requests/project.admin.request.js +2 -0
- package/dist/types/interface/api/requests/project.public.request.d.ts +38 -0
- package/dist/types/interface/api/requests/project.public.request.js +2 -0
- package/dist/types/interface/api/requests/project.request.d.ts +70 -0
- package/dist/types/interface/api/requests/project.request.js +2 -0
- package/dist/types/interface/api/requests/storage.admin.request.d.ts +3 -0
- package/dist/types/interface/api/requests/storage.admin.request.js +2 -0
- package/dist/types/interface/api/requests/user.admin.request.d.ts +14 -0
- package/dist/types/interface/api/requests/user.admin.request.js +2 -0
- package/dist/types/interface/api/requests/user.request.d.ts +2 -0
- package/dist/types/interface/api/requests/user.request.js +2 -0
- package/dist/types/interface/api/requests/workout-session.request.d.ts +74 -0
- package/dist/types/interface/api/requests/workout-session.request.js +2 -0
- package/dist/types/interface/api/requests/workout-template.public.request.d.ts +15 -0
- package/dist/types/interface/api/requests/workout-template.public.request.js +2 -0
- package/dist/types/interface/api/requests/workout-template.request.d.ts +62 -0
- package/dist/types/interface/api/requests/workout-template.request.js +2 -0
- package/dist/types/interface/api/responses/abyss.admin.response.d.ts +6 -0
- package/dist/types/interface/api/responses/abyss.admin.response.js +2 -0
- package/dist/types/interface/api/responses/monitor.response.d.ts +7 -0
- package/dist/types/interface/api/responses/monitor.response.js +2 -0
- package/dist/types/interface/api/responses/project-analytics.response.d.ts +77 -0
- package/dist/types/interface/api/responses/project-analytics.response.js +2 -0
- package/dist/types/interface/api/responses/project-document.admin.response.d.ts +17 -0
- package/dist/types/interface/api/responses/project-document.admin.response.js +2 -0
- package/dist/types/interface/api/responses/project-document.response.d.ts +25 -0
- package/dist/types/interface/api/responses/project-document.response.js +2 -0
- package/dist/types/interface/api/responses/project-event.response.d.ts +17 -0
- package/dist/types/interface/api/responses/project-event.response.js +2 -0
- package/dist/types/interface/api/responses/project-follower.admin.response.d.ts +9 -0
- package/dist/types/interface/api/responses/project-follower.admin.response.js +2 -0
- package/dist/types/interface/api/responses/project-follower.response.d.ts +10 -0
- package/dist/types/interface/api/responses/project-follower.response.js +2 -0
- package/dist/types/interface/api/responses/project-post-analytics.response.d.ts +34 -0
- package/dist/types/interface/api/responses/project-post-analytics.response.js +2 -0
- package/dist/types/interface/api/responses/project-post.admin.response.d.ts +17 -0
- package/dist/types/interface/api/responses/project-post.admin.response.js +2 -0
- package/dist/types/interface/api/responses/project-post.response.d.ts +17 -0
- package/dist/types/interface/api/responses/project-post.response.js +2 -0
- package/dist/types/interface/api/responses/project-presentation.admin.response.d.ts +12 -0
- package/dist/types/interface/api/responses/project-presentation.admin.response.js +2 -0
- package/dist/types/interface/api/responses/project-presentation.response.d.ts +12 -0
- package/dist/types/interface/api/responses/project-presentation.response.js +2 -0
- package/dist/types/interface/api/responses/project-social-network.admin.response.d.ts +21 -0
- package/dist/types/interface/api/responses/project-social-network.admin.response.js +2 -0
- package/dist/types/interface/api/responses/project-social-network.response.d.ts +20 -0
- package/dist/types/interface/api/responses/project-social-network.response.js +2 -0
- package/dist/types/interface/api/responses/project-star.admin.response.d.ts +9 -0
- package/dist/types/interface/api/responses/project-star.admin.response.js +2 -0
- package/dist/types/interface/api/responses/project-star.response.d.ts +10 -0
- package/dist/types/interface/api/responses/project-star.response.js +2 -0
- package/dist/types/interface/api/responses/project.admin.response.d.ts +39 -0
- package/dist/types/interface/api/responses/project.admin.response.js +2 -0
- package/dist/types/interface/api/responses/project.public.response.d.ts +46 -0
- package/dist/types/interface/api/responses/project.public.response.js +2 -0
- package/dist/types/interface/api/responses/project.response.d.ts +76 -0
- package/dist/types/interface/api/responses/project.response.js +2 -0
- package/dist/types/interface/api/responses/storage.admin.response.d.ts +3 -0
- package/dist/types/interface/api/responses/storage.admin.response.js +2 -0
- package/dist/types/interface/api/responses/user.admin.response.d.ts +14 -0
- package/dist/types/interface/api/responses/user.admin.response.js +2 -0
- package/dist/types/interface/api/responses/user.response.d.ts +13 -0
- package/dist/types/interface/api/responses/user.response.js +2 -0
- package/dist/types/interface/api/responses/workout-session.response.d.ts +26 -0
- package/dist/types/interface/api/responses/workout-session.response.js +2 -0
- package/dist/types/interface/api/responses/workout-template.public.response.d.ts +7 -0
- package/dist/types/interface/api/responses/workout-template.public.response.js +2 -0
- package/dist/types/interface/api/responses/workout-template.response.d.ts +18 -0
- package/dist/types/interface/api/responses/workout-template.response.js +2 -0
- package/dist/types/interface/api/type-message/api-error.d.ts +8 -0
- package/dist/types/interface/api/type-message/api-error.js +2 -0
- package/dist/types/interface/api/type-message/base-order.d.ts +4 -0
- package/dist/types/interface/api/type-message/base-order.js +2 -0
- package/dist/types/interface/api/type-message/base-paginate.d.ts +10 -0
- package/dist/types/interface/api/type-message/base-paginate.js +2 -0
- package/dist/types/interface/api/type-message/response.d.ts +5 -0
- package/dist/types/interface/api/type-message/response.js +2 -0
- package/dist/types/interface/index.d.ts +7 -0
- package/dist/types/interface/index.js +23 -0
- package/dist/types/interface/models/exercise-set.model.d.ts +26 -0
- package/dist/types/interface/models/exercise-set.model.js +2 -0
- package/dist/types/interface/models/exercise.model.d.ts +23 -0
- package/dist/types/interface/models/exercise.model.js +2 -0
- package/dist/types/interface/models/project-analytics.model.d.ts +28 -0
- package/dist/types/interface/models/project-analytics.model.js +15 -0
- package/dist/types/interface/models/project-document.model.d.ts +19 -0
- package/dist/types/interface/models/project-document.model.js +2 -0
- package/dist/types/interface/models/project-event.model.d.ts +11 -0
- package/dist/types/interface/models/project-event.model.js +2 -0
- package/dist/types/interface/models/project-follower.model.d.ts +11 -0
- package/dist/types/interface/models/project-follower.model.js +2 -0
- package/dist/types/interface/models/project-post.model.d.ts +10 -0
- package/dist/types/interface/models/project-post.model.js +2 -0
- package/dist/types/interface/models/project-presentation.model.d.ts +12 -0
- package/dist/types/interface/models/project-presentation.model.js +2 -0
- package/dist/types/interface/models/project-social-network.model.d.ts +11 -0
- package/dist/types/interface/models/project-social-network.model.js +2 -0
- package/dist/types/interface/models/project-star.model.d.ts +11 -0
- package/dist/types/interface/models/project-star.model.js +2 -0
- package/dist/types/interface/models/project-view.model.d.ts +13 -0
- package/dist/types/interface/models/project-view.model.js +2 -0
- package/dist/types/interface/models/project.model.d.ts +37 -0
- package/dist/types/interface/models/project.model.js +2 -0
- package/dist/types/interface/models/user.model.d.ts +7 -0
- package/dist/types/interface/models/user.model.js +2 -0
- package/dist/types/interface/models/workout-exercise.model.d.ts +21 -0
- package/dist/types/interface/models/workout-exercise.model.js +2 -0
- package/dist/types/interface/models/workout-session.model.d.ts +21 -0
- package/dist/types/interface/models/workout-session.model.js +2 -0
- package/dist/types/interface/models/workout-template.model.d.ts +16 -0
- package/dist/types/interface/models/workout-template.model.js +2 -0
- package/dist/utils/css-sanitizer.utils.d.ts +2 -0
- package/dist/utils/css-sanitizer.utils.js +33 -0
- package/dist/utils/error.utils.d.ts +15 -0
- package/dist/utils/error.utils.js +24 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +17 -0
- package/package.json +51 -0
- package/tsconfig.json +105 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BasePaginate, IResponse } from '..';
|
|
2
|
+
import { IWorkoutTemplate } from '../../models/workout-template.model';
|
|
3
|
+
export interface IGetWorkoutTemplatePublicData {
|
|
4
|
+
workoutTemplate: IWorkoutTemplate;
|
|
5
|
+
}
|
|
6
|
+
export type IGetWorkoutTemplatePublicResponse = IResponse<IGetWorkoutTemplatePublicData>;
|
|
7
|
+
export type IPaginateWorkoutTemplatePublicResponse = IResponse<BasePaginate<IWorkoutTemplate>>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IResponse, BasePaginate } from '..';
|
|
2
|
+
import { IWorkoutTemplate } from '../../models/workout-template.model';
|
|
3
|
+
export interface ICreateWorkoutTemplateData {
|
|
4
|
+
workoutTemplate: IWorkoutTemplate;
|
|
5
|
+
}
|
|
6
|
+
export type ICreateWorkoutTemplateResponse = IResponse<ICreateWorkoutTemplateData>;
|
|
7
|
+
export interface IGetWorkoutTemplateData {
|
|
8
|
+
workoutTemplate: IWorkoutTemplate;
|
|
9
|
+
}
|
|
10
|
+
export type IGetWorkoutTemplateResponse = IResponse<IGetWorkoutTemplateData>;
|
|
11
|
+
export type IPaginateWorkoutTemplateResponse = IResponse<BasePaginate<IWorkoutTemplate>>;
|
|
12
|
+
export interface IUpdateWorkoutTemplateData {
|
|
13
|
+
workoutTemplate: IWorkoutTemplate;
|
|
14
|
+
}
|
|
15
|
+
export type IUpdateWorkoutTemplateResponse = IResponse<IUpdateWorkoutTemplateData>;
|
|
16
|
+
export interface IDeleteWorkoutTemplateData {
|
|
17
|
+
}
|
|
18
|
+
export type IDeleteWorkoutTemplateResponse = IResponse<IDeleteWorkoutTemplateData>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './models/user.model';
|
|
2
|
+
export * from './models/exercise.model';
|
|
3
|
+
export * from './models/workout-template.model';
|
|
4
|
+
export * from './models/workout-exercise.model';
|
|
5
|
+
export * from './models/workout-session.model';
|
|
6
|
+
export * from './models/exercise-set.model';
|
|
7
|
+
export * from './api';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./models/user.model"), exports);
|
|
18
|
+
__exportStar(require("./models/exercise.model"), exports);
|
|
19
|
+
__exportStar(require("./models/workout-template.model"), exports);
|
|
20
|
+
__exportStar(require("./models/workout-exercise.model"), exports);
|
|
21
|
+
__exportStar(require("./models/workout-session.model"), exports);
|
|
22
|
+
__exportStar(require("./models/exercise-set.model"), exports);
|
|
23
|
+
__exportStar(require("./api"), exports);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IWorkoutSession } from './workout-session.model';
|
|
2
|
+
import { IExercise } from './exercise.model';
|
|
3
|
+
export interface IExerciseSet {
|
|
4
|
+
id?: string;
|
|
5
|
+
workoutSessionId: string;
|
|
6
|
+
exerciseId: string;
|
|
7
|
+
setNumber: number;
|
|
8
|
+
reps: number | null;
|
|
9
|
+
weight: number | null;
|
|
10
|
+
duration: number | null;
|
|
11
|
+
distance: number | null;
|
|
12
|
+
restTime: number | null;
|
|
13
|
+
rpe: number | null;
|
|
14
|
+
feeling: string | null;
|
|
15
|
+
isSkipped: boolean;
|
|
16
|
+
skipReason: string | null;
|
|
17
|
+
isWarmup: boolean;
|
|
18
|
+
isDropSet: boolean;
|
|
19
|
+
isFailure: boolean;
|
|
20
|
+
completedAt: Date | null;
|
|
21
|
+
notes: string | null;
|
|
22
|
+
createdAt?: Date;
|
|
23
|
+
updatedAt?: Date;
|
|
24
|
+
workoutSession?: IWorkoutSession;
|
|
25
|
+
exercise?: IExercise;
|
|
26
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ExerciseType } from '../../enum/exercise-type.enum';
|
|
2
|
+
import { MuscleGroup } from '../../enum/muscle-group.enum';
|
|
3
|
+
import { EquipmentType } from '../../enum/equipment-type.enum';
|
|
4
|
+
import { IUser } from './user.model';
|
|
5
|
+
import { IWorkoutExercise } from './workout-exercise.model';
|
|
6
|
+
export interface IExercise {
|
|
7
|
+
id?: string;
|
|
8
|
+
name: string;
|
|
9
|
+
description: string | null;
|
|
10
|
+
type: ExerciseType[];
|
|
11
|
+
primaryMuscleGroups: MuscleGroup[];
|
|
12
|
+
secondaryMuscleGroups: MuscleGroup[];
|
|
13
|
+
requiredEquipment: EquipmentType | null;
|
|
14
|
+
videoUrl: string | null;
|
|
15
|
+
imageUrl: string | null;
|
|
16
|
+
instructions: string | null;
|
|
17
|
+
userId: string | null;
|
|
18
|
+
isPublic: boolean;
|
|
19
|
+
createdAt?: Date;
|
|
20
|
+
updatedAt?: Date;
|
|
21
|
+
user?: IUser;
|
|
22
|
+
workoutExercise?: IWorkoutExercise[];
|
|
23
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { IProject } from './project.model';
|
|
2
|
+
import { IUser } from './user.model';
|
|
3
|
+
import { IProjectPost } from './project-post.model';
|
|
4
|
+
export declare enum ProjectAnalyticsEventType {
|
|
5
|
+
CONTACT_CLICK = "contact_click",
|
|
6
|
+
JOIN_CLICK = "join_click",
|
|
7
|
+
ACCESS_CLICK = "access_click",
|
|
8
|
+
STAR_ADD = "star_add",
|
|
9
|
+
STAR_REMOVE = "star_remove",
|
|
10
|
+
FOLLOWER_ADD = "follower_add",
|
|
11
|
+
FOLLOWER_REMOVE = "follower_remove",
|
|
12
|
+
POST_VIEW = "post_view",
|
|
13
|
+
PROJECT_VIEW = "project_view"
|
|
14
|
+
}
|
|
15
|
+
export interface IProjectAnalytics {
|
|
16
|
+
id: string;
|
|
17
|
+
projectId: string;
|
|
18
|
+
userId: string | null;
|
|
19
|
+
anonymousId: string;
|
|
20
|
+
eventType: ProjectAnalyticsEventType | string;
|
|
21
|
+
projectPostId: string | null;
|
|
22
|
+
metadata: Record<string, any> | null;
|
|
23
|
+
createdAt?: Date;
|
|
24
|
+
updatedAt?: Date;
|
|
25
|
+
project?: IProject;
|
|
26
|
+
user?: IUser | null;
|
|
27
|
+
projectPost?: IProjectPost | null;
|
|
28
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectAnalyticsEventType = void 0;
|
|
4
|
+
var ProjectAnalyticsEventType;
|
|
5
|
+
(function (ProjectAnalyticsEventType) {
|
|
6
|
+
ProjectAnalyticsEventType["CONTACT_CLICK"] = "contact_click";
|
|
7
|
+
ProjectAnalyticsEventType["JOIN_CLICK"] = "join_click";
|
|
8
|
+
ProjectAnalyticsEventType["ACCESS_CLICK"] = "access_click";
|
|
9
|
+
ProjectAnalyticsEventType["STAR_ADD"] = "star_add";
|
|
10
|
+
ProjectAnalyticsEventType["STAR_REMOVE"] = "star_remove";
|
|
11
|
+
ProjectAnalyticsEventType["FOLLOWER_ADD"] = "follower_add";
|
|
12
|
+
ProjectAnalyticsEventType["FOLLOWER_REMOVE"] = "follower_remove";
|
|
13
|
+
ProjectAnalyticsEventType["POST_VIEW"] = "post_view";
|
|
14
|
+
ProjectAnalyticsEventType["PROJECT_VIEW"] = "project_view";
|
|
15
|
+
})(ProjectAnalyticsEventType || (exports.ProjectAnalyticsEventType = ProjectAnalyticsEventType = {}));
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ProjectDocumentType } from '../../enum/project-document-type.enum';
|
|
2
|
+
import { IProject } from './project.model';
|
|
3
|
+
export interface IProjectDocument {
|
|
4
|
+
id?: string;
|
|
5
|
+
isActive: boolean;
|
|
6
|
+
type: ProjectDocumentType;
|
|
7
|
+
name: string;
|
|
8
|
+
externalId: string;
|
|
9
|
+
thumbnailId: string;
|
|
10
|
+
thumbnailPublicAccessId: string;
|
|
11
|
+
publicAccessId: string;
|
|
12
|
+
checksum: string;
|
|
13
|
+
mimeType: string;
|
|
14
|
+
sizeOctet: number;
|
|
15
|
+
projectId: string;
|
|
16
|
+
updatedAt?: Date;
|
|
17
|
+
createdAt?: Date;
|
|
18
|
+
project: IProject;
|
|
19
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IProject } from './project.model';
|
|
2
|
+
import { IUser } from './user.model';
|
|
3
|
+
export interface IProjectFollower {
|
|
4
|
+
id?: string;
|
|
5
|
+
userId: string;
|
|
6
|
+
projectId: string;
|
|
7
|
+
updatedAt?: Date;
|
|
8
|
+
createdAt?: Date;
|
|
9
|
+
project?: IProject;
|
|
10
|
+
user?: IUser;
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ProjectPresentationType } from '../../enum/project-presentation-type.enum';
|
|
2
|
+
import { IProject } from './project.model';
|
|
3
|
+
export interface IProjectPresentation {
|
|
4
|
+
id?: string;
|
|
5
|
+
type: ProjectPresentationType;
|
|
6
|
+
content: string;
|
|
7
|
+
customCss?: string;
|
|
8
|
+
projectId: string;
|
|
9
|
+
updatedAt?: Date;
|
|
10
|
+
createdAt?: Date;
|
|
11
|
+
project?: IProject;
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IProject } from './project.model';
|
|
2
|
+
import { IUser } from './user.model';
|
|
3
|
+
export interface IProjectView {
|
|
4
|
+
id?: string;
|
|
5
|
+
userId?: string | null;
|
|
6
|
+
anonymousId?: string;
|
|
7
|
+
projectId: string;
|
|
8
|
+
viewedAt?: Date;
|
|
9
|
+
updatedAt?: Date;
|
|
10
|
+
createdAt?: Date;
|
|
11
|
+
project?: IProject;
|
|
12
|
+
user?: IUser | null;
|
|
13
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ProjectStatus } from '../../enum';
|
|
2
|
+
import { ProjectCategory } from '../../enum/project-category.enum';
|
|
3
|
+
import { ProjectLanguage } from '../../enum/project-language.enum';
|
|
4
|
+
import { IProjectDocument } from './project-document.model';
|
|
5
|
+
import { IProjectFollower } from './project-follower.model';
|
|
6
|
+
import { IProjectPost } from './project-post.model';
|
|
7
|
+
import { IProjectPresentation } from './project-presentation.model';
|
|
8
|
+
import { IProjectSocialNetwork } from './project-social-network.model';
|
|
9
|
+
import { IProjectStar } from './project-star.model';
|
|
10
|
+
import { IUser } from './user.model';
|
|
11
|
+
export interface IProject {
|
|
12
|
+
id?: string;
|
|
13
|
+
title: string;
|
|
14
|
+
slug: string;
|
|
15
|
+
description: string;
|
|
16
|
+
mainLanguage: ProjectLanguage;
|
|
17
|
+
otherLanguage: ProjectLanguage[];
|
|
18
|
+
tags: string[];
|
|
19
|
+
abyssProjectId: string | null;
|
|
20
|
+
abyssProjectApplicationId: string | null;
|
|
21
|
+
category: ProjectCategory;
|
|
22
|
+
status: ProjectStatus;
|
|
23
|
+
isPublished: boolean;
|
|
24
|
+
contactUrl: string | null;
|
|
25
|
+
joinUrl: string | null;
|
|
26
|
+
accessUrl: string | null;
|
|
27
|
+
userId: string | null;
|
|
28
|
+
updatedAt?: Date;
|
|
29
|
+
createdAt?: Date;
|
|
30
|
+
user?: IUser | null;
|
|
31
|
+
projectPresentation?: IProjectPresentation;
|
|
32
|
+
projectPost?: IProjectPost[];
|
|
33
|
+
projectFollower?: IProjectFollower[];
|
|
34
|
+
projectDocument?: IProjectDocument[];
|
|
35
|
+
projectStar?: IProjectStar[];
|
|
36
|
+
projectSocialNetwork?: IProjectSocialNetwork[];
|
|
37
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IWorkoutTemplate } from './workout-template.model';
|
|
2
|
+
import { IExercise } from './exercise.model';
|
|
3
|
+
import { ExerciseGroupType } from '../../enum/exercise-group-type.enum';
|
|
4
|
+
export interface IWorkoutExercise {
|
|
5
|
+
id?: string;
|
|
6
|
+
workoutTemplateId: string;
|
|
7
|
+
exerciseId: string;
|
|
8
|
+
order: number;
|
|
9
|
+
groupType: ExerciseGroupType;
|
|
10
|
+
groupId: string | null;
|
|
11
|
+
groupOrder: number | null;
|
|
12
|
+
plannedSets: number | null;
|
|
13
|
+
plannedReps: number | null;
|
|
14
|
+
plannedWeight: number | null;
|
|
15
|
+
plannedRestTime: number | null;
|
|
16
|
+
notes: string | null;
|
|
17
|
+
createdAt?: Date;
|
|
18
|
+
updatedAt?: Date;
|
|
19
|
+
workoutTemplate?: IWorkoutTemplate;
|
|
20
|
+
exercise?: IExercise;
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { WorkoutSessionStatus } from '../../enum/workout-session-status.enum';
|
|
2
|
+
import { IExerciseSet } from './exercise-set.model';
|
|
3
|
+
import { IUser } from './user.model';
|
|
4
|
+
import { IWorkoutTemplate } from './workout-template.model';
|
|
5
|
+
export interface IWorkoutSession {
|
|
6
|
+
id?: string;
|
|
7
|
+
userId: string;
|
|
8
|
+
workoutTemplateId: string | null;
|
|
9
|
+
name: string;
|
|
10
|
+
status: WorkoutSessionStatus;
|
|
11
|
+
scheduledAt: Date | null;
|
|
12
|
+
startedAt: Date | null;
|
|
13
|
+
completedAt: Date | null;
|
|
14
|
+
duration: number | null;
|
|
15
|
+
notes: string | null;
|
|
16
|
+
createdAt?: Date;
|
|
17
|
+
updatedAt?: Date;
|
|
18
|
+
user?: IUser;
|
|
19
|
+
workoutTemplate?: IWorkoutTemplate;
|
|
20
|
+
exerciseSet?: IExerciseSet[];
|
|
21
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IUser } from './user.model';
|
|
2
|
+
import { IWorkoutExercise } from './workout-exercise.model';
|
|
3
|
+
import { IWorkoutSession } from './workout-session.model';
|
|
4
|
+
export interface IWorkoutTemplate {
|
|
5
|
+
id?: string;
|
|
6
|
+
name: string;
|
|
7
|
+
description: string | null;
|
|
8
|
+
userId: string | null;
|
|
9
|
+
isPublic: boolean;
|
|
10
|
+
duration: number | null;
|
|
11
|
+
createdAt?: Date;
|
|
12
|
+
updatedAt?: Date;
|
|
13
|
+
user?: IUser;
|
|
14
|
+
workoutExercise?: IWorkoutExercise[];
|
|
15
|
+
workoutSession?: IWorkoutSession[];
|
|
16
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidCss = exports.sanitizeCss = void 0;
|
|
4
|
+
const sanitizeCss = (css) => {
|
|
5
|
+
if (!css) {
|
|
6
|
+
return '';
|
|
7
|
+
}
|
|
8
|
+
let sanitized = css;
|
|
9
|
+
sanitized = sanitized.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '');
|
|
10
|
+
sanitized = sanitized.replace(/<\/style>/gi, '');
|
|
11
|
+
sanitized = sanitized.replace(/javascript:/gi, '');
|
|
12
|
+
sanitized = sanitized.replace(/\bon\w+\s*=/gi, '');
|
|
13
|
+
sanitized = sanitized.replace(/expression\s*\(/gi, '');
|
|
14
|
+
sanitized = sanitized.replace(/@import\s+.*javascript:/gi, '');
|
|
15
|
+
sanitized = sanitized.replace(/behavior\s*:/gi, '/* behavior: */');
|
|
16
|
+
sanitized = sanitized.replace(/-moz-binding\s*:/gi, '/* -moz-binding: */');
|
|
17
|
+
return sanitized.trim();
|
|
18
|
+
};
|
|
19
|
+
exports.sanitizeCss = sanitizeCss;
|
|
20
|
+
const isValidCss = (css) => {
|
|
21
|
+
if (!css) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
const suspiciousPatterns = [
|
|
25
|
+
/<script/i,
|
|
26
|
+
/<\/script>/i,
|
|
27
|
+
/javascript:/i,
|
|
28
|
+
/on\w+=/i,
|
|
29
|
+
/expression\(/i,
|
|
30
|
+
];
|
|
31
|
+
return !suspiciousPatterns.some((pattern) => pattern.test(css));
|
|
32
|
+
};
|
|
33
|
+
exports.isValidCss = isValidCss;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Code, ErrorType } from '../types';
|
|
2
|
+
type ErrorParams = {
|
|
3
|
+
code: Code;
|
|
4
|
+
type: ErrorType;
|
|
5
|
+
message?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare class ServiceException extends Error {
|
|
8
|
+
private readonly code;
|
|
9
|
+
private readonly type;
|
|
10
|
+
getCode(): Code;
|
|
11
|
+
getType(): ErrorType;
|
|
12
|
+
constructor(params: ErrorParams);
|
|
13
|
+
}
|
|
14
|
+
export declare const handleError: (error: Error | ErrorParams, _params?: ErrorParams) => Error;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleError = exports.ServiceException = void 0;
|
|
4
|
+
class ServiceException extends Error {
|
|
5
|
+
getCode() {
|
|
6
|
+
return this.code;
|
|
7
|
+
}
|
|
8
|
+
getType() {
|
|
9
|
+
return this.type;
|
|
10
|
+
}
|
|
11
|
+
constructor(params) {
|
|
12
|
+
super(params.message);
|
|
13
|
+
this.code = params.code;
|
|
14
|
+
this.type = params.type;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.ServiceException = ServiceException;
|
|
18
|
+
const handleError = (error, _params) => {
|
|
19
|
+
if (error instanceof Error) {
|
|
20
|
+
return error;
|
|
21
|
+
}
|
|
22
|
+
return new ServiceException(error);
|
|
23
|
+
};
|
|
24
|
+
exports.handleError = handleError;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './error.utils';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./error.utils"), exports);
|