From cf0860efb173db179cd0ef521ae5b793b075894e Mon Sep 17 00:00:00 2001 From: abdulhakim2902 Date: Thu, 30 Sep 2021 14:31:19 +0700 Subject: [PATCH] MYR-912, MYR-913, MYR-915: fixed prettier --- src/interceptors/pagination.interceptor.ts | 44 ++++++-- src/migrations/1.0.0.migration.ts | 125 ++++++++++++--------- src/models/post.model.ts | 8 +- src/services/experience.service.ts | 10 +- src/services/friend.service.ts | 26 ++++- 5 files changed, 142 insertions(+), 71 deletions(-) diff --git a/src/interceptors/pagination.interceptor.ts b/src/interceptors/pagination.interceptor.ts index 2e343d91b..163a4ad07 100644 --- a/src/interceptors/pagination.interceptor.ts +++ b/src/interceptors/pagination.interceptor.ts @@ -9,7 +9,12 @@ import { } from '@loopback/core'; import {Where} from '@loopback/repository'; import {HttpErrors, RestBindings} from '@loopback/rest'; -import {ControllerType, MethodType, TimelineType, VisibilityType} from '../enums'; +import { + ControllerType, + MethodType, + TimelineType, + VisibilityType, +} from '../enums'; import {Post} from '../models'; import { ExperienceService, @@ -56,7 +61,10 @@ export class PaginationInterceptor implements Provider { * @param invocationCtx - Invocation context * @param next - A function to invoke next interceptor or the target method */ - async intercept(invocationCtx: InvocationContext, next: () => ValueOrPromise) { + async intercept( + invocationCtx: InvocationContext, + next: () => ValueOrPromise, + ) { const {query} = await invocationCtx.get(RestBindings.Http.REQUEST); const {pageNumber, pageLimit, userId, timelineType} = query; const methodName = invocationCtx.methodName as MethodType; @@ -70,9 +78,13 @@ export class PaginationInterceptor implements Provider { ); if (timelineType) { - if (!userId) throw new HttpErrors.UnprocessableEntity('UserId must be filled'); + if (!userId) + throw new HttpErrors.UnprocessableEntity('UserId must be filled'); - const where = await this.getTimeline(userId as string, timelineType as TimelineType); + const where = await this.getTimeline( + userId as string, + timelineType as TimelineType, + ); if (where) filter.where = where; else @@ -86,8 +98,10 @@ export class PaginationInterceptor implements Provider { let pageIndex = 1; let pageSize = 5; - if (!isNaN(Number(pageNumber)) || Number(pageNumber) > 0) pageIndex = Number(pageNumber); - if (!isNaN(Number(pageLimit)) || Number(pageLimit) > 0) pageSize = Number(pageLimit); + if (!isNaN(Number(pageNumber)) || Number(pageNumber) > 0) + pageIndex = Number(pageNumber); + if (!isNaN(Number(pageLimit)) || Number(pageLimit) > 0) + pageSize = Number(pageLimit); invocationCtx.args[0] = Object.assign(filter, { limit: pageSize, @@ -98,7 +112,10 @@ export class PaginationInterceptor implements Provider { const result = await next(); const {count} = await this.metricService.countData(className, where); - if (className === ControllerType.NOTIFICATION && methodName === MethodType.FIND) { + if ( + className === ControllerType.NOTIFICATION && + methodName === MethodType.FIND + ) { const notificationFilter = invocationCtx.args[0]; const toUser = notificationFilter.where ? notificationFilter.where.to @@ -115,7 +132,10 @@ export class PaginationInterceptor implements Provider { }; } - async getTimeline(userId: string, timelineType: TimelineType): Promise | undefined> { + async getTimeline( + userId: string, + timelineType: TimelineType, + ): Promise | undefined> { switch (timelineType) { case TimelineType.EXPERIENCE: return this.experienceService.experienceTimeline(userId); @@ -127,12 +147,16 @@ export class PaginationInterceptor implements Provider { return this.friendService.friendsTimeline(userId); case TimelineType.ALL: { - const approvedFriendIds = await this.friendService.getApprovedFriendIds(userId); + const approvedFriendIds = await this.friendService.getApprovedFriendIds( + userId, + ); const trendingTopics = await this.tagService.trendingTopics(); const experience = await this.experienceService.getExperience(userId); const experienceTopics = experience ? experience.tags : []; - const experiencePersonIds = experience ? experience.people.map(e => e.id) : []; + const experiencePersonIds = experience + ? experience.people.map(e => e.id) + : []; const friends = [...approvedFriendIds, userId]; const topics = [...trendingTopics, ...experienceTopics]; diff --git a/src/migrations/1.0.0.migration.ts b/src/migrations/1.0.0.migration.ts index 301c7b82a..bc7303a2d 100644 --- a/src/migrations/1.0.0.migration.ts +++ b/src/migrations/1.0.0.migration.ts @@ -1,7 +1,12 @@ import {repository} from '@loopback/repository'; import {MigrationScript, migrationScript} from 'loopback4-migration'; import {config} from '../config'; -import {DefaultCurrencyType, PlatformType, ReferenceType, VisibilityType} from '../enums'; +import { + DefaultCurrencyType, + PlatformType, + ReferenceType, + VisibilityType, +} from '../enums'; import { Conversation, DetailTransaction, @@ -133,9 +138,9 @@ export class MigrationScript100 implements MigrationScript { } async doMigrateCurrencies(): Promise { - const collection = (this.tokenRepository.dataSource.connector as any).collection( - Token.modelName, - ); + const collection = ( + this.tokenRepository.dataSource.connector as any + ).collection(Token.modelName); const tokens = await collection.aggregate().get(); @@ -187,7 +192,9 @@ export class MigrationScript100 implements MigrationScript { async doMigratePosts(): Promise { const {getKeyring, getHexPublicKey} = new PolkadotJs(); - const collection = (this.postRepository.dataSource.connector as any).collection(Post.modelName); + const collection = ( + this.postRepository.dataSource.connector as any + ).collection(Post.modelName); // Renamed and removed field await collection.updateMany( @@ -279,8 +286,12 @@ export class MigrationScript100 implements MigrationScript { /[.]jpg$|[.]jpeg$|[.]png$|[.]gif$|[.]tiff$|^https:\/\/preview.redd.it\//; const videoFormat = /[.]mp4$|[.]mp4?source=fallback$/; - const images = post.assets.filter((asset: string) => asset.match(imageFormat)); - const videos = post.assets.filter((asset: string) => asset.match(videoFormat)); + const images = post.assets.filter((asset: string) => + asset.match(imageFormat), + ); + const videos = post.assets.filter((asset: string) => + asset.match(videoFormat), + ); return collection.updateOne( {_id: post._id}, @@ -302,9 +313,9 @@ export class MigrationScript100 implements MigrationScript { } async doMigrateUserCurrencies(): Promise { - const collection = (this.userTokenRepository.dataSource.connector as any).collection( - UserToken.modelName, - ); + const collection = ( + this.userTokenRepository.dataSource.connector as any + ).collection(UserToken.modelName); const userTokens = await collection.aggregate().get(); @@ -332,9 +343,9 @@ export class MigrationScript100 implements MigrationScript { } async doMigrateTransactions(): Promise { - const collection = (this.transactionRepository.dataSource.connector as any).collection( - Transaction.modelName, - ); + const collection = ( + this.transactionRepository.dataSource.connector as any + ).collection(Transaction.modelName); await collection.updateMany( {}, @@ -379,9 +390,9 @@ export class MigrationScript100 implements MigrationScript { } async doMigratePeople(): Promise { - const collections = (this.peopleRepository.dataSource.connector as any).collection( - People.modelName, - ); + const collections = ( + this.peopleRepository.dataSource.connector as any + ).collection(People.modelName); await collections.updateMany( {}, @@ -404,9 +415,9 @@ export class MigrationScript100 implements MigrationScript { } async doMigrateNotifications(): Promise { - const collections = (this.notificationRepository.dataSource.connector as any).collection( - Notification.modelName, - ); + const collections = ( + this.notificationRepository.dataSource.connector as any + ).collection(Notification.modelName); await collections.updateMany( {}, @@ -419,9 +430,9 @@ export class MigrationScript100 implements MigrationScript { } async doMigrateFriends(): Promise { - const collection = (this.friendRepository.dataSource.connector as any).collection( - Friend.modelName, - ); + const collection = ( + this.friendRepository.dataSource.connector as any + ).collection(Friend.modelName); await collection.updateMany( {}, @@ -440,9 +451,9 @@ export class MigrationScript100 implements MigrationScript { } async doMigrateUserSocialMedias(): Promise { - const collection = (this.userCredentialRepository.dataSource.connector as any).collection( - UserCredential.modelName, - ); + const collection = ( + this.userCredentialRepository.dataSource.connector as any + ).collection(UserCredential.modelName); await collection.updateMany( {}, @@ -457,13 +468,15 @@ export class MigrationScript100 implements MigrationScript { }, ); - const newUserSocialMedias = (await collection.aggregate().get()).map((userSocialMedia: any) => { - if (userSocialMedia._id) { - delete userSocialMedia._id; - } + const newUserSocialMedias = (await collection.aggregate().get()).map( + (userSocialMedia: any) => { + if (userSocialMedia._id) { + delete userSocialMedia._id; + } - return userSocialMedia; - }); + return userSocialMedia; + }, + ); await this.userSocialMediaRepository.createAll(newUserSocialMedias); @@ -475,7 +488,9 @@ export class MigrationScript100 implements MigrationScript { } async doMigrateLikes(): Promise { - const collection = (this.likeRepository.dataSource.connector as any).collection(Like.modelName); + const collection = ( + this.likeRepository.dataSource.connector as any + ).collection(Like.modelName); await collection.deleteMany({status: false}); await collection.updateMany( @@ -500,7 +515,9 @@ export class MigrationScript100 implements MigrationScript { } async doMigrateVotes(): Promise { - const collection = (this.likeRepository.dataSource.connector as any).collection(Like.modelName); + const collection = ( + this.likeRepository.dataSource.connector as any + ).collection(Like.modelName); const likes = await collection.aggregate().get(); await Promise.all( @@ -518,9 +535,9 @@ export class MigrationScript100 implements MigrationScript { } async dropPublicMetrics() { - const collection = (this.publicMetricRepository.dataSource.connector as any).collection( - PublicMetric.modelName, - ); + const collection = ( + this.publicMetricRepository.dataSource.connector as any + ).collection(PublicMetric.modelName); const publicMetrics = await collection .aggregate([ @@ -569,9 +586,9 @@ export class MigrationScript100 implements MigrationScript { } async dropConversations() { - const collection = (this.conversationRepository.dataSource.connector as any).collection( - Conversation.modelName, - ); + const collection = ( + this.conversationRepository.dataSource.connector as any + ).collection(Conversation.modelName); try { await collection.drop(); @@ -581,9 +598,9 @@ export class MigrationScript100 implements MigrationScript { } async dropDetailTransactions() { - const collection = (this.detailTransactionRepository.dataSource.connector as any).collection( - DetailTransaction.modelName, - ); + const collection = ( + this.detailTransactionRepository.dataSource.connector as any + ).collection(DetailTransaction.modelName); try { await collection.drop(); @@ -593,7 +610,9 @@ export class MigrationScript100 implements MigrationScript { } async dropTips() { - const collection = (this.tipRepository.dataSource.connector as any).collection(Tip.modelName); + const collection = ( + this.tipRepository.dataSource.connector as any + ).collection(Tip.modelName); try { await collection.drop(); @@ -619,9 +638,9 @@ export class MigrationScript100 implements MigrationScript { } async addDislikesToLikeCollection(): Promise { - const collection = (this.dislikeRepository.dataSource.connector as any).collection( - Dislike.modelName, - ); + const collection = ( + this.dislikeRepository.dataSource.connector as any + ).collection(Dislike.modelName); await collection.deleteMany({status: false}); await collection.updateMany( @@ -642,13 +661,15 @@ export class MigrationScript100 implements MigrationScript { }, ); - const dislikes = (await collection.aggregate().get()).map((dislike: any) => { - if (dislike._id) { - delete dislike._id; - } + const dislikes = (await collection.aggregate().get()).map( + (dislike: any) => { + if (dislike._id) { + delete dislike._id; + } - return dislike; - }); + return dislike; + }, + ); await this.likeRepository.createAll(dislikes); diff --git a/src/models/post.model.ts b/src/models/post.model.ts index d447f9c3f..d7697709a 100644 --- a/src/models/post.model.ts +++ b/src/models/post.model.ts @@ -1,4 +1,10 @@ -import {belongsTo, Entity, hasMany, model, property} from '@loopback/repository'; +import { + belongsTo, + Entity, + hasMany, + model, + property, +} from '@loopback/repository'; import {PlatformType, VisibilityType} from '../enums'; import {Metric} from '../interfaces'; import {Asset} from '../interfaces/asset.interface'; diff --git a/src/services/experience.service.ts b/src/services/experience.service.ts index 383e2bf4a..77e0f21fc 100644 --- a/src/services/experience.service.ts +++ b/src/services/experience.service.ts @@ -1,7 +1,11 @@ import {repository, Where} from '@loopback/repository'; import {VisibilityType} from '../enums'; import {Experience, Post} from '../models'; -import {ExperienceRepository, UserExperienceRepository, UserRepository} from '../repositories'; +import { + ExperienceRepository, + UserExperienceRepository, + UserRepository, +} from '../repositories'; export class ExperienceService { constructor( @@ -24,7 +28,9 @@ export class ExperienceService { if (!user) return null; if (!user.experiences) return null; - const experience = user.experiences.find(e => e.id === user.onTimeline?.toString()); + const experience = user.experiences.find( + e => e.id === user.onTimeline?.toString(), + ); if (!experience) return null; diff --git a/src/services/friend.service.ts b/src/services/friend.service.ts index 29e202a75..b456f477b 100644 --- a/src/services/friend.service.ts +++ b/src/services/friend.service.ts @@ -16,7 +16,10 @@ export class FriendService { public notificationService: NotificationService, ) {} - async validateFriendRequest(requesteeId: string, requestorId: string): Promise { + async validateFriendRequest( + requesteeId: string, + requestorId: string, + ): Promise { if (requesteeId === requestorId) { throw new HttpErrors.UnprocessableEntity('Cannot add itself'); } @@ -50,18 +53,26 @@ export class FriendService { if (friend) { switch (friend.status) { case FriendStatusType.APPROVED: { - throw new HttpErrors.UnprocessableEntity('You already friend with this user'); + throw new HttpErrors.UnprocessableEntity( + 'You already friend with this user', + ); } case FriendStatusType.PENDING: { if (requestorId === friend.requestorId) - throw new HttpErrors.UnprocessableEntity("Please wait for your friend's approval!"); + throw new HttpErrors.UnprocessableEntity( + "Please wait for your friend's approval!", + ); - throw new HttpErrors.UnprocessableEntity('Your friend waited for your approval!'); + throw new HttpErrors.UnprocessableEntity( + 'Your friend waited for your approval!', + ); } case FriendStatusType.BLOCKED: { - throw new HttpErrors.UnprocessableEntity('You cannot added this friend!'); + throw new HttpErrors.UnprocessableEntity( + 'You cannot added this friend!', + ); } } } @@ -128,7 +139,10 @@ export class FriendService { async deleteById(id: string): Promise { const friend = await this.friendRepository.findById(id); - await this.notificationService.cancelFriendRequest(friend.requestorId, friend.requesteeId); + await this.notificationService.cancelFriendRequest( + friend.requestorId, + friend.requesteeId, + ); await this.friendRepository.deleteById(id); } }