diff --git a/internal/http/graph/clip_resolvers.go b/internal/http/graph/clip_resolvers.go index 5a6fac9..5a83304 100644 --- a/internal/http/graph/clip_resolvers.go +++ b/internal/http/graph/clip_resolvers.go @@ -68,12 +68,17 @@ func (r *clipLikeResolver) CreatedAt(ctx context.Context, obj *domain.ClipLike) } // CreateClip is the resolver for the createClip field. -func (r *mutationResolver) CreateClip(ctx context.Context, title string, video graphql.Upload) (*domain.Clip, error) { +func (r *mutationResolver) CreateClip(ctx context.Context, title *string, video graphql.Upload) (*domain.Clip, error) { userID, err := getUserIDFromContext(ctx) if err != nil { return nil, fmt.Errorf("user not authenticated: %w", err) } + var clipTitle string + if title != nil { + clipTitle = *title + } + // Читаем данные видео videoData, err := io.ReadAll(video.File) if err != nil { @@ -82,7 +87,7 @@ func (r *mutationResolver) CreateClip(ctx context.Context, title string, video g resp, err := r.ClipClient.CreateClip(ctx, &proto.CreateClipRequest{ UserId: int32(userID), - Title: title, + Title: clipTitle, VideoData: videoData, FileName: video.Filename, ContentType: video.ContentType, diff --git a/internal/http/graph/generated.go b/internal/http/graph/generated.go index f7afd0f..f103578 100644 --- a/internal/http/graph/generated.go +++ b/internal/http/graph/generated.go @@ -172,7 +172,7 @@ type ComplexityRoot struct { ChangePassword func(childComplexity int, oldPassword string, newPassword string) int ConfirmEmail func(childComplexity int, token string) int CreateChat func(childComplexity int, user1Id int, user2Id int) int - CreateClip func(childComplexity int, title string, video graphql.Upload) int + CreateClip func(childComplexity int, title *string, video graphql.Upload) int CreateClipComment func(childComplexity int, clipID int, content string) int CreateComment func(childComplexity int, postID int, content string) int CreatePost func(childComplexity int, title string, content graphql.Upload) int @@ -355,7 +355,7 @@ type MutationResolver interface { FollowUser(ctx context.Context, followingID int) (*FollowResult, error) UnfollowUser(ctx context.Context, followingID int) (*UnfollowResult, error) MarkNotificationAsRead(ctx context.Context, notificationID int) (*MarkNotificationReadResult, error) - CreateClip(ctx context.Context, title string, video graphql.Upload) (*domain.Clip, error) + CreateClip(ctx context.Context, title *string, video graphql.Upload) (*domain.Clip, error) DeleteClip(ctx context.Context, id int) (bool, error) LikeClip(ctx context.Context, clipID int) (*domain.ClipLike, error) UnlikeClip(ctx context.Context, clipID int) (bool, error) @@ -943,7 +943,7 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin return 0, false } - return e.complexity.Mutation.CreateClip(childComplexity, args["title"].(string), args["video"].(graphql.Upload)), true + return e.complexity.Mutation.CreateClip(childComplexity, args["title"].(*string), args["video"].(graphql.Upload)), true case "Mutation.createClipComment": if e.complexity.Mutation.CreateClipComment == nil { @@ -2082,7 +2082,7 @@ func (ec *executionContext) field_Mutation_createClipComment_args(ctx context.Co func (ec *executionContext) field_Mutation_createClip_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error args := map[string]any{} - arg0, err := processArgField(ctx, rawArgs, "title", ec.unmarshalNString2string) + arg0, err := processArgField(ctx, rawArgs, "title", ec.unmarshalOString2ᚖstring) if err != nil { return nil, err } @@ -7213,7 +7213,7 @@ func (ec *executionContext) _Mutation_createClip(ctx context.Context, field grap }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateClip(rctx, fc.Args["title"].(string), fc.Args["video"].(graphql.Upload)) + return ec.resolvers.Mutation().CreateClip(rctx, fc.Args["title"].(*string), fc.Args["video"].(graphql.Upload)) }) if err != nil { ec.Error(ctx, err) diff --git a/internal/http/graph/schema.graphql b/internal/http/graph/schema.graphql index ae068fa..f1408fc 100644 --- a/internal/http/graph/schema.graphql +++ b/internal/http/graph/schema.graphql @@ -289,7 +289,7 @@ type Mutation { followUser(followingId: Int!): FollowResult! unfollowUser(followingId: Int!): UnfollowResult! markNotificationAsRead(notificationId: Int!): MarkNotificationReadResult! - createClip(title: String!, video: Upload!): Clip! # Создать клип + createClip(title: String, video: Upload!): Clip! # Создать клип deleteClip(id: Int!): Boolean! # Удалить клип likeClip(clipId: Int!): ClipLike! # Лайкнуть клип unlikeClip(clipId: Int!): Boolean! # Убрать лайк