reduct-js
Version:
ReductStore Client SDK for Javascript/NodeJS/Typescript
69 lines (68 loc) • 1.54 kB
JavaScript
//#region src/messages/Token.ts
/**
* Token create request
*/
var TokenCreateRequest = class {
constructor() {
this.permissions = new TokenPermissions();
}
static serialize(data) {
return {
permissions: TokenPermissions.serialize(data.permissions),
expires_at: data.expiresAt !== void 0 ? new Date(data.expiresAt).toISOString() : void 0,
ttl: data.ttl,
ip_allowlist: data.ipAllowlist
};
}
};
/**
* Token Permissions
*/
var TokenPermissions = class {
constructor() {
this.fullAccess = false;
this.read = [];
this.write = [];
}
static parse(data) {
return {
fullAccess: data.full_access,
read: data.read,
write: data.write
};
}
static serialize(data) {
return {
full_access: data.fullAccess,
read: data.read,
write: data.write
};
}
};
/**
* Information about an access token
*/
var Token = class {
constructor() {
this.name = "";
this.createdAt = 0;
this.isProvisioned = false;
}
static parse(data) {
return {
name: data.name,
createdAt: Date.parse(data.created_at),
lastAccess: data.last_access ? Date.parse(data.last_access) : void 0,
ttl: data.ttl,
isExpired: data.is_expired,
expiresAt: data.expires_at ? Date.parse(data.expires_at) : void 0,
ipAllowlist: data.ip_allowlist,
isProvisioned: data.is_provisioned ?? false,
permissions: data.permissions ? TokenPermissions.parse(data.permissions) : void 0
};
}
};
//#endregion
exports.Token = Token;
exports.TokenCreateRequest = TokenCreateRequest;
exports.TokenPermissions = TokenPermissions;