mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-18 13:35:42 +09:00
refactor(schema): simplify validation and OpenAPI generation (#2709)
This commit is contained in:
1 parent
4bc5593f9f
commit
de1fd95a99
510 files changed
+29494
-36131
No files matched your search
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {assign, getInitialSnapshot, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
import {assign, initialTransition, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
|
||||
export interface ChannelIncomingMessageInput {
|
||||
hasNonceMatch: boolean;
|
||||
@@ -111,7 +111,7 @@ export type ChannelIncomingMessageSnapshot = SnapshotFrom<typeof channelIncoming
|
||||
export function createChannelIncomingMessageSnapshot(
|
||||
input: ChannelIncomingMessageInput,
|
||||
): ChannelIncomingMessageSnapshot {
|
||||
return getInitialSnapshot(channelIncomingMessageMachine, input);
|
||||
return initialTransition(channelIncomingMessageMachine, input)[0];
|
||||
}
|
||||
|
||||
export function transitionChannelIncomingMessageSnapshot(
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {compare as compareSnowflakes} from '@fluxer/snowflake/src/SnowflakeUtils';
|
||||
import {assign, getInitialSnapshot, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
import {assign, initialTransition, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
|
||||
export interface ChannelMessagesLoadInput {
|
||||
isBefore: boolean;
|
||||
@@ -124,7 +124,7 @@ export const channelMessagesLoadMachine = setup({
|
||||
export type ChannelMessagesLoadSnapshot = SnapshotFrom<typeof channelMessagesLoadMachine>;
|
||||
|
||||
export function createChannelMessagesLoadSnapshot(input: ChannelMessagesLoadInput): ChannelMessagesLoadSnapshot {
|
||||
return getInitialSnapshot(channelMessagesLoadMachine, input);
|
||||
return initialTransition(channelMessagesLoadMachine, input)[0];
|
||||
}
|
||||
|
||||
export function transitionChannelMessagesLoadSnapshot(
|
||||
@@ -247,7 +247,7 @@ export const channelMessagesWindowMachine = setup({
|
||||
export type ChannelMessagesWindowSnapshot = SnapshotFrom<typeof channelMessagesWindowMachine>;
|
||||
|
||||
export function createChannelMessagesWindowSnapshot(input: ChannelMessagesWindowInput): ChannelMessagesWindowSnapshot {
|
||||
return getInitialSnapshot(channelMessagesWindowMachine, input);
|
||||
return initialTransition(channelMessagesWindowMachine, input)[0];
|
||||
}
|
||||
|
||||
export function transitionChannelMessagesWindowSnapshot(
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {assign, getInitialSnapshot, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
import {assign, initialTransition, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
|
||||
export type MentionType = '@everyone' | '@here' | 'role';
|
||||
|
||||
@@ -121,7 +121,7 @@ export const mentionConfirmationStateMachine = setup({
|
||||
});
|
||||
|
||||
export function createMentionConfirmationSnapshot(): MentionConfirmationSnapshot {
|
||||
return getInitialSnapshot(mentionConfirmationStateMachine);
|
||||
return initialTransition(mentionConfirmationStateMachine)[0];
|
||||
}
|
||||
|
||||
export function transitionMentionConfirmationSnapshot(
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {assign, getInitialSnapshot, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
import {assign, initialTransition, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
|
||||
export interface MessageQueuePayloadRouteInput {
|
||||
payloadType?: string;
|
||||
@@ -275,7 +275,7 @@ export type MessageLocalSendRateLimitSnapshot = SnapshotFrom<typeof messageLocal
|
||||
export function createMessageQueuePayloadRouteSnapshot(
|
||||
input: MessageQueuePayloadRouteInput,
|
||||
): MessageQueuePayloadRouteSnapshot {
|
||||
return getInitialSnapshot(messageQueuePayloadRouteMachine, input);
|
||||
return initialTransition(messageQueuePayloadRouteMachine, input)[0];
|
||||
}
|
||||
|
||||
export function transitionMessageQueuePayloadRouteSnapshot(
|
||||
@@ -307,7 +307,7 @@ export function resolveMessageQueuePayloadRouteDecision(
|
||||
export function createMessageQueueSendExecutionSnapshot(
|
||||
input: MessageQueueSendExecutionInput,
|
||||
): MessageQueueSendExecutionSnapshot {
|
||||
return getInitialSnapshot(messageQueueSendExecutionMachine, input);
|
||||
return initialTransition(messageQueueSendExecutionMachine, input)[0];
|
||||
}
|
||||
|
||||
export function transitionMessageQueueSendExecutionSnapshot(
|
||||
@@ -337,7 +337,7 @@ export function resolveMessageQueueSendExecutionDecision(
|
||||
export function createMessageQueueRequestOutcomeSnapshot(
|
||||
input: MessageQueueRequestOutcomeInput,
|
||||
): MessageQueueRequestOutcomeSnapshot {
|
||||
return getInitialSnapshot(messageQueueRequestOutcomeMachine, input);
|
||||
return initialTransition(messageQueueRequestOutcomeMachine, input)[0];
|
||||
}
|
||||
|
||||
export function transitionMessageQueueRequestOutcomeSnapshot(
|
||||
@@ -369,7 +369,7 @@ export function resolveMessageQueueRequestOutcomeDecision(
|
||||
export function createMessageLocalSendRateLimitSnapshot(
|
||||
input: MessageLocalSendRateLimitInput,
|
||||
): MessageLocalSendRateLimitSnapshot {
|
||||
return getInitialSnapshot(messageLocalSendRateLimitMachine, input);
|
||||
return initialTransition(messageLocalSendRateLimitMachine, input)[0];
|
||||
}
|
||||
|
||||
export function transitionMessageLocalSendRateLimitSnapshot(
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
import type {ReactionEmoji} from '@app/features/messaging/utils/ReactionUtils';
|
||||
import type {MessageReaction} from '@fluxer/schema/src/domains/message/MessageResponseSchemas';
|
||||
import {assign, getInitialSnapshot, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
import {assign, initialTransition, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
|
||||
export interface ReactionRecord {
|
||||
emoji: ReactionEmoji;
|
||||
@@ -366,7 +366,7 @@ export function createReactionMachineSnapshot(
|
||||
map: ReactionMap = emptyMap(),
|
||||
currentUserId?: string | null,
|
||||
): ReactionMachineSnapshot {
|
||||
return getInitialSnapshot(reactionStateMachine, {map, currentUserId});
|
||||
return initialTransition(reactionStateMachine, {map, currentUserId})[0];
|
||||
}
|
||||
|
||||
export function transitionReactionSnapshot(
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
import {User} from '@app/features/user/models/User';
|
||||
import type {UserPartial} from '@fluxer/schema/src/domains/user/UserResponseSchemas';
|
||||
import {assign, getInitialSnapshot, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
import {assign, initialTransition, type SnapshotFrom, setup, transition} from 'xstate';
|
||||
|
||||
export type FetchStatus = 'idle' | 'pending' | 'success' | 'error';
|
||||
|
||||
@@ -336,7 +336,7 @@ export const reactionUsersStateMachine = setup({
|
||||
export type ReactionUsersMachineSnapshot = SnapshotFrom<typeof reactionUsersStateMachine>;
|
||||
|
||||
export function createReactionUsersSnapshot(requestSerial = 0): ReactionUsersMachineSnapshot {
|
||||
return getInitialSnapshot(reactionUsersStateMachine, {requestSerial});
|
||||
return initialTransition(reactionUsersStateMachine, {requestSerial})[0];
|
||||
}
|
||||
|
||||
export function transitionReactionUsersSnapshot(
|
||||
|
||||
Reference in new issue
Block a user