| |
| |
| |
| |
| |
|
|
| import type { Stage, StageMode } from '@/lib/types/stage'; |
| import type { StageStore, APIResult } from './stage-api-types'; |
|
|
| |
| |
| |
| |
| |
| |
| export function createModeAPI(store: StageStore) { |
| return { |
| |
| |
| |
| |
| |
| set(newMode: StageMode): APIResult<boolean> { |
| try { |
| store.setState({ mode: newMode }); |
| return { success: true, data: true }; |
| } catch (error) { |
| return { success: false, error: String(error) }; |
| } |
| }, |
|
|
| |
| |
| |
| |
| |
| get(): APIResult<StageMode> { |
| try { |
| const state = store.getState(); |
| return { success: true, data: state.mode }; |
| } catch (error) { |
| return { success: false, error: String(error) }; |
| } |
| }, |
| }; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| export function createStageMetaAPI(store: StageStore) { |
| return { |
| |
| |
| |
| |
| |
| get(): APIResult<Stage> { |
| try { |
| const state = store.getState(); |
|
|
| if (!state.stage) { |
| return { success: false, error: 'No stage' }; |
| } |
|
|
| return { success: true, data: state.stage }; |
| } catch (error) { |
| return { success: false, error: String(error) }; |
| } |
| }, |
|
|
| |
| |
| |
| |
| |
| |
| update(updates: Partial<Stage>): APIResult<boolean> { |
| try { |
| const state = store.getState(); |
|
|
| if (!state.stage) { |
| return { success: false, error: 'No stage' }; |
| } |
|
|
| const newStage = { |
| ...state.stage, |
| ...updates, |
| updatedAt: Date.now(), |
| }; |
|
|
| store.setState({ stage: newStage }); |
|
|
| return { success: true, data: true }; |
| } catch (error) { |
| return { success: false, error: String(error) }; |
| } |
| }, |
| }; |
| } |
|
|