cnpmcore
Version:
51 lines (50 loc) • 1.51 kB
TypeScript
import { Entity, EntityData } from './Entity';
import { EasyData } from '../util/EntityUtil';
export declare enum TokenType {
granular = "granular",
classic = "classic"
}
interface BaseTokenData extends EntityData {
tokenId: string;
tokenMark: string;
tokenKey: string;
cidrWhitelist?: string[];
userId: string;
isReadonly?: boolean;
type?: TokenType | string;
lastUsedAt?: Date;
}
interface ClassicTokenData extends BaseTokenData {
isAutomation?: boolean;
}
interface GranularTokenData extends BaseTokenData {
name: string;
description?: string;
allowedScopes?: string[];
allowedPackages?: string[];
expires: number;
expiredAt: Date;
}
type TokenData = ClassicTokenData | GranularTokenData;
export declare function isGranularToken(data: TokenData | Token): data is GranularTokenData;
export declare class Token extends Entity {
readonly tokenId: string;
readonly tokenMark: string;
readonly tokenKey: string;
readonly cidrWhitelist: string[];
readonly userId: string;
readonly isReadonly: boolean;
readonly isAutomation: boolean;
readonly type?: TokenType;
readonly name?: string;
readonly description?: string;
readonly allowedScopes?: string[];
readonly expiredAt?: Date;
readonly expires?: number;
lastUsedAt: Date | null;
allowedPackages?: string[];
token?: string;
constructor(data: TokenData);
static create(data: EasyData<TokenData, 'tokenId'>): Token;
}
export {};