XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
UTF-8
import { getJSONfromString } from "../../helpers/stringHelpers.ts";
import { Friendship } from "../../models/friendModel.ts";
import { getAccountIdForRequest } from "../../services/loginService.ts";
import type { RequestHandler } from "express";

export const setFriendNoteController: RequestHandler = async (req, res) => {
    const accountId = await getAccountIdForRequest(req);
    const payload = getJSONfromString<ISetFriendNoteRequest>(String(req.body));
    const friendship = await Friendship.findOne({ owner: accountId, friend: payload.FriendId }, "Note Favorite");
    if (friendship) {
        if ("Note" in payload) {
            friendship.Note = payload.Note;
        } else {
            friendship.Favorite = payload.Favorite;
        }
        await friendship.save();
    }
    res.json({
        Id: payload.FriendId,
        SetNote: "Note" in payload,
        Note: friendship?.Note,
        Favorite: friendship?.Favorite
    });
};

interface ISetFriendNoteRequest {
    FriendId: string;
    Note?: string;
    Favorite?: boolean;
}