@social.dev/server-sdk 0.0.1-alpha.7 → 0.0.1-alpha.70
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/README.md +696 -40
- package/dist/__mocks__/kafka.mock.d.ts +11 -0
- package/dist/__mocks__/kafka.mock.js +15 -0
- package/dist/__mocks__/kafka.mock.js.map +1 -0
- package/dist/app.module.d.ts +3 -3
- package/dist/app.module.js +11 -6
- package/dist/app.module.js.map +1 -1
- package/dist/auth/auth.controller.d.ts +7 -1
- package/dist/auth/auth.controller.js +28 -3
- package/dist/auth/auth.controller.js.map +1 -1
- package/dist/auth/auth.middleware.d.ts +3 -5
- package/dist/auth/auth.middleware.js +7 -15
- package/dist/auth/auth.middleware.js.map +1 -1
- package/dist/auth/auth.module.js +4 -1
- package/dist/auth/auth.module.js.map +1 -1
- package/dist/auth/auth.service.d.ts +9 -1
- package/dist/auth/auth.service.js +34 -2
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/auth/constants.js +2 -1
- package/dist/auth/constants.js.map +1 -1
- package/dist/auth/dto/login-success.dto.d.ts +1 -1
- package/dist/auth/dto/login-success.dto.js +6 -3
- package/dist/auth/dto/login-success.dto.js.map +1 -1
- package/dist/auth/dto/register-success.dto.d.ts +3 -0
- package/dist/auth/dto/register-success.dto.js +12 -0
- package/dist/auth/dto/register-success.dto.js.map +1 -0
- package/dist/auth/dto/register.dto.d.ts +6 -0
- package/dist/auth/dto/register.dto.js +45 -0
- package/dist/auth/dto/register.dto.js.map +1 -0
- package/dist/auth/oidc/dto/requests.d.ts +6 -0
- package/dist/auth/oidc/dto/requests.js +47 -0
- package/dist/auth/oidc/dto/requests.js.map +1 -0
- package/dist/auth/oidc/dto/responses.js +1 -1
- package/dist/auth/oidc/dto/responses.js.map +1 -1
- package/dist/auth/oidc/oidc.controller.d.ts +7 -2
- package/dist/auth/oidc/oidc.controller.js +31 -17
- package/dist/auth/oidc/oidc.controller.js.map +1 -1
- package/dist/auth/oidc/oidc.service.d.ts +9 -4
- package/dist/auth/oidc/oidc.service.js +63 -38
- package/dist/auth/oidc/oidc.service.js.map +1 -1
- package/dist/auth/session/session.controller.js +8 -3
- package/dist/auth/session/session.controller.js.map +1 -1
- package/dist/auth/session/session.service.d.ts +2 -2
- package/dist/auth/session/session.service.js +9 -5
- package/dist/auth/session/session.service.js.map +1 -1
- package/dist/bootstrap.d.ts +2 -1
- package/dist/bootstrap.js +6 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/chat/chat.acl.d.ts +3 -0
- package/dist/chat/chat.acl.js +50 -0
- package/dist/chat/chat.acl.js.map +1 -0
- package/dist/chat/chat.controller.d.ts +15 -6
- package/dist/chat/chat.controller.js +153 -14
- package/dist/chat/chat.controller.js.map +1 -1
- package/dist/chat/chat.module.d.ts +3 -0
- package/dist/chat/chat.module.js +30 -2
- package/dist/chat/chat.module.js.map +1 -1
- package/dist/chat/chat.service.d.ts +63 -12
- package/dist/chat/chat.service.js +447 -36
- package/dist/chat/chat.service.js.map +1 -1
- package/dist/chat/dto/add-reaction.dto.d.ts +5 -0
- package/dist/chat/dto/add-reaction.dto.js +42 -0
- package/dist/chat/dto/add-reaction.dto.js.map +1 -0
- package/dist/chat/dto/create-message.dto.d.ts +4 -1
- package/dist/chat/dto/create-message.dto.js +23 -1
- package/dist/chat/dto/create-message.dto.js.map +1 -1
- package/dist/chat/dto/edit-message.dto.d.ts +5 -0
- package/dist/chat/dto/edit-message.dto.js +31 -0
- package/dist/chat/dto/edit-message.dto.js.map +1 -0
- package/dist/chat/dto/responses.dto.d.ts +27 -5
- package/dist/chat/dto/responses.dto.js +177 -18
- package/dist/chat/dto/responses.dto.js.map +1 -1
- package/dist/chat/dto/update-cursor.dto.d.ts +5 -0
- package/dist/chat/dto/update-cursor.dto.js +36 -0
- package/dist/chat/dto/update-cursor.dto.js.map +1 -0
- package/dist/chat/entities/conversation-member.entity.js +1 -1
- package/dist/chat/entities/conversation-member.entity.js.map +1 -1
- package/dist/chat/entities/conversation.entity.d.ts +4 -0
- package/dist/chat/entities/conversation.entity.js +13 -1
- package/dist/chat/entities/conversation.entity.js.map +1 -1
- package/dist/chat/entities/message.entity.d.ts +8 -0
- package/dist/chat/entities/message.entity.js +32 -2
- package/dist/chat/entities/message.entity.js.map +1 -1
- package/dist/chat/entities/reaction.entity.d.ts +10 -0
- package/dist/chat/entities/reaction.entity.js +62 -0
- package/dist/chat/entities/reaction.entity.js.map +1 -0
- package/dist/chat/entities/read-cursor.entity.d.ts +10 -0
- package/dist/chat/entities/read-cursor.entity.js +64 -0
- package/dist/chat/entities/read-cursor.entity.js.map +1 -0
- package/dist/chat/enums/conversation-type.enum.d.ts +2 -1
- package/dist/chat/enums/conversation-type.enum.js +1 -0
- package/dist/chat/enums/conversation-type.enum.js.map +1 -1
- package/dist/common/decorators/api-paginated-response.d.ts +1 -1
- package/dist/common/decorators/api-paginated-response.js +2 -2
- package/dist/common/decorators/api-paginated-response.js.map +1 -1
- package/dist/common/dto/paginated-response.dto.d.ts +2 -0
- package/dist/common/dto/paginated-response.dto.js +14 -3
- package/dist/common/dto/paginated-response.dto.js.map +1 -1
- package/dist/common/utils/cursor.d.ts +2 -0
- package/dist/common/utils/cursor.js +12 -0
- package/dist/common/utils/cursor.js.map +1 -0
- package/dist/community/avatar/avatar.controller.d.ts +11 -0
- package/dist/community/avatar/avatar.controller.js +90 -0
- package/dist/community/avatar/avatar.controller.js.map +1 -0
- package/dist/community/avatar/avatar.service.d.ts +13 -0
- package/dist/community/avatar/avatar.service.js +78 -0
- package/dist/community/avatar/avatar.service.js.map +1 -0
- package/dist/community/community.acl.d.ts +6 -3
- package/dist/community/community.acl.js +58 -35
- package/dist/community/community.acl.js.map +1 -1
- package/dist/community/community.controller.d.ts +8 -5
- package/dist/community/community.controller.js +102 -17
- package/dist/community/community.controller.js.map +1 -1
- package/dist/community/community.module.d.ts +3 -0
- package/dist/community/community.module.js +17 -7
- package/dist/community/community.module.js.map +1 -1
- package/dist/community/community.service.d.ts +26 -6
- package/dist/community/community.service.js +147 -20
- package/dist/community/community.service.js.map +1 -1
- package/dist/community/dto/community-response.dto.d.ts +5 -1
- package/dist/community/dto/community-response.dto.js +32 -1
- package/dist/community/dto/community-response.dto.js.map +1 -1
- package/dist/community/dto/create-community.dto.d.ts +2 -0
- package/dist/community/dto/create-community.dto.js +14 -2
- package/dist/community/dto/create-community.dto.js.map +1 -1
- package/dist/community/dto/update-community.dto.d.ts +2 -0
- package/dist/community/dto/update-community.dto.js +15 -1
- package/dist/community/dto/update-community.dto.js.map +1 -1
- package/dist/community/entities/community-member.entity.js +1 -0
- package/dist/community/entities/community-member.entity.js.map +1 -1
- package/dist/community/entities/community.entity.d.ts +2 -0
- package/dist/community/entities/community.entity.js +11 -1
- package/dist/community/entities/community.entity.js.map +1 -1
- package/dist/configs/configs.service.d.ts +10 -2
- package/dist/configs/configs.service.js.map +1 -1
- package/dist/core/core.module.js +2 -1
- package/dist/core/core.module.js.map +1 -1
- package/dist/core/event-stream/event-stream-processor.interface.d.ts +8 -0
- package/dist/core/event-stream/event-stream-processor.interface.js +3 -0
- package/dist/core/event-stream/event-stream-processor.interface.js.map +1 -0
- package/dist/core/event-stream/event-stream-processor.service.d.ts +13 -0
- package/dist/core/event-stream/event-stream-processor.service.js +55 -0
- package/dist/core/event-stream/event-stream-processor.service.js.map +1 -0
- package/dist/core/event-stream/event-stream.module.d.ts +11 -0
- package/dist/core/event-stream/event-stream.module.js +49 -0
- package/dist/core/event-stream/event-stream.module.js.map +1 -0
- package/dist/core/event-stream/event-stream.service.d.ts +16 -0
- package/dist/core/event-stream/event-stream.service.js +100 -0
- package/dist/core/event-stream/event-stream.service.js.map +1 -0
- package/dist/core/event-stream/types.d.ts +2 -0
- package/dist/core/event-stream/types.js +3 -0
- package/dist/core/event-stream/types.js.map +1 -0
- package/dist/core/hook/hook.module.d.ts +4 -0
- package/dist/core/hook/hook.module.js +30 -0
- package/dist/core/hook/hook.module.js.map +1 -0
- package/dist/core/hook/hook.service.d.ts +7 -0
- package/dist/core/{plugin/plugin-hook.service.js → hook/hook.service.js} +10 -10
- package/dist/core/hook/hook.service.js.map +1 -0
- package/dist/core/plugin/plugin.module.js +7 -5
- package/dist/core/plugin/plugin.module.js.map +1 -1
- package/dist/core/websocket/gateway.service.d.ts +24 -0
- package/dist/core/websocket/gateway.service.js +150 -0
- package/dist/core/websocket/gateway.service.js.map +1 -0
- package/dist/core/websocket/websocket.module.d.ts +2 -0
- package/dist/core/websocket/websocket.module.js +24 -0
- package/dist/core/websocket/websocket.module.js.map +1 -0
- package/dist/db.js +1 -1
- package/dist/db.js.map +1 -1
- package/dist/file-storage/file-storage.service.d.ts +1 -1
- package/dist/file-storage/file-storage.service.js +6 -6
- package/dist/file-storage/file-storage.service.js.map +1 -1
- package/dist/file-storage/utils.d.ts +2 -0
- package/dist/file-storage/utils.js +9 -2
- package/dist/file-storage/utils.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/manage-db.d.ts +1 -0
- package/dist/manage-db.js +10 -0
- package/dist/manage-db.js.map +1 -0
- package/dist/media/dto/media-response.dto.d.ts +2 -0
- package/dist/media/dto/media-response.dto.js +14 -1
- package/dist/media/dto/media-response.dto.js.map +1 -1
- package/dist/media/entities/audio.entity.d.ts +2 -2
- package/dist/media/entities/audio.entity.js +2 -2
- package/dist/media/entities/audio.entity.js.map +1 -1
- package/dist/media/entities/image.entity.d.ts +5 -0
- package/dist/media/entities/{post-media.entity.js → image.entity.js} +16 -12
- package/dist/media/entities/image.entity.js.map +1 -0
- package/dist/media/entities/media.entity.d.ts +6 -0
- package/dist/media/entities/media.entity.js +25 -2
- package/dist/media/entities/media.entity.js.map +1 -1
- package/dist/media/media.acl.d.ts +2 -4
- package/dist/media/media.acl.js +22 -1
- package/dist/media/media.acl.js.map +1 -1
- package/dist/media/media.controller.d.ts +2 -0
- package/dist/media/media.controller.js +58 -0
- package/dist/media/media.controller.js.map +1 -1
- package/dist/media/media.module.js +2 -1
- package/dist/media/media.module.js.map +1 -1
- package/dist/media/media.service.d.ts +6 -3
- package/dist/media/media.service.js +118 -19
- package/dist/media/media.service.js.map +1 -1
- package/dist/migrations/1757061785934-PushNotificationTokens.d.ts +6 -0
- package/dist/migrations/1757061785934-PushNotificationTokens.js +20 -0
- package/dist/migrations/1757061785934-PushNotificationTokens.js.map +1 -0
- package/dist/migrations/1758623241397-AddUserTimestamps.d.ts +6 -0
- package/dist/migrations/1758623241397-AddUserTimestamps.js +16 -0
- package/dist/migrations/1758623241397-AddUserTimestamps.js.map +1 -0
- package/dist/migrations/1758704603161-UserFollows.d.ts +6 -0
- package/dist/migrations/1758704603161-UserFollows.js +18 -0
- package/dist/migrations/1758704603161-UserFollows.js.map +1 -0
- package/dist/migrations/1759757532702-UpdateCommunityCascades.d.ts +6 -0
- package/dist/migrations/1759757532702-UpdateCommunityCascades.js +20 -0
- package/dist/migrations/1759757532702-UpdateCommunityCascades.js.map +1 -0
- package/dist/migrations/1759766474808-UpdateCommunityTimestamps.d.ts +6 -0
- package/dist/migrations/1759766474808-UpdateCommunityTimestamps.js +16 -0
- package/dist/migrations/1759766474808-UpdateCommunityTimestamps.js.map +1 -0
- package/dist/migrations/1759919335188-CommunityChats.d.ts +6 -0
- package/dist/migrations/1759919335188-CommunityChats.js +28 -0
- package/dist/migrations/1759919335188-CommunityChats.js.map +1 -0
- package/dist/migrations/1760363804673-ChatVoiceNotes.d.ts +6 -0
- package/dist/migrations/1760363804673-ChatVoiceNotes.js +24 -0
- package/dist/migrations/1760363804673-ChatVoiceNotes.js.map +1 -0
- package/dist/migrations/1760444646328-ChatReadCursor.d.ts +6 -0
- package/dist/migrations/1760444646328-ChatReadCursor.js +18 -0
- package/dist/migrations/1760444646328-ChatReadCursor.js.map +1 -0
- package/dist/migrations/1761598291629-AddChatImages.d.ts +6 -0
- package/dist/migrations/1761598291629-AddChatImages.js +16 -0
- package/dist/migrations/1761598291629-AddChatImages.js.map +1 -0
- package/dist/migrations/1761648419807-ChatReactions.d.ts +6 -0
- package/dist/migrations/1761648419807-ChatReactions.js +18 -0
- package/dist/migrations/1761648419807-ChatReactions.js.map +1 -0
- package/dist/migrations/1762953835109-AddChatReplies.d.ts +6 -0
- package/dist/migrations/1762953835109-AddChatReplies.js +22 -0
- package/dist/migrations/1762953835109-AddChatReplies.js.map +1 -0
- package/dist/network/entities/network.entity.js +1 -4
- package/dist/network/entities/network.entity.js.map +1 -1
- package/dist/network/network.middleware.js +1 -1
- package/dist/network/network.middleware.js.map +1 -1
- package/dist/network/network.module.js +2 -1
- package/dist/network/network.module.js.map +1 -1
- package/dist/network/network.service.d.ts +5 -2
- package/dist/network/network.service.js +23 -6
- package/dist/network/network.service.js.map +1 -1
- package/dist/notification/dto/delete-push-token.dto.d.ts +3 -0
- package/dist/{common/entities/base.repository.js → notification/dto/delete-push-token.dto.js} +14 -20
- package/dist/notification/dto/delete-push-token.dto.js.map +1 -0
- package/dist/notification/dto/register-push-token.dto.d.ts +5 -0
- package/dist/notification/dto/register-push-token.dto.js +38 -0
- package/dist/notification/dto/register-push-token.dto.js.map +1 -0
- package/dist/notification/entities/push-token.entity.d.ts +11 -0
- package/dist/notification/entities/push-token.entity.js +60 -0
- package/dist/notification/entities/push-token.entity.js.map +1 -0
- package/dist/notification/enums/push-service.enum.d.ts +6 -0
- package/dist/notification/enums/push-service.enum.js +11 -0
- package/dist/notification/enums/push-service.enum.js.map +1 -0
- package/dist/notification/hook-listener.service.d.ts +13 -0
- package/dist/notification/hook-listener.service.js +58 -0
- package/dist/notification/hook-listener.service.js.map +1 -0
- package/dist/notification/notification.module.d.ts +2 -0
- package/dist/notification/notification.module.js +24 -0
- package/dist/notification/notification.module.js.map +1 -0
- package/dist/notification/push-notification.controller.d.ts +9 -0
- package/dist/notification/push-notification.controller.js +69 -0
- package/dist/notification/push-notification.controller.js.map +1 -0
- package/dist/notification/push-notification.module.d.ts +2 -0
- package/dist/notification/push-notification.module.js +27 -0
- package/dist/notification/push-notification.module.js.map +1 -0
- package/dist/notification/push-notification.service.d.ts +23 -0
- package/dist/notification/push-notification.service.js +86 -0
- package/dist/notification/push-notification.service.js.map +1 -0
- package/dist/post/entities/post.entity.js +3 -3
- package/dist/post/entities/post.entity.js.map +1 -1
- package/dist/post/post.controller.d.ts +3 -2
- package/dist/post/post.controller.js +28 -8
- package/dist/post/post.controller.js.map +1 -1
- package/dist/post/post.module.js +2 -0
- package/dist/post/post.module.js.map +1 -1
- package/dist/post/post.service.d.ts +7 -3
- package/dist/post/post.service.js +18 -8
- package/dist/post/post.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/user/avatar/avatar.controller.d.ts +10 -0
- package/dist/user/avatar/avatar.controller.js +89 -0
- package/dist/user/avatar/avatar.controller.js.map +1 -0
- package/dist/user/avatar/avatar.service.d.ts +12 -0
- package/dist/user/avatar/avatar.service.js +72 -0
- package/dist/user/avatar/avatar.service.js.map +1 -0
- package/dist/user/constants.d.ts +1 -0
- package/dist/user/constants.js +5 -0
- package/dist/user/constants.js.map +1 -0
- package/dist/user/dto/update-profile.dto.d.ts +3 -0
- package/dist/user/dto/update-profile.dto.js +26 -0
- package/dist/user/dto/update-profile.dto.js.map +1 -0
- package/dist/user/dto/user-response.dto.d.ts +6 -0
- package/dist/user/dto/user-response.dto.js +37 -1
- package/dist/user/dto/user-response.dto.js.map +1 -1
- package/dist/user/dto/user.dto.d.ts +8 -0
- package/dist/user/dto/user.dto.js +21 -0
- package/dist/user/dto/user.dto.js.map +1 -0
- package/dist/user/entities/user.entity.d.ts +4 -0
- package/dist/user/entities/user.entity.js +19 -1
- package/dist/user/entities/user.entity.js.map +1 -1
- package/dist/user/follow/dto/follow-response.dto.d.ts +4 -0
- package/dist/user/follow/dto/follow-response.dto.js +38 -0
- package/dist/user/follow/dto/follow-response.dto.js.map +1 -0
- package/dist/user/follow/dto/follow.dto.d.ts +4 -0
- package/dist/user/follow/dto/follow.dto.js +26 -0
- package/dist/user/follow/dto/follow.dto.js.map +1 -0
- package/dist/user/follow/entities/follow.entity.d.ts +10 -0
- package/dist/user/follow/entities/follow.entity.js +60 -0
- package/dist/user/follow/entities/follow.entity.js.map +1 -0
- package/dist/user/follow/follow.controller.d.ts +9 -0
- package/dist/user/follow/follow.controller.js +56 -0
- package/dist/user/follow/follow.controller.js.map +1 -0
- package/dist/user/follow/follow.module.d.ts +2 -0
- package/dist/user/follow/follow.module.js +26 -0
- package/dist/user/follow/follow.module.js.map +1 -0
- package/dist/user/follow/follow.service.d.ts +11 -0
- package/dist/user/follow/follow.service.js +56 -0
- package/dist/user/follow/follow.service.js.map +1 -0
- package/dist/user/user.controller.d.ts +6 -2
- package/dist/user/user.controller.js +47 -8
- package/dist/user/user.controller.js.map +1 -1
- package/dist/user/user.module.js +12 -3
- package/dist/user/user.module.js.map +1 -1
- package/dist/user/user.service.d.ts +12 -5
- package/dist/user/user.service.js +49 -11
- package/dist/user/user.service.js.map +1 -1
- package/package.json +15 -4
- package/dist/1756201302119-migrations.d.ts +0 -6
- package/dist/1756201302119-migrations.js +0 -84
- package/dist/1756201302119-migrations.js.map +0 -1
- package/dist/auth/enums/auth-methods.enum.d.ts +0 -2
- package/dist/auth/enums/auth-methods.enum.js +0 -7
- package/dist/auth/enums/auth-methods.enum.js.map +0 -1
- package/dist/auth/session/auth.controller.d.ts +0 -10
- package/dist/auth/session/auth.controller.js +0 -92
- package/dist/auth/session/auth.controller.js.map +0 -1
- package/dist/auth/session/auth.service.d.ts +0 -12
- package/dist/auth/session/auth.service.js +0 -46
- package/dist/auth/session/auth.service.js.map +0 -1
- package/dist/common/constants.d.ts +0 -1
- package/dist/common/constants.js +0 -5
- package/dist/common/constants.js.map +0 -1
- package/dist/common/entities/base.repository.d.ts +0 -7
- package/dist/common/entities/base.repository.js.map +0 -1
- package/dist/core/plugin/plugin-hook.service.d.ts +0 -7
- package/dist/core/plugin/plugin-hook.service.js.map +0 -1
- package/dist/media/entities/post-media.entity.d.ts +0 -5
- package/dist/media/entities/post-media.entity.js.map +0 -1
- package/dist/user/dto/update-user.dto.d.ts +0 -5
- package/dist/user/dto/update-user.dto.js +0 -13
- package/dist/user/dto/update-user.dto.js.map +0 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.FollowController = void 0;
|
|
16
|
+
const openapi = require("@nestjs/swagger");
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const follow_dto_1 = require("./dto/follow.dto");
|
|
19
|
+
const auth_guard_1 = require("../../auth/auth.guard");
|
|
20
|
+
const follow_service_1 = require("./follow.service");
|
|
21
|
+
let FollowController = class FollowController {
|
|
22
|
+
service;
|
|
23
|
+
constructor(service) {
|
|
24
|
+
this.service = service;
|
|
25
|
+
}
|
|
26
|
+
follow(dto) {
|
|
27
|
+
return this.service.follow(dto.user);
|
|
28
|
+
}
|
|
29
|
+
unfollow(dto) {
|
|
30
|
+
return this.service.unfollow(dto.user);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
exports.FollowController = FollowController;
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, common_1.Post)('user.follow'),
|
|
36
|
+
(0, common_1.UseGuards)(auth_guard_1.AuthGuard),
|
|
37
|
+
openapi.ApiResponse({ status: 201, type: require("./dto/follow-response.dto").FollowResponseDto }),
|
|
38
|
+
__param(0, (0, common_1.Body)()),
|
|
39
|
+
__metadata("design:type", Function),
|
|
40
|
+
__metadata("design:paramtypes", [follow_dto_1.FollowDto]),
|
|
41
|
+
__metadata("design:returntype", Promise)
|
|
42
|
+
], FollowController.prototype, "follow", null);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, common_1.Post)('user.unfollow'),
|
|
45
|
+
(0, common_1.UseGuards)(auth_guard_1.AuthGuard),
|
|
46
|
+
openapi.ApiResponse({ status: 201, type: require("./dto/follow-response.dto").FollowResponseDto }),
|
|
47
|
+
__param(0, (0, common_1.Body)()),
|
|
48
|
+
__metadata("design:type", Function),
|
|
49
|
+
__metadata("design:paramtypes", [follow_dto_1.FollowDto]),
|
|
50
|
+
__metadata("design:returntype", Promise)
|
|
51
|
+
], FollowController.prototype, "unfollow", null);
|
|
52
|
+
exports.FollowController = FollowController = __decorate([
|
|
53
|
+
(0, common_1.Controller)(),
|
|
54
|
+
__metadata("design:paramtypes", [follow_service_1.FollowService])
|
|
55
|
+
], FollowController);
|
|
56
|
+
//# sourceMappingURL=follow.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow.controller.js","sourceRoot":"","sources":["../../../src/user/follow/follow.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAmE;AACnE,iDAA6C;AAE7C,sDAA8C;AAC9C,qDAAiD;AAG1C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IACP;IAApB,YAAoB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAG9C,MAAM,CAAS,GAAc;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAID,QAAQ,CAAS,GAAc;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF,CAAA;AAbY,4CAAgB;AAI3B;IAFC,IAAA,aAAI,EAAC,aAAa,CAAC;IACnB,IAAA,kBAAS,EAAC,sBAAS,CAAC;;IACb,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,sBAAS;;8CAE5B;AAID;IAFC,IAAA,aAAI,EAAC,eAAe,CAAC;IACrB,IAAA,kBAAS,EAAC,sBAAS,CAAC;;IACX,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,sBAAS;;gDAE9B;2BAZU,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAEkB,8BAAa;GAD/B,gBAAgB,CAa5B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.FollowModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
12
|
+
const follow_entity_1 = require("./entities/follow.entity");
|
|
13
|
+
const follow_service_1 = require("./follow.service");
|
|
14
|
+
const follow_controller_1 = require("./follow.controller");
|
|
15
|
+
let FollowModule = class FollowModule {
|
|
16
|
+
};
|
|
17
|
+
exports.FollowModule = FollowModule;
|
|
18
|
+
exports.FollowModule = FollowModule = __decorate([
|
|
19
|
+
(0, common_1.Module)({
|
|
20
|
+
imports: [typeorm_1.TypeOrmModule.forFeature([follow_entity_1.Follow])],
|
|
21
|
+
controllers: [follow_controller_1.FollowController],
|
|
22
|
+
providers: [follow_service_1.FollowService],
|
|
23
|
+
exports: [follow_service_1.FollowService],
|
|
24
|
+
})
|
|
25
|
+
], FollowModule);
|
|
26
|
+
//# sourceMappingURL=follow.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow.module.js","sourceRoot":"","sources":["../../../src/user/follow/follow.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,4DAAkD;AAClD,qDAAiD;AACjD,2DAAuD;AAQhD,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IANxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,sBAAM,CAAC,CAAC,CAAC;QAC7C,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,SAAS,EAAE,CAAC,8BAAa,CAAC;QAC1B,OAAO,EAAE,CAAC,8BAAa,CAAC;KACzB,CAAC;GACW,YAAY,CAAG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { User } from '../entities/user.entity';
|
|
2
|
+
import { Follow } from './entities/follow.entity';
|
|
3
|
+
import { Repository } from 'typeorm';
|
|
4
|
+
import { FollowResponseDto } from './dto/follow-response.dto';
|
|
5
|
+
export declare class FollowService {
|
|
6
|
+
private repository;
|
|
7
|
+
constructor(repository: Repository<Follow>);
|
|
8
|
+
isFollowing(user: User, targetUser: User): Promise<boolean>;
|
|
9
|
+
follow(targetUserId: User['id']): Promise<FollowResponseDto>;
|
|
10
|
+
unfollow(targetUserId: User['id']): Promise<FollowResponseDto>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.FollowService = void 0;
|
|
16
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
17
|
+
const follow_entity_1 = require("./entities/follow.entity");
|
|
18
|
+
const typeorm_2 = require("typeorm");
|
|
19
|
+
const context_1 = require("../../core/context/context");
|
|
20
|
+
let FollowService = class FollowService {
|
|
21
|
+
repository;
|
|
22
|
+
constructor(repository) {
|
|
23
|
+
this.repository = repository;
|
|
24
|
+
}
|
|
25
|
+
async isFollowing(user, targetUser) {
|
|
26
|
+
return !!(await this.repository.findOne({
|
|
27
|
+
where: {
|
|
28
|
+
userId: user.id,
|
|
29
|
+
targetUserId: targetUser.id,
|
|
30
|
+
approved: true,
|
|
31
|
+
},
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
async follow(targetUserId) {
|
|
35
|
+
const user = context_1.Context.getUser();
|
|
36
|
+
const res = await this.repository.insert({
|
|
37
|
+
targetUser: { id: targetUserId },
|
|
38
|
+
user: { id: user.id },
|
|
39
|
+
});
|
|
40
|
+
return { following: !!res.raw, approved: true };
|
|
41
|
+
}
|
|
42
|
+
async unfollow(targetUserId) {
|
|
43
|
+
const user = context_1.Context.getUser();
|
|
44
|
+
const res = await this.repository.delete({
|
|
45
|
+
targetUser: { id: targetUserId },
|
|
46
|
+
user: { id: user.id },
|
|
47
|
+
});
|
|
48
|
+
return { following: res.affected === 1 ? false : true, approved: true };
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.FollowService = FollowService;
|
|
52
|
+
exports.FollowService = FollowService = __decorate([
|
|
53
|
+
__param(0, (0, typeorm_1.InjectRepository)(follow_entity_1.Follow)),
|
|
54
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
55
|
+
], FollowService);
|
|
56
|
+
//# sourceMappingURL=follow.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow.service.js","sourceRoot":"","sources":["../../../src/user/follow/follow.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAmD;AAEnD,4DAAkD;AAClD,qCAAqC;AAErC,wDAAiD;AAEjD,IAAa,aAAa,GAA1B,MAAa,aAAa;IAEY;IADpC,YACoC,UAA8B;QAA9B,eAAU,GAAV,UAAU,CAAoB;IAC/D,CAAC;IAKJ,KAAK,CAAC,WAAW,CAAC,IAAU,EAAE,UAAgB;QAC5C,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACtC,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,YAAY,EAAE,UAAU,CAAC,EAAE;gBAC3B,QAAQ,EAAE,IAAI;aACf;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAwB;QACnC,MAAM,IAAI,GAAG,iBAAO,CAAC,OAAO,EAAU,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvC,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;YAChC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;SACtB,CAAC,CAAC;QAEH,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAwB;QACrC,MAAM,IAAI,GAAG,iBAAO,CAAC,OAAO,EAAU,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvC,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;YAChC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1E,CAAC;CACF,CAAA;AApCY,sCAAa;wBAAb,aAAa;IAErB,WAAA,IAAA,0BAAgB,EAAC,sBAAM,CAAC,CAAA;qCAAqB,oBAAU;GAF/C,aAAa,CAoCzB"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { UserService } from './user.service';
|
|
2
|
+
import { UpdateProfileDto } from './dto/update-profile.dto';
|
|
3
|
+
import { UserResponseDto } from './dto/user-response.dto';
|
|
4
|
+
import { PaginatedResponseDto } from '~/common/dto/paginated-response.dto';
|
|
2
5
|
export declare class UserController {
|
|
3
6
|
private readonly userService;
|
|
4
7
|
constructor(userService: UserService);
|
|
5
|
-
findAll(): Promise<
|
|
6
|
-
findOne(id: string): Promise<
|
|
8
|
+
findAll(): Promise<PaginatedResponseDto<UserResponseDto>>;
|
|
9
|
+
findOne(id: string): Promise<UserResponseDto>;
|
|
10
|
+
updateProfile(dto: UpdateProfileDto): Promise<UserResponseDto>;
|
|
7
11
|
}
|
|
@@ -16,17 +16,42 @@ exports.UserController = void 0;
|
|
|
16
16
|
const openapi = require("@nestjs/swagger");
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
18
|
const user_service_1 = require("./user.service");
|
|
19
|
+
const update_profile_dto_1 = require("./dto/update-profile.dto");
|
|
20
|
+
const class_transformer_1 = require("class-transformer");
|
|
19
21
|
const swagger_1 = require("@nestjs/swagger");
|
|
22
|
+
const user_response_dto_1 = require("./dto/user-response.dto");
|
|
23
|
+
const api_paginated_response_1 = require("../common/decorators/api-paginated-response");
|
|
24
|
+
const context_1 = require("../core/context/context");
|
|
25
|
+
const auth_guard_1 = require("../auth/auth.guard");
|
|
20
26
|
let UserController = class UserController {
|
|
21
27
|
userService;
|
|
22
28
|
constructor(userService) {
|
|
23
29
|
this.userService = userService;
|
|
24
30
|
}
|
|
25
|
-
findAll() {
|
|
26
|
-
|
|
31
|
+
async findAll() {
|
|
32
|
+
const users = await this.userService.findAll();
|
|
33
|
+
return {
|
|
34
|
+
result: users.map((u) => (0, class_transformer_1.plainToInstance)(user_response_dto_1.UserResponseDto, u)),
|
|
35
|
+
count: Infinity,
|
|
36
|
+
next: '',
|
|
37
|
+
previous: '',
|
|
38
|
+
};
|
|
27
39
|
}
|
|
28
|
-
findOne(id) {
|
|
29
|
-
|
|
40
|
+
async findOne(id) {
|
|
41
|
+
if (isNaN(id)) {
|
|
42
|
+
return (0, class_transformer_1.plainToInstance)(user_response_dto_1.UserResponseDto, await this.userService.findOneByUsername(id));
|
|
43
|
+
}
|
|
44
|
+
return (0, class_transformer_1.plainToInstance)(user_response_dto_1.UserResponseDto, this.userService.findOne(+id));
|
|
45
|
+
}
|
|
46
|
+
async updateProfile(dto) {
|
|
47
|
+
const user = context_1.Context.getUser();
|
|
48
|
+
const res = await this.userService.updateProfile(dto, user);
|
|
49
|
+
return (0, class_transformer_1.plainToInstance)(user_response_dto_1.UserResponseDto, res.affected === 1
|
|
50
|
+
? {
|
|
51
|
+
...user,
|
|
52
|
+
...dto,
|
|
53
|
+
}
|
|
54
|
+
: user);
|
|
30
55
|
}
|
|
31
56
|
};
|
|
32
57
|
exports.UserController = UserController;
|
|
@@ -35,11 +60,12 @@ __decorate([
|
|
|
35
60
|
summary: 'Lists users on the network',
|
|
36
61
|
description: 'Returns a list of user entities',
|
|
37
62
|
}),
|
|
63
|
+
(0, api_paginated_response_1.ApiPaginatedResponse)(user_response_dto_1.UserResponseDto),
|
|
38
64
|
(0, common_1.Get)('user.list'),
|
|
39
|
-
openapi.ApiResponse({ status: 200
|
|
65
|
+
openapi.ApiResponse({ status: 200 }),
|
|
40
66
|
__metadata("design:type", Function),
|
|
41
67
|
__metadata("design:paramtypes", []),
|
|
42
|
-
__metadata("design:returntype",
|
|
68
|
+
__metadata("design:returntype", Promise)
|
|
43
69
|
], UserController.prototype, "findAll", null);
|
|
44
70
|
__decorate([
|
|
45
71
|
(0, swagger_1.ApiOperation)({
|
|
@@ -47,12 +73,25 @@ __decorate([
|
|
|
47
73
|
description: 'Returns a information about a user',
|
|
48
74
|
}),
|
|
49
75
|
(0, common_1.Get)('user.info'),
|
|
50
|
-
openapi.ApiResponse({ status: 200, type:
|
|
76
|
+
openapi.ApiResponse({ status: 200, type: require("./dto/user-response.dto").UserResponseDto }),
|
|
51
77
|
__param(0, (0, common_1.Query)('user')),
|
|
52
78
|
__metadata("design:type", Function),
|
|
53
79
|
__metadata("design:paramtypes", [String]),
|
|
54
|
-
__metadata("design:returntype",
|
|
80
|
+
__metadata("design:returntype", Promise)
|
|
55
81
|
], UserController.prototype, "findOne", null);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, common_1.UseGuards)(auth_guard_1.AuthGuard),
|
|
84
|
+
(0, swagger_1.ApiOperation)({
|
|
85
|
+
summary: 'Retrieve a user',
|
|
86
|
+
description: 'Returns a information about a user',
|
|
87
|
+
}),
|
|
88
|
+
(0, common_1.Post)('user.updateProfile'),
|
|
89
|
+
openapi.ApiResponse({ status: 201, type: require("./dto/user-response.dto").UserResponseDto }),
|
|
90
|
+
__param(0, (0, common_1.Body)()),
|
|
91
|
+
__metadata("design:type", Function),
|
|
92
|
+
__metadata("design:paramtypes", [update_profile_dto_1.UpdateProfileDto]),
|
|
93
|
+
__metadata("design:returntype", Promise)
|
|
94
|
+
], UserController.prototype, "updateProfile", null);
|
|
56
95
|
exports.UserController = UserController = __decorate([
|
|
57
96
|
(0, common_1.Controller)(),
|
|
58
97
|
__metadata("design:paramtypes", [user_service_1.UserService])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/user/user.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/user/user.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAWwB;AACxB,iDAA6C;AAC7C,iEAA4D;AAC5D,yDAAoD;AACpD,6CAA+C;AAC/C,+DAA0D;AAE1D,wFAAkF;AAClF,qDAAiD;AACjD,mDAA8C;AAIvC,IAAM,cAAc,GAApB,MAAM,cAAc;IACI;IAA7B,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAQnD,AAAN,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAE/C,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAe,EAAC,mCAAe,EAAE,CAAC,CAAC,CAAC;YAC7D,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAOK,AAAN,KAAK,CAAC,OAAO,CAAgB,EAAU;QACrC,IAAI,KAAK,CAAC,EAAS,CAAC,EAAE,CAAC;YACrB,OAAO,IAAA,mCAAe,EACpB,mCAAe,EACf,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAC7C,CAAC;QACJ,CAAC;QACD,OAAO,IAAA,mCAAe,EAAC,mCAAe,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAQK,AAAN,KAAK,CAAC,aAAa,CAAS,GAAqB;QAC/C,MAAM,IAAI,GAAG,iBAAO,CAAC,OAAO,EAAU,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE5D,OAAO,IAAA,mCAAe,EACpB,mCAAe,EACf,GAAG,CAAC,QAAQ,KAAK,CAAC;YAChB,CAAC,CAAC;gBACE,GAAG,IAAI;gBACP,GAAG,GAAG;aACP;YACH,CAAC,CAAC,IAAI,CACT,CAAC;IACJ,CAAC;CACF,CAAA;AAvDY,wCAAc;AASnB;IANL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,4BAA4B;QACrC,WAAW,EAAE,iCAAiC;KAC/C,CAAC;IACD,IAAA,6CAAoB,EAAC,mCAAe,CAAC;IACrC,IAAA,YAAG,EAAC,WAAW,CAAC;;;;;6CAUhB;AAOK;IALL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,oCAAoC;KAClD,CAAC;IACD,IAAA,YAAG,EAAC,WAAW,CAAC;;IACF,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;;;;6CAQ3B;AAQK;IANL,IAAA,kBAAS,EAAC,sBAAS,CAAC;IACpB,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,oCAAoC;KAClD,CAAC;IACD,IAAA,aAAI,EAAC,oBAAoB,CAAC;;IACN,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,qCAAgB;;mDAahD;yBAtDU,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAE+B,0BAAW;GAD1C,cAAc,CAuD1B"}
|
package/dist/user/user.module.js
CHANGED
|
@@ -18,18 +18,27 @@ const typeorm_1 = require("@nestjs/typeorm");
|
|
|
18
18
|
const post_module_1 = require("../post/post.module");
|
|
19
19
|
const acl_module_1 = require("../core/acl/acl.module");
|
|
20
20
|
const user_acl_1 = __importDefault(require("./user.acl"));
|
|
21
|
+
const hook_module_1 = require("../core/hook/hook.module");
|
|
22
|
+
const avatar_controller_1 = require("./avatar/avatar.controller");
|
|
23
|
+
const avatar_service_1 = require("./avatar/avatar.service");
|
|
24
|
+
const file_storage_module_1 = require("../file-storage/file-storage.module");
|
|
25
|
+
const follow_module_1 = require("./follow/follow.module");
|
|
26
|
+
const follow_entity_1 = require("./follow/entities/follow.entity");
|
|
21
27
|
let UserModule = class UserModule {
|
|
22
28
|
};
|
|
23
29
|
exports.UserModule = UserModule;
|
|
24
30
|
exports.UserModule = UserModule = __decorate([
|
|
25
31
|
(0, common_1.Module)({
|
|
26
32
|
imports: [
|
|
27
|
-
typeorm_1.TypeOrmModule.forFeature([user_entity_1.User]),
|
|
33
|
+
typeorm_1.TypeOrmModule.forFeature([user_entity_1.User, follow_entity_1.Follow]),
|
|
28
34
|
(0, common_1.forwardRef)(() => post_module_1.PostModule),
|
|
29
35
|
acl_module_1.AclModule.forChild(user_acl_1.default),
|
|
36
|
+
hook_module_1.HookModule,
|
|
37
|
+
file_storage_module_1.FileStorageModule,
|
|
38
|
+
follow_module_1.FollowModule,
|
|
30
39
|
],
|
|
31
|
-
controllers: [user_controller_1.UserController],
|
|
32
|
-
providers: [user_service_1.UserService],
|
|
40
|
+
controllers: [user_controller_1.UserController, avatar_controller_1.UserAvatarController],
|
|
41
|
+
providers: [user_service_1.UserService, avatar_service_1.UserAvatarService],
|
|
33
42
|
exports: [user_service_1.UserService],
|
|
34
43
|
})
|
|
35
44
|
], UserModule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../src/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoD;AACpD,iDAA6C;AAC7C,uDAAmD;AACnD,wDAA8C;AAC9C,6CAAgD;AAChD,qDAAgD;AAChD,uDAAkD;AAClD,0DAAsC;
|
|
1
|
+
{"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../src/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoD;AACpD,iDAA6C;AAC7C,uDAAmD;AACnD,wDAA8C;AAC9C,6CAAgD;AAChD,qDAAgD;AAChD,uDAAkD;AAClD,0DAAsC;AACtC,0DAAqD;AACrD,kEAAkE;AAClE,4DAA4D;AAC5D,6EAAuE;AACvE,0DAAsD;AACtD,mEAAyD;AAelD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAbtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,EAAE,sBAAM,CAAC,CAAC;YACxC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,sBAAS,CAAC,QAAQ,CAAC,kBAAY,CAAC;YAChC,wBAAU;YACV,uCAAiB;YACjB,4BAAY;SACb;QACD,WAAW,EAAE,CAAC,gCAAc,EAAE,wCAAoB,CAAC;QACnD,SAAS,EAAE,CAAC,0BAAW,EAAE,kCAAiB,CAAC;QAC3C,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UpdateProfileDto } from './dto/update-profile.dto';
|
|
2
2
|
import { User } from './entities/user.entity';
|
|
3
3
|
import { QueryRunner, Repository } from 'typeorm';
|
|
4
4
|
import { DataSource } from 'typeorm';
|
|
5
|
+
import { HookService } from '~/core/hook/hook.service';
|
|
6
|
+
import { UserDto } from './dto/user.dto';
|
|
7
|
+
import { FollowService } from './follow/follow.service';
|
|
5
8
|
export declare class UserService {
|
|
6
9
|
private readonly repository;
|
|
7
10
|
private readonly dataSource;
|
|
8
|
-
|
|
11
|
+
private readonly hookService;
|
|
12
|
+
private readonly followService;
|
|
13
|
+
constructor(repository: Repository<User>, dataSource: DataSource, hookService: HookService, followService: FollowService);
|
|
9
14
|
create({ username, name, email, password, verified, }: {
|
|
10
15
|
username: string;
|
|
11
16
|
name: string;
|
|
@@ -15,8 +20,10 @@ export declare class UserService {
|
|
|
15
20
|
}, queryRunner?: QueryRunner): Promise<User>;
|
|
16
21
|
verifyUsername(username: string, queryRunner?: QueryRunner): Promise<boolean>;
|
|
17
22
|
findAll(): Promise<User[]>;
|
|
18
|
-
findOne(id: number): Promise<
|
|
19
|
-
findOneByUsername(username: string): Promise<
|
|
20
|
-
|
|
23
|
+
findOne(id: number): Promise<UserDto | null>;
|
|
24
|
+
findOneByUsername(username: string): Promise<UserDto | null>;
|
|
25
|
+
buildUserDto(user: User): Promise<UserDto>;
|
|
26
|
+
updateProfile(dto: UpdateProfileDto, user: User): Promise<import("typeorm").UpdateResult>;
|
|
21
27
|
remove(id: number): string;
|
|
28
|
+
private buildUserQuery;
|
|
22
29
|
}
|
|
@@ -20,18 +20,25 @@ const typeorm_2 = require("typeorm");
|
|
|
20
20
|
const context_1 = require("../core/context/context");
|
|
21
21
|
const user_exceptions_1 = require("./user.exceptions");
|
|
22
22
|
const typeorm_3 = require("typeorm");
|
|
23
|
+
const hook_service_1 = require("../core/hook/hook.service");
|
|
24
|
+
const constants_1 = require("./constants");
|
|
25
|
+
const follow_service_1 = require("./follow/follow.service");
|
|
23
26
|
let UserService = class UserService {
|
|
24
27
|
repository;
|
|
25
28
|
dataSource;
|
|
26
|
-
|
|
29
|
+
hookService;
|
|
30
|
+
followService;
|
|
31
|
+
constructor(repository, dataSource, hookService, followService) {
|
|
27
32
|
this.repository = repository;
|
|
28
33
|
this.dataSource = dataSource;
|
|
34
|
+
this.hookService = hookService;
|
|
35
|
+
this.followService = followService;
|
|
29
36
|
}
|
|
30
37
|
async create({ username, name, email, password, verified = false, }, queryRunner) {
|
|
31
38
|
if (!queryRunner) {
|
|
32
39
|
queryRunner = this.dataSource.createQueryRunner();
|
|
33
40
|
}
|
|
34
|
-
this.verifyUsername(username, queryRunner);
|
|
41
|
+
await this.verifyUsername(username, queryRunner);
|
|
35
42
|
let user = queryRunner.manager.create(user_entity_1.User, {
|
|
36
43
|
network: context_1.Context.getNetwork(),
|
|
37
44
|
username,
|
|
@@ -39,7 +46,11 @@ let UserService = class UserService {
|
|
|
39
46
|
email,
|
|
40
47
|
password,
|
|
41
48
|
});
|
|
42
|
-
|
|
49
|
+
user = await queryRunner.manager.save(user);
|
|
50
|
+
if (user) {
|
|
51
|
+
this.hookService.emit(constants_1.USER_CREATED, { user });
|
|
52
|
+
}
|
|
53
|
+
return user;
|
|
43
54
|
}
|
|
44
55
|
async verifyUsername(username, queryRunner) {
|
|
45
56
|
if (!queryRunner) {
|
|
@@ -64,27 +75,54 @@ let UserService = class UserService {
|
|
|
64
75
|
findAll() {
|
|
65
76
|
return this.repository.find();
|
|
66
77
|
}
|
|
67
|
-
findOne(id) {
|
|
68
|
-
|
|
78
|
+
async findOne(id) {
|
|
79
|
+
const user = await this.repository.findOne({
|
|
69
80
|
where: { id },
|
|
70
|
-
relations: ['communities'
|
|
81
|
+
relations: ['communities'],
|
|
71
82
|
});
|
|
83
|
+
if (!user) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
return await this.buildUserDto(user);
|
|
72
87
|
}
|
|
73
|
-
findOneByUsername(username) {
|
|
74
|
-
|
|
88
|
+
async findOneByUsername(username) {
|
|
89
|
+
const user = await this.buildUserQuery()
|
|
90
|
+
.where('username = :username', { username })
|
|
91
|
+
.getOne();
|
|
92
|
+
if (!user) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
return await this.buildUserDto(user);
|
|
75
96
|
}
|
|
76
|
-
|
|
77
|
-
|
|
97
|
+
async buildUserDto(user) {
|
|
98
|
+
const currentUser = context_1.Context.getUser();
|
|
99
|
+
const isFollowing = !!currentUser &&
|
|
100
|
+
currentUser.id !== user.id &&
|
|
101
|
+
(await this.followService.isFollowing(context_1.Context.getUser(), user));
|
|
102
|
+
return {
|
|
103
|
+
...user,
|
|
104
|
+
relations: {
|
|
105
|
+
isFollowing,
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
updateProfile(dto, user) {
|
|
110
|
+
return this.repository.update({ id: user.id }, dto);
|
|
78
111
|
}
|
|
79
112
|
remove(id) {
|
|
80
113
|
return `This action removes a #${id} user`;
|
|
81
114
|
}
|
|
115
|
+
buildUserQuery() {
|
|
116
|
+
return this.repository.createQueryBuilder('user');
|
|
117
|
+
}
|
|
82
118
|
};
|
|
83
119
|
exports.UserService = UserService;
|
|
84
120
|
exports.UserService = UserService = __decorate([
|
|
85
121
|
(0, common_1.Injectable)(),
|
|
86
122
|
__param(0, (0, typeorm_1.InjectRepository)(user_entity_1.User)),
|
|
87
123
|
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
88
|
-
typeorm_3.DataSource
|
|
124
|
+
typeorm_3.DataSource,
|
|
125
|
+
hook_service_1.HookService,
|
|
126
|
+
follow_service_1.FollowService])
|
|
89
127
|
], UserService);
|
|
90
128
|
//# sourceMappingURL=user.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6CAAmD;AACnD,wDAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@social.dev/server-sdk",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.70",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"private": false,
|
|
@@ -28,12 +28,18 @@
|
|
|
28
28
|
"@nestjs/core": "^11.0.1",
|
|
29
29
|
"@nestjs/jwt": "^11.0.0",
|
|
30
30
|
"@nestjs/platform-express": "^11.0.1",
|
|
31
|
+
"@nestjs/platform-socket.io": "^11.1.8",
|
|
31
32
|
"@nestjs/sequelize": "^11.0.0",
|
|
32
33
|
"@nestjs/swagger": "^11.1.6",
|
|
33
34
|
"@nestjs/typeorm": "^11.0.0",
|
|
35
|
+
"@nestjs/websockets": "^11.1.8",
|
|
36
|
+
"@node-rs/argon2": "^2.0.2",
|
|
37
|
+
"@platformatic/kafka": "^1.14.0",
|
|
34
38
|
"axios": "^1.11.0",
|
|
35
39
|
"bl": "^6.1.1",
|
|
36
40
|
"class-transformer": "^0.5.1",
|
|
41
|
+
"class-validator": "^0.14.2",
|
|
42
|
+
"cookie": "^1.0.2",
|
|
37
43
|
"cookie-parser": "^1.4.7",
|
|
38
44
|
"jose": "^6.0.13",
|
|
39
45
|
"nestjs-cls": "^6.0.1",
|
|
@@ -43,6 +49,8 @@
|
|
|
43
49
|
"rxjs": "^7.8.1",
|
|
44
50
|
"sequelize": "^6.37.7",
|
|
45
51
|
"sequelize-typescript": "^2.1.6",
|
|
52
|
+
"sharp": "^0.34.4",
|
|
53
|
+
"socket.io": "^4.8.1",
|
|
46
54
|
"typeorm": "^0.3.23"
|
|
47
55
|
},
|
|
48
56
|
"devDependencies": {
|
|
@@ -91,12 +99,13 @@
|
|
|
91
99
|
"coverageDirectory": "../coverage",
|
|
92
100
|
"testEnvironment": "node",
|
|
93
101
|
"moduleNameMapper": {
|
|
94
|
-
"^src/(.*)$": "<rootDir>/$1"
|
|
102
|
+
"^src/(.*)$": "<rootDir>/$1",
|
|
103
|
+
"^~/(.*)$": "<rootDir>/$1",
|
|
104
|
+
"^@platformatic/kafka$": "<rootDir>/__mocks__/kafka.mock.ts"
|
|
95
105
|
}
|
|
96
106
|
},
|
|
97
107
|
"scripts": {
|
|
98
108
|
"build": "nest build",
|
|
99
|
-
"build2": "tsc --build tsconfig.build.json",
|
|
100
109
|
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
101
110
|
"start": "nest start",
|
|
102
111
|
"dev": "nest build --watch",
|
|
@@ -105,6 +114,8 @@
|
|
|
105
114
|
"test:watch": "jest --watch",
|
|
106
115
|
"test:cov": "jest --coverage",
|
|
107
116
|
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
|
108
|
-
"test:e2e": "jest --config ./test/jest-e2e.json"
|
|
117
|
+
"test:e2e": "jest --config ./test/jest-e2e.json",
|
|
118
|
+
"bump-tag": "node ../../tools/bump-tag.js .",
|
|
119
|
+
"bump-tag:push": "node ../../tools/bump-tag.js . 0.0.1 alpha --push"
|
|
109
120
|
}
|
|
110
121
|
}
|