package com.kospo.talk.service;

import com.kospo.talk.model.Talk;
import com.kospo.talk.payload.ITalkGroupDto;
import com.kospo.talk.payload.TalkDto;
import jakarta.transaction.Transactional;

import java.util.List;

public interface TalkService {
    Talk findByOne(String talkId);

    Talk findByTalkIdAndInsSabun(String talkId, String sabun);

    Talk createTalk(Talk talk);

    void ratingUpdate(String reqId);

    void appendMember(Talk talk);

    List<Talk> findByUserNameSimple(String sabun);

    List<TalkDto> findByMemberSabun(String sabun);

    TalkDto findByTalkId(String talkId);

    List<TalkDto> findTalkGroup(String sabun, int start, int end);

    @Transactional
    TalkDto findTalkGroupByTalkId(String sabun, String talkId);

    TalkDto findByIdAndSabun(String talkId, String sabun);

    void deleteTalk(String talkId);

    void delete(Talk talk);

    @Transactional
    void dataCopy(String pTalkId, String talkId, boolean readForce);

    void updateDummy(String talkId, String sabun);

    long nonStartTalk(String workId);
}
