mirror of
https://github.com/muerwre/vault-frontend.git
synced 2025-04-24 20:36:40 +07:00
let admins star lab nodes
This commit is contained in:
parent
29ed51b831
commit
0605ceb263
1 changed files with 21 additions and 8 deletions
|
@ -4,16 +4,29 @@ import { ICommentGroup, INode } from '~/types';
|
|||
import { IUser } from '~/types/auth';
|
||||
import { path } from '~/utils/ramda';
|
||||
|
||||
export const canEditNode = (node?: Partial<INode>, user?: Partial<IUser>): boolean =>
|
||||
path(['role'], user) === Role.Admin || path(['user', 'id'], node) === path(['id'], user);
|
||||
export const canEditNode = (
|
||||
node?: Partial<INode>,
|
||||
user?: Partial<IUser>,
|
||||
): boolean =>
|
||||
path(['role'], user) === Role.Admin ||
|
||||
path(['user', 'id'], node) === path(['id'], user);
|
||||
|
||||
export const canEditComment = (comment?: Partial<ICommentGroup>, user?: Partial<IUser>): boolean =>
|
||||
path(['role'], user) === Role.Admin || path(['user', 'id'], comment) === path(['id'], user);
|
||||
export const canEditComment = (
|
||||
comment?: Partial<ICommentGroup>,
|
||||
user?: Partial<IUser>,
|
||||
): boolean =>
|
||||
path(['role'], user) === Role.Admin ||
|
||||
path(['user', 'id'], comment) === path(['id'], user);
|
||||
|
||||
export const canLikeNode = (node?: Partial<INode>, user?: Partial<IUser>): boolean =>
|
||||
path(['role'], user) !== Role.Guest;
|
||||
export const canLikeNode = (
|
||||
node?: Partial<INode>,
|
||||
user?: Partial<IUser>,
|
||||
): boolean => path(['role'], user) !== Role.Guest;
|
||||
|
||||
export const canStarNode = (node?: Partial<INode>, user?: Partial<IUser>): boolean =>
|
||||
path(['type'], node) === NODE_TYPES.IMAGE &&
|
||||
export const canStarNode = (
|
||||
node?: Partial<INode>,
|
||||
user?: Partial<IUser>,
|
||||
): boolean =>
|
||||
(path(['type'], node) === NODE_TYPES.IMAGE || !node?.is_public) &&
|
||||
path(['is_promoted'], node) === true &&
|
||||
path(['role'], user) === Role.Admin;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue