Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@lumir-company/admin-server-api

Package Overview
Dependencies
Maintainers
0
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lumir-company/admin-server-api

관리자 시스템을 위한 API SDK 패키지입니다.

  • 1.0.16
  • latest
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

@lumir-company/admin-server-api

관리자 시스템을 위한 API SDK 패키지입니다.

설치

npm install @lumir-company/admin-server-api

사용법

인증

import { AuthAPI } from '@lumir-company/admin-server-api';

const authApi = new AuthAPI('http://your-api-url');

// 로그인
const token = await authApi.login({
    accountId: 'your-id',
    password: 'your-password',
});

공지사항 관리

import { NoticeAPI } from '@lumir-company/admin-server-api';

const noticeApi = new NoticeAPI('http://your-api-url');
noticeApi.setToken(token.accessToken);

// 공지사항 목록 조회
const { data } = await noticeApi.getNotices(1, 10);

// 공지사항 상세 조회
const notice = await noticeApi.getNoticeById('notice-id');

뉴스 관리

import { NewsAPI } from '@lumir-company/admin-server-api';

const newsApi = new NewsAPI('http://your-api-url');
newsApi.setToken(token.accessToken);

// 뉴스 목록 조회
const { data } = await newsApi.getNews(1, 10);

// 뉴스 상세 조회
const news = await newsApi.getNewsById('news-id');

보도자료 관리

import { PressReleaseAPI } from '@lumir-company/admin-server-api';

const pressReleaseApi = new PressReleaseAPI('http://your-api-url');
pressReleaseApi.setToken(token.accessToken);

// 보도자료 목록 조회
const { data } = await pressReleaseApi.getPressReleases(1, 10);

// 보도자료 상세 조회
const pressRelease =
    await pressReleaseApi.getPressReleaseById('press-release-id');

S3 파일 관리

import { S3API } from '@lumir-company/admin-server-api';

const s3Api = new S3API('http://your-api-url');
s3Api.setToken(token.accessToken);

// 파일 다운로드
const fileResponse = await s3Api.getFile('file-key', true);

페이지뷰 추적

import { PageViewAPI, PageName } from '@lumir-company/admin-server-api';

export enum PageName {
    MAIN = '메인 페이지',
    DISCLOSURE = '전자공고',
    SHAREHOLDER = '주주정보',
    NEWS = '루미르스토리',
    VIDEO = '영상',
    BROCHURE = '정보자료',
}

const pageViewApi = new PageViewAPI('http://your-api-url');
pageViewApi.setToken(token.accessToken);

// 페이지 진입 시 기록
await pageViewApi.createPageView({
    sessionId: 'user-session-id',
    pageName: PageName.MAIN,
    enterTime: new Date(),
    url: 'https://lumir.space/',
    title: '주식상장 이야기', // 페이지 Title
});

// 페이지 이탈 시 업데이트
await pageViewApi.updatePageView({
    sessionId: 'user-session-id',
    pageName: PageName.MAIN,
    exitTime: new Date(),
    stayDuration: 60000, // 밀리초 단위
    url: 'https://lumir.space/',
    title: '주식상장 이야기', // 페이지 Title
});

주주총회 관리

import { ShareholderMeetingAPI } from '@lumir-company/admin-server-api';

const shareholderMeetingApi = new ShareholderMeetingAPI('http://your-api-url');
shareholderMeetingApi.setToken(token.accessToken);

// 주주총회 목록 조회
const { data } = await shareholderMeetingApi.getMeetings(1, 10);

// 주주총회 상세 조회
const meeting = await shareholderMeetingApi.getMeetingById('meeting-id');

전자공고 관리

import { DisclosureAPI } from '@lumir-company/admin-server-api';

const disclosureApi = new DisclosureAPI('http://your-api-url');
disclosureApi.setToken(token.accessToken);

// 전자공고 목록 조회
const { data } = await disclosureApi.getDisclosures(1, 10);

// 전자공고 상세 조회
const disclosure = await disclosureApi.getDisclosureById('disclosure-id');

비디오 관리

import { VideoAPI } from '@lumir-company/admin-server-api';

const videoApi = new VideoAPI('http://your-api-url');
videoApi.setToken(token.accessToken);

// 비디오 목록 조회
const { data } = await videoApi.getVideos(1, 10);

// 비디오 상세 조회
const video = await videoApi.getVideoById('video-id');

브로슈어 관리

import { BrochureAPI } from '@lumir-company/admin-server-api';

const brochureApi = new BrochureAPI('http://your-api-url');
brochureApi.setToken(token.accessToken);

// 브로슈어 목록 조회
const { data } = await brochureApi.getBrochures(1, 10);

// 브로슈어 상세 조회
const brochure = await brochureApi.getBrochureById('brochure-id');

API 레퍼런스

AuthAPI

  • login({ accountId, password }): 로그인하여 토큰을 반환

NoticeAPI

  • setToken(token): API 요청에 사용할 토큰 설정
  • getNotices(page, limit): 공지사항 목록 조회
  • getNoticeById(id): 특정 공지사항 조회

NewsAPI

  • setToken(token): API 요청에 사용할 토큰 설정
  • getNews(page, limit): 뉴스 목록 조회
  • getNewsById(id): 특정 뉴스 조회

PressReleaseAPI

  • setToken(token): API 요청에 사용할 토큰 설정
  • getPressReleases(page, limit): 보도자료 목록 조회
  • getPressReleaseById(id): 특정 보도자료 조회

S3API

  • setToken(token): API 요청에 사용할 토큰 설정
  • getFile(key, download): 파일 다운로드/조회

PageViewAPI

  • createPageView(data): 페이지뷰 데이터 생성
  • updatePageView(data): 페이지뷰 데이터 업데이트 (종료 시간 및 체류 시간)

ShareholderMeetingAPI

  • setToken(token): API 요청에 사용할 토큰 설정
  • getMeetings(page, limit): 주주총회 목록 조회
  • getMeetingById(id): 특정 주주총회 조회

DisclosureAPI

  • setToken(token): API 요청에 사용할 토큰 설정
  • getDisclosures(page, limit): 전자공고 목록 조회
  • getDisclosureById(id): 특정 전자공고 조회

VideoAPI

  • setToken(token): API 요청에 사용할 토큰 설정
  • getVideos(page, limit): 비디오 목록 조회
  • getVideoById(id): 특정 비디오 조회

BrochureAPI

  • setToken(token): API 요청에 사용할 토큰 설정
  • getBrochures(page, limit): 브로슈어 목록 조회
  • getBrochureById(id): 특정 브로슈어 조회

타입 레퍼런스

공통 타입

FileInfo

파일 정보를 나타내는 인터페이스

interface FileInfo {
    fileName: string; // 파일 이름
    filePath: string; // 파일 경로
}
Response

API 응답의 기본 형태

interface Response<T> {
    result: 'success' | 'fail'; // 응답 결과
    message: string; // 응답 메시지
    status: number; // HTTP 상태 코드
    data: T; // 응답 데이터
}
PaginationResponse

페이지네이션된 목록 응답

interface PaginationResponse<T> {
    items: T[]; // 아이템 목록
    total: number; // 전체 아이템 수
    page: number; // 현재 페이지
    limit: number; // 페이지당 아이템 수
    hasMore: boolean; // 다음 페이지 존재 여부
}

도메인별 타입

ShareholderMeeting

주주총회 정보

interface ShareholderMeeting {
    _id: string;
    title: string; // 제목
    content: string; // 내용
    date: string; // 개최일
    isPublic: boolean; // 공개 여부
    files: FileInfo[]; // 첨부파일
    order: number; // 정렬 순서
    createdAt: string; // 생성일
    updatedAt: string; // 수정일
}
Disclosure

전자공고 정보

interface Disclosure {
    _id: string;
    title: string; // 제목
    content: string; // 내용
    date: string; // 공고일
    isPublic: boolean; // 공개 여부
    files: FileInfo[]; // 첨부파일
    order: number; // 정렬 순서
    createdAt: string; // 생성일
    updatedAt: string; // 수정일
}
Category

비디오 카테고리 정보

interface Category {
    _id: string;
    name: string; // 카테고리명
    createdAt: string; // 생성일
    updatedAt: string; // 수정일
}
Video

비디오 정보

interface Video {
    _id: string;
    title: string; // 제목
    description?: string; // 설명
    link: string; // 비디오 링크
    files: FileInfo[]; // 첨부파일
    isPublic: boolean; // 공개 여부
    category: Category; // 카테고리
    order: number; // 정렬 순서
    createdAt: string; // 생성일
    updatedAt: string; // 수정일
}
Brochure

브로슈어 정보

interface Brochure {
    _id: string;
    title: string; // 제목
    description?: string; // 설명
    files: FileInfo[]; // 첨부파일
    isPublic: boolean; // 공개 여부
    order: number; // 정렬 순서
    createdAt: string; // 생성일
    updatedAt: string; // 수정일
}
PageName

페이지 식별자 열거형

enum PageName {
    MAIN = '메인 페이지',
    DISCLOSURE = '전자공고',
    SHAREHOLDER = '주주정보',
    NEWS = '루미르스토리',
    VIDEO = '영상',
    BROCHURE = '정보자료',
}
PageView

페이지뷰 추적 정보

interface PageView {
    _id: string;
    sessionId: string; // 세션 ID
    pageName: PageName; // 페이지 식별자
    enterTime: Date; // 진입 시간
    exitTime?: Date; // 이탈 시간
    stayDuration?: number; // 체류 시간(ms)
    url: string; // 페이지 URL
}

FAQs

Package last updated on 13 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc