Line data Source code
1 : // Package skill は ユーザーのスキルに関するユースケース(アプリケーションロジック)を提供します
2 : package skill
3 :
4 : import "context"
5 :
6 : // HasUserSkill は ユーザーのスキル登録有無を取得するユースケースを実装します
7 : func (uc *Interactor) HasUserSkill(
8 : ctx context.Context,
9 : in HasUserSkillInput,
10 0 : ) (HasUserSkillOutput, error) {
11 0 : if in.UserID == 0 {
12 0 : return HasUserSkillOutput{}, errUnauthorized()
13 0 : }
14 0 : var exists bool
15 0 : if err := uc.tx.Do(ctx, func(txCtx context.Context) error {
16 0 : var err error
17 0 : exists, err = uc.usRepo.HasAnySkill(txCtx, in.UserID)
18 0 : return err
19 0 : }); err != nil {
20 0 : return HasUserSkillOutput{}, errCheckUserSkillFailed(err)
21 0 : }
22 0 : return ToHasUserSkillOutput(exists), nil
23 : }
|