UNPKG

@satoshibits/cache-keys

Version:
68 lines 2.68 kB
"use strict"; import { createSimpleKeyFactory, createKeyFactory, createPaginatedKeyFactory } from '../factory.mjs'; import { sanitizeKeyComponent, splitKeyComponents } from '../sanitizer.mjs'; /** * User-related cache key factories */ export var userKeys = { /** * User profile key * @example userKeys.profile.key('507f1f77bcf86cd799439011') * @returns 'user:profile:507f1f77bcf86cd799439011' */ profile: createSimpleKeyFactory('user', 'profile'), /** * User settings key * @example userKeys.settings.key('507f1f77bcf86cd799439011') * @returns 'user:settings:507f1f77bcf86cd799439011' */ settings: createSimpleKeyFactory('user', 'settings'), /** * User session key * @example userKeys.session.key('507f1f77bcf86cd799439011', 'session123') * @returns 'user:session:507f1f77bcf86cd799439011:session123' */ session: createKeyFactory('user', 'session', function (userId, sessionId) { return "".concat(sanitizeKeyComponent(String(userId)), ":").concat(sanitizeKeyComponent(sessionId)); }, function (suffix) { var _a, _b; var parts = splitKeyComponents(suffix, ':', true); if (parts.length !== 2) return null; return { userId: (_a = parts[0]) !== null && _a !== void 0 ? _a : '', sessionId: (_b = parts[1]) !== null && _b !== void 0 ? _b : '' }; }), /** * User permissions key * @example userKeys.permissions.key('507f1f77bcf86cd799439011') * @returns 'user:permissions:507f1f77bcf86cd799439011' */ permissions: createSimpleKeyFactory('user', 'permissions'), /** * User activity feed paginated key * @example userKeys.activity.key('507f1f77bcf86cd799439011', 1, 20) * @returns 'user:activity:507f1f77bcf86cd799439011:page_1:limit_20' */ activity: createPaginatedKeyFactory('user', 'activity'), /** * User preferences key * @example userKeys.preferences.key('507f1f77bcf86cd799439011') * @returns 'user:preferences:507f1f77bcf86cd799439011' */ preferences: createSimpleKeyFactory('user', 'preferences'), /** * User notification settings key * @example userKeys.notifications.key('507f1f77bcf86cd799439011') * @returns 'user:notifications:507f1f77bcf86cd799439011' */ notifications: createSimpleKeyFactory('user', 'notifications'), /** * User API token key * @example userKeys.apiTokens.key('507f1f77bcf86cd799439011') * @returns 'user:apiTokens:507f1f77bcf86cd799439011' */ apiTokens: createSimpleKeyFactory('user', 'apiTokens'), }; //# sourceMappingURL=user.mjs.map