@venturialstd/social-network 0.0.5 → 0.0.8
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/services/feed.service.d.ts.map +1 -1
- package/dist/services/feed.service.js +19 -41
- package/dist/services/feed.service.js.map +1 -1
- package/dist/services/friend-request.service.d.ts +14 -1
- package/dist/services/friend-request.service.d.ts.map +1 -1
- package/dist/services/friend-request.service.js +110 -6
- package/dist/services/friend-request.service.js.map +1 -1
- package/dist/types/feed.types.d.ts +1 -0
- package/dist/types/feed.types.d.ts.map +1 -1
- package/dist/utils/user-settings-privacy.util.d.ts +2 -0
- package/dist/utils/user-settings-privacy.util.d.ts.map +1 -0
- package/dist/utils/user-settings-privacy.util.js +10 -0
- package/dist/utils/user-settings-privacy.util.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -33,4 +33,5 @@ export * from './social-network.module';
|
|
|
33
33
|
export * from './types/content-element.types';
|
|
34
34
|
export * from './types/content-music.types';
|
|
35
35
|
export * from './types/feed.types';
|
|
36
|
+
export * from './utils/user-settings-privacy.util';
|
|
36
37
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oCAAoC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -52,4 +52,5 @@ __exportStar(require("./social-network.module"), exports);
|
|
|
52
52
|
__exportStar(require("./types/content-element.types"), exports);
|
|
53
53
|
__exportStar(require("./types/content-music.types"), exports);
|
|
54
54
|
__exportStar(require("./types/feed.types"), exports);
|
|
55
|
+
__exportStar(require("./utils/user-settings-privacy.util"), exports);
|
|
55
56
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uEAAqD;AACrD,4DAA0C;AAC1C,sEAAoD;AACpD,4DAA0C;AAC1C,oEAAkD;AAClD,kEAAgD;AAChD,yEAAuD;AACvD,wEAAsD;AACtD,2DAAyC;AACzC,mEAAiD;AACjD,+DAA6C;AAC7C,yDAAuC;AACvC,6DAA2C;AAC3C,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,qEAAmD;AACnD,0DAAwC;AACxC,mEAAiD;AACjD,0EAAwD;AACxD,yEAAuD;AACvD,4DAA0C;AAC1C,oEAAkD;AAClD,gEAA8C;AAC9C,0DAAwC;AACxC,8DAA4C;AAC5C,0DAAwC;AACxC,0DAAwC;AACxC,2DAAyC;AACzC,iEAA2F;AAAlF,gIAAA,uBAAuB,OAAA;AAAE,gIAAA,uBAAuB,OAAA;AACzD,0DAAwC;AACxC,gEAA8C;AAC9C,8DAA4C;AAC5C,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uEAAqD;AACrD,4DAA0C;AAC1C,sEAAoD;AACpD,4DAA0C;AAC1C,oEAAkD;AAClD,kEAAgD;AAChD,yEAAuD;AACvD,wEAAsD;AACtD,2DAAyC;AACzC,mEAAiD;AACjD,+DAA6C;AAC7C,yDAAuC;AACvC,6DAA2C;AAC3C,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,6DAA2C;AAC3C,qEAAmD;AACnD,0DAAwC;AACxC,mEAAiD;AACjD,0EAAwD;AACxD,yEAAuD;AACvD,4DAA0C;AAC1C,oEAAkD;AAClD,gEAA8C;AAC9C,0DAAwC;AACxC,8DAA4C;AAC5C,0DAAwC;AACxC,0DAAwC;AACxC,2DAAyC;AACzC,iEAA2F;AAAlF,gIAAA,uBAAuB,OAAA;AAAE,gIAAA,uBAAuB,OAAA;AACzD,0DAAwC;AACxC,gEAA8C;AAC9C,8DAA4C;AAC5C,qDAAmC;AACnC,qEAAmD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.service.d.ts","sourceRoot":"","sources":["../../src/services/feed.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"feed.service.d.ts","sourceRoot":"","sources":["../../src/services/feed.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,YAAY,EACb,MAAM,qBAAqB,CAAC;AAE7B,qBACa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,EAE1B,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;IAOvC,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAoE3D,cAAc,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc5D,YAAY,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAyBhE,cAAc,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAInE"}
|
|
@@ -16,7 +16,6 @@ exports.FeedService = void 0;
|
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
18
18
|
const typeorm_2 = require("typeorm");
|
|
19
|
-
const social_network_constant_1 = require("../constants/social-network.constant");
|
|
20
19
|
const feed_constant_1 = require("../constants/feed.constant");
|
|
21
20
|
const post_entity_1 = require("../entities/post.entity");
|
|
22
21
|
const reel_entity_1 = require("../entities/reel.entity");
|
|
@@ -40,20 +39,22 @@ let FeedService = class FeedService {
|
|
|
40
39
|
};
|
|
41
40
|
const qb = this.postRepo
|
|
42
41
|
.createQueryBuilder('p')
|
|
43
|
-
.addSelect(`(SELECT COUNT(*)::int FROM social_comment c WHERE c."targetType" =
|
|
44
|
-
.addSelect(`(SELECT COUNT(*)::int FROM social_reaction r WHERE r."targetType" =
|
|
45
|
-
.addSelect(`(1.0 / (1.0 + EXTRACT(EPOCH FROM (NOW() - p."createdAt")) / 86400.0))`, 'recency_factor')
|
|
46
|
-
.setParameter('postType', social_network_constant_1.ContentTargetType.POST);
|
|
42
|
+
.addSelect(`(SELECT COUNT(*)::int FROM social_comment c WHERE c."targetType"::text = 'POST' AND c."targetId" = p.id)`, 'comment_count')
|
|
43
|
+
.addSelect(`(SELECT COUNT(*)::int FROM social_reaction r WHERE r."targetType"::text = 'POST' AND r."targetId" = p.id)`, 'reaction_count')
|
|
44
|
+
.addSelect(`(1.0 / (1.0 + EXTRACT(EPOCH FROM (NOW() - p."createdAt")) / 86400.0))`, 'recency_factor');
|
|
47
45
|
if (!includeArchived) {
|
|
48
46
|
qb.andWhere('p.isArchived = :archived', { archived: false });
|
|
49
47
|
}
|
|
50
48
|
if (options.userId) {
|
|
51
49
|
qb.andWhere('p.userId = :userId', { userId: options.userId });
|
|
52
50
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
if (options.authorIds?.length) {
|
|
52
|
+
qb.andWhere('p.userId IN (:...authorIds)', { authorIds: options.authorIds });
|
|
53
|
+
}
|
|
54
|
+
const scoreExpr = `(
|
|
55
|
+
(SELECT COUNT(*) FROM social_comment c WHERE c."targetType"::text = 'POST' AND c."targetId" = p.id) * :commentWeight +
|
|
56
|
+
(SELECT COUNT(*) FROM social_reaction r WHERE r."targetType"::text = 'POST' AND r."targetId" = p.id) * :reactionWeight +
|
|
57
|
+
(1.0 / (1.0 + EXTRACT(EPOCH FROM (NOW() - p."createdAt")) / 86400.0)) * :recencyWeight
|
|
57
58
|
)`;
|
|
58
59
|
qb.addSelect(scoreExpr, 'importance_score')
|
|
59
60
|
.setParameter('commentWeight', weights.commentWeight)
|
|
@@ -80,44 +81,21 @@ let FeedService = class FeedService {
|
|
|
80
81
|
async getFeedReels(options = {}) {
|
|
81
82
|
const limit = Math.min(options.limit ?? 20, 100);
|
|
82
83
|
const offset = options.offset ?? 0;
|
|
83
|
-
const
|
|
84
|
-
const weights = {
|
|
85
|
-
commentWeight: feed_constant_1.DEFAULT_IMPORTANCE_WEIGHTS.commentWeight,
|
|
86
|
-
reactionWeight: feed_constant_1.DEFAULT_IMPORTANCE_WEIGHTS.reactionWeight,
|
|
87
|
-
recencyWeight: feed_constant_1.DEFAULT_IMPORTANCE_WEIGHTS.recencyWeight,
|
|
88
|
-
...options.weights,
|
|
89
|
-
};
|
|
90
|
-
const qb = this.reelRepo
|
|
91
|
-
.createQueryBuilder('r')
|
|
92
|
-
.addSelect(`(SELECT COUNT(*)::int FROM social_comment c WHERE c."targetType" = :reelType AND c."targetId" = r.id)`, 'comment_count')
|
|
93
|
-
.addSelect(`(SELECT COUNT(*)::int FROM social_reaction r2 WHERE r2."targetType" = :reelType AND r2."targetId" = r.id)`, 'reaction_count')
|
|
94
|
-
.addSelect(`(1.0 / (1.0 + EXTRACT(EPOCH FROM (NOW() - r."createdAt")) / 86400.0))`, 'recency_factor')
|
|
95
|
-
.setParameter('reelType', social_network_constant_1.ContentTargetType.REEL);
|
|
84
|
+
const qb = this.reelRepo.createQueryBuilder('r');
|
|
96
85
|
if (options.userId) {
|
|
97
86
|
qb.andWhere('r.userId = :userId', { userId: options.userId });
|
|
98
87
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
(SELECT COUNT(*) FROM social_reaction r2 WHERE r2."targetType" = 'REEL' AND r2."targetId" = r.id) * :reactionWeight +
|
|
102
|
-
(1.0 / (1.0 + EXTRACT(EPOCH FROM (NOW() - r."createdAt")) / 86400.0)) * :recencyWeight
|
|
103
|
-
)`;
|
|
104
|
-
qb.addSelect(scoreExpr, 'importance_score')
|
|
105
|
-
.setParameter('commentWeight', weights.commentWeight)
|
|
106
|
-
.setParameter('reactionWeight', weights.reactionWeight)
|
|
107
|
-
.setParameter('recencyWeight', weights.recencyWeight);
|
|
108
|
-
qb.orderBy('importance_score', 'DESC');
|
|
109
|
-
if (randomizeTies) {
|
|
110
|
-
qb.addOrderBy('RANDOM()');
|
|
88
|
+
if (options.authorIds?.length) {
|
|
89
|
+
qb.andWhere('r.userId IN (:...authorIds)', { authorIds: options.authorIds });
|
|
111
90
|
}
|
|
112
|
-
qb.take(limit).skip(offset);
|
|
113
|
-
const
|
|
114
|
-
|
|
91
|
+
qb.orderBy('r.createdAt', 'DESC').take(limit).skip(offset);
|
|
92
|
+
const reels = await qb.getMany();
|
|
93
|
+
return reels.map((reel) => ({
|
|
115
94
|
reel,
|
|
116
|
-
importanceScore:
|
|
117
|
-
commentCount:
|
|
118
|
-
reactionCount:
|
|
95
|
+
importanceScore: 0,
|
|
96
|
+
commentCount: 0,
|
|
97
|
+
reactionCount: 0,
|
|
119
98
|
}));
|
|
120
|
-
return results;
|
|
121
99
|
}
|
|
122
100
|
async getFeedReelIds(options = {}) {
|
|
123
101
|
const items = await this.getFeedReels({ ...options, limit: options.limit ?? 50 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.service.js","sourceRoot":"","sources":["../../src/services/feed.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAqC;AAErC,
|
|
1
|
+
{"version":3,"file":"feed.service.js","sourceRoot":"","sources":["../../src/services/feed.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,28 @@ import { TypeOrmCrudService } from '@dataui/crud-typeorm';
|
|
|
2
2
|
import { Repository } from 'typeorm';
|
|
3
3
|
import { FriendRequest } from '../entities/friend-request.entity';
|
|
4
4
|
import { Friendship } from '../entities/friendship.entity';
|
|
5
|
+
import { FollowService } from './follow.service';
|
|
5
6
|
export declare class FriendRequestService extends TypeOrmCrudService<FriendRequest> {
|
|
6
7
|
readonly repo: Repository<FriendRequest>;
|
|
7
8
|
private readonly friendshipRepo;
|
|
8
|
-
|
|
9
|
+
private readonly followService;
|
|
10
|
+
constructor(repo: Repository<FriendRequest>, friendshipRepo: Repository<Friendship>, followService: FollowService);
|
|
11
|
+
submitOrResubmitPending(fromUserId: string, toUserId: string): Promise<FriendRequest>;
|
|
12
|
+
getOutgoingPairStatus(fromUserId: string, toUserId: string): Promise<{
|
|
13
|
+
requestId?: string;
|
|
14
|
+
friendRequestStatus: string;
|
|
15
|
+
isFollowing: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
acceptWithFollowEdge(requestId: string, acceptedByUserId: string): Promise<FriendRequest>;
|
|
18
|
+
acceptWithFollowEdgeByPair(fromUserId: string, acceptedByUserId: string): Promise<FriendRequest>;
|
|
9
19
|
accept(requestId: string, acceptedByUserId: string): Promise<FriendRequest>;
|
|
10
20
|
reject(requestId: string, rejectedByUserId: string): Promise<FriendRequest>;
|
|
21
|
+
rejectByPair(fromUserId: string, rejectedByUserId: string): Promise<FriendRequest>;
|
|
11
22
|
cancel(requestId: string, cancelledByUserId: string): Promise<void>;
|
|
12
23
|
getPendingReceived(userId: string): Promise<FriendRequest[]>;
|
|
13
24
|
getPendingSent(userId: string): Promise<FriendRequest[]>;
|
|
14
25
|
private ensureFriendship;
|
|
26
|
+
private ensureFriendshipWithEm;
|
|
27
|
+
private ensureFollowWithEm;
|
|
15
28
|
}
|
|
16
29
|
//# sourceMappingURL=friend-request.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"friend-request.service.d.ts","sourceRoot":"","sources":["../../src/services/friend-request.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"friend-request.service.d.ts","sourceRoot":"","sources":["../../src/services/friend-request.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,OAAO,EAAiB,UAAU,EAAE,MAAM,SAAS,CAAC;AAOpD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBACa,oBAAqB,SAAQ,kBAAkB,CAAC,aAAa,CAAC;aAGvD,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC;IAE/C,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAHd,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,EAE9B,cAAc,EAAE,UAAU,CAAC,UAAU,CAAC,EACtC,aAAa,EAAE,aAAa;IASzC,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAoCrF,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IAkB/E,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAoBzF,0BAA0B,CAC9B,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,aAAa,CAAC;IAiBnB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAe3E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAc3E,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAclF,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAO5D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAOhD,gBAAgB;YAIhB,sBAAsB;YAoBtB,kBAAkB;CAajC"}
|
|
@@ -18,15 +18,92 @@ const common_1 = require("@nestjs/common");
|
|
|
18
18
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
19
|
const typeorm_2 = require("typeorm");
|
|
20
20
|
const social_network_constant_1 = require("../constants/social-network.constant");
|
|
21
|
+
const follow_entity_1 = require("../entities/follow.entity");
|
|
21
22
|
const friend_request_entity_1 = require("../entities/friend-request.entity");
|
|
22
23
|
const friendship_entity_1 = require("../entities/friendship.entity");
|
|
24
|
+
const follow_service_1 = require("./follow.service");
|
|
23
25
|
let FriendRequestService = class FriendRequestService extends crud_typeorm_1.TypeOrmCrudService {
|
|
24
26
|
repo;
|
|
25
27
|
friendshipRepo;
|
|
26
|
-
|
|
28
|
+
followService;
|
|
29
|
+
constructor(repo, friendshipRepo, followService) {
|
|
27
30
|
super(repo);
|
|
28
31
|
this.repo = repo;
|
|
29
32
|
this.friendshipRepo = friendshipRepo;
|
|
33
|
+
this.followService = followService;
|
|
34
|
+
}
|
|
35
|
+
async submitOrResubmitPending(fromUserId, toUserId) {
|
|
36
|
+
if (fromUserId === toUserId) {
|
|
37
|
+
throw new common_1.BadRequestException('Cannot send a friend request to yourself');
|
|
38
|
+
}
|
|
39
|
+
if (await this.followService.isFollowing(fromUserId, toUserId)) {
|
|
40
|
+
throw new common_1.ConflictException('Already following this user');
|
|
41
|
+
}
|
|
42
|
+
const existing = await this.repo.findOne({ where: { fromUserId, toUserId } });
|
|
43
|
+
if (!existing) {
|
|
44
|
+
const created = this.repo.create({
|
|
45
|
+
fromUserId,
|
|
46
|
+
toUserId,
|
|
47
|
+
status: social_network_constant_1.FriendRequestStatus.PENDING,
|
|
48
|
+
});
|
|
49
|
+
return this.repo.save(created);
|
|
50
|
+
}
|
|
51
|
+
if (existing.status === social_network_constant_1.FriendRequestStatus.PENDING) {
|
|
52
|
+
return existing;
|
|
53
|
+
}
|
|
54
|
+
if (existing.status === social_network_constant_1.FriendRequestStatus.ACCEPTED) {
|
|
55
|
+
throw new common_1.ConflictException('Friend request already accepted');
|
|
56
|
+
}
|
|
57
|
+
if (existing.status === social_network_constant_1.FriendRequestStatus.REJECTED) {
|
|
58
|
+
existing.status = social_network_constant_1.FriendRequestStatus.PENDING;
|
|
59
|
+
existing.message = '';
|
|
60
|
+
return this.repo.save(existing);
|
|
61
|
+
}
|
|
62
|
+
throw new common_1.ConflictException('Unable to update friend request');
|
|
63
|
+
}
|
|
64
|
+
async getOutgoingPairStatus(fromUserId, toUserId) {
|
|
65
|
+
const isFollowing = await this.followService.isFollowing(fromUserId, toUserId);
|
|
66
|
+
const row = await this.repo.findOne({ where: { fromUserId, toUserId } });
|
|
67
|
+
if (!row) {
|
|
68
|
+
return { friendRequestStatus: 'none', isFollowing };
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
requestId: row.id,
|
|
72
|
+
friendRequestStatus: row.status,
|
|
73
|
+
isFollowing,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
async acceptWithFollowEdge(requestId, acceptedByUserId) {
|
|
77
|
+
return this.repo.manager.transaction(async (em) => {
|
|
78
|
+
const frRepo = em.getRepository(friend_request_entity_1.FriendRequest);
|
|
79
|
+
const request = await frRepo.findOne({ where: { id: requestId } });
|
|
80
|
+
if (!request)
|
|
81
|
+
throw new common_1.NotFoundException(`Friend request ${requestId} not found`);
|
|
82
|
+
if (request.toUserId !== acceptedByUserId) {
|
|
83
|
+
throw new common_1.BadRequestException('Only the recipient can accept this request');
|
|
84
|
+
}
|
|
85
|
+
if (request.status !== social_network_constant_1.FriendRequestStatus.PENDING) {
|
|
86
|
+
throw new common_1.BadRequestException('Request is no longer pending');
|
|
87
|
+
}
|
|
88
|
+
request.status = social_network_constant_1.FriendRequestStatus.ACCEPTED;
|
|
89
|
+
await frRepo.save(request);
|
|
90
|
+
await this.ensureFriendshipWithEm(em, request.fromUserId, request.toUserId);
|
|
91
|
+
await this.ensureFollowWithEm(em, request.fromUserId, request.toUserId);
|
|
92
|
+
return request;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
async acceptWithFollowEdgeByPair(fromUserId, acceptedByUserId) {
|
|
96
|
+
const row = await this.repo.findOne({
|
|
97
|
+
where: {
|
|
98
|
+
fromUserId,
|
|
99
|
+
toUserId: acceptedByUserId,
|
|
100
|
+
status: social_network_constant_1.FriendRequestStatus.PENDING,
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
if (!row) {
|
|
104
|
+
throw new common_1.NotFoundException('No pending friend request for this pair');
|
|
105
|
+
}
|
|
106
|
+
return this.acceptWithFollowEdge(row.id, acceptedByUserId);
|
|
30
107
|
}
|
|
31
108
|
async accept(requestId, acceptedByUserId) {
|
|
32
109
|
const request = await this.repo.findOne({ where: { id: requestId } });
|
|
@@ -56,6 +133,19 @@ let FriendRequestService = class FriendRequestService extends crud_typeorm_1.Typ
|
|
|
56
133
|
request.status = social_network_constant_1.FriendRequestStatus.REJECTED;
|
|
57
134
|
return this.repo.save(request);
|
|
58
135
|
}
|
|
136
|
+
async rejectByPair(fromUserId, rejectedByUserId) {
|
|
137
|
+
const row = await this.repo.findOne({
|
|
138
|
+
where: {
|
|
139
|
+
fromUserId,
|
|
140
|
+
toUserId: rejectedByUserId,
|
|
141
|
+
status: social_network_constant_1.FriendRequestStatus.PENDING,
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
if (!row) {
|
|
145
|
+
throw new common_1.NotFoundException('No pending friend request for this pair');
|
|
146
|
+
}
|
|
147
|
+
return this.reject(row.id, rejectedByUserId);
|
|
148
|
+
}
|
|
59
149
|
async cancel(requestId, cancelledByUserId) {
|
|
60
150
|
const request = await this.repo.findOne({ where: { id: requestId } });
|
|
61
151
|
if (!request)
|
|
@@ -81,18 +171,31 @@ let FriendRequestService = class FriendRequestService extends crud_typeorm_1.Typ
|
|
|
81
171
|
});
|
|
82
172
|
}
|
|
83
173
|
async ensureFriendship(userIdA, userIdB) {
|
|
174
|
+
await this.ensureFriendshipWithEm(this.repo.manager, userIdA, userIdB);
|
|
175
|
+
}
|
|
176
|
+
async ensureFriendshipWithEm(em, userIdA, userIdB) {
|
|
177
|
+
const friendshipRepo = em.getRepository(friendship_entity_1.Friendship);
|
|
84
178
|
const [id1, id2] = userIdA < userIdB ? [userIdA, userIdB] : [userIdB, userIdA];
|
|
85
|
-
const existing = await
|
|
179
|
+
const existing = await friendshipRepo.findOne({
|
|
86
180
|
where: { userId: id1, friendUserId: id2 },
|
|
87
181
|
});
|
|
88
182
|
if (existing)
|
|
89
183
|
return;
|
|
90
|
-
|
|
184
|
+
await friendshipRepo.save(friendshipRepo.create({
|
|
91
185
|
userId: id1,
|
|
92
186
|
friendUserId: id2,
|
|
93
187
|
status: social_network_constant_1.FriendshipStatus.ACTIVE,
|
|
94
|
-
});
|
|
95
|
-
|
|
188
|
+
}));
|
|
189
|
+
}
|
|
190
|
+
async ensureFollowWithEm(em, followerId, followingId) {
|
|
191
|
+
if (followerId === followingId) {
|
|
192
|
+
throw new common_1.BadRequestException('Cannot follow yourself');
|
|
193
|
+
}
|
|
194
|
+
const followRepo = em.getRepository(follow_entity_1.Follow);
|
|
195
|
+
const existing = await followRepo.findOne({ where: { followerId, followingId } });
|
|
196
|
+
if (existing)
|
|
197
|
+
return;
|
|
198
|
+
await followRepo.save(followRepo.create({ followerId, followingId }));
|
|
96
199
|
}
|
|
97
200
|
};
|
|
98
201
|
exports.FriendRequestService = FriendRequestService;
|
|
@@ -101,6 +204,7 @@ exports.FriendRequestService = FriendRequestService = __decorate([
|
|
|
101
204
|
__param(0, (0, typeorm_1.InjectRepository)(friend_request_entity_1.FriendRequest)),
|
|
102
205
|
__param(1, (0, typeorm_1.InjectRepository)(friendship_entity_1.Friendship)),
|
|
103
206
|
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
104
|
-
typeorm_2.Repository
|
|
207
|
+
typeorm_2.Repository,
|
|
208
|
+
follow_service_1.FollowService])
|
|
105
209
|
], FriendRequestService);
|
|
106
210
|
//# sourceMappingURL=friend-request.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"friend-request.service.js","sourceRoot":"","sources":["../../src/services/friend-request.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uDAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"friend-request.service.js","sourceRoot":"","sources":["../../src/services/friend-request.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed.types.d.ts","sourceRoot":"","sources":["../../src/types/feed.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG/C,MAAM,WAAW,iBAAiB;IAEhC,aAAa,EAAE,MAAM,CAAC;IAEtB,cAAc,EAAE,MAAM,CAAC;IAEvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,WAAW;IAE1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAErC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB"}
|
|
1
|
+
{"version":3,"file":"feed.types.d.ts","sourceRoot":"","sources":["../../src/types/feed.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG/C,MAAM,WAAW,iBAAiB;IAEhC,aAAa,EAAE,MAAM,CAAC;IAEtB,cAAc,EAAE,MAAM,CAAC;IAEvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,WAAW;IAE1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAErC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-settings-privacy.util.d.ts","sourceRoot":"","sources":["../../src/utils/user-settings-privacy.util.ts"],"names":[],"mappings":"AAKA,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACnD,OAAO,CAKT"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readIsPrivateAccountFromSettings = readIsPrivateAccountFromSettings;
|
|
4
|
+
function readIsPrivateAccountFromSettings(settings) {
|
|
5
|
+
if (!settings || typeof settings !== 'object' || Array.isArray(settings)) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
return settings.isPrivateAccount === true;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=user-settings-privacy.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-settings-privacy.util.js","sourceRoot":"","sources":["../../src/utils/user-settings-privacy.util.ts"],"names":[],"mappings":";;AAKA,4EAOC;AAPD,SAAgB,gCAAgC,CAC9C,QAAoD;IAEpD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,gBAAgB,KAAK,IAAI,CAAC;AAC5C,CAAC"}
|
package/package.json
CHANGED