@osmoweb/frontend-core

Front-end helpers for OsmoWeb applications.

This package is intentionally small: it provides thin, typed wrappers around OsmoWeb HTTP APIs (via apiFetch from @websdr/frontend-core).

Install

npm install @osmoweb/frontend-core

Imports (entrypoints)

  • @osmoweb/frontend-core — re-exports everything from ./services

  • @osmoweb/frontend-core/services — API client helpers

import { getBts, updateBts } from '@osmoweb/frontend-core/services';

Services

BTS service

Endpoints:

  • GET /api/v1/osmo/btsgetBts()

  • PUT /api/v1/osmo/btsupdateBts(cfg?)

import { getBts, updateBts } from '@osmoweb/frontend-core/services';
import { GSMBand } from '@osmoweb/core';
import type { BscBtsConfig } from '@osmoweb/backend-core';

// Read BTS info for the current user/session
const bts = await getBts();

// Update BTS config
const cfg: BscBtsConfig = {
  type: 'osmo-bts',
  band: GSMBand.GSM_900,
  description: 'Demo BTS',
  trx: [{ id: 0, arfcn: 0 }],
};

await updateBts(cfg);

// Reset / send empty payload
await updateBts();

Notes

  • These helpers assume an OsmoWeb backend that exposes /api/v1/osmo/* routes.

  • Request mechanics (base URL, auth headers/cookies, error handling) are delegated to apiFetch from @websdr/frontend-core.

API overview

From @osmoweb/frontend-core/services:

  • getBts(): Promise<BscBtsInfo>

  • updateBts(cfg?: BscBtsConfig): Promise<any>

Compatibility notes

  • TypeScript: ships *.d.ts typings.

Development (monorepo)

From the repository root:

npm install
npm run build
npm test --workspace=packages/frontend-core

From this package folder:

Build

npm run build

Test

npm test

License

OsmoWeb is MIT licensed