Skip to content

Storage API

POS 플러그인에서 로컬 데이터를 저장하고 관리하는 기능을 제공합니다. 데이터베이스를 사용하지 않고도 간단한 데이터 저장이 가능합니다.

주의사항

  • 저장 가능한 데이터 타입은 문자열(string)만 지원합니다.
  • 객체나 배열을 저장하려면 JSON.stringify()를 사용하여 문자열로 변환해야 합니다.

Methods

get

지정된 키에 해당하는 값을 조회합니다.

ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';

/**
 * 저장된 데이터 조회
 * @param key 조회할 데이터의 키
 * @returns 저장된 값 또는 null
 */
const value = await posPluginSdk.storage.get('key');

// JSON 데이터 조회 예시
const jsonData = await posPluginSdk.storage.get('userSettings');
if (jsonData) {
    const settings = JSON.parse(jsonData);
    console.log('사용자 설정:', settings);
}

set

지정된 키에 값을 저장합니다.

ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';

/**
 * 데이터 저장
 * @param key 저장할 데이터의 키
 * @param value 저장할 값 (문자열)
 */
await posPluginSdk.storage.set('key', 'value');

// JSON 데이터 저장 예시
const settings = {
    theme: 'dark',
    language: 'ko',
    notifications: true
};
await posPluginSdk.storage.set('userSettings', JSON.stringify(settings));

del

지정된 키에 해당하는 값을 삭제합니다.

ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';

/**
 * 데이터 삭제
 * @param key 삭제할 데이터의 키
 */
await posPluginSdk.storage.del('key');

사용 예시

사용자 설정 관리

ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';

class UserSettings {
    private static readonly STORAGE_KEY = 'user_settings';

    // 설정 조회
    static async getSettings() {
        const data = await posPluginSdk.storage.get(this.STORAGE_KEY);
        return data ? JSON.parse(data) : null;
    }

    // 설정 저장
    static async saveSettings(settings: any) {
        await posPluginSdk.storage.set(this.STORAGE_KEY, JSON.stringify(settings));
    }

    // 설정 삭제
    static async clearSettings() {
        await posPluginSdk.storage.del(this.STORAGE_KEY);
    }
}

// 사용 예시
async function manageSettings() {
    // 설정 저장
    await UserSettings.saveSettings({
        theme: 'dark',
        notifications: true
    });

    // 설정 조회
    const settings = await UserSettings.getSettings();
    console.log('현재 설정:', settings);

    // 설정 삭제
    await UserSettings.clearSettings();
}