ldco-contract 0.1.14 → 0.1.16

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.
Files changed (89) hide show
  1. package/dist/index.d.ts +34 -0
  2. package/dist/ldco-contract.cjs.development.js +327 -0
  3. package/dist/ldco-contract.cjs.development.js.map +1 -1
  4. package/dist/ldco-contract.cjs.production.min.js +1 -1
  5. package/dist/ldco-contract.cjs.production.min.js.map +1 -1
  6. package/dist/ldco-contract.esm.js +311 -1
  7. package/dist/ldco-contract.esm.js.map +1 -1
  8. package/dist/lib/converters/toChoreographerDTO.d.ts +3 -0
  9. package/dist/lib/converters/toChoreographerModel.d.ts +3 -0
  10. package/dist/lib/converters/toCollectionsModel.d.ts +6 -0
  11. package/dist/lib/converters/toDanceDTO.d.ts +3 -0
  12. package/dist/lib/converters/toDanceModel.d.ts +5 -0
  13. package/dist/lib/converters/toInstructorDTO.d.ts +3 -0
  14. package/dist/lib/converters/toInstructorModel.d.ts +3 -0
  15. package/dist/lib/converters/toLessonDTO.d.ts +3 -0
  16. package/dist/lib/converters/toLessonModel.d.ts +4 -0
  17. package/dist/lib/converters/toTrackDTO.d.ts +3 -0
  18. package/dist/lib/converters/toTrackModel.d.ts +3 -0
  19. package/dist/lib/converters/toUserAcquaintanceDTO.d.ts +14 -0
  20. package/dist/lib/converters/toUserAcquaintanceModel.d.ts +7 -0
  21. package/dist/lib/converters/toUserDTO.d.ts +9 -0
  22. package/dist/lib/converters/toUserModel.d.ts +7 -0
  23. package/dist/lib/converters/toVenueDTO.d.ts +3 -0
  24. package/dist/lib/converters/toVenueModel.d.ts +5 -0
  25. package/dist/types/dto/lesson.dto.d.ts +1 -0
  26. package/dist/types/entities/appeal_choreographer_user.entity.d.ts +8 -0
  27. package/dist/types/entities/appeal_instructor_user.entity.d.ts +8 -0
  28. package/dist/types/entities/cancelled_lesson.entity.d.ts +6 -0
  29. package/dist/types/entities/choreographer.entity.d.ts +5 -0
  30. package/dist/types/entities/dance.entity.d.ts +9 -0
  31. package/dist/types/entities/dance_collection.entity.d.ts +8 -0
  32. package/dist/types/entities/friend_request.entity.d.ts +7 -0
  33. package/dist/types/entities/instructor.entity.d.ts +5 -0
  34. package/dist/types/entities/lesson.entity.d.ts +13 -0
  35. package/dist/types/entities/track.entity.d.ts +9 -0
  36. package/dist/types/entities/user.entity.d.ts +9 -0
  37. package/dist/types/entities/user_collection.entity.d.ts +8 -0
  38. package/dist/types/entities/user_favorite_venue.entity.d.ts +5 -0
  39. package/dist/types/entities/user_follow.entity.d.ts +6 -0
  40. package/dist/types/entities/user_friend.entity.d.ts +6 -0
  41. package/dist/types/entities/user_marked_dance.entity.d.ts +6 -0
  42. package/dist/types/entities/venue.entity.d.ts +14 -0
  43. package/dist/types/model/collection.model.d.ts +1 -0
  44. package/dist/types/model/dance.model.d.ts +1 -0
  45. package/dist/types/model/lesson.model.d.ts +1 -0
  46. package/dist/types/requests/userInfoUpdate.request.d.ts +0 -1
  47. package/package.json +1 -1
  48. package/src/index.ts +39 -1
  49. package/src/lib/converters/toChoreographerDTO.ts +14 -0
  50. package/src/lib/converters/toChoreographerModel.ts +13 -0
  51. package/src/lib/converters/toCollectionsModel.ts +26 -0
  52. package/src/lib/converters/toDanceDTO.ts +19 -0
  53. package/src/lib/converters/toDanceModel.ts +28 -0
  54. package/src/lib/converters/toInstructorDTO.ts +15 -0
  55. package/src/lib/converters/toInstructorModel.ts +14 -0
  56. package/src/lib/converters/toLessonDTO.ts +20 -0
  57. package/src/lib/converters/toLessonModel.ts +20 -0
  58. package/src/lib/converters/toTrackDTO.ts +15 -0
  59. package/src/lib/converters/toTrackModel.ts +15 -0
  60. package/src/lib/converters/toUserAcquaintanceDTO.ts +42 -0
  61. package/src/lib/converters/toUserAcquaintanceModel.ts +36 -0
  62. package/src/lib/converters/toUserDTO.ts +41 -0
  63. package/src/lib/converters/toUserModel.ts +43 -0
  64. package/src/lib/converters/toVenueDTO.ts +26 -0
  65. package/src/lib/converters/toVenueModel.ts +20 -0
  66. package/src/types/dto/lesson.dto.ts +1 -0
  67. package/src/types/entities/appeal_choreographer_user.entity.ts +8 -0
  68. package/src/types/entities/appeal_instructor_user.entity.ts +8 -0
  69. package/src/types/entities/cancelled_lesson.entity.ts +6 -0
  70. package/src/types/entities/choreographer.entity.ts +5 -0
  71. package/src/types/entities/dance.entity.ts +9 -0
  72. package/src/types/entities/dance_collection.entity.ts +8 -0
  73. package/src/types/entities/friend_request.entity.ts +7 -0
  74. package/src/types/entities/instructor.entity.ts +5 -0
  75. package/src/types/entities/lesson.entity.ts +13 -0
  76. package/src/types/entities/track.entity.ts +9 -0
  77. package/src/types/entities/user.entity.ts +9 -0
  78. package/src/types/entities/user_collection.entity.ts +8 -0
  79. package/src/types/entities/user_favorite_venue.entity.ts +5 -0
  80. package/src/types/entities/user_follow.entity.ts +6 -0
  81. package/src/types/entities/user_friend.entity.ts +6 -0
  82. package/src/types/entities/user_marked_dance.entity.ts +6 -0
  83. package/src/types/entities/venue.entity.ts +14 -0
  84. package/src/types/model/collection.model.ts +1 -0
  85. package/src/types/model/dance.model.ts +1 -0
  86. package/src/types/model/lesson.model.ts +1 -0
  87. package/src/types/requests/userInfoUpdate.request.ts +0 -1
  88. package/dist/converter/userEntityToUser.d.ts +0 -10
  89. package/src/converter/userEntityToUser.ts +0 -76
@@ -0,0 +1,9 @@
1
+ export interface UserEntity {
2
+ _id: string;
3
+ email: string;
4
+ name: string;
5
+ username?: string;
6
+ image?: string;
7
+ bio?: string;
8
+ links?: Record<string, string>;
9
+ }
@@ -0,0 +1,8 @@
1
+ export interface UserCollectionEntity {
2
+ _id: string;
3
+ name: string;
4
+ danceIds: string[];
5
+ createdBy: string;
6
+ createdAt: Date;
7
+ isPrivate: boolean;
8
+ }
@@ -0,0 +1,5 @@
1
+ export interface UserFavoriteVenueEntity {
2
+ _id: string;
3
+ userId: string;
4
+ venueId: string;
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface UserFollowEntity {
2
+ _id: string;
3
+ userId: string;
4
+ followingId: string;
5
+ createdAt: Date;
6
+ }
@@ -0,0 +1,6 @@
1
+ export interface UserFriendEntity {
2
+ _id: string;
3
+ userId: string;
4
+ friendId: string;
5
+ createdAt: Date;
6
+ }
@@ -0,0 +1,6 @@
1
+ export interface UserMarkedDanceEntity {
2
+ _id: string;
3
+ userId: string;
4
+ danceId: string;
5
+ createdAt: Date;
6
+ }
@@ -0,0 +1,14 @@
1
+ export interface VenueEntity {
2
+ _id: string;
3
+ venuename: string;
4
+ venueaddress: string;
5
+ geolocation: [number, number];
6
+ phone: string;
7
+ website: string;
8
+ contactEmail: string;
9
+ contactName: string;
10
+ contactPhone: string;
11
+ isDeleted?: boolean;
12
+ deletedAt?: Date;
13
+ createdAt?: Date;
14
+ }
@@ -1,6 +1,7 @@
1
1
  import { DanceModel } from "./dance.model";
2
2
 
3
3
  export interface CollectionModel {
4
+ id: string;
4
5
  name: string;
5
6
  dances: DanceModel[];
6
7
  createdAt: Date;
@@ -2,6 +2,7 @@ import { ChoreographerModel } from './choreographer.model';
2
2
  import { TrackModel } from './track.model';
3
3
 
4
4
  export interface DanceModel {
5
+ id: string;
5
6
  danceName: string;
6
7
  choreographers: ChoreographerModel[];
7
8
  stepsheet: string;
@@ -1,6 +1,7 @@
1
1
  import { InstructorModel } from "./instructor.model";
2
2
 
3
3
  export interface LessonModel {
4
+ id: string;
4
5
  lessonday: string;
5
6
  lessonstart: string;
6
7
  instructors: InstructorModel[];
@@ -1,7 +1,6 @@
1
1
  import { SocialMediaLinks } from "../model/userTypes/socialMediaLinks";
2
2
 
3
3
  export interface UserInfoUpdateRequest {
4
- userId: string;
5
4
  name?: string;
6
5
  username?: string;
7
6
  profilePictureUrl?: string;
@@ -1,10 +0,0 @@
1
- import FriendRequestEntity from "../entities/friendRequest.entity";
2
- import { UserEntity } from "../entities/user.entity";
3
- import User from "../models/user.model";
4
- export declare function convertUserToModel(user: UserEntity, { friends, following, friendRequests, followersCount, mutualsCount, }: {
5
- friends: UserEntity[];
6
- following: UserEntity[];
7
- friendRequests: FriendRequestEntity[];
8
- followersCount?: number;
9
- mutualsCount?: number;
10
- }): Promise<User>;
@@ -1,76 +0,0 @@
1
- import FriendRequestEntity from "../entities/friendRequest.entity";
2
- import { UserEntity } from "../entities/user.entity";
3
- import ProfileData from "../models/profileData.model";
4
- import User from "../models/user.model";
5
- import UserAcquaintance from "../models/userAcquaintance.model";
6
-
7
- export async function convertUserToModel(
8
- user: UserEntity,
9
- {
10
- friends,
11
- following,
12
- friendRequests,
13
- followersCount = 0,
14
- mutualsCount = 0,
15
- }: {
16
- friends: UserEntity[];
17
- following: UserEntity[];
18
- friendRequests: FriendRequestEntity[];
19
- followersCount?: number;
20
- mutualsCount?: number;
21
- }
22
- ): Promise<User> {
23
- const dances = {
24
- favorites: user.favorites || [],
25
- flagged: user.flagged || [],
26
- known: user.known || [],
27
- refresh: user.refresh || [],
28
- };
29
-
30
- const transformAcquaintance = (u: UserEntity): UserAcquaintance => ({
31
- _id: u._id,
32
- email: u.email,
33
- name: u.name,
34
- username: u.username || "",
35
- image: u.image,
36
- bio: u.bio,
37
- friends: u.friends || [],
38
- following: u.following || [],
39
- dances: {
40
- favorites: u.favorites || [],
41
- flagged: u.flagged || [],
42
- known: u.known || [],
43
- refresh: u.refresh || [],
44
- },
45
- collections: u.collections || [],
46
- followersCount: followersCount,
47
- venuesCount: u.venues?.length || 0,
48
- mutualsCount: mutualsCount,
49
- });
50
-
51
- const profile: ProfileData = {
52
- dances,
53
- collections: user.collections || [],
54
- venues: user.venues || [],
55
- friends: friends.map(transformAcquaintance),
56
- following: following.map(transformAcquaintance),
57
- friendsRequested: friendRequests
58
- .filter(fr => fr.requester === user._id)
59
- .map(fr => transformAcquaintance(friends.find(f => f._id === fr.requestee)!)),
60
- friendRequests: friendRequests
61
- .filter(fr => fr.requestee === user._id)
62
- .map(fr => transformAcquaintance(friends.find(f => f._id === fr.requester)!)),
63
- followersCount: followersCount,
64
- links: user.links || {},
65
- };
66
-
67
- return {
68
- _id: user._id,
69
- email: user.email,
70
- name: user.name,
71
- username: user.username || "",
72
- image: user.image,
73
- bio: user.bio,
74
- profile,
75
- };
76
- }