Skip to content

Commit

Permalink
expiresAt to scheduledAt
Browse files Browse the repository at this point in the history
Signed-off-by: mattyatea <[email protected]>
  • Loading branch information
mattyatea committed Nov 14, 2023
1 parent c4a8cf3 commit 271c872
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 18 deletions.
11 changes: 11 additions & 0 deletions packages/backend/migration/1699949373507-schedulenote2.js
Original file line number Diff line number Diff line change
@@ -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"`);
}
}
2 changes: 1 addition & 1 deletion packages/backend/src/models/ScheduledNote.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@ export class MiScheduledNote {
public userId: MiUser['id'];

@Column('timestamp with time zone')
public expiresAt: Date;
public scheduledAt: Date;
}
8 changes: 4 additions & 4 deletions packages/backend/src/server/api/endpoints/notes/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ export const paramDef = {
type: 'object',
nullable: true,
properties: {
expiresAt: { type: 'integer', nullable: false },
scheduledAt: { type: 'integer', nullable: false },
},
},
},
Expand Down Expand Up @@ -388,7 +388,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
throw new ApiError(meta.errors.rolePermissionDenied);
}

if (!ps.schedule.expiresAt) {
if (!ps.schedule.scheduledAt) {
throw new ApiError(meta.errors.specifyScheduleDate);
}

Expand All @@ -398,10 +398,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
id: scheduledNoteId,
note: note,
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), {
scheduledNoteId,
}, {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export const meta = {
},
},
userId: { type: 'string', optional: false, nullable: false },
expiresAt: { type: 'string', optional: false, nullable: false },
scheduledAt: { type: 'string', optional: false, nullable: false },
},
},
},
Expand Down Expand Up @@ -97,14 +97,14 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
isSchedule: boolean;
};
userId: string;
expiresAt: string;
scheduledAt: string;
}[] = scheduleNotes.map((item: any) => {
return {
...item,
note: {
...item.note,
user: user,
createdAt: new Date(item.expiresAt),
createdAt: new Date(item.scheduledAt),
isSchedule: true,
// ↓TODO: NoteのIDに予約投稿IDを入れたくない(本来別ものなため)
id: item.id,
Expand Down
10 changes: 5 additions & 5 deletions packages/frontend/src/components/MkPostForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ let poll = $ref<{
expiredAfter: string | null;
} | null>(null);
let schedule = $ref<{
expiresAt: string | null;
scheduledAt: string | null;
}| null>(null);
let useCw = $ref(false);
let showPreview = $ref(defaultStore.state.showPreview);
Expand Down Expand Up @@ -405,7 +405,7 @@ function toggleSchedule() {
schedule = null;
} else {
schedule = {
expiresAt: null,
scheduledAt: null,
};
}
}
Expand Down Expand Up @@ -775,8 +775,8 @@ async function post(ev?: MouseEvent) {
}
}

if (postData.schedule?.expiresAt && typeof postData.schedule.expiresAt === 'string') {
postData.schedule.expiresAt = parseInt(postData.schedule.expiresAt);
if (postData.schedule?.scheduledAt && typeof postData.schedule.scheduledAt === 'string') {
postData.schedule.scheduledAt = parseInt(postData.schedule.scheduledAt);
}

let token = undefined;
Expand Down Expand Up @@ -935,7 +935,7 @@ function openOtherSettingsMenu(ev: MouseEvent) {
icon: 'ti ti-calendar-time',
indicate: (schedule != null),
action: toggleSchedule,
} : undefined, ...(($i.policies?.canScheduleNote) ? [ null, {
} : undefined, ...(($i.policies?.canScheduleNote) ? [null, {
type: 'button',
text: i18n.ts._schedulePost.list,
icon: 'ti ti-calendar-event',
Expand Down
10 changes: 5 additions & 5 deletions packages/frontend/src/components/MkScheduleEditor.vue
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,19 @@ import { i18n } from '@/i18n.js';

const props = defineProps<{
modelValue: {
expiresAt: string;
scheduledAt: string;
};
}>();
const emit = defineEmits<{
(ev: 'update:modelValue', v: {
expiresAt: string;
scheduledAt: string;
}): void;
}>();

const atDate = ref(formatDateTimeString(addTime(new Date(), 1, 'day'), 'yyyy-MM-dd'));
const atTime = ref('00:00');
if ( props.modelValue && props.modelValue.expiresAt) {
atDate.value = atTime.value = props.modelValue.expiresAt;
if ( props.modelValue && props.modelValue.scheduledAt) {
atDate.value = atTime.value = props.modelValue.scheduledAt;
}

function get() {
Expand All @@ -48,7 +48,7 @@ function get() {

return {
...(
props.modelValue ? { expiresAt: calcAt() } : {}
props.modelValue ? { scheduledAt: calcAt() } : {}
),
};
}
Expand Down

0 comments on commit 271c872

Please sign in to comment.