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