package com.red.circle.other.inner.endpoint.team.target.api;

import com.red.circle.framework.dto.ResultResponse;
import com.red.circle.other.inner.model.dto.agency.agency.UserHistoryIdentityDTO;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 用户历史身份.
 *
 * @author lisizhe on 2023/8/19
 */
public interface UserHistoryIdentityClientApi {

  String API_PREFIX = "/user-history/identity/client";


  @GetMapping("/getLabels")
  ResultResponse<List<String>> getLabels(@RequestParam("userId") Long userId);

  @PostMapping("/getUserLabels")
  ResultResponse<List<String>> getUserLabels(@RequestBody UserHistoryIdentityDTO identity);

  @PostMapping("/mapByIds")
  ResultResponse<Map<Long, UserHistoryIdentityDTO>> mapByIds(@RequestBody Set<Long> userIds);

  @GetMapping("/saveHost")
  ResultResponse<Void> saveHost(@RequestParam("userId") Long userId);

  @GetMapping("/saveBd")
  ResultResponse<Void> saveBd(@RequestParam("userId") Long userId);

  @GetMapping("/saveManager")
  ResultResponse<Void> saveManager(@RequestParam("userId") Long userId);
}
