private im.turms.server.common.access.client.dto.model.conference.Meeting getMeetingInfoForParticipant(
            im.turms.server.common.access.client.dto.model.conference.Meeting meeting) {
        long id = meeting.getId();
        Long groupId = meeting.hasGroupId()
                ? meeting.getGroupId()
                : null;
        long creatorId = meeting.getCreatorId();
        String name = meeting.hasName()
                ? meeting.getName()
                : null;
        String intro = meeting.hasIntro()
                ? meeting.getIntro()
                : null;
        String password = meeting.hasPassword()
                ? meeting.getPassword()
                : null;
        long startDate = meeting.getStartDate();
        Long endDate = meeting.hasEndDate()
                ? meeting.getEndDate()
                : null;
        Long cancelDate = meeting.hasCancelDate()
                ? meeting.getCancelDate()
                : null;

        var builder = ClientMessagePool.getMeetingBuilder()
                .setId(id)
                .setCreatorId(creatorId)
                .setStartDate(startDate);
        if (groupId != null) {
            builder.setGroupId(groupId);
        }
        if (name != null) {
            builder.setName(name);
        }
        if (intro != null) {
            builder.setIntro(intro);
        }
        if (password != null) {
            builder.setPassword(password);
        }
        if (endDate != null) {
            builder.setEndDate(endDate);
        }
        if (cancelDate != null) {
            builder.setCancelDate(cancelDate);
        }
        return builder.setId(meeting.getId())
                .build();
    }
TODO: Allow developers to configuring whether a meeting invitation can only be updated once.
turms-service/src/main/java/im/turms/service/domain/conference/service/ConferenceService.java