Merge branch 'fix/use-timestamptz' into 'develop'

fix: store timezone agnostic datetime in database


See merge request firefish/firefish!10872
This commit is contained in:
naskya 2024-05-19 10:37:24 +00:00
commit 3f22cdbf09
123 changed files with 710 additions and 309 deletions

9
Cargo.lock generated
View file

@ -1812,14 +1812,12 @@ dependencies = [
[[package]] [[package]]
name = "napi" name = "napi"
version = "2.16.6" version = "3.0.0-alpha.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/napi-rs/napi-rs.git?rev=ca2cd5c35a0c39ec4a94e93c6c5695b681046df2#ca2cd5c35a0c39ec4a94e93c6c5695b681046df2"
checksum = "dfc300228808a0e6aea5a58115c82889240bcf8dab16fc25ad675b33e454b368"
dependencies = [ dependencies = [
"bitflags 2.5.0", "bitflags 2.5.0",
"chrono", "chrono",
"ctor", "ctor",
"napi-derive",
"napi-sys", "napi-sys",
"once_cell", "once_cell",
"serde", "serde",
@ -1865,8 +1863,7 @@ dependencies = [
[[package]] [[package]]
name = "napi-sys" name = "napi-sys"
version = "2.4.0" version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/napi-rs/napi-rs.git?rev=ca2cd5c35a0c39ec4a94e93c6c5695b681046df2#ca2cd5c35a0c39ec4a94e93c6c5695b681046df2"
checksum = "427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3"
dependencies = [ dependencies = [
"libloading", "libloading",
] ]

View file

@ -5,7 +5,7 @@ resolver = "2"
[workspace.dependencies] [workspace.dependencies]
macro-rs = { path = "packages/macro-rs" } macro-rs = { path = "packages/macro-rs" }
napi = { version = "2.16.6", default-features = false } napi = { git = "https://github.com/napi-rs/napi-rs.git", rev = "ca2cd5c35a0c39ec4a94e93c6c5695b681046df2", default-features = false }
napi-derive = "2.16.5" napi-derive = "2.16.5"
napi-build = "2.1.3" napi-build = "2.1.3"

View file

@ -1,6 +1,7 @@
BEGIN; BEGIN;
DELETE FROM "migrations" WHERE name IN ( DELETE FROM "migrations" WHERE name IN (
'AddBackTimezone1715351290096',
'UserprofileJsonbToArray1714270605574', 'UserprofileJsonbToArray1714270605574',
'DropUnusedUserprofileColumns1714259023878', 'DropUnusedUserprofileColumns1714259023878',
'AntennaJsonbToArray1714192520471', 'AntennaJsonbToArray1714192520471',
@ -105,83 +106,6 @@ CREATE INDEX "IDX_8e3bbbeb3df04d1a8105da4c8f" ON "note" USING "pgroonga" ("cw" p
ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_535def119223ac05ad3fa9ef64b"; ALTER TABLE "messaging_message" DROP CONSTRAINT "FK_535def119223ac05ad3fa9ef64b";
ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_535def119223ac05ad3fa9ef64b" FOREIGN KEY ("fileId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION; ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_535def119223ac05ad3fa9ef64b" FOREIGN KEY ("fileId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION;
-- drop-time-zone
ALTER TABLE "abuse_user_report" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "access_token" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "access_token" ALTER "lastUsedAt" TYPE timestamp with time zone;
ALTER TABLE "ad" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "ad" ALTER "expiresAt" TYPE timestamp with time zone;
ALTER TABLE "announcement" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "announcement" ALTER "updatedAt" TYPE timestamp with time zone;
ALTER TABLE "announcement_read" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "antenna" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "app" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "attestation_challenge" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "auth_session" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "blocking" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "channel" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "channel" ALTER "lastNotedAt" TYPE timestamp with time zone;
ALTER TABLE "channel_following" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "channel_note_pining" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "clip" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "drive_file" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "drive_folder" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "emoji" ALTER "updatedAt" TYPE timestamp with time zone;
ALTER TABLE "following" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "follow_request" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "gallery_like" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "gallery_post" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "gallery_post" ALTER "updatedAt" TYPE timestamp with time zone;
ALTER TABLE "instance" ALTER "caughtAt" TYPE timestamp with time zone;
ALTER TABLE "instance" ALTER "infoUpdatedAt" TYPE timestamp with time zone;
ALTER TABLE "instance" ALTER "lastCommunicatedAt" TYPE timestamp with time zone;
ALTER TABLE "instance" ALTER "latestRequestReceivedAt" TYPE timestamp with time zone;
ALTER TABLE "instance" ALTER "latestRequestSentAt" TYPE timestamp with time zone;
ALTER TABLE "messaging_message" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "moderation_log" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "muting" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "muting" ALTER "expiresAt" TYPE timestamp with time zone;
ALTER TABLE "note" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "note" ALTER "updatedAt" TYPE timestamp with time zone;
ALTER TABLE "note_edit" ALTER "updatedAt" TYPE timestamp with time zone;
ALTER TABLE "note_favorite" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "note_reaction" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "note_thread_muting" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "note_watching" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "notification" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "page" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "page" ALTER "updatedAt" TYPE timestamp with time zone;
ALTER TABLE "page_like" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "password_reset_request" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "poll" ALTER "expiresAt" TYPE timestamp with time zone;
ALTER TABLE "poll_vote" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "promo_note" ALTER "expiresAt" TYPE timestamp with time zone;
ALTER TABLE "promo_read" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "registration_ticket" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "registry_item" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "registry_item" ALTER "updatedAt" TYPE timestamp with time zone;
ALTER TABLE "renote_muting" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "reply_muting" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "signin" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "sw_subscription" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "used_username" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user" ALTER "lastActiveDate" TYPE timestamp with time zone;
ALTER TABLE "user" ALTER "lastFetchedAt" TYPE timestamp with time zone;
ALTER TABLE "user" ALTER "updatedAt" TYPE timestamp with time zone;
ALTER TABLE "user_group" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user_group_invitation" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user_group_invite" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user_group_joining" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user_ip" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user_list" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user_list_joining" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user_note_pining" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user_pending" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "user_security_key" ALTER "lastUsed" TYPE timestamp with time zone;
ALTER TABLE "webhook" ALTER "createdAt" TYPE timestamp with time zone;
ALTER TABLE "webhook" ALTER "latestSentAt" TYPE timestamp with time zone;
-- expand-note-edit -- expand-note-edit
ALTER TABLE "note_edit" DROP COLUMN "emojis"; ALTER TABLE "note_edit" DROP COLUMN "emojis";

View file

@ -2,6 +2,26 @@
You can skip intermediate versions when upgrading from an old version, but please read the notices and follow the instructions for each intermediate version before [upgrading](./upgrade.md). You can skip intermediate versions when upgrading from an old version, but please read the notices and follow the instructions for each intermediate version before [upgrading](./upgrade.md).
## Unreleased
We regret to inform you that the upgrade may take a long time to fix a regression we have introduced. The time required to upgrade should be the same as [v20240413](<https://firefish.dev/firefish/firefish/-/blob/main/docs/notice-for-admins.md#v20240413>). This is not a security fix, so please upgrade your server when you have enough time. We are sorry for the inconvenience.
<details>
There are two data types in PostgreSQL to store time: `timestamptz` (`timestamp with time zone`) and `timestamp` (`timestamp without time zone`) [[ref]](<https://www.postgresql.org/docs/current/datatype-datetime.html>).
In Node.js, we manipulate the database using [TypeORM](<https://typeorm.io/>). TypeORM handles time data as a JavaScript `Date` object. Since `Date` doesn't have timezone information [[ref]](<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#date_components_and_time_zones>), we don't use the timezone information in the Node.js backend, and both `timestamptz` and `timestamp` behave in the same way. (Technically, the type names are a little confusing, and `timestamptz` (`timestamp with time zone`) doesn't store the timezone data. Please read PostgreSQL documentation for more information.)
In Rust, we manipulate the database using [SeaORM](<https://www.sea-ql.org/SeaORM/>), which does distinguish between `timestamptz` and `timestamp`. `timestamptz` is converted to [`DateTime<FixedOffset>`](<https://docs.rs/chrono/latest/chrono/struct.DateTime.html>) type, whereas `timestamp` is converted to [`NaiveDateTime`](<https://docs.rs/chrono/latest/chrono/struct.NaiveDateTime.html>).
We are using [napi-rs](<https://napi.rs/>) to implement some of the backend features in Rust, which did not support `DateTime<FixedOffset>`. We used to store time data as `timestamptz`, but we converted them to `timestamp` for this reason. As we don't use timezone data, we thought this was okay, and indeed it worked fine.
However, we did not consider the case of migrating a server (hardware) to another timezone. With `timestamp`, there may be inconsistencies in the time data if you migrate your server to another system with a different timezone setting (Docker/Podman users should not be affected by this, as UTC is always used in containers unless you explicitly set one).
Therefore, we have contributed to napi-rs to add support for `DateTime<FixedOffset>` (<https://github.com/napi-rs/napi-rs/pull/2074>) and decided to migrate back from `timestamp` to `timestamptz` to properly address this problem. The migration process takes time roughly proportional to the number of stored posts.
</details>
## v20240516 ## v20240516
### For all users ### For all users

View file

@ -312,7 +312,7 @@ export function memoryUsage(): Memory
export function storageUsage(): Storage | null export function storageUsage(): Storage | null
export interface AbuseUserReport { export interface AbuseUserReport {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
targetUserId: string targetUserId: string
reporterId: string reporterId: string
assigneeId: string | null assigneeId: string | null
@ -324,12 +324,12 @@ export interface AbuseUserReport {
} }
export interface AccessToken { export interface AccessToken {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
token: string token: string
hash: string hash: string
userId: string userId: string
appId: string | null appId: string | null
lastUsedAt: Date | null lastUsedAt: DateTimeWithTimeZone | null
session: string | null session: string | null
name: string | null name: string | null
description: string | null description: string | null
@ -339,8 +339,8 @@ export interface AccessToken {
} }
export interface Ad { export interface Ad {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
expiresAt: Date expiresAt: DateTimeWithTimeZone
place: string place: string
priority: string priority: string
url: string url: string
@ -350,11 +350,11 @@ export interface Ad {
} }
export interface Announcement { export interface Announcement {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
text: string text: string
title: string title: string
imageUrl: string | null imageUrl: string | null
updatedAt: Date | null updatedAt: DateTimeWithTimeZone | null
showPopup: boolean showPopup: boolean
isGoodNews: boolean isGoodNews: boolean
} }
@ -362,11 +362,11 @@ export interface AnnouncementRead {
id: string id: string
userId: string userId: string
announcementId: string announcementId: string
createdAt: Date createdAt: DateTimeWithTimeZone
} }
export interface Antenna { export interface Antenna {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
name: string name: string
src: AntennaSrcEnum src: AntennaSrcEnum
@ -384,7 +384,7 @@ export interface Antenna {
} }
export interface App { export interface App {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string | null userId: string | null
secret: string secret: string
name: string name: string
@ -396,26 +396,26 @@ export interface AttestationChallenge {
id: string id: string
userId: string userId: string
challenge: string challenge: string
createdAt: Date createdAt: DateTimeWithTimeZone
registrationChallenge: boolean registrationChallenge: boolean
} }
export interface AuthSession { export interface AuthSession {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
token: string token: string
userId: string | null userId: string | null
appId: string appId: string
} }
export interface Blocking { export interface Blocking {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
blockeeId: string blockeeId: string
blockerId: string blockerId: string
} }
export interface Channel { export interface Channel {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
lastNotedAt: Date | null lastNotedAt: DateTimeWithTimeZone | null
userId: string | null userId: string | null
name: string name: string
description: string | null description: string | null
@ -425,19 +425,19 @@ export interface Channel {
} }
export interface ChannelFollowing { export interface ChannelFollowing {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
followeeId: string followeeId: string
followerId: string followerId: string
} }
export interface ChannelNotePining { export interface ChannelNotePining {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
channelId: string channelId: string
noteId: string noteId: string
} }
export interface Clip { export interface Clip {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
name: string name: string
isPublic: boolean isPublic: boolean
@ -450,7 +450,7 @@ export interface ClipNote {
} }
export interface DriveFile { export interface DriveFile {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string | null userId: string | null
userHost: string | null userHost: string | null
md5: string md5: string
@ -479,14 +479,14 @@ export interface DriveFile {
} }
export interface DriveFolder { export interface DriveFolder {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
name: string name: string
userId: string | null userId: string | null
parentId: string | null parentId: string | null
} }
export interface Emoji { export interface Emoji {
id: string id: string
updatedAt: Date | null updatedAt: DateTimeWithTimeZone | null
name: string name: string
host: string | null host: string | null
originalUrl: string originalUrl: string
@ -501,7 +501,7 @@ export interface Emoji {
} }
export interface FollowRequest { export interface FollowRequest {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
followeeId: string followeeId: string
followerId: string followerId: string
requestId: string | null requestId: string | null
@ -514,7 +514,7 @@ export interface FollowRequest {
} }
export interface Following { export interface Following {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
followeeId: string followeeId: string
followerId: string followerId: string
followerHost: string | null followerHost: string | null
@ -526,14 +526,14 @@ export interface Following {
} }
export interface GalleryLike { export interface GalleryLike {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
postId: string postId: string
} }
export interface GalleryPost { export interface GalleryPost {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
updatedAt: Date updatedAt: DateTimeWithTimeZone
title: string title: string
description: string | null description: string | null
userId: string userId: string
@ -560,16 +560,16 @@ export interface Hashtag {
} }
export interface Instance { export interface Instance {
id: string id: string
caughtAt: Date caughtAt: DateTimeWithTimeZone
host: string host: string
usersCount: number usersCount: number
notesCount: number notesCount: number
followingCount: number followingCount: number
followersCount: number followersCount: number
latestRequestSentAt: Date | null latestRequestSentAt: DateTimeWithTimeZone | null
latestStatus: number | null latestStatus: number | null
latestRequestReceivedAt: Date | null latestRequestReceivedAt: DateTimeWithTimeZone | null
lastCommunicatedAt: Date lastCommunicatedAt: DateTimeWithTimeZone
isNotResponding: boolean isNotResponding: boolean
softwareName: string | null softwareName: string | null
softwareVersion: string | null softwareVersion: string | null
@ -578,7 +578,7 @@ export interface Instance {
description: string | null description: string | null
maintainerName: string | null maintainerName: string | null
maintainerEmail: string | null maintainerEmail: string | null
infoUpdatedAt: Date | null infoUpdatedAt: DateTimeWithTimeZone | null
isSuspended: boolean isSuspended: boolean
iconUrl: string | null iconUrl: string | null
themeColor: string | null themeColor: string | null
@ -586,7 +586,7 @@ export interface Instance {
} }
export interface MessagingMessage { export interface MessagingMessage {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
recipientId: string | null recipientId: string | null
text: string | null text: string | null
@ -690,7 +690,7 @@ export interface Migrations {
} }
export interface ModerationLog { export interface ModerationLog {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
type: string type: string
info: Json info: Json
@ -703,14 +703,14 @@ export interface MutedNote {
} }
export interface Muting { export interface Muting {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
muteeId: string muteeId: string
muterId: string muterId: string
expiresAt: Date | null expiresAt: DateTimeWithTimeZone | null
} }
export interface Note { export interface Note {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
replyId: string | null replyId: string | null
renoteId: string | null renoteId: string | null
text: string | null text: string | null
@ -740,7 +740,7 @@ export interface Note {
url: string | null url: string | null
channelId: string | null channelId: string | null
threadId: string | null threadId: string | null
updatedAt: Date | null updatedAt: DateTimeWithTimeZone | null
lang: string | null lang: string | null
} }
export interface NoteEdit { export interface NoteEdit {
@ -749,12 +749,12 @@ export interface NoteEdit {
text: string | null text: string | null
cw: string | null cw: string | null
fileIds: Array<string> fileIds: Array<string>
updatedAt: Date updatedAt: DateTimeWithTimeZone
emojis: Array<string> emojis: Array<string>
} }
export interface NoteFavorite { export interface NoteFavorite {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
noteId: string noteId: string
} }
@ -765,14 +765,14 @@ export interface NoteFile {
} }
export interface NoteReaction { export interface NoteReaction {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
noteId: string noteId: string
reaction: string reaction: string
} }
export interface NoteThreadMuting { export interface NoteThreadMuting {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
threadId: string threadId: string
} }
@ -787,14 +787,14 @@ export interface NoteUnread {
} }
export interface NoteWatching { export interface NoteWatching {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
noteId: string noteId: string
noteUserId: string noteUserId: string
} }
export interface Notification { export interface Notification {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
notifieeId: string notifieeId: string
notifierId: string | null notifierId: string | null
isRead: boolean isRead: boolean
@ -811,8 +811,8 @@ export interface Notification {
} }
export interface Page { export interface Page {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
updatedAt: Date updatedAt: DateTimeWithTimeZone
title: string title: string
name: string name: string
summary: string | null summary: string | null
@ -831,19 +831,19 @@ export interface Page {
} }
export interface PageLike { export interface PageLike {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
pageId: string pageId: string
} }
export interface PasswordResetRequest { export interface PasswordResetRequest {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
token: string token: string
userId: string userId: string
} }
export interface Poll { export interface Poll {
noteId: string noteId: string
expiresAt: Date | null expiresAt: DateTimeWithTimeZone | null
multiple: boolean multiple: boolean
choices: Array<string> choices: Array<string>
votes: Array<number> votes: Array<number>
@ -853,31 +853,31 @@ export interface Poll {
} }
export interface PollVote { export interface PollVote {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
noteId: string noteId: string
choice: number choice: number
} }
export interface PromoNote { export interface PromoNote {
noteId: string noteId: string
expiresAt: Date expiresAt: DateTimeWithTimeZone
userId: string userId: string
} }
export interface PromoRead { export interface PromoRead {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
noteId: string noteId: string
} }
export interface RegistrationTicket { export interface RegistrationTicket {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
code: string code: string
} }
export interface RegistryItem { export interface RegistryItem {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
updatedAt: Date updatedAt: DateTimeWithTimeZone
userId: string userId: string
key: string key: string
scope: Array<string> scope: Array<string>
@ -891,13 +891,13 @@ export interface Relay {
} }
export interface RenoteMuting { export interface RenoteMuting {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
muteeId: string muteeId: string
muterId: string muterId: string
} }
export interface ReplyMuting { export interface ReplyMuting {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
muteeId: string muteeId: string
muterId: string muterId: string
} }
@ -983,7 +983,7 @@ export enum UserProfileMutingnotificationtypesEnum {
} }
export interface Signin { export interface Signin {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
ip: string ip: string
headers: Json headers: Json
@ -991,7 +991,7 @@ export interface Signin {
} }
export interface SwSubscription { export interface SwSubscription {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
endpoint: string endpoint: string
auth: string auth: string
@ -1000,13 +1000,13 @@ export interface SwSubscription {
} }
export interface UsedUsername { export interface UsedUsername {
username: string username: string
createdAt: Date createdAt: DateTimeWithTimeZone
} }
export interface User { export interface User {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
updatedAt: Date | null updatedAt: DateTimeWithTimeZone | null
lastFetchedAt: Date | null lastFetchedAt: DateTimeWithTimeZone | null
username: string username: string
usernameLower: string usernameLower: string
name: string | null name: string | null
@ -1032,7 +1032,7 @@ export interface User {
token: string | null token: string | null
isExplorable: boolean isExplorable: boolean
followersUri: string | null followersUri: string | null
lastActiveDate: Date | null lastActiveDate: DateTimeWithTimeZone | null
hideOnlineStatus: boolean hideOnlineStatus: boolean
isDeleted: boolean isDeleted: boolean
driveCapacityOverrideMb: number | null driveCapacityOverrideMb: number | null
@ -1044,32 +1044,32 @@ export interface User {
} }
export interface UserGroup { export interface UserGroup {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
name: string name: string
userId: string userId: string
isPrivate: boolean isPrivate: boolean
} }
export interface UserGroupInvitation { export interface UserGroupInvitation {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
userGroupId: string userGroupId: string
} }
export interface UserGroupInvite { export interface UserGroupInvite {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
userGroupId: string userGroupId: string
} }
export interface UserGroupJoining { export interface UserGroupJoining {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
userGroupId: string userGroupId: string
} }
export interface UserIp { export interface UserIp {
id: number id: number
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
ip: string ip: string
} }
@ -1080,25 +1080,25 @@ export interface UserKeypair {
} }
export interface UserList { export interface UserList {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
name: string name: string
} }
export interface UserListJoining { export interface UserListJoining {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
userListId: string userListId: string
} }
export interface UserNotePining { export interface UserNotePining {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
noteId: string noteId: string
} }
export interface UserPending { export interface UserPending {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
code: string code: string
username: string username: string
email: string email: string
@ -1150,19 +1150,19 @@ export interface UserSecurityKey {
id: string id: string
userId: string userId: string
publicKey: string publicKey: string
lastUsed: Date lastUsed: DateTimeWithTimeZone
name: string name: string
} }
export interface Webhook { export interface Webhook {
id: string id: string
createdAt: Date createdAt: DateTimeWithTimeZone
userId: string userId: string
name: string name: string
on: Array<string> on: Array<string>
url: string url: string
secret: string secret: string
active: boolean active: boolean
latestSentAt: Date | null latestSentAt: DateTimeWithTimeZone | null
latestStatus: number | null latestStatus: number | null
} }
export function updateAntennasOnNewNote(note: Note, noteAuthor: Acct, noteMutedUsers: Array<string>): Promise<void> export function updateAntennasOnNewNote(note: Note, noteAuthor: Acct, noteMutedUsers: Array<string>): Promise<void>

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "targetUserId")] #[sea_orm(column_name = "targetUserId")]
pub target_user_id: String, pub target_user_id: String,
#[sea_orm(column_name = "reporterId")] #[sea_orm(column_name = "reporterId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
pub token: String, pub token: String,
pub hash: String, pub hash: String,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
@ -21,7 +21,7 @@ pub struct Model {
#[sea_orm(column_name = "appId")] #[sea_orm(column_name = "appId")]
pub app_id: Option<String>, pub app_id: Option<String>,
#[sea_orm(column_name = "lastUsedAt")] #[sea_orm(column_name = "lastUsedAt")]
pub last_used_at: Option<DateTime>, pub last_used_at: Option<DateTimeWithTimeZone>,
pub session: Option<String>, pub session: Option<String>,
pub name: Option<String>, pub name: Option<String>,
pub description: Option<String>, pub description: Option<String>,

View file

@ -13,9 +13,9 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "expiresAt")] #[sea_orm(column_name = "expiresAt")]
pub expires_at: DateTime, pub expires_at: DateTimeWithTimeZone,
pub place: String, pub place: String,
pub priority: String, pub priority: String,
pub url: String, pub url: String,

View file

@ -13,13 +13,13 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
pub text: String, pub text: String,
pub title: String, pub title: String,
#[sea_orm(column_name = "imageUrl")] #[sea_orm(column_name = "imageUrl")]
pub image_url: Option<String>, pub image_url: Option<String>,
#[sea_orm(column_name = "updatedAt")] #[sea_orm(column_name = "updatedAt")]
pub updated_at: Option<DateTime>, pub updated_at: Option<DateTimeWithTimeZone>,
#[sea_orm(column_name = "showPopup")] #[sea_orm(column_name = "showPopup")]
pub show_popup: bool, pub show_popup: bool,
#[sea_orm(column_name = "isGoodNews")] #[sea_orm(column_name = "isGoodNews")]

View file

@ -17,7 +17,7 @@ pub struct Model {
#[sea_orm(column_name = "announcementId")] #[sea_orm(column_name = "announcementId")]
pub announcement_id: String, pub announcement_id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
} }
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]

View file

@ -14,7 +14,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
pub name: String, pub name: String,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: Option<String>, pub user_id: Option<String>,
pub secret: String, pub secret: String,

View file

@ -16,7 +16,7 @@ pub struct Model {
pub user_id: String, pub user_id: String,
pub challenge: String, pub challenge: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "registrationChallenge")] #[sea_orm(column_name = "registrationChallenge")]
pub registration_challenge: bool, pub registration_challenge: bool,
} }

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
pub token: String, pub token: String,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: Option<String>, pub user_id: Option<String>,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "blockeeId")] #[sea_orm(column_name = "blockeeId")]
pub blockee_id: String, pub blockee_id: String,
#[sea_orm(column_name = "blockerId")] #[sea_orm(column_name = "blockerId")]

View file

@ -13,9 +13,9 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "lastNotedAt")] #[sea_orm(column_name = "lastNotedAt")]
pub last_noted_at: Option<DateTime>, pub last_noted_at: Option<DateTimeWithTimeZone>,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: Option<String>, pub user_id: Option<String>,
pub name: String, pub name: String,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "followeeId")] #[sea_orm(column_name = "followeeId")]
pub followee_id: String, pub followee_id: String,
#[sea_orm(column_name = "followerId")] #[sea_orm(column_name = "followerId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "channelId")] #[sea_orm(column_name = "channelId")]
pub channel_id: String, pub channel_id: String,
#[sea_orm(column_name = "noteId")] #[sea_orm(column_name = "noteId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
pub name: String, pub name: String,

View file

@ -14,7 +14,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: Option<String>, pub user_id: Option<String>,
#[sea_orm(column_name = "userHost")] #[sea_orm(column_name = "userHost")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
pub name: String, pub name: String,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: Option<String>, pub user_id: Option<String>,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "updatedAt")] #[sea_orm(column_name = "updatedAt")]
pub updated_at: Option<DateTime>, pub updated_at: Option<DateTimeWithTimeZone>,
pub name: String, pub name: String,
pub host: Option<String>, pub host: Option<String>,
#[sea_orm(column_name = "originalUrl")] #[sea_orm(column_name = "originalUrl")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "followeeId")] #[sea_orm(column_name = "followeeId")]
pub followee_id: String, pub followee_id: String,
#[sea_orm(column_name = "followerId")] #[sea_orm(column_name = "followerId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "followeeId")] #[sea_orm(column_name = "followeeId")]
pub followee_id: String, pub followee_id: String,
#[sea_orm(column_name = "followerId")] #[sea_orm(column_name = "followerId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "postId")] #[sea_orm(column_name = "postId")]

View file

@ -13,9 +13,9 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "updatedAt")] #[sea_orm(column_name = "updatedAt")]
pub updated_at: DateTime, pub updated_at: DateTimeWithTimeZone,
pub title: String, pub title: String,
pub description: Option<String>, pub description: Option<String>,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "caughtAt")] #[sea_orm(column_name = "caughtAt")]
pub caught_at: DateTime, pub caught_at: DateTimeWithTimeZone,
pub host: String, pub host: String,
#[sea_orm(column_name = "usersCount")] #[sea_orm(column_name = "usersCount")]
pub users_count: i32, pub users_count: i32,
@ -24,13 +24,13 @@ pub struct Model {
#[sea_orm(column_name = "followersCount")] #[sea_orm(column_name = "followersCount")]
pub followers_count: i32, pub followers_count: i32,
#[sea_orm(column_name = "latestRequestSentAt")] #[sea_orm(column_name = "latestRequestSentAt")]
pub latest_request_sent_at: Option<DateTime>, pub latest_request_sent_at: Option<DateTimeWithTimeZone>,
#[sea_orm(column_name = "latestStatus")] #[sea_orm(column_name = "latestStatus")]
pub latest_status: Option<i32>, pub latest_status: Option<i32>,
#[sea_orm(column_name = "latestRequestReceivedAt")] #[sea_orm(column_name = "latestRequestReceivedAt")]
pub latest_request_received_at: Option<DateTime>, pub latest_request_received_at: Option<DateTimeWithTimeZone>,
#[sea_orm(column_name = "lastCommunicatedAt")] #[sea_orm(column_name = "lastCommunicatedAt")]
pub last_communicated_at: DateTime, pub last_communicated_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "isNotResponding")] #[sea_orm(column_name = "isNotResponding")]
pub is_not_responding: bool, pub is_not_responding: bool,
#[sea_orm(column_name = "softwareName")] #[sea_orm(column_name = "softwareName")]
@ -46,7 +46,7 @@ pub struct Model {
#[sea_orm(column_name = "maintainerEmail")] #[sea_orm(column_name = "maintainerEmail")]
pub maintainer_email: Option<String>, pub maintainer_email: Option<String>,
#[sea_orm(column_name = "infoUpdatedAt")] #[sea_orm(column_name = "infoUpdatedAt")]
pub info_updated_at: Option<DateTime>, pub info_updated_at: Option<DateTimeWithTimeZone>,
#[sea_orm(column_name = "isSuspended")] #[sea_orm(column_name = "isSuspended")]
pub is_suspended: bool, pub is_suspended: bool,
#[sea_orm(column_name = "iconUrl")] #[sea_orm(column_name = "iconUrl")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "recipientId")] #[sea_orm(column_name = "recipientId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
pub r#type: String, pub r#type: String,

View file

@ -13,13 +13,13 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "muteeId")] #[sea_orm(column_name = "muteeId")]
pub mutee_id: String, pub mutee_id: String,
#[sea_orm(column_name = "muterId")] #[sea_orm(column_name = "muterId")]
pub muter_id: String, pub muter_id: String,
#[sea_orm(column_name = "expiresAt")] #[sea_orm(column_name = "expiresAt")]
pub expires_at: Option<DateTime>, pub expires_at: Option<DateTimeWithTimeZone>,
} }
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]

View file

@ -14,7 +14,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "replyId")] #[sea_orm(column_name = "replyId")]
pub reply_id: Option<String>, pub reply_id: Option<String>,
#[sea_orm(column_name = "renoteId")] #[sea_orm(column_name = "renoteId")]
@ -66,7 +66,7 @@ pub struct Model {
#[sea_orm(column_name = "threadId")] #[sea_orm(column_name = "threadId")]
pub thread_id: Option<String>, pub thread_id: Option<String>,
#[sea_orm(column_name = "updatedAt")] #[sea_orm(column_name = "updatedAt")]
pub updated_at: Option<DateTime>, pub updated_at: Option<DateTimeWithTimeZone>,
pub lang: Option<String>, pub lang: Option<String>,
} }

View file

@ -20,7 +20,7 @@ pub struct Model {
#[sea_orm(column_name = "fileIds")] #[sea_orm(column_name = "fileIds")]
pub file_ids: Vec<String>, pub file_ids: Vec<String>,
#[sea_orm(column_name = "updatedAt")] #[sea_orm(column_name = "updatedAt")]
pub updated_at: DateTime, pub updated_at: DateTimeWithTimeZone,
pub emojis: Vec<String>, pub emojis: Vec<String>,
} }

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "noteId")] #[sea_orm(column_name = "noteId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "noteId")] #[sea_orm(column_name = "noteId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "threadId")] #[sea_orm(column_name = "threadId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "noteId")] #[sea_orm(column_name = "noteId")]

View file

@ -14,7 +14,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "notifieeId")] #[sea_orm(column_name = "notifieeId")]
pub notifiee_id: String, pub notifiee_id: String,
#[sea_orm(column_name = "notifierId")] #[sea_orm(column_name = "notifierId")]

View file

@ -14,9 +14,9 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "updatedAt")] #[sea_orm(column_name = "updatedAt")]
pub updated_at: DateTime, pub updated_at: DateTimeWithTimeZone,
pub title: String, pub title: String,
pub name: String, pub name: String,
pub summary: Option<String>, pub summary: Option<String>,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "pageId")] #[sea_orm(column_name = "pageId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
pub token: String, pub token: String,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,

View file

@ -14,7 +14,7 @@ pub struct Model {
#[sea_orm(column_name = "noteId", primary_key, auto_increment = false, unique)] #[sea_orm(column_name = "noteId", primary_key, auto_increment = false, unique)]
pub note_id: String, pub note_id: String,
#[sea_orm(column_name = "expiresAt")] #[sea_orm(column_name = "expiresAt")]
pub expires_at: Option<DateTime>, pub expires_at: Option<DateTimeWithTimeZone>,
pub multiple: bool, pub multiple: bool,
pub choices: Vec<String>, pub choices: Vec<String>,
pub votes: Vec<i32>, pub votes: Vec<i32>,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "noteId")] #[sea_orm(column_name = "noteId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(column_name = "noteId", primary_key, auto_increment = false, unique)] #[sea_orm(column_name = "noteId", primary_key, auto_increment = false, unique)]
pub note_id: String, pub note_id: String,
#[sea_orm(column_name = "expiresAt")] #[sea_orm(column_name = "expiresAt")]
pub expires_at: DateTime, pub expires_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
} }

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "noteId")] #[sea_orm(column_name = "noteId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
pub code: String, pub code: String,
} }

View file

@ -13,9 +13,9 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "updatedAt")] #[sea_orm(column_name = "updatedAt")]
pub updated_at: DateTime, pub updated_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
pub key: String, pub key: String,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "muteeId")] #[sea_orm(column_name = "muteeId")]
pub mutee_id: String, pub mutee_id: String,
#[sea_orm(column_name = "muterId")] #[sea_orm(column_name = "muterId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "muteeId")] #[sea_orm(column_name = "muteeId")]
pub mutee_id: String, pub mutee_id: String,
#[sea_orm(column_name = "muterId")] #[sea_orm(column_name = "muterId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
pub ip: String, pub ip: String,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
pub endpoint: String, pub endpoint: String,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub username: String, pub username: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
} }
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]

View file

@ -14,11 +14,11 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "updatedAt")] #[sea_orm(column_name = "updatedAt")]
pub updated_at: Option<DateTime>, pub updated_at: Option<DateTimeWithTimeZone>,
#[sea_orm(column_name = "lastFetchedAt")] #[sea_orm(column_name = "lastFetchedAt")]
pub last_fetched_at: Option<DateTime>, pub last_fetched_at: Option<DateTimeWithTimeZone>,
pub username: String, pub username: String,
#[sea_orm(column_name = "usernameLower")] #[sea_orm(column_name = "usernameLower")]
pub username_lower: String, pub username_lower: String,
@ -62,7 +62,7 @@ pub struct Model {
#[sea_orm(column_name = "followersUri")] #[sea_orm(column_name = "followersUri")]
pub followers_uri: Option<String>, pub followers_uri: Option<String>,
#[sea_orm(column_name = "lastActiveDate")] #[sea_orm(column_name = "lastActiveDate")]
pub last_active_date: Option<DateTime>, pub last_active_date: Option<DateTimeWithTimeZone>,
#[sea_orm(column_name = "hideOnlineStatus")] #[sea_orm(column_name = "hideOnlineStatus")]
pub hide_online_status: bool, pub hide_online_status: bool,
#[sea_orm(column_name = "isDeleted")] #[sea_orm(column_name = "isDeleted")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
pub name: String, pub name: String,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "userGroupId")] #[sea_orm(column_name = "userGroupId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "userGroupId")] #[sea_orm(column_name = "userGroupId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "userGroupId")] #[sea_orm(column_name = "userGroupId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key)] #[sea_orm(primary_key)]
pub id: i32, pub id: i32,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
pub ip: String, pub ip: String,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
pub name: String, pub name: String,

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "userListId")] #[sea_orm(column_name = "userListId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
#[sea_orm(column_name = "noteId")] #[sea_orm(column_name = "noteId")]

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
pub code: String, pub code: String,
pub username: String, pub username: String,
pub email: String, pub email: String,

View file

@ -17,7 +17,7 @@ pub struct Model {
#[sea_orm(column_name = "publicKey")] #[sea_orm(column_name = "publicKey")]
pub public_key: String, pub public_key: String,
#[sea_orm(column_name = "lastUsed")] #[sea_orm(column_name = "lastUsed")]
pub last_used: DateTime, pub last_used: DateTimeWithTimeZone,
pub name: String, pub name: String,
} }

View file

@ -13,7 +13,7 @@ pub struct Model {
#[sea_orm(primary_key, auto_increment = false)] #[sea_orm(primary_key, auto_increment = false)]
pub id: String, pub id: String,
#[sea_orm(column_name = "createdAt")] #[sea_orm(column_name = "createdAt")]
pub created_at: DateTime, pub created_at: DateTimeWithTimeZone,
#[sea_orm(column_name = "userId")] #[sea_orm(column_name = "userId")]
pub user_id: String, pub user_id: String,
pub name: String, pub name: String,
@ -22,7 +22,7 @@ pub struct Model {
pub secret: String, pub secret: String,
pub active: bool, pub active: bool,
#[sea_orm(column_name = "latestSentAt")] #[sea_orm(column_name = "latestSentAt")]
pub latest_sent_at: Option<DateTime>, pub latest_sent_at: Option<DateTimeWithTimeZone>,
#[sea_orm(column_name = "latestStatus")] #[sea_orm(column_name = "latestStatus")]
pub latest_status: Option<i32>, pub latest_status: Option<i32>,
} }

View file

@ -12,7 +12,7 @@ pub async fn watch_note(
if watcher_id != note_author_id { if watcher_id != note_author_id {
note_watching::Entity::insert(note_watching::ActiveModel { note_watching::Entity::insert(note_watching::ActiveModel {
id: ActiveValue::set(gen_id()), id: ActiveValue::set(gen_id()),
created_at: ActiveValue::set(chrono::Local::now().naive_local()), created_at: ActiveValue::set(chrono::Utc::now().into()),
user_id: ActiveValue::Set(watcher_id.to_string()), user_id: ActiveValue::Set(watcher_id.to_string()),
note_user_id: ActiveValue::Set(note_author_id.to_string()), note_user_id: ActiveValue::Set(note_author_id.to_string()),
note_id: ActiveValue::Set(note_id.to_string()), note_id: ActiveValue::Set(note_id.to_string()),

View file

@ -0,0 +1 @@
type DateTimeWithTimeZone = Date;

View file

@ -0,0 +1,459 @@
import type { MigrationInterface, QueryRunner } from "typeorm";
export class AddBackTimezone1715351290096 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "abuse_user_report" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "access_token" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "access_token" ALTER "lastUsedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "ad" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "ad" ALTER "expiresAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "announcement" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "announcement" ALTER "updatedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "announcement_read" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "antenna" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "app" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "attestation_challenge" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "auth_session" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "blocking" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "channel" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "channel" ALTER "lastNotedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "channel_following" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "channel_note_pining" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "clip" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "drive_file" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "drive_folder" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "emoji" ALTER "updatedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "following" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "follow_request" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "gallery_like" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "gallery_post" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "gallery_post" ALTER "updatedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "instance" ALTER "caughtAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "instance" ALTER "infoUpdatedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "instance" ALTER "lastCommunicatedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "instance" ALTER "latestRequestReceivedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "instance" ALTER "latestRequestSentAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "messaging_message" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "moderation_log" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "muting" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "muting" ALTER "expiresAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "note" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "note" ALTER "updatedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "note_edit" ALTER "updatedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "note_favorite" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "note_reaction" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "note_thread_muting" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "note_watching" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "notification" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "page" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "page" ALTER "updatedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "page_like" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "password_reset_request" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "poll" ALTER "expiresAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "poll_vote" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "promo_note" ALTER "expiresAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "promo_read" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "registration_ticket" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "registry_item" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "registry_item" ALTER "updatedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "renote_muting" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "reply_muting" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "signin" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "sw_subscription" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "used_username" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user" ALTER "lastActiveDate" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user" ALTER "lastFetchedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user" ALTER "updatedAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_group" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_group_invitation" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_group_invite" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_group_joining" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_ip" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_list" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_list_joining" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_note_pining" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_pending" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_security_key" ALTER "lastUsed" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "webhook" ALTER "createdAt" TYPE timestamp with time zone`,
);
await queryRunner.query(
`ALTER TABLE "webhook" ALTER "latestSentAt" TYPE timestamp with time zone`,
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`ALTER TABLE "abuse_user_report" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "access_token" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "access_token" ALTER "lastUsedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "ad" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "ad" ALTER "expiresAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "announcement" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "announcement" ALTER "updatedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "announcement_read" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "antenna" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "app" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "attestation_challenge" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "auth_session" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "blocking" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "channel" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "channel" ALTER "lastNotedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "channel_following" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "channel_note_pining" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "clip" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "drive_file" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "drive_folder" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "emoji" ALTER "updatedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "following" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "follow_request" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "gallery_like" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "gallery_post" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "gallery_post" ALTER "updatedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "instance" ALTER "caughtAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "instance" ALTER "infoUpdatedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "instance" ALTER "lastCommunicatedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "instance" ALTER "latestRequestReceivedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "instance" ALTER "latestRequestSentAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "messaging_message" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "moderation_log" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "muting" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "muting" ALTER "expiresAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "note" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "note" ALTER "updatedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "note_edit" ALTER "updatedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "note_favorite" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "note_reaction" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "note_thread_muting" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "note_watching" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "notification" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "page" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "page" ALTER "updatedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "page_like" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "password_reset_request" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "poll" ALTER "expiresAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "poll_vote" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "promo_note" ALTER "expiresAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "promo_read" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "registration_ticket" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "registry_item" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "registry_item" ALTER "updatedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "renote_muting" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "reply_muting" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "signin" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "sw_subscription" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "used_username" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user" ALTER "lastActiveDate" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user" ALTER "lastFetchedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user" ALTER "updatedAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_group" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_group_invitation" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_group_invite" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_group_joining" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_ip" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_list" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_list_joining" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_note_pining" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_pending" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "user_security_key" ALTER "lastUsed" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "webhook" ALTER "createdAt" TYPE timestamp without time zone`,
);
await queryRunner.query(
`ALTER TABLE "webhook" ALTER "latestSentAt" TYPE timestamp without time zone`,
);
}
}

View file

@ -16,7 +16,7 @@ export class AbuseUserReport {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the AbuseUserReport.", comment: "The created date of the AbuseUserReport.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -16,12 +16,12 @@ export class AccessToken {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the AccessToken.", comment: "The created date of the AccessToken.",
}) })
public createdAt: Date; public createdAt: Date;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
nullable: true, nullable: true,
}) })
public lastUsedAt: Date | null; public lastUsedAt: Date | null;

View file

@ -7,13 +7,13 @@ export class Ad {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Ad.", comment: "The created date of the Ad.",
}) })
public createdAt: Date; public createdAt: Date;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The expired date of the Ad.", comment: "The expired date of the Ad.",
}) })
public expiresAt: Date; public expiresAt: Date;

View file

@ -17,7 +17,7 @@ export class AnnouncementRead {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the AnnouncementRead.", comment: "The created date of the AnnouncementRead.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -7,12 +7,12 @@ export class Announcement {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Announcement.", comment: "The created date of the Announcement.",
}) })
public createdAt: Date; public createdAt: Date;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The updated date of the Announcement.", comment: "The updated date of the Announcement.",
nullable: true, nullable: true,
}) })

View file

@ -17,7 +17,7 @@ export class Antenna {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Antenna.", comment: "The created date of the Antenna.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -15,7 +15,7 @@ export class App {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the App.", comment: "The created date of the App.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -26,7 +26,7 @@ export class AttestationChallenge {
}) })
public challenge: string; public challenge: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The date challenge was created for expiry purposes.", comment: "The date challenge was created for expiry purposes.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -16,7 +16,7 @@ export class AuthSession {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the AuthSession.", comment: "The created date of the AuthSession.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -17,7 +17,7 @@ export class Blocking {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Blocking.", comment: "The created date of the Blocking.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -18,7 +18,7 @@ export class ChannelFollowing {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the ChannelFollowing.", comment: "The created date of the ChannelFollowing.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -17,7 +17,7 @@ export class ChannelNotePining {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the ChannelNotePining.", comment: "The created date of the ChannelNotePining.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -17,13 +17,13 @@ export class Channel {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Channel.", comment: "The created date of the Channel.",
}) })
public createdAt: Date; public createdAt: Date;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
nullable: true, nullable: true,
}) })
public lastNotedAt: Date | null; public lastNotedAt: Date | null;

View file

@ -15,7 +15,7 @@ export class Clip {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Clip.", comment: "The created date of the Clip.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -23,7 +23,7 @@ export class DriveFile {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the DriveFile.", comment: "The created date of the DriveFile.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -16,7 +16,7 @@ export class DriveFolder {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the DriveFolder.", comment: "The created date of the DriveFolder.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -7,7 +7,7 @@ export class Emoji {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
nullable: true, nullable: true,
}) })
public updatedAt: Date | null; public updatedAt: Date | null;

View file

@ -16,7 +16,7 @@ export class FollowRequest {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the FollowRequest.", comment: "The created date of the FollowRequest.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -17,7 +17,7 @@ export class Following {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Following.", comment: "The created date of the Following.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -17,7 +17,7 @@ export class GalleryLike {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone") @Column("timestamp with time zone")
public createdAt: Date; public createdAt: Date;
@Index() @Index()

View file

@ -17,13 +17,13 @@ export class GalleryPost {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the GalleryPost.", comment: "The created date of the GalleryPost.",
}) })
public createdAt: Date; public createdAt: Date;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The updated date of the GalleryPost.", comment: "The updated date of the GalleryPost.",
}) })
public updatedAt: Date; public updatedAt: Date;

View file

@ -23,7 +23,7 @@ export class Instance {
* *
*/ */
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The caught date of the Instance.", comment: "The caught date of the Instance.",
}) })
public caughtAt: Date; public caughtAt: Date;
@ -75,7 +75,7 @@ export class Instance {
/** /**
* *
*/ */
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
nullable: true, nullable: true,
}) })
public latestRequestSentAt: Date | null; public latestRequestSentAt: Date | null;
@ -91,7 +91,7 @@ export class Instance {
/** /**
* *
*/ */
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
nullable: true, nullable: true,
}) })
public latestRequestReceivedAt: Date | null; public latestRequestReceivedAt: Date | null;
@ -99,7 +99,7 @@ export class Instance {
/** /**
* *
*/ */
@Column("timestamp without time zone") @Column("timestamp with time zone")
public lastCommunicatedAt: Date; public lastCommunicatedAt: Date;
/** /**
@ -179,7 +179,7 @@ export class Instance {
}) })
public themeColor: string | null; public themeColor: string | null;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
nullable: true, nullable: true,
}) })
public infoUpdatedAt: Date | null; public infoUpdatedAt: Date | null;

View file

@ -18,7 +18,7 @@ export class MessagingMessage {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the MessagingMessage.", comment: "The created date of the MessagingMessage.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -15,7 +15,7 @@ export class ModerationLog {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the ModerationLog.", comment: "The created date of the ModerationLog.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -17,13 +17,13 @@ export class Muting {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Muting.", comment: "The created date of the Muting.",
}) })
public createdAt: Date; public createdAt: Date;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
nullable: true, nullable: true,
}) })
public expiresAt: Date | null; public expiresAt: Date | null;

View file

@ -40,7 +40,7 @@ export class NoteEdit {
}) })
public fileIds: DriveFile["id"][]; public fileIds: DriveFile["id"][];
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The updated date of the Note.", comment: "The updated date of the Note.",
}) })
public updatedAt: Date; public updatedAt: Date;

View file

@ -17,7 +17,7 @@ export class NoteFavorite {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the NoteFavorite.", comment: "The created date of the NoteFavorite.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -17,7 +17,7 @@ export class NoteReaction {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the NoteReaction.", comment: "The created date of the NoteReaction.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -16,7 +16,7 @@ export class NoteThreadMuting {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", {}) @Column("timestamp with time zone", {})
public createdAt: Date; public createdAt: Date;
@Index() @Index()

View file

@ -18,7 +18,7 @@ export class NoteWatching {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the NoteWatching.", comment: "The created date of the NoteWatching.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -26,7 +26,7 @@ export class Note {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Note.", comment: "The created date of the Note.",
}) })
public createdAt: Date; public createdAt: Date;
@ -238,7 +238,7 @@ export class Note {
}) })
public renoteUserHost: string | null; public renoteUserHost: string | null;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
nullable: true, nullable: true,
comment: "The updated date of the Note.", comment: "The updated date of the Note.",
}) })

View file

@ -20,7 +20,7 @@ export class Notification {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Notification.", comment: "The created date of the Notification.",
}) })
public createdAt: Date; public createdAt: Date;

View file

@ -17,7 +17,7 @@ export class PageLike {
@PrimaryColumn(id()) @PrimaryColumn(id())
public id: string; public id: string;
@Column("timestamp without time zone") @Column("timestamp with time zone")
public createdAt: Date; public createdAt: Date;
@Index() @Index()

View file

@ -18,13 +18,13 @@ export class Page {
public id: string; public id: string;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The created date of the Page.", comment: "The created date of the Page.",
}) })
public createdAt: Date; public createdAt: Date;
@Index() @Index()
@Column("timestamp without time zone", { @Column("timestamp with time zone", {
comment: "The updated date of the Page.", comment: "The updated date of the Page.",
}) })
public updatedAt: Date; public updatedAt: Date;

Some files were not shown because too many files have changed in this diff Show more