aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/app/services/timeline.ts
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-11-16 16:30:32 +0800
committercrupest <crupest@outlook.com>2020-11-16 16:30:32 +0800
commite7854c1ed8facc2955ef9ad96f0bb2513041bba9 (patch)
tree81ff02d3efa5704f7263170385caf60753ec210e /FrontEnd/src/app/services/timeline.ts
parente0785b385138057a23ffd1703a7265c371aef45d (diff)
downloadtimeline-e7854c1ed8facc2955ef9ad96f0bb2513041bba9.tar.gz
timeline-e7854c1ed8facc2955ef9ad96f0bb2513041bba9.tar.bz2
timeline-e7854c1ed8facc2955ef9ad96f0bb2513041bba9.zip
...
Diffstat (limited to 'FrontEnd/src/app/services/timeline.ts')
-rw-r--r--FrontEnd/src/app/services/timeline.ts22
1 files changed, 13 insertions, 9 deletions
diff --git a/FrontEnd/src/app/services/timeline.ts b/FrontEnd/src/app/services/timeline.ts
index 2cbbffab..c58516fc 100644
--- a/FrontEnd/src/app/services/timeline.ts
+++ b/FrontEnd/src/app/services/timeline.ts
@@ -29,11 +29,11 @@ export type { TimelineVisibility } from "@/http/timeline";
import { dataStorage, throwIfNotNetworkError, BlobOrStatus } from "./common";
import { DataHub, WithSyncStatus } from "./DataHub";
import {
- UserAuthInfo,
checkLogin,
userService,
userInfoService,
User,
+ AuthUser,
} from "./user";
export type TimelineInfo = HttpTimelineInfo;
@@ -608,10 +608,11 @@ export class TimelineService {
}
hasReadPermission(
- user: UserAuthInfo | null | undefined,
+ user: AuthUser | null | undefined,
timeline: TimelineInfo
): boolean {
- if (user != null && user.administrator) return true;
+ if (user != null && user.hasAllTimelineAdministrationPermission)
+ return true;
const { visibility } = timeline;
if (visibility === "Public") {
@@ -631,10 +632,11 @@ export class TimelineService {
}
hasPostPermission(
- user: UserAuthInfo | null | undefined,
+ user: AuthUser | null | undefined,
timeline: TimelineInfo
): boolean {
- if (user != null && user.administrator) return true;
+ if (user != null && user.hasAllTimelineAdministrationPermission)
+ return true;
return (
user != null &&
@@ -644,20 +646,22 @@ export class TimelineService {
}
hasManagePermission(
- user: UserAuthInfo | null | undefined,
+ user: AuthUser | null | undefined,
timeline: TimelineInfo
): boolean {
- if (user != null && user.administrator) return true;
+ if (user != null && user.hasAllTimelineAdministrationPermission)
+ return true;
return user != null && user.username == timeline.owner.username;
}
hasModifyPostPermission(
- user: UserAuthInfo | null | undefined,
+ user: AuthUser | null | undefined,
timeline: TimelineInfo,
post: TimelinePostInfo
): boolean {
- if (user != null && user.administrator) return true;
+ if (user != null && user.hasAllTimelineAdministrationPermission)
+ return true;
return (
user != null &&