Возможно УДАЛЕНИЕ или ОБНОВЛЕНИЕ на соединительной таблице без первичного ключа

У меня есть соединительная таблица под названием PlanConflicts, который учитывает отношения "многие ко многим" между планами и конфликтами.

Вот мое определение модели:

import { AllowNull, Column, DataType, ForeignKey, Model, Table } from "sequelize-typescript";
import Conflict from "./Conflict";
import Plan from "./Plan";

@Table({ tableName: "PlanConflicts" })
export default class PlanConflict extends Model<PlanConflict> {
    @AllowNull(false)
    @ForeignKey(() => Plan)
    @Column(DataType.INTEGER)
    public planId: number;

    @AllowNull(false)
    @ForeignKey(() => Conflict)
    @Column(DataType.INTEGER)
    public conflictId: number;
}

Вот моя попытка сгенерировать конечные точки для этой таблицы, используя эпилог:

epilogue.resource({
    model: PlanConflict,
    endpoints: ["/plan-conflicts", "/plan-conflicts/:id"],
    pagination: false,
    search: [
        {
            operator: "$eq",
            param: "plan-id",
            attributes: [ "planId" ]
        },
        {
            operator: "$eq",
            param: "conflict-id",
            attributes: [ "conflictId" ]
        }
    ]
});

Я могу создать новый конфликт, и я могу получить список, используя URL-адрес формы http://localhost:3000/plan-conflicts?plan-id=9&conflict-id=1, но я не могу понять, как я буду выполнять обновление или удаление. Функция поиска эпилога доступна только для списков.

Итак, я хотел бы знать, возможно ли обновить или удалить элемент для соединительной таблицы, у которой нет первичного ключа, и если да, то как.

1 ответ

Решение

После нескольких часов отдыха меня осенило, что я могу просто настроить конечную точку из .../:id в .../:planId/:conflictId и конечно же, это добилось цели.

Мой ресурсный вызов теперь упрощен до:

epilogue.resource({
    model: PlanConflict,
    endpoints: ["/plan-conflicts", "/plan-conflicts/:planId/:conflictId"],
    pagination: false,
});

И вот пример URL: http://localhost:3000/plan-conflicts/9/1

Другие вопросы по тегам