POS Auth Service (services/auth.ts)

simpos · apps/simpos/src/services/auth.ts · typescript · MIT
auth, pos, integration, tag:embed-classified, tag:session

Handles POS login via token exchange, persists auth metadata locally, and refreshes server session metadata. Reuse for authenticating POS users and managing session state.

// Source: https://github.com/hieuhani/simpos | License: MIT
// Provided via justclaw.it.com; keep this notice with the code.
import { simApi } from './clients';
import { AuthUserContext, authUserMeta, AuthUserMeta } from './db/authUserMeta';

export interface LoginParams {
  login: string;
  password: string;
}
export interface PosMetadataParams {
  config_id?: number;
}

export interface SessionInfo {
  userContext: AuthUserContext;
}
export interface ServerMetadata {
  loginNumber: number;
  sessionInfo: SessionInfo;
}

export const authService = {
  login: (params: LoginParams) => {
    return simApi.post(
      '/exchange_token',
      {
        params,
      },
    );
  },
  saveAuthMeta: async (authMeta: AuthUserMeta) => {
    await authUserMeta.create(authMeta);
  },
  getAuthMeta:

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key