expiresAt to scheduledAt
Signed-off-by: mattyatea <mattyacocacora0@gmail.com>
This commit is contained in:
parent
c4a8cf3a73
commit
271c872c97
11
packages/backend/migration/1699949373507-schedulenote2.js
Normal file
11
packages/backend/migration/1699949373507-schedulenote2.js
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
export class Schedulenote21699949373507 {
|
||||||
|
name = 'Schedulenote21699949373507'
|
||||||
|
|
||||||
|
async up(queryRunner) {
|
||||||
|
await queryRunner.query(`ALTER TABLE "note_schedule" RENAME COLUMN "expiresAt" TO "scheduledAt"`);
|
||||||
|
}
|
||||||
|
|
||||||
|
async down(queryRunner) {
|
||||||
|
await queryRunner.query(`ALTER TABLE "note_schedule" RENAME COLUMN "scheduledAt" TO "expiresAt"`);
|
||||||
|
}
|
||||||
|
}
|
|
@ -23,5 +23,5 @@ export class MiScheduledNote {
|
||||||
public userId: MiUser['id'];
|
public userId: MiUser['id'];
|
||||||
|
|
||||||
@Column('timestamp with time zone')
|
@Column('timestamp with time zone')
|
||||||
public expiresAt: Date;
|
public scheduledAt: Date;
|
||||||
}
|
}
|
||||||
|
|
|
@ -202,7 +202,7 @@ export const paramDef = {
|
||||||
type: 'object',
|
type: 'object',
|
||||||
nullable: true,
|
nullable: true,
|
||||||
properties: {
|
properties: {
|
||||||
expiresAt: { type: 'integer', nullable: false },
|
scheduledAt: { type: 'integer', nullable: false },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -388,7 +388,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
throw new ApiError(meta.errors.rolePermissionDenied);
|
throw new ApiError(meta.errors.rolePermissionDenied);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ps.schedule.expiresAt) {
|
if (!ps.schedule.scheduledAt) {
|
||||||
throw new ApiError(meta.errors.specifyScheduleDate);
|
throw new ApiError(meta.errors.specifyScheduleDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -398,10 +398,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
id: scheduledNoteId,
|
id: scheduledNoteId,
|
||||||
note: note,
|
note: note,
|
||||||
userId: me.id,
|
userId: me.id,
|
||||||
expiresAt: new Date(ps.schedule.expiresAt),
|
scheduledAt: new Date(ps.schedule.scheduledAt),
|
||||||
});
|
});
|
||||||
|
|
||||||
const delay = new Date(ps.schedule.expiresAt).getTime() - Date.now();
|
const delay = new Date(ps.schedule.scheduledAt).getTime() - Date.now();
|
||||||
await this.queueService.ScheduleNotePostQueue.add(String(delay), {
|
await this.queueService.ScheduleNotePostQueue.add(String(delay), {
|
||||||
scheduledNoteId,
|
scheduledNoteId,
|
||||||
}, {
|
}, {
|
||||||
|
|
|
@ -45,7 +45,7 @@ export const meta = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
userId: { type: 'string', optional: false, nullable: false },
|
userId: { type: 'string', optional: false, nullable: false },
|
||||||
expiresAt: { type: 'string', optional: false, nullable: false },
|
scheduledAt: { type: 'string', optional: false, nullable: false },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -97,14 +97,14 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||||
isSchedule: boolean;
|
isSchedule: boolean;
|
||||||
};
|
};
|
||||||
userId: string;
|
userId: string;
|
||||||
expiresAt: string;
|
scheduledAt: string;
|
||||||
}[] = scheduleNotes.map((item: any) => {
|
}[] = scheduleNotes.map((item: any) => {
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
note: {
|
note: {
|
||||||
...item.note,
|
...item.note,
|
||||||
user: user,
|
user: user,
|
||||||
createdAt: new Date(item.expiresAt),
|
createdAt: new Date(item.scheduledAt),
|
||||||
isSchedule: true,
|
isSchedule: true,
|
||||||
// ↓TODO: NoteのIDに予約投稿IDを入れたくない(本来別ものなため)
|
// ↓TODO: NoteのIDに予約投稿IDを入れたくない(本来別ものなため)
|
||||||
id: item.id,
|
id: item.id,
|
||||||
|
|
|
@ -177,7 +177,7 @@ let poll = $ref<{
|
||||||
expiredAfter: string | null;
|
expiredAfter: string | null;
|
||||||
} | null>(null);
|
} | null>(null);
|
||||||
let schedule = $ref<{
|
let schedule = $ref<{
|
||||||
expiresAt: string | null;
|
scheduledAt: string | null;
|
||||||
}| null>(null);
|
}| null>(null);
|
||||||
let useCw = $ref(false);
|
let useCw = $ref(false);
|
||||||
let showPreview = $ref(defaultStore.state.showPreview);
|
let showPreview = $ref(defaultStore.state.showPreview);
|
||||||
|
@ -405,7 +405,7 @@ function toggleSchedule() {
|
||||||
schedule = null;
|
schedule = null;
|
||||||
} else {
|
} else {
|
||||||
schedule = {
|
schedule = {
|
||||||
expiresAt: null,
|
scheduledAt: null,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -775,8 +775,8 @@ async function post(ev?: MouseEvent) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (postData.schedule?.expiresAt && typeof postData.schedule.expiresAt === 'string') {
|
if (postData.schedule?.scheduledAt && typeof postData.schedule.scheduledAt === 'string') {
|
||||||
postData.schedule.expiresAt = parseInt(postData.schedule.expiresAt);
|
postData.schedule.scheduledAt = parseInt(postData.schedule.scheduledAt);
|
||||||
}
|
}
|
||||||
|
|
||||||
let token = undefined;
|
let token = undefined;
|
||||||
|
@ -935,7 +935,7 @@ function openOtherSettingsMenu(ev: MouseEvent) {
|
||||||
icon: 'ti ti-calendar-time',
|
icon: 'ti ti-calendar-time',
|
||||||
indicate: (schedule != null),
|
indicate: (schedule != null),
|
||||||
action: toggleSchedule,
|
action: toggleSchedule,
|
||||||
} : undefined, ...(($i.policies?.canScheduleNote) ? [ null, {
|
} : undefined, ...(($i.policies?.canScheduleNote) ? [null, {
|
||||||
type: 'button',
|
type: 'button',
|
||||||
text: i18n.ts._schedulePost.list,
|
text: i18n.ts._schedulePost.list,
|
||||||
icon: 'ti ti-calendar-event',
|
icon: 'ti ti-calendar-event',
|
||||||
|
|
|
@ -26,19 +26,19 @@ import { i18n } from '@/i18n.js';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
modelValue: {
|
modelValue: {
|
||||||
expiresAt: string;
|
scheduledAt: string;
|
||||||
};
|
};
|
||||||
}>();
|
}>();
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
(ev: 'update:modelValue', v: {
|
(ev: 'update:modelValue', v: {
|
||||||
expiresAt: string;
|
scheduledAt: string;
|
||||||
}): void;
|
}): void;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const atDate = ref(formatDateTimeString(addTime(new Date(), 1, 'day'), 'yyyy-MM-dd'));
|
const atDate = ref(formatDateTimeString(addTime(new Date(), 1, 'day'), 'yyyy-MM-dd'));
|
||||||
const atTime = ref('00:00');
|
const atTime = ref('00:00');
|
||||||
if ( props.modelValue && props.modelValue.expiresAt) {
|
if ( props.modelValue && props.modelValue.scheduledAt) {
|
||||||
atDate.value = atTime.value = props.modelValue.expiresAt;
|
atDate.value = atTime.value = props.modelValue.scheduledAt;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get() {
|
function get() {
|
||||||
|
@ -48,7 +48,7 @@ function get() {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...(
|
...(
|
||||||
props.modelValue ? { expiresAt: calcAt() } : {}
|
props.modelValue ? { scheduledAt: calcAt() } : {}
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue