unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
45 lines • 2.22 kB
TypeScript
import type { IUnleashStores } from '../types/stores.js';
import type { IUnleashConfig } from '../types/option.js';
import { type IApiUser } from '../types/api-user.js';
import { type IApiToken, type IApiTokenCreate, type IAuditUser } from '../types/index.js';
import type EventService from '../features/events/event-service.js';
export declare class ApiTokenService {
private store;
private environmentStore;
private logger;
private activeTokens;
private queryAfter;
private eventService;
private lastSeenSecrets;
private flagResolver;
private timer;
private resourceLimits;
private eventBus;
constructor({ apiTokenStore, environmentStore, }: Pick<IUnleashStores, 'apiTokenStore' | 'environmentStore'>, config: Pick<IUnleashConfig, 'getLogger' | 'authentication' | 'flagResolver' | 'eventBus' | 'resourceLimits'>, eventService: EventService);
/**
* Called by a scheduler without jitter to refresh all active tokens
*/
fetchActiveTokens(): Promise<void>;
getToken(secret: string): Promise<IApiToken | undefined>;
getTokenWithCache(secret: string): Promise<IApiToken | undefined>;
updateLastSeen(): Promise<void>;
getAllTokens(): Promise<IApiToken[]>;
initApiTokens(tokens: IApiTokenCreate[]): Promise<void>;
getUserForToken(secret: string): Promise<IApiUser | undefined>;
updateExpiry(secret: string, expiresAt: Date, auditUser: IAuditUser): Promise<IApiToken>;
delete(secret: string, auditUser: IAuditUser): Promise<void>;
/**
* @param newToken
* @param createdBy should be IApiUser or IUser. Still supports optional or string for backward compatibility
* @param createdByUserId still supported for backward compatibility
*/
createApiTokenWithProjects(newToken: Omit<IApiTokenCreate, 'secret'>, auditUser?: IAuditUser): Promise<IApiToken>;
private internalCreateApiTokenWithProjects;
private validateApiTokenLimit;
createMigratedProxyApiToken(newToken: Omit<IApiTokenCreate, 'secret'>): Promise<IApiToken>;
private normalizeTokenType;
private insertNewApiToken;
private findInvalidProject;
private generateSecretKey;
}
//# sourceMappingURL=api-token-service.d.ts.map