import CommunitiesIds from './CommunitiesIds.js';
import CommunitiesEntityType from './CommunitiesEntityType.js';
import UserId from '../UserId.js';
export default class PostActivityTarget {
/**
* Creates an PostActivityTarget
*
* @constructor PostActivityTarget
* @param {CommunitiesIds} ids - Entity IDs.
*/
constructor(ids) {
this.ids = ids;
}
/**
* Post activity in topic.
*
* @memberof PostActivityTarget
* @param {string} id - Topic ID.
* @return {PostActivityTarget} - New instance.
*/
static topic(id) {
return new PostActivityTarget(CommunitiesIds.topic(id));
}
/**
* Post activity in group.
*
* @memberof PostActivityTarget
* @param {string} id - Group ID.
* @return {PostActivityTarget} - New instance.
*/
static group(id) {
return new PostActivityTarget(CommunitiesIds.group(id));
}
/**
* Post comment to the activity.
*
* @memberof PostActivityTarget
* @param {string} activityId - Activity ID.
* @return {PostActivityTarget} - New instance.
*/
static comment(activityId) {
return new PostActivityTarget(CommunitiesIds.activity(activityId));
}
/**
* Post to the feed of current user.
*
* @memberof PostActivityTarget
* @return {PostActivityTarget} - New instance.
*/
static timeline() {
const user = CommunitiesIds.user(UserId.currentUser());
return new PostActivityTarget(user);
}
/** @ignore */
getType() {
return this.ids.type || CommunitiesEntityType.Unknown;
}
/** @ignore */
getTargetId() {
return this.ids.ids.length
? this.ids.ids[0]
: '';
}
}