package resolver import ( "context" "git.aiterp.net/rpdata/api/internal/session" "git.aiterp.net/rpdata/api/resolver/types" ) // LoginArgs is args type LoginArgs struct { Username string Password string } // Session resolves query.session func (r *QueryResolver) Session(ctx context.Context) (*types.SessionResolver, error) { return &types.SessionResolver{S: session.FromContext(ctx)}, nil } // Login resolves mutation.login func (r *MutationResolver) Login(ctx context.Context, args *LoginArgs) (*types.SessionResolver, error) { session := session.FromContext(ctx) err := session.Login(args.Username, args.Password) if err != nil { return nil, err } return &types.SessionResolver{S: session}, nil } // Logout resolves mutation.logout func (r *MutationResolver) Logout(ctx context.Context) (*types.SessionResolver, error) { session := session.FromContext(ctx) session.Logout() return &types.SessionResolver{S: session}, nil }