2022-01-26
(C) Questetra, Inc. (MIT License)
2
Create a URL to access the specified folder on Box. Created indefinitely if blank, Created without a password request if blank.
Box 上のフォルダにアクセスできる URL を作成します。有効期限の指定が無い場合は無期限で、パスワードの指定が無い場合はパスワード要求無しで作成します。
https://support.questetra.com/bpmn-icons/box-folder-link-create
https://support.questetra.com/ja/bpmn-icons/box-folder-link-create
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEBElEQVRYR82Xb2jbRRjHP/fL2jXJ
0qSd65x11aK0YgJWZUwEWZ0DfSNaHYKKmgykbP7pH/SVghvCkIlb6kREwfyGOougbgxB2Yt1oGwg
aietdOJoV21ty2ob26xdm+TkLsufJr+2Sdtt3pv8uDx3z+ee+z53zwmucRMF+ff/9ijEtwB1IDwI
9QtIOkGOA50I0UHIezTfeRcH8Pd64GITyGaE8OQ1sVQwIgiONsxqBTZvWxjA3+UHDuTtONuNBjEC
mLcfmY9gfgB/dxBBU14rXsxIyiCmr8XKzBog0GWCeG6xeQv6X2JiegPZY3IBVnLlOVtCG6a3ObN7
LoDacyFCBa2sUGMpGjI1kQbQao/0Lllw+YJoYTqrk9mRAdC9G8Eb+c6zLDvJHkzvbjVHGiDQpXLX
nZw4tOMGyp02Hjn457J8WQ5WUTB9ZWkAdcIJ+XWm8XCwFkexwLWrZ+UB9OmZ0EIiAhbKH2lLAKzZ
eaUAEhmRAAh0dYBQZ3yqKQDnaoPDp8PUVZXo/pM9EV75Ylh/77q/jO2bSlmz2mBgLErjoUHad95I
Z/80re0Jmw+e3UD1dcU8uP+8RRTlSUK++ssA3X3ATdkA61y2nIE/9k7Rd2GWx+4uxWZkAP8bo9Ru
YAho+XyIUruNNxsqiMzE8bxgEUV1gZneO5MAMtuTioACUM7e+W4Uj8Pg5W1rdV9cwvSsxPx+nNPn
LvLStnI2VdsZi8TwOGyMTsY0nNth493j/9DSPmSto5BXLAigsmDLW7388MeUnuDVh9ay74n1+vvI
zxM0vJfOkNGDtdiLDH7pn+beW+3a5kRPhK37rMJ/mScDIGcLBvfXsM61isrWs4xMxPSIpza7+ayx
Un8rbTz94UBqZX8fqNFp+82vkzTc5dL9n54K88xHaZu5YZBnCPnq5hXhqdequecWO2rPH3j7PBvc
qzjWVEXN9cV6HhVmJbwvf5rgcGMlT2526y1wldiYiUl9wKhtUHp4/8TYIiK0SMP6WgdfvbiRMqeN
yKU4NkNQUiToH51lcDyq4aIxtMjcdoOpGYkSkrJpOz6qt6OxvowLkzEqms7mAsjMNLQ4iNSIrbc5
2bu9QqdSNC7pHrjEjo8H+GssyifPV3JfjQNHscFQOMqeoyPsfXw9vw/P8HBbv3b4bWsVG8uL8L5+
zgIg8yBSf2cdxdayXaleGSbk0+Xd/+gyUtexiPRlXkgrtd4s9YeRzptzr2NldU0LkiTmlS3JUnVA
0t3VK0qRhwj5VJk/p12lsjxdAeUPoDWhCpW4KtFTlVJhwpRhpOFf2sMkpQn9NGtGyOb8QZRj/TQL
Lu9plr1c/TiV9QipHqUeEHckTOQZYBwpOkF0LLTiwragsHgvyfo/g3CBMFgjn40AAAAASUVORK5C
YII=
{
configs.put("OAuth2", "Box");
configs.put("FolderId", folderId);
// 日時型データ項目を準備して、config に指定
const unsharedDateDef = engine.createDataDefinition(
"有効期限",
2,
"q_dateTime",
"DATETIME"
);
configs.putObject("unsharedAt", unsharedDateDef);
// 日時型データ項目の値(有効期限)を指定
if (unsharedDate !== null) {
const datetime = java.sql.Timestamp.valueOf(unsharedDate);
engine.setData(unsharedDateDef, datetime);
} else {
engine.setData(unsharedDateDef, null);
}
// 文字型データ項目を準備して、config に指定
const passwordDef = engine.createDataDefinition(
"パスワード",
3,
"q_password",
"STRING_TEXTFIELD"
);
configs.putObject("DownloadPass", passwordDef);
// 文字型データ項目の値(パスワード)を指定
engine.setData(passwordDef, password);
// 文字型データ項目を準備して、config に指定
const urlDef = engine.createDataDefinition(
"リンクURL",
4,
"q_urls",
"STRING_TEXTFIELD"
);
configs.putObject("DownloadUrlItem", urlDef);
// 文字型データ項目の値(リンク URL を保存するデータ項目)を指定
engine.setData(urlDef, "事前文字列");
return {
unsharedDateDef,
passwordDef,
urlDef,
};
};
/**
* リクエストのテスト(対象ファイルの共有リンク情報を取得)
* @param {Object} request
* @param request.url
* @param request.method
* @param folderId
*/
const assertGetRequest = ({ url, method }, folderId) => {
expect(url).toEqual(
`https://api.box.com/2.0/folders/${folderId}?fields=shared_link`
);
expect(method).toEqual("GET");
};
/**
* リクエストのテスト(ファイル共有リンク作成)
* @param {Object} request
* @param request.url
* @param request.method
* @param request.contentType
* @param request.body
* @param folderId
* @param unsharedDate
* @param password
* @param offsetInMinutes
*/
const assertPutRequest = (
{ url, method, contentType, body },
folderId,
unsharedDate,
password
) => {
expect(url).toEqual(
`https://api.box.com/2.0/folders/${folderId}?fields=shared_link`
);
expect(method).toEqual("PUT");
expect(contentType).toEqual("application/json; charset=UTF-8");
const bodyObj = JSON.parse(body);
if (unsharedDate !== null) {
expect(bodyObj.shared_link.unshared_at).toEqual(unsharedDate);
} else {
//unsharedDate が空の場合、bodyObj に time の指定がないことを確認
expect(bodyObj.shared_link.unshared_at === undefined).toEqual(true);
}
if (password !== null) {
expect(bodyObj.shared_link.password).toEqual(password);
} else {
//password が空の場合、bodyObj に password の指定がないことを確認
expect(bodyObj.shared_link.password === undefined).toEqual(true);
}
};
/**
* folderId が空の場合
*/
test("folder ID is blank", () => {
prepareConfigs(configs, "","2021-04-15 10:00:00", "word2");
//