Line data Source code
1 : // Package response は HTTP レスポンス DTO を提供します。
2 : // コントローラ → プレゼンター層で最終的に API が返す JSON 形を定義します。
3 : package response
4 :
5 : // User はユーザー情報をクライアントへ返すためのレスポンスDTOです。
6 : // ドメインの entity.User とは分離されており、API 仕様に合わせたフィールド構成/命名を持ちます。
7 : type User struct {
8 : ID uint64 `json:"id"`
9 : UID string `json:"UID"`
10 : Email *string `json:"email"`
11 : EmailVerified bool `json:"emailVerified"`
12 : DisplayName *string `json:"displayName"`
13 : PhotoURL *string `json:"photoURL"`
14 : Disabled bool `json:"disabled"`
15 : LastLoginAt *string `json:"lastLoginAt"`
16 : CreatedAt string `json:"createdAt"`
17 : UpdatedAt string `json:"updatedAt"`
18 : DeletedAt *string `json:"deletedAt"`
19 : }
20 :
21 : // FromUsecase はユーザー情報をクライアントへ返すためのレスポンスDTOです。
22 0 : func FromUsecase(uID uint64, name, email *string) User {
23 0 : return User{ID: uID, DisplayName: name, Email: email}
24 0 : }
|