コンテンツにスキップ

$p.apiDelete

概要

AjaxのPOSTリクエストにより、レコードおよびWikiを削除します。

構文

JavaScript
$p.apiDelete({
    id: <レコードID>,
    done: <任意の処理>,
    fail: <任意の処理>,
    always: <任意の処理>
});

パラメータ

パラメータ名 型 必須 概要
id long ○ 削除対象のレコードID
done function ○ API通信成功時の処理
fail function API通信失敗時の処理
always function API通信完了時の処理

使用例

JavaScript
$p.apiDelete({
    id: 123,
    done: function (data) {
        console.log(data);
    },
    fail: function (data) {
        console.log(data);
    },
    always: function (data) {
        console.log(data);
    }
});

サンプルコード

FAQ:サンプルコード:ステータスが完了になったら別レコードを削除させたい

Note

コード内の【 ... 】は適宜修正してください。

1. ステータスが「保留中」かつ申請予定日が「30日以上」経過しているレコードを削除する

ステータスが保留中(910)かつ申請予定日が30日以上前のレコードを取得し、削除する。

// 対象サイトID
const TARGET_SITE_ID = 【対象サイトのID】;
// 削除対象ステータス(保留)
const TARGET_STATUS = '["910"]';
// 経過日数の閾値
const LIMIT_DAYS = 30;

// 対象サイトのデータを取得
$p.apiGet({
    id: TARGET_SITE_ID,
    data: {
        View: {
            ColumnFilterHash: { Status: TARGET_STATUS },
        },
    },
    done: function (data) {
        const rows = data.Response.Data;

        // 申請予定日(DateA)が30日以上前のものだけに絞り込み
        const limitDate = new Date();
        limitDate.setDate(limitDate.getDate() - LIMIT_DAYS);
        const targets = rows.filter(row => new Date(row.DateHash.DateA) < limitDate);

        if (targets.length === 0) return;

        // 対象のレコード削除
        targets.forEach(row => {
            $p.apiDelete({
                id: row.ResultId,
                done: function () {
                    console.log(`(Info):削除成功:Id=${row.ResultId}`);
                },
                fail: function (err) {
                    console.log(`(Info):削除失敗:Id=${row.ResultId}`, err);
                },
            });
        });
    },
    fail: function (err) {
        console.log('レコード取得に失敗しました。', err);
    },
});

実行結果

(Info):削除成功:Id=9997
(Info):削除成功:Id=9998
(Info):削除成功:Id=9999