2023-08-28 02:25:31 -07:00
|
|
|
/*
|
2024-02-13 07:59:27 -08:00
|
|
|
* SPDX-FileCopyrightText: syuilo and misskey-project
|
2023-08-28 02:25:31 -07:00
|
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
*/
|
|
|
|
|
2024-08-09 17:34:49 -07:00
|
|
|
import { AISCRIPT_VERSION } from '@syuilo/aiscript';
|
2023-04-03 17:38:34 -07:00
|
|
|
import type { entities } from 'misskey-js'
|
|
|
|
|
2023-04-05 16:19:49 -07:00
|
|
|
export function abuseUserReport() {
|
|
|
|
return {
|
|
|
|
id: 'someabusereportid',
|
|
|
|
createdAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
comment: 'This user is a spammer!',
|
|
|
|
resolved: false,
|
|
|
|
reporterId: 'reporterid',
|
|
|
|
targetUserId: 'targetuserid',
|
|
|
|
assigneeId: 'assigneeid',
|
|
|
|
reporter: userDetailed('reporterid', 'reporter', 'misskey-hub.net', 'Reporter'),
|
|
|
|
targetUser: userDetailed('targetuserid', 'target', 'misskey-hub.net', 'Target'),
|
|
|
|
assignee: userDetailed('assigneeid', 'assignee', 'misskey-hub.net', 'Assignee'),
|
|
|
|
me: null,
|
|
|
|
forwarded: false,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2024-06-08 02:00:54 -07:00
|
|
|
export function channel(id = 'somechannelid', name = 'Some Channel', bannerUrl: string | null = 'https://github.com/misskey-dev/misskey/blob/master/packages/frontend/assets/fedi.jpg?raw=true'): entities.Channel {
|
|
|
|
return {
|
|
|
|
id,
|
|
|
|
createdAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
lastNotedAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
name,
|
|
|
|
description: null,
|
|
|
|
userId: null,
|
|
|
|
bannerUrl,
|
|
|
|
pinnedNoteIds: [],
|
|
|
|
color: '#000',
|
|
|
|
isArchived: false,
|
|
|
|
usersCount: 1,
|
|
|
|
notesCount: 1,
|
|
|
|
isSensitive: false,
|
|
|
|
allowRenoteToExternal: false,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export function clip(id = 'someclipid', name = 'Some Clip'): entities.Clip {
|
|
|
|
return {
|
|
|
|
id,
|
|
|
|
createdAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
lastClippedAt: null,
|
|
|
|
userId: 'someuserid',
|
2024-07-30 03:48:16 -07:00
|
|
|
user: userLite(),
|
2024-06-08 02:00:54 -07:00
|
|
|
notesCount: undefined,
|
|
|
|
name,
|
|
|
|
description: 'Some clip description',
|
|
|
|
isPublic: false,
|
|
|
|
favoritedCount: 0,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export function emojiDetailed(id = 'someemojiid', name = 'some_emoji'): entities.EmojiDetailed {
|
|
|
|
return {
|
|
|
|
id,
|
|
|
|
aliases: ['alias1', 'alias2'],
|
|
|
|
name,
|
|
|
|
category: 'emojiCategory',
|
|
|
|
host: null,
|
|
|
|
url: '/client-assets/about-icon.png',
|
|
|
|
license: null,
|
|
|
|
isSensitive: false,
|
|
|
|
localOnly: false,
|
|
|
|
roleIdsThatCanBeUsedThisEmojiAsReaction: ['roleId1', 'roleId2'],
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2023-04-05 16:19:49 -07:00
|
|
|
export function galleryPost(isSensitive = false) {
|
|
|
|
return {
|
|
|
|
id: 'somepostid',
|
|
|
|
createdAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
updatedAt: '2016-12-28T22:49:51.000Z',
|
2024-05-01 00:39:16 -07:00
|
|
|
userId: 'someuserid',
|
2023-04-05 16:19:49 -07:00
|
|
|
user: userDetailed(),
|
|
|
|
title: 'Some post title',
|
|
|
|
description: 'Some post description',
|
|
|
|
fileIds: ['somefileid'],
|
|
|
|
files: [
|
|
|
|
file(isSensitive),
|
|
|
|
],
|
|
|
|
isSensitive,
|
|
|
|
likedCount: 0,
|
|
|
|
isLiked: false,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export function file(isSensitive = false) {
|
|
|
|
return {
|
|
|
|
id: 'somefileid',
|
|
|
|
createdAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
name: 'somefile.jpg',
|
|
|
|
type: 'image/jpeg',
|
|
|
|
md5: 'f6fc51c73dc21b1fb85ead2cdf57530a',
|
|
|
|
size: 77752,
|
|
|
|
isSensitive,
|
|
|
|
blurhash: 'eQAmoa^-MH8w9ZIvNLSvo^$*MwRPbwtSxutRozjEiwR.RjWBoeozog',
|
|
|
|
properties: {
|
|
|
|
width: 1024,
|
|
|
|
height: 270
|
2023-04-03 17:38:34 -07:00
|
|
|
},
|
2023-04-05 16:19:49 -07:00
|
|
|
url: 'https://github.com/misskey-dev/misskey/blob/master/packages/frontend/assets/fedi.jpg?raw=true',
|
|
|
|
thumbnailUrl: 'https://github.com/misskey-dev/misskey/blob/master/packages/frontend/assets/fedi.jpg?raw=true',
|
|
|
|
comment: null,
|
|
|
|
folderId: null,
|
|
|
|
folder: null,
|
|
|
|
userId: null,
|
|
|
|
user: null,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2024-08-09 17:34:49 -07:00
|
|
|
const script = `/// @ ${AISCRIPT_VERSION}
|
|
|
|
|
|
|
|
var name = ""
|
|
|
|
|
|
|
|
Ui:render([
|
|
|
|
Ui:C:textInput({
|
|
|
|
label: "Your name"
|
|
|
|
onInput: @(v) { name = v }
|
|
|
|
})
|
|
|
|
Ui:C:button({
|
|
|
|
text: "Hello"
|
|
|
|
onClick: @() {
|
|
|
|
Mk:dialog(null, \`Hello, {name}!\`)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
])
|
|
|
|
`;
|
|
|
|
|
|
|
|
export function flash(): entities.Flash {
|
|
|
|
return {
|
|
|
|
id: 'someflashid',
|
|
|
|
createdAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
updatedAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
userId: 'someuserid',
|
|
|
|
user: userLite(),
|
|
|
|
title: 'Some Play title',
|
|
|
|
summary: 'Some Play summary',
|
|
|
|
script,
|
|
|
|
visibility: 'public',
|
|
|
|
likedCount: 0,
|
|
|
|
isLiked: false,
|
|
|
|
};
|
|
|
|
}
|
2023-04-05 16:19:49 -07:00
|
|
|
|
2024-07-30 03:48:16 -07:00
|
|
|
export function folder(id = 'somefolderid', name = 'Some Folder', parentId: string | null = null): entities.DriveFolder {
|
|
|
|
return {
|
|
|
|
id,
|
|
|
|
createdAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
name,
|
|
|
|
parentId,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2024-06-14 18:32:51 -07:00
|
|
|
export function federationInstance(): entities.FederationInstance {
|
|
|
|
return {
|
|
|
|
id: 'someinstanceid',
|
|
|
|
firstRetrievedAt: '2021-01-01T00:00:00.000Z',
|
|
|
|
host: 'misskey-hub.net',
|
|
|
|
usersCount: 10,
|
|
|
|
notesCount: 20,
|
|
|
|
followingCount: 5,
|
|
|
|
followersCount: 15,
|
|
|
|
isNotResponding: false,
|
|
|
|
isSuspended: false,
|
|
|
|
suspensionState: 'none',
|
|
|
|
isBlocked: false,
|
|
|
|
softwareName: 'misskey',
|
|
|
|
softwareVersion: '2024.5.0',
|
|
|
|
openRegistrations: false,
|
|
|
|
name: 'Misskey Hub',
|
|
|
|
description: '',
|
|
|
|
maintainerName: '',
|
|
|
|
maintainerEmail: '',
|
|
|
|
isSilenced: false,
|
|
|
|
iconUrl: 'https://github.com/misskey-dev/misskey/blob/master/packages/frontend/assets/about-icon.png?raw=true',
|
|
|
|
faviconUrl: '',
|
|
|
|
themeColor: '',
|
|
|
|
infoUpdatedAt: '',
|
|
|
|
latestRequestReceivedAt: '',
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2024-07-30 03:48:16 -07:00
|
|
|
export function note(id = 'somenoteid'): entities.Note {
|
|
|
|
return {
|
|
|
|
id,
|
|
|
|
createdAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
deletedAt: null,
|
|
|
|
text: 'some note',
|
|
|
|
cw: null,
|
|
|
|
userId: 'someuserid',
|
|
|
|
user: userLite(),
|
|
|
|
visibility: 'public',
|
|
|
|
reactionAcceptance: 'nonSensitiveOnly',
|
|
|
|
reactionEmojis: {},
|
|
|
|
reactions: {},
|
|
|
|
myReaction: null,
|
|
|
|
reactionCount: 0,
|
|
|
|
renoteCount: 0,
|
|
|
|
repliesCount: 0,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export function userLite(id = 'someuserid', username = 'miskist', host: entities.UserDetailed['host'] = 'misskey-hub.net', name: entities.UserDetailed['name'] = 'Misskey User'): entities.UserLite {
|
2023-04-05 16:19:49 -07:00
|
|
|
return {
|
|
|
|
id,
|
|
|
|
username,
|
|
|
|
host,
|
|
|
|
name,
|
|
|
|
onlineStatus: 'unknown',
|
|
|
|
avatarUrl: 'https://github.com/misskey-dev/misskey/blob/master/packages/frontend/assets/about-icon.png?raw=true',
|
|
|
|
avatarBlurhash: 'eQFRshof5NWBRi},juayfPju53WB?0ofs;s*a{ofjuay^SoMEJR%ay',
|
2023-10-21 02:38:07 -07:00
|
|
|
avatarDecorations: [],
|
2024-05-01 00:39:16 -07:00
|
|
|
emojis: {},
|
2024-07-30 03:48:16 -07:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export function userDetailed(id = 'someuserid', username = 'miskist', host: entities.UserDetailed['host'] = 'misskey-hub.net', name: entities.UserDetailed['name'] = 'Misskey User'): entities.UserDetailed {
|
|
|
|
return {
|
|
|
|
...userLite(id, username, host, name),
|
2023-04-05 16:19:49 -07:00
|
|
|
bannerBlurhash: 'eQA^IW^-MH8w9tE8I=S^o{$*R4RikXtSxutRozjEnNR.RQadoyozog',
|
|
|
|
bannerUrl: 'https://github.com/misskey-dev/misskey/blob/master/packages/frontend/assets/fedi.jpg?raw=true',
|
|
|
|
birthday: '2014-06-20',
|
|
|
|
createdAt: '2016-12-28T22:49:51.000Z',
|
|
|
|
description: 'I am a cool user!',
|
2023-12-18 03:59:20 -08:00
|
|
|
followingVisibility: 'public',
|
|
|
|
followersVisibility: 'public',
|
2023-04-08 21:16:56 -07:00
|
|
|
roles: [],
|
2023-04-05 16:19:49 -07:00
|
|
|
fields: [
|
|
|
|
{
|
|
|
|
name: 'Website',
|
|
|
|
value: 'https://misskey-hub.net',
|
|
|
|
},
|
|
|
|
],
|
2023-09-20 19:58:51 -07:00
|
|
|
verifiedLinks: [],
|
2023-04-05 16:19:49 -07:00
|
|
|
followersCount: 1024,
|
|
|
|
followingCount: 16,
|
|
|
|
hasPendingFollowRequestFromYou: false,
|
|
|
|
hasPendingFollowRequestToYou: false,
|
|
|
|
isAdmin: false,
|
|
|
|
isBlocked: false,
|
|
|
|
isBlocking: false,
|
|
|
|
isBot: false,
|
|
|
|
isCat: false,
|
2023-10-03 19:35:58 -07:00
|
|
|
speakAsCat: false,
|
2023-04-05 16:19:49 -07:00
|
|
|
isFollowed: false,
|
|
|
|
isFollowing: false,
|
|
|
|
isLocked: false,
|
|
|
|
isModerator: false,
|
|
|
|
isMuted: false,
|
|
|
|
isSilenced: false,
|
|
|
|
isSuspended: false,
|
|
|
|
lang: 'en',
|
|
|
|
location: 'Fediverse',
|
|
|
|
notesCount: 65536,
|
|
|
|
pinnedNoteIds: [],
|
|
|
|
pinnedNotes: [],
|
|
|
|
pinnedPage: null,
|
|
|
|
pinnedPageId: null,
|
|
|
|
publicReactions: false,
|
|
|
|
securityKeys: false,
|
|
|
|
twoFactorEnabled: false,
|
2024-05-01 00:39:16 -07:00
|
|
|
usePasswordLessLogin: false,
|
2023-08-28 02:25:31 -07:00
|
|
|
twoFactorBackupCodesStock: 'none',
|
2023-04-05 16:19:49 -07:00
|
|
|
updatedAt: null,
|
2024-05-01 00:39:16 -07:00
|
|
|
lastFetchedAt: null,
|
2023-04-05 16:19:49 -07:00
|
|
|
uri: null,
|
|
|
|
url: null,
|
2024-05-01 00:39:16 -07:00
|
|
|
movedTo: null,
|
|
|
|
alsoKnownAs: null,
|
2023-09-21 02:48:15 -07:00
|
|
|
notify: 'none',
|
2024-07-30 03:48:16 -07:00
|
|
|
memo: null,
|
2023-04-05 16:19:49 -07:00
|
|
|
};
|
|
|
|
}
|
2023-07-14 17:57:58 -07:00
|
|
|
|
|
|
|
export function inviteCode(isUsed = false, hasExpiration = false, isExpired = false, isCreatedBySystem = false) {
|
|
|
|
const date = new Date();
|
|
|
|
const createdAt = new Date();
|
|
|
|
createdAt.setDate(date.getDate() - 1)
|
|
|
|
const expiresAt = new Date();
|
|
|
|
|
|
|
|
if (isExpired) {
|
|
|
|
expiresAt.setHours(date.getHours() - 1)
|
|
|
|
} else {
|
|
|
|
expiresAt.setHours(date.getHours() + 1)
|
|
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
|
|
id: "9gyqzizw77",
|
|
|
|
code: "SLF3JKF7UV2H9",
|
|
|
|
expiresAt: hasExpiration ? expiresAt.toISOString() : null,
|
|
|
|
createdAt: createdAt.toISOString(),
|
|
|
|
createdBy: isCreatedBySystem ? null : userDetailed('8i3rvznx32'),
|
|
|
|
usedBy: isUsed ? userDetailed('3i3r2znx1v') : null,
|
|
|
|
usedAt: isUsed ? date.toISOString() : null,
|
|
|
|
used: isUsed,
|
|
|
|
}
|
|
|
|
}
|