@23blocks/block-authentication 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/authentication.block.js +102 -0
- package/dist/lib/authentication.block.js.map +1 -0
- package/dist/lib/mappers/api-key.mapper.js +57 -0
- package/dist/lib/mappers/api-key.mapper.js.map +1 -0
- package/dist/lib/mappers/app.mapper.js +98 -0
- package/dist/lib/mappers/app.mapper.js.map +1 -0
- package/dist/lib/mappers/company.mapper.js +128 -0
- package/dist/lib/mappers/company.mapper.js.map +1 -0
- package/dist/lib/mappers/geography.mapper.js +129 -0
- package/dist/lib/mappers/geography.mapper.js.map +1 -0
- package/dist/lib/mappers/guest.mapper.js +176 -0
- package/dist/lib/mappers/guest.mapper.js.map +1 -0
- package/dist/lib/mappers/index.js +18 -0
- package/dist/lib/mappers/index.js.map +1 -0
- package/dist/lib/mappers/subscription.mapper.js +134 -0
- package/dist/lib/mappers/subscription.mapper.js.map +1 -0
- package/dist/lib/mappers/user.mapper.js +163 -0
- package/dist/lib/mappers/user.mapper.js.map +1 -0
- package/dist/lib/mappers/utils.js +54 -0
- package/dist/lib/mappers/utils.js.map +1 -0
- package/dist/lib/services/api-keys.service.js +93 -0
- package/dist/lib/services/api-keys.service.js.map +1 -0
- package/dist/lib/services/apps.service.js +139 -0
- package/dist/lib/services/apps.service.js.map +1 -0
- package/dist/lib/services/auth.service.js +147 -0
- package/dist/lib/services/auth.service.js.map +1 -0
- package/dist/lib/services/geography.service.js +151 -0
- package/dist/lib/services/geography.service.js.map +1 -0
- package/dist/lib/services/guests.service.js +219 -0
- package/dist/lib/services/guests.service.js.map +1 -0
- package/dist/lib/services/index.js +14 -0
- package/dist/lib/services/index.js.map +1 -0
- package/dist/lib/services/roles.service.js +91 -0
- package/dist/lib/services/roles.service.js.map +1 -0
- package/dist/lib/services/subscriptions.service.js +146 -0
- package/dist/lib/services/subscriptions.service.js.map +1 -0
- package/dist/lib/services/users.service.js +116 -0
- package/dist/lib/services/users.service.js.map +1 -0
- package/dist/lib/types/api-key.js +5 -0
- package/dist/lib/types/api-key.js.map +1 -0
- package/dist/lib/types/app.js +5 -0
- package/dist/lib/types/app.js.map +1 -0
- package/dist/lib/types/auth.js +5 -0
- package/dist/lib/types/auth.js.map +1 -0
- package/dist/lib/types/company.js +5 -0
- package/dist/lib/types/company.js.map +1 -0
- package/dist/lib/types/geography.js +5 -0
- package/dist/lib/types/geography.js.map +1 -0
- package/dist/lib/types/guest.js +5 -0
- package/dist/lib/types/guest.js.map +1 -0
- package/dist/lib/types/index.js +4 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/types/subscription.js +5 -0
- package/dist/lib/types/subscription.js.map +1 -0
- package/dist/lib/types/user.js +13 -0
- package/dist/lib/types/user.js.map +1 -0
- package/package.json +64 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Block factory and types
|
|
2
|
+
export { createAuthenticationBlock, authenticationBlockMetadata } from './lib/authentication.block.js';
|
|
3
|
+
// Domain types
|
|
4
|
+
export { getFullName } from './lib/types/index.js';
|
|
5
|
+
// Mappers (for custom decoding)
|
|
6
|
+
export { userMapper, roleMapper, permissionMapper, userAvatarMapper, userProfileMapper, companyMapper, companyDetailMapper, companyBlockMapper, companyKeyMapper, tenantMapper, apiKeyMapper, apiKeyWithSecretMapper } from './lib/mappers/index.js';
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Block factory and types\nexport {\n createAuthenticationBlock,\n type AuthenticationBlock,\n type AuthenticationBlockConfig,\n authenticationBlockMetadata,\n} from './lib/authentication.block.js';\n\n// Domain types\nexport {\n // User types\n type User,\n type Role,\n type Permission,\n type UserAvatar,\n type UserProfile,\n getFullName,\n\n // Company types\n type Company,\n type CompanyDetail,\n type CompanyBlock,\n type CompanyKey,\n type Tenant,\n\n // Auth types\n type SignInRequest,\n type SignInResponse,\n type SignUpRequest,\n type SignUpResponse,\n type PasswordResetRequest,\n type PasswordUpdateRequest,\n type TokenValidationResponse,\n type RefreshTokenRequest,\n type RefreshTokenResponse,\n type OAuthSignInRequest,\n type MagicLinkRequest,\n type MagicLinkVerifyRequest,\n type MfaSetupResponse,\n type MfaVerifyRequest,\n type InvitationRequest,\n type AcceptInvitationRequest,\n type AuthHeaders,\n\n // API Key types\n type ApiKey,\n type ApiKeyWithSecret,\n type CreateApiKeyRequest,\n type UpdateApiKeyRequest,\n type RevokeApiKeyRequest,\n} from './lib/types/index.js';\n\n// Services (for advanced usage)\nexport {\n type AuthService,\n type UsersService,\n type RolesService,\n type ApiKeysService,\n type UpdateUserRequest,\n type UpdateProfileRequest,\n type CreateRoleRequest,\n type UpdateRoleRequest,\n type ApiKeyUsageStats,\n} from './lib/services/index.js';\n\n// Mappers (for custom decoding)\nexport {\n userMapper,\n roleMapper,\n permissionMapper,\n userAvatarMapper,\n userProfileMapper,\n companyMapper,\n companyDetailMapper,\n companyBlockMapper,\n companyKeyMapper,\n tenantMapper,\n apiKeyMapper,\n apiKeyWithSecretMapper,\n} from './lib/mappers/index.js';\n"],"names":["createAuthenticationBlock","authenticationBlockMetadata","getFullName","userMapper","roleMapper","permissionMapper","userAvatarMapper","userProfileMapper","companyMapper","companyDetailMapper","companyBlockMapper","companyKeyMapper","tenantMapper","apiKeyMapper","apiKeyWithSecretMapper"],"rangeMappings":";;;;;","mappings":"AAAA,0BAA0B;AAC1B,SACEA,yBAAyB,EAGzBC,2BAA2B,QACtB,gCAAgC;AAEvC,eAAe;AACf,SAOEC,WAAW,QAkCN,uBAAuB;AAe9B,gCAAgC;AAChC,SACEC,UAAU,EACVC,UAAU,EACVC,gBAAgB,EAChBC,gBAAgB,EAChBC,iBAAiB,EACjBC,aAAa,EACbC,mBAAmB,EACnBC,kBAAkB,EAClBC,gBAAgB,EAChBC,YAAY,EACZC,YAAY,EACZC,sBAAsB,QACjB,yBAAyB"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { createAuthService } from './services/auth.service.js';
|
|
2
|
+
import { createUsersService } from './services/users.service.js';
|
|
3
|
+
import { createRolesService } from './services/roles.service.js';
|
|
4
|
+
import { createApiKeysService } from './services/api-keys.service.js';
|
|
5
|
+
import { createAppsService, createBlocksService, createServicesRegistryService } from './services/apps.service.js';
|
|
6
|
+
import { createSubscriptionModelsService, createUserSubscriptionsService, createCompanySubscriptionsService } from './services/subscriptions.service.js';
|
|
7
|
+
import { createCountriesService, createStatesService, createCountiesService, createCitiesService, createCurrenciesService } from './services/geography.service.js';
|
|
8
|
+
import { createGuestsService, createMagicLinksService, createRefreshTokensService, createUserDevicesService, createTenantUsersService, createMailTemplatesService } from './services/guests.service.js';
|
|
9
|
+
/**
|
|
10
|
+
* Create the Authentication block
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { createAuthenticationBlock } from '@23blocks/block-authentication';
|
|
15
|
+
* import { createHttpTransport } from '@23blocks/transport-http';
|
|
16
|
+
*
|
|
17
|
+
* const transport = createHttpTransport({
|
|
18
|
+
* baseUrl: 'https://api.example.com',
|
|
19
|
+
* headers: () => ({
|
|
20
|
+
* 'Authorization': `Bearer ${getToken()}`,
|
|
21
|
+
* 'appid': 'your-app-id',
|
|
22
|
+
* }),
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* const auth = createAuthenticationBlock(transport, { appId: 'your-app-id' });
|
|
26
|
+
*
|
|
27
|
+
* // Sign in
|
|
28
|
+
* const { user, accessToken } = await auth.auth.signIn({
|
|
29
|
+
* email: 'user@example.com',
|
|
30
|
+
* password: 'password',
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* // List users
|
|
34
|
+
* const users = await auth.users.list({ page: 1, perPage: 20 });
|
|
35
|
+
*
|
|
36
|
+
* // Get roles
|
|
37
|
+
* const roles = await auth.roles.list();
|
|
38
|
+
* ```
|
|
39
|
+
*/ export function createAuthenticationBlock(transport, config) {
|
|
40
|
+
return {
|
|
41
|
+
auth: createAuthService(transport, config),
|
|
42
|
+
users: createUsersService(transport, config),
|
|
43
|
+
roles: createRolesService(transport, config),
|
|
44
|
+
apiKeys: createApiKeysService(transport, config),
|
|
45
|
+
apps: createAppsService(transport, config),
|
|
46
|
+
blocks: createBlocksService(transport, config),
|
|
47
|
+
services: createServicesRegistryService(transport, config),
|
|
48
|
+
subscriptionModels: createSubscriptionModelsService(transport, config),
|
|
49
|
+
userSubscriptions: createUserSubscriptionsService(transport, config),
|
|
50
|
+
companySubscriptions: createCompanySubscriptionsService(transport, config),
|
|
51
|
+
countries: createCountriesService(transport, config),
|
|
52
|
+
states: createStatesService(transport, config),
|
|
53
|
+
counties: createCountiesService(transport, config),
|
|
54
|
+
cities: createCitiesService(transport, config),
|
|
55
|
+
currencies: createCurrenciesService(transport, config),
|
|
56
|
+
guests: createGuestsService(transport, config),
|
|
57
|
+
magicLinks: createMagicLinksService(transport, config),
|
|
58
|
+
refreshTokens: createRefreshTokensService(transport, config),
|
|
59
|
+
userDevices: createUserDevicesService(transport, config),
|
|
60
|
+
tenantUsers: createTenantUsersService(transport, config),
|
|
61
|
+
mailTemplates: createMailTemplatesService(transport, config)
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Block metadata
|
|
66
|
+
*/ export const authenticationBlockMetadata = {
|
|
67
|
+
name: 'authentication',
|
|
68
|
+
version: '0.0.1',
|
|
69
|
+
description: 'Authentication, users, roles, API keys, subscriptions, geography, and device management',
|
|
70
|
+
resourceTypes: [
|
|
71
|
+
'User',
|
|
72
|
+
'Role',
|
|
73
|
+
'Permission',
|
|
74
|
+
'UserAvatar',
|
|
75
|
+
'UserProfile',
|
|
76
|
+
'Company',
|
|
77
|
+
'CompanyDetail',
|
|
78
|
+
'CompanyBlock',
|
|
79
|
+
'CompanyKey',
|
|
80
|
+
'Tenant',
|
|
81
|
+
'ApiKey',
|
|
82
|
+
'App',
|
|
83
|
+
'Block',
|
|
84
|
+
'Service',
|
|
85
|
+
'SubscriptionModel',
|
|
86
|
+
'UserSubscription',
|
|
87
|
+
'CompanySubscription',
|
|
88
|
+
'Country',
|
|
89
|
+
'State',
|
|
90
|
+
'County',
|
|
91
|
+
'City',
|
|
92
|
+
'Currency',
|
|
93
|
+
'Guest',
|
|
94
|
+
'MagicLink',
|
|
95
|
+
'RefreshToken',
|
|
96
|
+
'UserDevice',
|
|
97
|
+
'TenantUser',
|
|
98
|
+
'MailTemplate'
|
|
99
|
+
]
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=authentication.block.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/authentication.block.ts"],"sourcesContent":["import type { Transport, BlockConfig } from '@23blocks/contracts';\nimport { createAuthService, type AuthService } from './services/auth.service.js';\nimport { createUsersService, type UsersService } from './services/users.service.js';\nimport { createRolesService, type RolesService } from './services/roles.service.js';\nimport { createApiKeysService, type ApiKeysService } from './services/api-keys.service.js';\nimport {\n createAppsService,\n createBlocksService,\n createServicesRegistryService,\n type AppsService,\n type BlocksService,\n type ServicesRegistryService,\n} from './services/apps.service.js';\nimport {\n createSubscriptionModelsService,\n createUserSubscriptionsService,\n createCompanySubscriptionsService,\n type SubscriptionModelsService,\n type UserSubscriptionsService,\n type CompanySubscriptionsService,\n} from './services/subscriptions.service.js';\nimport {\n createCountriesService,\n createStatesService,\n createCountiesService,\n createCitiesService,\n createCurrenciesService,\n type CountriesService,\n type StatesService,\n type CountiesService,\n type CitiesService,\n type CurrenciesService,\n} from './services/geography.service.js';\nimport {\n createGuestsService,\n createMagicLinksService,\n createRefreshTokensService,\n createUserDevicesService,\n createTenantUsersService,\n createMailTemplatesService,\n type GuestsService,\n type MagicLinksService,\n type RefreshTokensService,\n type UserDevicesService,\n type TenantUsersService,\n type MailTemplatesService,\n} from './services/guests.service.js';\n\n/**\n * Configuration for the Authentication block\n */\nexport interface AuthenticationBlockConfig extends BlockConfig {\n /** Application ID */\n appId: string;\n /** Tenant ID (optional, for multi-tenant setups) */\n tenantId?: string;\n}\n\n/**\n * Authentication block interface\n */\nexport interface AuthenticationBlock {\n /**\n * Authentication operations (signIn, signUp, signOut, etc.)\n */\n auth: AuthService;\n\n /**\n * User management operations\n */\n users: UsersService;\n\n /**\n * Role and permission management\n */\n roles: RolesService;\n\n /**\n * API key management\n */\n apiKeys: ApiKeysService;\n\n /**\n * Application management\n */\n apps: AppsService;\n\n /**\n * Block (feature) management for companies\n */\n blocks: BlocksService;\n\n /**\n * Service registry\n */\n services: ServicesRegistryService;\n\n /**\n * Subscription model definitions\n */\n subscriptionModels: SubscriptionModelsService;\n\n /**\n * User subscription management\n */\n userSubscriptions: UserSubscriptionsService;\n\n /**\n * Company subscription management\n */\n companySubscriptions: CompanySubscriptionsService;\n\n /**\n * Countries lookup\n */\n countries: CountriesService;\n\n /**\n * States/provinces lookup\n */\n states: StatesService;\n\n /**\n * Counties lookup\n */\n counties: CountiesService;\n\n /**\n * Cities lookup\n */\n cities: CitiesService;\n\n /**\n * Currencies lookup\n */\n currencies: CurrenciesService;\n\n /**\n * Guest (anonymous user) tracking\n */\n guests: GuestsService;\n\n /**\n * Magic link management\n */\n magicLinks: MagicLinksService;\n\n /**\n * Refresh token management\n */\n refreshTokens: RefreshTokensService;\n\n /**\n * User device management\n */\n userDevices: UserDevicesService;\n\n /**\n * Tenant user context\n */\n tenantUsers: TenantUsersService;\n\n /**\n * Mail template management\n */\n mailTemplates: MailTemplatesService;\n}\n\n/**\n * Create the Authentication block\n *\n * @example\n * ```typescript\n * import { createAuthenticationBlock } from '@23blocks/block-authentication';\n * import { createHttpTransport } from '@23blocks/transport-http';\n *\n * const transport = createHttpTransport({\n * baseUrl: 'https://api.example.com',\n * headers: () => ({\n * 'Authorization': `Bearer ${getToken()}`,\n * 'appid': 'your-app-id',\n * }),\n * });\n *\n * const auth = createAuthenticationBlock(transport, { appId: 'your-app-id' });\n *\n * // Sign in\n * const { user, accessToken } = await auth.auth.signIn({\n * email: 'user@example.com',\n * password: 'password',\n * });\n *\n * // List users\n * const users = await auth.users.list({ page: 1, perPage: 20 });\n *\n * // Get roles\n * const roles = await auth.roles.list();\n * ```\n */\nexport function createAuthenticationBlock(\n transport: Transport,\n config: AuthenticationBlockConfig\n): AuthenticationBlock {\n return {\n auth: createAuthService(transport, config),\n users: createUsersService(transport, config),\n roles: createRolesService(transport, config),\n apiKeys: createApiKeysService(transport, config),\n apps: createAppsService(transport, config),\n blocks: createBlocksService(transport, config),\n services: createServicesRegistryService(transport, config),\n subscriptionModels: createSubscriptionModelsService(transport, config),\n userSubscriptions: createUserSubscriptionsService(transport, config),\n companySubscriptions: createCompanySubscriptionsService(transport, config),\n countries: createCountriesService(transport, config),\n states: createStatesService(transport, config),\n counties: createCountiesService(transport, config),\n cities: createCitiesService(transport, config),\n currencies: createCurrenciesService(transport, config),\n guests: createGuestsService(transport, config),\n magicLinks: createMagicLinksService(transport, config),\n refreshTokens: createRefreshTokensService(transport, config),\n userDevices: createUserDevicesService(transport, config),\n tenantUsers: createTenantUsersService(transport, config),\n mailTemplates: createMailTemplatesService(transport, config),\n };\n}\n\n/**\n * Block metadata\n */\nexport const authenticationBlockMetadata = {\n name: 'authentication',\n version: '0.0.1',\n description: 'Authentication, users, roles, API keys, subscriptions, geography, and device management',\n resourceTypes: [\n 'User', 'Role', 'Permission', 'UserAvatar', 'UserProfile',\n 'Company', 'CompanyDetail', 'CompanyBlock', 'CompanyKey', 'Tenant',\n 'ApiKey', 'App', 'Block', 'Service',\n 'SubscriptionModel', 'UserSubscription', 'CompanySubscription',\n 'Country', 'State', 'County', 'City', 'Currency',\n 'Guest', 'MagicLink', 'RefreshToken', 'UserDevice', 'TenantUser', 'MailTemplate',\n ],\n};\n"],"names":["createAuthService","createUsersService","createRolesService","createApiKeysService","createAppsService","createBlocksService","createServicesRegistryService","createSubscriptionModelsService","createUserSubscriptionsService","createCompanySubscriptionsService","createCountriesService","createStatesService","createCountiesService","createCitiesService","createCurrenciesService","createGuestsService","createMagicLinksService","createRefreshTokensService","createUserDevicesService","createTenantUsersService","createMailTemplatesService","createAuthenticationBlock","transport","config","auth","users","roles","apiKeys","apps","blocks","services","subscriptionModels","userSubscriptions","companySubscriptions","countries","states","counties","cities","currencies","guests","magicLinks","refreshTokens","userDevices","tenantUsers","mailTemplates","authenticationBlockMetadata","name","version","description","resourceTypes"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SAASA,iBAAiB,QAA0B,6BAA6B;AACjF,SAASC,kBAAkB,QAA2B,8BAA8B;AACpF,SAASC,kBAAkB,QAA2B,8BAA8B;AACpF,SAASC,oBAAoB,QAA6B,iCAAiC;AAC3F,SACEC,iBAAiB,EACjBC,mBAAmB,EACnBC,6BAA6B,QAIxB,6BAA6B;AACpC,SACEC,+BAA+B,EAC/BC,8BAA8B,EAC9BC,iCAAiC,QAI5B,sCAAsC;AAC7C,SACEC,sBAAsB,EACtBC,mBAAmB,EACnBC,qBAAqB,EACrBC,mBAAmB,EACnBC,uBAAuB,QAMlB,kCAAkC;AACzC,SACEC,mBAAmB,EACnBC,uBAAuB,EACvBC,0BAA0B,EAC1BC,wBAAwB,EACxBC,wBAAwB,EACxBC,0BAA0B,QAOrB,+BAA+B;AA0HtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BC,GACD,OAAO,SAASC,0BACdC,SAAoB,EACpBC,MAAiC;IAEjC,OAAO;QACLC,MAAMxB,kBAAkBsB,WAAWC;QACnCE,OAAOxB,mBAAmBqB,WAAWC;QACrCG,OAAOxB,mBAAmBoB,WAAWC;QACrCI,SAASxB,qBAAqBmB,WAAWC;QACzCK,MAAMxB,kBAAkBkB,WAAWC;QACnCM,QAAQxB,oBAAoBiB,WAAWC;QACvCO,UAAUxB,8BAA8BgB,WAAWC;QACnDQ,oBAAoBxB,gCAAgCe,WAAWC;QAC/DS,mBAAmBxB,+BAA+Bc,WAAWC;QAC7DU,sBAAsBxB,kCAAkCa,WAAWC;QACnEW,WAAWxB,uBAAuBY,WAAWC;QAC7CY,QAAQxB,oBAAoBW,WAAWC;QACvCa,UAAUxB,sBAAsBU,WAAWC;QAC3Cc,QAAQxB,oBAAoBS,WAAWC;QACvCe,YAAYxB,wBAAwBQ,WAAWC;QAC/CgB,QAAQxB,oBAAoBO,WAAWC;QACvCiB,YAAYxB,wBAAwBM,WAAWC;QAC/CkB,eAAexB,2BAA2BK,WAAWC;QACrDmB,aAAaxB,yBAAyBI,WAAWC;QACjDoB,aAAaxB,yBAAyBG,WAAWC;QACjDqB,eAAexB,2BAA2BE,WAAWC;IACvD;AACF;AAEA;;CAEC,GACD,OAAO,MAAMsB,8BAA8B;IACzCC,MAAM;IACNC,SAAS;IACTC,aAAa;IACbC,eAAe;QACb;QAAQ;QAAQ;QAAc;QAAc;QAC5C;QAAW;QAAiB;QAAgB;QAAc;QAC1D;QAAU;QAAO;QAAS;QAC1B;QAAqB;QAAoB;QACzC;QAAW;QAAS;QAAU;QAAQ;QACtC;QAAS;QAAa;QAAgB;QAAc;QAAc;KACnE;AACH,EAAE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { _ as _extends } from "@swc/helpers/_/_extends";
|
|
2
|
+
import { parseDate, parseString, parseBoolean, parseStringArray, parseNumber } from './utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* API Key mapper
|
|
5
|
+
*/ export const apiKeyMapper = {
|
|
6
|
+
type: 'ApiKey',
|
|
7
|
+
map (resource, _included) {
|
|
8
|
+
var _resource_attributes;
|
|
9
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
10
|
+
var _parseString, _parseString1, _parseString2, _attrs_status, _parseNumber, _parseDate, _parseDate1, _parseNumber1, _parseNumber2, _parseNumber3;
|
|
11
|
+
return {
|
|
12
|
+
id: resource.id,
|
|
13
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
14
|
+
keyId: (_parseString1 = parseString(attrs.key_id)) != null ? _parseString1 : '',
|
|
15
|
+
name: (_parseString2 = parseString(attrs.name)) != null ? _parseString2 : '',
|
|
16
|
+
description: parseString(attrs.description),
|
|
17
|
+
status: (_attrs_status = attrs.status) != null ? _attrs_status : 'active',
|
|
18
|
+
serviceAccount: parseBoolean(attrs.service_account),
|
|
19
|
+
scopes: parseStringArray(attrs.scopes),
|
|
20
|
+
expiresAt: parseDate(attrs.expires_at),
|
|
21
|
+
rateLimitPerMinute: parseNumber(attrs.rate_limit_per_minute),
|
|
22
|
+
rateLimitPerHour: parseNumber(attrs.rate_limit_per_hour),
|
|
23
|
+
rateLimitPerDay: parseNumber(attrs.rate_limit_per_day),
|
|
24
|
+
allowedOrigins: parseStringArray(attrs.allowed_origins),
|
|
25
|
+
allowedIps: parseStringArray(attrs.allowed_ips),
|
|
26
|
+
lastUsedAt: parseDate(attrs.last_used_at),
|
|
27
|
+
usageCount: (_parseNumber = parseNumber(attrs.usage_count)) != null ? _parseNumber : 0,
|
|
28
|
+
revokedAt: parseDate(attrs.revoked_at),
|
|
29
|
+
revocationReason: parseString(attrs.revocation_reason),
|
|
30
|
+
payload: attrs.payload,
|
|
31
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
32
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
33
|
+
// Computed attributes
|
|
34
|
+
isExpired: parseBoolean(attrs.is_expired),
|
|
35
|
+
daysUntilExpiry: parseNumber(attrs.days_until_expiry),
|
|
36
|
+
usageToday: (_parseNumber1 = parseNumber(attrs.usage_today)) != null ? _parseNumber1 : 0,
|
|
37
|
+
usageThisWeek: (_parseNumber2 = parseNumber(attrs.usage_this_week)) != null ? _parseNumber2 : 0,
|
|
38
|
+
usageThisMonth: (_parseNumber3 = parseNumber(attrs.usage_this_month)) != null ? _parseNumber3 : 0
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* API Key with secret mapper (only used on create/regenerate)
|
|
44
|
+
*/ export const apiKeyWithSecretMapper = {
|
|
45
|
+
type: 'ApiKey',
|
|
46
|
+
map (resource, included) {
|
|
47
|
+
var _resource_attributes;
|
|
48
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
49
|
+
const baseKey = apiKeyMapper.map(resource, included);
|
|
50
|
+
var _parseString;
|
|
51
|
+
return _extends({}, baseKey, {
|
|
52
|
+
secretKey: (_parseString = parseString(attrs.secret_key)) != null ? _parseString : ''
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=api-key.mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/mappers/api-key.mapper.ts"],"sourcesContent":["import type { ResourceMapper, IncludedMap, JsonApiResource } from '@23blocks/jsonapi-codec';\nimport type { ApiKey, ApiKeyWithSecret } from '../types/index.js';\nimport { parseDate, parseString, parseBoolean, parseStringArray, parseNumber } from './utils.js';\n\n/**\n * API Key mapper\n */\nexport const apiKeyMapper: ResourceMapper<ApiKey> = {\n type: 'ApiKey',\n\n map(resource: JsonApiResource, _included: IncludedMap): ApiKey {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n keyId: parseString(attrs.key_id) ?? '',\n name: parseString(attrs.name) ?? '',\n description: parseString(attrs.description),\n status: (attrs.status as ApiKey['status']) ?? 'active',\n serviceAccount: parseBoolean(attrs.service_account),\n scopes: parseStringArray(attrs.scopes),\n expiresAt: parseDate(attrs.expires_at),\n rateLimitPerMinute: parseNumber(attrs.rate_limit_per_minute),\n rateLimitPerHour: parseNumber(attrs.rate_limit_per_hour),\n rateLimitPerDay: parseNumber(attrs.rate_limit_per_day),\n allowedOrigins: parseStringArray(attrs.allowed_origins),\n allowedIps: parseStringArray(attrs.allowed_ips),\n lastUsedAt: parseDate(attrs.last_used_at),\n usageCount: parseNumber(attrs.usage_count) ?? 0,\n revokedAt: parseDate(attrs.revoked_at),\n revocationReason: parseString(attrs.revocation_reason),\n payload: attrs.payload as Record<string, unknown> | null,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n\n // Computed attributes\n isExpired: parseBoolean(attrs.is_expired),\n daysUntilExpiry: parseNumber(attrs.days_until_expiry),\n usageToday: parseNumber(attrs.usage_today) ?? 0,\n usageThisWeek: parseNumber(attrs.usage_this_week) ?? 0,\n usageThisMonth: parseNumber(attrs.usage_this_month) ?? 0,\n };\n },\n};\n\n/**\n * API Key with secret mapper (only used on create/regenerate)\n */\nexport const apiKeyWithSecretMapper: ResourceMapper<ApiKeyWithSecret> = {\n type: 'ApiKey',\n\n map(resource: JsonApiResource, included: IncludedMap): ApiKeyWithSecret {\n const attrs = resource.attributes ?? {};\n const baseKey = apiKeyMapper.map(resource, included);\n\n return {\n ...baseKey,\n secretKey: parseString(attrs.secret_key) ?? '',\n };\n },\n};\n"],"names":["parseDate","parseString","parseBoolean","parseStringArray","parseNumber","apiKeyMapper","type","map","resource","_included","attrs","attributes","id","uniqueId","unique_id","keyId","key_id","name","description","status","serviceAccount","service_account","scopes","expiresAt","expires_at","rateLimitPerMinute","rate_limit_per_minute","rateLimitPerHour","rate_limit_per_hour","rateLimitPerDay","rate_limit_per_day","allowedOrigins","allowed_origins","allowedIps","allowed_ips","lastUsedAt","last_used_at","usageCount","usage_count","revokedAt","revoked_at","revocationReason","revocation_reason","payload","createdAt","created_at","Date","updatedAt","updated_at","isExpired","is_expired","daysUntilExpiry","days_until_expiry","usageToday","usage_today","usageThisWeek","usage_this_week","usageThisMonth","usage_this_month","apiKeyWithSecretMapper","included","baseKey","secretKey","secret_key"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAEA,SAASA,SAAS,EAAEC,WAAW,EAAEC,YAAY,EAAEC,gBAAgB,EAAEC,WAAW,QAAQ,aAAa;AAEjG;;CAEC,GACD,OAAO,MAAMC,eAAuC;IAClDC,MAAM;IAENC,KAAIC,QAAyB,EAAEC,SAAsB;YACrCD;QAAd,MAAME,QAAQF,CAAAA,uBAAAA,SAASG,UAAU,YAAnBH,uBAAuB,CAAC;YAI1BP,cACHA,eACDA,eAEGS,eAUGN,cAIDJ,YACAA,aAKCI,eACGA,eACCA;QA5BlB,OAAO;YACLQ,IAAIJ,SAASI,EAAE;YACfC,UAAUZ,CAAAA,eAAAA,YAAYS,MAAMI,SAAS,aAA3Bb,eAAgCO,SAASI,EAAE;YACrDG,OAAOd,CAAAA,gBAAAA,YAAYS,MAAMM,MAAM,aAAxBf,gBAA6B;YACpCgB,MAAMhB,CAAAA,gBAAAA,YAAYS,MAAMO,IAAI,aAAtBhB,gBAA2B;YACjCiB,aAAajB,YAAYS,MAAMQ,WAAW;YAC1CC,QAAQ,CAACT,gBAAAA,MAAMS,MAAM,YAAZT,gBAAqC;YAC9CU,gBAAgBlB,aAAaQ,MAAMW,eAAe;YAClDC,QAAQnB,iBAAiBO,MAAMY,MAAM;YACrCC,WAAWvB,UAAUU,MAAMc,UAAU;YACrCC,oBAAoBrB,YAAYM,MAAMgB,qBAAqB;YAC3DC,kBAAkBvB,YAAYM,MAAMkB,mBAAmB;YACvDC,iBAAiBzB,YAAYM,MAAMoB,kBAAkB;YACrDC,gBAAgB5B,iBAAiBO,MAAMsB,eAAe;YACtDC,YAAY9B,iBAAiBO,MAAMwB,WAAW;YAC9CC,YAAYnC,UAAUU,MAAM0B,YAAY;YACxCC,YAAYjC,CAAAA,eAAAA,YAAYM,MAAM4B,WAAW,aAA7BlC,eAAkC;YAC9CmC,WAAWvC,UAAUU,MAAM8B,UAAU;YACrCC,kBAAkBxC,YAAYS,MAAMgC,iBAAiB;YACrDC,SAASjC,MAAMiC,OAAO;YACtBC,WAAW5C,CAAAA,aAAAA,UAAUU,MAAMmC,UAAU,aAA1B7C,aAA+B,IAAI8C;YAC9CC,WAAW/C,CAAAA,cAAAA,UAAUU,MAAMsC,UAAU,aAA1BhD,cAA+B,IAAI8C;YAE9C,sBAAsB;YACtBG,WAAW/C,aAAaQ,MAAMwC,UAAU;YACxCC,iBAAiB/C,YAAYM,MAAM0C,iBAAiB;YACpDC,YAAYjD,CAAAA,gBAAAA,YAAYM,MAAM4C,WAAW,aAA7BlD,gBAAkC;YAC9CmD,eAAenD,CAAAA,gBAAAA,YAAYM,MAAM8C,eAAe,aAAjCpD,gBAAsC;YACrDqD,gBAAgBrD,CAAAA,gBAAAA,YAAYM,MAAMgD,gBAAgB,aAAlCtD,gBAAuC;QACzD;IACF;AACF,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMuD,yBAA2D;IACtErD,MAAM;IAENC,KAAIC,QAAyB,EAAEoD,QAAqB;YACpCpD;QAAd,MAAME,QAAQF,CAAAA,uBAAAA,SAASG,UAAU,YAAnBH,uBAAuB,CAAC;QACtC,MAAMqD,UAAUxD,aAAaE,GAAG,CAACC,UAAUoD;YAI9B3D;QAFb,OAAO,aACF4D;YACHC,WAAW7D,CAAAA,eAAAA,YAAYS,MAAMqD,UAAU,aAA5B9D,eAAiC;;IAEhD;AACF,EAAE"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { parseString, parseDate, parseNumber, parseBoolean, parseStringArray } from './utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Mapper for App resources
|
|
4
|
+
*/ export const appMapper = {
|
|
5
|
+
type: 'apps',
|
|
6
|
+
map (resource, _included) {
|
|
7
|
+
var _resource_attributes;
|
|
8
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
9
|
+
var _parseString, _parseDate, _parseDate1, _attrs_name, _attrs_app_type, _parseString1, _parseNumber, _parseNumber1, _parseNumber2, _parseNumber3, _parseNumber4;
|
|
10
|
+
return {
|
|
11
|
+
id: resource.id,
|
|
12
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
13
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
14
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
15
|
+
name: String((_attrs_name = attrs.name) != null ? _attrs_name : ''),
|
|
16
|
+
description: parseString(attrs.description),
|
|
17
|
+
appType: String((_attrs_app_type = attrs.app_type) != null ? _attrs_app_type : 'web'),
|
|
18
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
19
|
+
appIcon: parseString(attrs.app_icon),
|
|
20
|
+
oauthEnabled: parseBoolean(attrs.oauth_enabled),
|
|
21
|
+
oauthAccessTokenLifetimeHours: (_parseNumber = parseNumber(attrs.oauth_access_token_lifetime_hours)) != null ? _parseNumber : 24,
|
|
22
|
+
oauthRefreshTokenLifetimeDays: (_parseNumber1 = parseNumber(attrs.oauth_refresh_token_lifetime_days)) != null ? _parseNumber1 : 30,
|
|
23
|
+
oauthRefreshTokenRotation: parseBoolean(attrs.oauth_refresh_token_rotation),
|
|
24
|
+
oauthMaxRefreshTokensPerDevice: (_parseNumber2 = parseNumber(attrs.oauth_max_refresh_tokens_per_device)) != null ? _parseNumber2 : 5,
|
|
25
|
+
oauthDeviceManagement: parseBoolean(attrs.oauth_device_management),
|
|
26
|
+
rateLimitPerMinute: parseNumber(attrs.rate_limit_per_minute),
|
|
27
|
+
rateLimitPerHour: parseNumber(attrs.rate_limit_per_hour),
|
|
28
|
+
webhookUrl: parseString(attrs.webhook_url),
|
|
29
|
+
webhookSecret: parseString(attrs.webhook_secret),
|
|
30
|
+
allowedOrigins: parseStringArray(attrs.allowed_origins),
|
|
31
|
+
metadata: attrs.metadata,
|
|
32
|
+
payload: attrs.payload,
|
|
33
|
+
apiKeyCount: (_parseNumber3 = parseNumber(attrs.api_key_count)) != null ? _parseNumber3 : 0,
|
|
34
|
+
activeApiKeyCount: (_parseNumber4 = parseNumber(attrs.active_api_key_count)) != null ? _parseNumber4 : 0
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Mapper for Block resources
|
|
40
|
+
*/ export const blockMapper = {
|
|
41
|
+
type: 'blocks',
|
|
42
|
+
map (resource, _included) {
|
|
43
|
+
var _resource_attributes;
|
|
44
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
45
|
+
var _parseString, _parseDate, _parseDate1, _attrs_company_unique_id, _attrs_block_unique_id, _attrs_block_code, _attrs_block_name, _parseString1;
|
|
46
|
+
return {
|
|
47
|
+
id: resource.id,
|
|
48
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
49
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
50
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
51
|
+
companyUniqueId: String((_attrs_company_unique_id = attrs.company_unique_id) != null ? _attrs_company_unique_id : ''),
|
|
52
|
+
blockUniqueId: String((_attrs_block_unique_id = attrs.block_unique_id) != null ? _attrs_block_unique_id : ''),
|
|
53
|
+
blockCode: String((_attrs_block_code = attrs.block_code) != null ? _attrs_block_code : ''),
|
|
54
|
+
blockName: String((_attrs_block_name = attrs.block_name) != null ? _attrs_block_name : ''),
|
|
55
|
+
addedAt: parseDate(attrs.added_at),
|
|
56
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
57
|
+
subscriptionModel: parseString(attrs.subscription_model),
|
|
58
|
+
subscriptionPlan: parseString(attrs.subscription_plan),
|
|
59
|
+
subscriptionFee: parseNumber(attrs.subscription_fee),
|
|
60
|
+
subscriptionTaxes: parseNumber(attrs.subscription_taxes),
|
|
61
|
+
subscriptionTotal: parseNumber(attrs.subscription_total),
|
|
62
|
+
lastPaymentAt: parseDate(attrs.last_payment_at),
|
|
63
|
+
nextPaymentAt: parseDate(attrs.next_payment_at),
|
|
64
|
+
payload: attrs.payload
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Mapper for Service resources
|
|
70
|
+
*/ export const serviceMapper = {
|
|
71
|
+
type: 'services',
|
|
72
|
+
map (resource, _included) {
|
|
73
|
+
var _resource_attributes;
|
|
74
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
75
|
+
var _parseString, _parseDate, _parseDate1, _attrs_name, _attrs_code, _parseString1;
|
|
76
|
+
return {
|
|
77
|
+
id: resource.id,
|
|
78
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
79
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
80
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
81
|
+
name: String((_attrs_name = attrs.name) != null ? _attrs_name : ''),
|
|
82
|
+
code: String((_attrs_code = attrs.code) != null ? _attrs_code : ''),
|
|
83
|
+
description: parseString(attrs.description),
|
|
84
|
+
homePageUrl: parseString(attrs.home_page_url),
|
|
85
|
+
healthCheckUrl: parseString(attrs.health_check_url),
|
|
86
|
+
statusPageUrl: parseString(attrs.status_page_url),
|
|
87
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
88
|
+
registeredAt: parseDate(attrs.registered_at),
|
|
89
|
+
host: parseString(attrs.host),
|
|
90
|
+
port: parseNumber(attrs.port),
|
|
91
|
+
uri: parseString(attrs.uri),
|
|
92
|
+
groupName: parseString(attrs.group_name),
|
|
93
|
+
ipaddress: parseString(attrs.ipaddress)
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
//# sourceMappingURL=app.mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/mappers/app.mapper.ts"],"sourcesContent":["import type { ResourceMapper, IncludedMap, JsonApiResource } from '@23blocks/jsonapi-codec';\nimport type { EntityStatus } from '@23blocks/contracts';\nimport type { App, Block, Service } from '../types/index.js';\nimport {\n parseString,\n parseDate,\n parseNumber,\n parseBoolean,\n parseStringArray,\n} from './utils.js';\n\n/**\n * Mapper for App resources\n */\nexport const appMapper: ResourceMapper<App> = {\n type: 'apps',\n\n map(resource: JsonApiResource, _included: IncludedMap): App {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n name: String(attrs.name ?? ''),\n description: parseString(attrs.description),\n appType: String(attrs.app_type ?? 'web'),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n appIcon: parseString(attrs.app_icon),\n oauthEnabled: parseBoolean(attrs.oauth_enabled),\n oauthAccessTokenLifetimeHours: parseNumber(attrs.oauth_access_token_lifetime_hours) ?? 24,\n oauthRefreshTokenLifetimeDays: parseNumber(attrs.oauth_refresh_token_lifetime_days) ?? 30,\n oauthRefreshTokenRotation: parseBoolean(attrs.oauth_refresh_token_rotation),\n oauthMaxRefreshTokensPerDevice: parseNumber(attrs.oauth_max_refresh_tokens_per_device) ?? 5,\n oauthDeviceManagement: parseBoolean(attrs.oauth_device_management),\n rateLimitPerMinute: parseNumber(attrs.rate_limit_per_minute),\n rateLimitPerHour: parseNumber(attrs.rate_limit_per_hour),\n webhookUrl: parseString(attrs.webhook_url),\n webhookSecret: parseString(attrs.webhook_secret),\n allowedOrigins: parseStringArray(attrs.allowed_origins),\n metadata: attrs.metadata as Record<string, unknown> | null,\n payload: attrs.payload as Record<string, unknown> | null,\n apiKeyCount: parseNumber(attrs.api_key_count) ?? 0,\n activeApiKeyCount: parseNumber(attrs.active_api_key_count) ?? 0,\n };\n },\n};\n\n/**\n * Mapper for Block resources\n */\nexport const blockMapper: ResourceMapper<Block> = {\n type: 'blocks',\n\n map(resource: JsonApiResource, _included: IncludedMap): Block {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n companyUniqueId: String(attrs.company_unique_id ?? ''),\n blockUniqueId: String(attrs.block_unique_id ?? ''),\n blockCode: String(attrs.block_code ?? ''),\n blockName: String(attrs.block_name ?? ''),\n addedAt: parseDate(attrs.added_at),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n subscriptionModel: parseString(attrs.subscription_model),\n subscriptionPlan: parseString(attrs.subscription_plan),\n subscriptionFee: parseNumber(attrs.subscription_fee),\n subscriptionTaxes: parseNumber(attrs.subscription_taxes),\n subscriptionTotal: parseNumber(attrs.subscription_total),\n lastPaymentAt: parseDate(attrs.last_payment_at),\n nextPaymentAt: parseDate(attrs.next_payment_at),\n payload: attrs.payload as Record<string, unknown> | null,\n };\n },\n};\n\n/**\n * Mapper for Service resources\n */\nexport const serviceMapper: ResourceMapper<Service> = {\n type: 'services',\n\n map(resource: JsonApiResource, _included: IncludedMap): Service {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n name: String(attrs.name ?? ''),\n code: String(attrs.code ?? ''),\n description: parseString(attrs.description),\n homePageUrl: parseString(attrs.home_page_url),\n healthCheckUrl: parseString(attrs.health_check_url),\n statusPageUrl: parseString(attrs.status_page_url),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n registeredAt: parseDate(attrs.registered_at),\n host: parseString(attrs.host),\n port: parseNumber(attrs.port),\n uri: parseString(attrs.uri),\n groupName: parseString(attrs.group_name),\n ipaddress: parseString(attrs.ipaddress),\n };\n },\n};\n"],"names":["parseString","parseDate","parseNumber","parseBoolean","parseStringArray","appMapper","type","map","resource","_included","attrs","attributes","id","uniqueId","unique_id","createdAt","created_at","Date","updatedAt","updated_at","name","String","description","appType","app_type","status","appIcon","app_icon","oauthEnabled","oauth_enabled","oauthAccessTokenLifetimeHours","oauth_access_token_lifetime_hours","oauthRefreshTokenLifetimeDays","oauth_refresh_token_lifetime_days","oauthRefreshTokenRotation","oauth_refresh_token_rotation","oauthMaxRefreshTokensPerDevice","oauth_max_refresh_tokens_per_device","oauthDeviceManagement","oauth_device_management","rateLimitPerMinute","rate_limit_per_minute","rateLimitPerHour","rate_limit_per_hour","webhookUrl","webhook_url","webhookSecret","webhook_secret","allowedOrigins","allowed_origins","metadata","payload","apiKeyCount","api_key_count","activeApiKeyCount","active_api_key_count","blockMapper","companyUniqueId","company_unique_id","blockUniqueId","block_unique_id","blockCode","block_code","blockName","block_name","addedAt","added_at","subscriptionModel","subscription_model","subscriptionPlan","subscription_plan","subscriptionFee","subscription_fee","subscriptionTaxes","subscription_taxes","subscriptionTotal","subscription_total","lastPaymentAt","last_payment_at","nextPaymentAt","next_payment_at","serviceMapper","code","homePageUrl","home_page_url","healthCheckUrl","health_check_url","statusPageUrl","status_page_url","registeredAt","registered_at","host","port","uri","groupName","group_name","ipaddress"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAGA,SACEA,WAAW,EACXC,SAAS,EACTC,WAAW,EACXC,YAAY,EACZC,gBAAgB,QACX,aAAa;AAEpB;;CAEC,GACD,OAAO,MAAMC,YAAiC;IAC5CC,MAAM;IAENC,KAAIC,QAAyB,EAAEC,SAAsB;YACrCD;QAAd,MAAME,QAAQF,CAAAA,uBAAAA,SAASG,UAAU,YAAnBH,uBAAuB,CAAC;YAI1BR,cACCC,YACAA,aACES,aAEGA,iBACPV,eAGsBE,cACAA,eAECA,eASnBA,eACMA;QAxBrB,OAAO;YACLU,IAAIJ,SAASI,EAAE;YACfC,UAAUb,CAAAA,eAAAA,YAAYU,MAAMI,SAAS,aAA3Bd,eAAgCQ,SAASI,EAAE;YACrDG,WAAWd,CAAAA,aAAAA,UAAUS,MAAMM,UAAU,aAA1Bf,aAA+B,IAAIgB;YAC9CC,WAAWjB,CAAAA,cAAAA,UAAUS,MAAMS,UAAU,aAA1BlB,cAA+B,IAAIgB;YAC9CG,MAAMC,OAAOX,CAAAA,cAAAA,MAAMU,IAAI,YAAVV,cAAc;YAC3BY,aAAatB,YAAYU,MAAMY,WAAW;YAC1CC,SAASF,OAAOX,CAAAA,kBAAAA,MAAMc,QAAQ,YAAdd,kBAAkB;YAClCe,QAASzB,CAAAA,gBAAAA,YAAYU,MAAMe,MAAM,aAAxBzB,gBAA6B;YACtC0B,SAAS1B,YAAYU,MAAMiB,QAAQ;YACnCC,cAAczB,aAAaO,MAAMmB,aAAa;YAC9CC,+BAA+B5B,CAAAA,eAAAA,YAAYQ,MAAMqB,iCAAiC,aAAnD7B,eAAwD;YACvF8B,+BAA+B9B,CAAAA,gBAAAA,YAAYQ,MAAMuB,iCAAiC,aAAnD/B,gBAAwD;YACvFgC,2BAA2B/B,aAAaO,MAAMyB,4BAA4B;YAC1EC,gCAAgClC,CAAAA,gBAAAA,YAAYQ,MAAM2B,mCAAmC,aAArDnC,gBAA0D;YAC1FoC,uBAAuBnC,aAAaO,MAAM6B,uBAAuB;YACjEC,oBAAoBtC,YAAYQ,MAAM+B,qBAAqB;YAC3DC,kBAAkBxC,YAAYQ,MAAMiC,mBAAmB;YACvDC,YAAY5C,YAAYU,MAAMmC,WAAW;YACzCC,eAAe9C,YAAYU,MAAMqC,cAAc;YAC/CC,gBAAgB5C,iBAAiBM,MAAMuC,eAAe;YACtDC,UAAUxC,MAAMwC,QAAQ;YACxBC,SAASzC,MAAMyC,OAAO;YACtBC,aAAalD,CAAAA,gBAAAA,YAAYQ,MAAM2C,aAAa,aAA/BnD,gBAAoC;YACjDoD,mBAAmBpD,CAAAA,gBAAAA,YAAYQ,MAAM6C,oBAAoB,aAAtCrD,gBAA2C;QAChE;IACF;AACF,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMsD,cAAqC;IAChDlD,MAAM;IAENC,KAAIC,QAAyB,EAAEC,SAAsB;YACrCD;QAAd,MAAME,QAAQF,CAAAA,uBAAAA,SAASG,UAAU,YAAnBH,uBAAuB,CAAC;YAI1BR,cACCC,YACAA,aACaS,0BACFA,wBACJA,mBACAA,mBAETV;QAVX,OAAO;YACLY,IAAIJ,SAASI,EAAE;YACfC,UAAUb,CAAAA,eAAAA,YAAYU,MAAMI,SAAS,aAA3Bd,eAAgCQ,SAASI,EAAE;YACrDG,WAAWd,CAAAA,aAAAA,UAAUS,MAAMM,UAAU,aAA1Bf,aAA+B,IAAIgB;YAC9CC,WAAWjB,CAAAA,cAAAA,UAAUS,MAAMS,UAAU,aAA1BlB,cAA+B,IAAIgB;YAC9CwC,iBAAiBpC,OAAOX,CAAAA,2BAAAA,MAAMgD,iBAAiB,YAAvBhD,2BAA2B;YACnDiD,eAAetC,OAAOX,CAAAA,yBAAAA,MAAMkD,eAAe,YAArBlD,yBAAyB;YAC/CmD,WAAWxC,OAAOX,CAAAA,oBAAAA,MAAMoD,UAAU,YAAhBpD,oBAAoB;YACtCqD,WAAW1C,OAAOX,CAAAA,oBAAAA,MAAMsD,UAAU,YAAhBtD,oBAAoB;YACtCuD,SAAShE,UAAUS,MAAMwD,QAAQ;YACjCzC,QAASzB,CAAAA,gBAAAA,YAAYU,MAAMe,MAAM,aAAxBzB,gBAA6B;YACtCmE,mBAAmBnE,YAAYU,MAAM0D,kBAAkB;YACvDC,kBAAkBrE,YAAYU,MAAM4D,iBAAiB;YACrDC,iBAAiBrE,YAAYQ,MAAM8D,gBAAgB;YACnDC,mBAAmBvE,YAAYQ,MAAMgE,kBAAkB;YACvDC,mBAAmBzE,YAAYQ,MAAMkE,kBAAkB;YACvDC,eAAe5E,UAAUS,MAAMoE,eAAe;YAC9CC,eAAe9E,UAAUS,MAAMsE,eAAe;YAC9C7B,SAASzC,MAAMyC,OAAO;QACxB;IACF;AACF,EAAE;AAEF;;CAEC,GACD,OAAO,MAAM8B,gBAAyC;IACpD3E,MAAM;IAENC,KAAIC,QAAyB,EAAEC,SAAsB;YACrCD;QAAd,MAAME,QAAQF,CAAAA,uBAAAA,SAASG,UAAU,YAAnBH,uBAAuB,CAAC;YAI1BR,cACCC,YACAA,aACES,aACAA,aAKJV;QAXX,OAAO;YACLY,IAAIJ,SAASI,EAAE;YACfC,UAAUb,CAAAA,eAAAA,YAAYU,MAAMI,SAAS,aAA3Bd,eAAgCQ,SAASI,EAAE;YACrDG,WAAWd,CAAAA,aAAAA,UAAUS,MAAMM,UAAU,aAA1Bf,aAA+B,IAAIgB;YAC9CC,WAAWjB,CAAAA,cAAAA,UAAUS,MAAMS,UAAU,aAA1BlB,cAA+B,IAAIgB;YAC9CG,MAAMC,OAAOX,CAAAA,cAAAA,MAAMU,IAAI,YAAVV,cAAc;YAC3BwE,MAAM7D,OAAOX,CAAAA,cAAAA,MAAMwE,IAAI,YAAVxE,cAAc;YAC3BY,aAAatB,YAAYU,MAAMY,WAAW;YAC1C6D,aAAanF,YAAYU,MAAM0E,aAAa;YAC5CC,gBAAgBrF,YAAYU,MAAM4E,gBAAgB;YAClDC,eAAevF,YAAYU,MAAM8E,eAAe;YAChD/D,QAASzB,CAAAA,gBAAAA,YAAYU,MAAMe,MAAM,aAAxBzB,gBAA6B;YACtCyF,cAAcxF,UAAUS,MAAMgF,aAAa;YAC3CC,MAAM3F,YAAYU,MAAMiF,IAAI;YAC5BC,MAAM1F,YAAYQ,MAAMkF,IAAI;YAC5BC,KAAK7F,YAAYU,MAAMmF,GAAG;YAC1BC,WAAW9F,YAAYU,MAAMqF,UAAU;YACvCC,WAAWhG,YAAYU,MAAMsF,SAAS;QACxC;IACF;AACF,EAAE"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { resolveRelationship, resolveRelationshipMany } from '@23blocks/jsonapi-codec';
|
|
2
|
+
import { parseDate, parseString, parseBoolean } from './utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* Company detail mapper
|
|
5
|
+
*/ export const companyDetailMapper = {
|
|
6
|
+
type: 'CompanyDetail',
|
|
7
|
+
map (resource, _included) {
|
|
8
|
+
var _resource_attributes;
|
|
9
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
10
|
+
var _parseString, _parseString1, _parseDate, _parseDate1;
|
|
11
|
+
return {
|
|
12
|
+
id: resource.id,
|
|
13
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
14
|
+
companyUniqueId: (_parseString1 = parseString(attrs.company_unique_id)) != null ? _parseString1 : '',
|
|
15
|
+
address: parseString(attrs.address),
|
|
16
|
+
city: parseString(attrs.city),
|
|
17
|
+
state: parseString(attrs.state),
|
|
18
|
+
zipcode: parseString(attrs.zipcode),
|
|
19
|
+
country: parseString(attrs.country),
|
|
20
|
+
phone: parseString(attrs.phone),
|
|
21
|
+
email: parseString(attrs.email),
|
|
22
|
+
website: parseString(attrs.website),
|
|
23
|
+
description: parseString(attrs.description),
|
|
24
|
+
logoUrl: parseString(attrs.logo_url),
|
|
25
|
+
payload: attrs.payload,
|
|
26
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
27
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date()
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Company block mapper
|
|
33
|
+
*/ export const companyBlockMapper = {
|
|
34
|
+
type: 'CompanyBlock',
|
|
35
|
+
map (resource, _included) {
|
|
36
|
+
var _resource_attributes;
|
|
37
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
38
|
+
var _parseString, _parseString1, _parseString2, _parseString3, _attrs_status, _parseDate, _parseDate1;
|
|
39
|
+
return {
|
|
40
|
+
id: resource.id,
|
|
41
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
42
|
+
companyUniqueId: (_parseString1 = parseString(attrs.company_unique_id)) != null ? _parseString1 : '',
|
|
43
|
+
blockId: (_parseString2 = parseString(attrs.block_id)) != null ? _parseString2 : '',
|
|
44
|
+
blockName: (_parseString3 = parseString(attrs.block_name)) != null ? _parseString3 : '',
|
|
45
|
+
status: (_attrs_status = attrs.status) != null ? _attrs_status : 'active',
|
|
46
|
+
payload: attrs.payload,
|
|
47
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
48
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date()
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Company key mapper
|
|
54
|
+
*/ export const companyKeyMapper = {
|
|
55
|
+
type: 'CompanyKey',
|
|
56
|
+
map (resource, _included) {
|
|
57
|
+
var _resource_attributes;
|
|
58
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
59
|
+
var _parseString, _parseString1, _parseString2, _parseString3, _attrs_status, _parseDate, _parseDate1;
|
|
60
|
+
return {
|
|
61
|
+
id: resource.id,
|
|
62
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
63
|
+
companyUniqueId: (_parseString1 = parseString(attrs.company_unique_id)) != null ? _parseString1 : '',
|
|
64
|
+
name: (_parseString2 = parseString(attrs.name)) != null ? _parseString2 : '',
|
|
65
|
+
keyId: (_parseString3 = parseString(attrs.key_id)) != null ? _parseString3 : '',
|
|
66
|
+
status: (_attrs_status = attrs.status) != null ? _attrs_status : 'active',
|
|
67
|
+
expiresAt: parseDate(attrs.expires_at),
|
|
68
|
+
lastUsedAt: parseDate(attrs.last_used_at),
|
|
69
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
70
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date()
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Company mapper
|
|
76
|
+
*/ export const companyMapper = {
|
|
77
|
+
type: 'Company',
|
|
78
|
+
map (resource, included) {
|
|
79
|
+
var _resource_attributes;
|
|
80
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
81
|
+
var _parseString, _parseString1, _parseString2, _attrs_status, _parseDate, _parseDate1, _parseString3, _parseString4, _parseString5, _parseString6, _parseString7;
|
|
82
|
+
return {
|
|
83
|
+
id: resource.id,
|
|
84
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
85
|
+
name: (_parseString1 = parseString(attrs.name)) != null ? _parseString1 : '',
|
|
86
|
+
code: (_parseString2 = parseString(attrs.code)) != null ? _parseString2 : '',
|
|
87
|
+
preferredLanguage: parseString(attrs.preferred_language),
|
|
88
|
+
preferredDomain: parseString(attrs.preferred_domain),
|
|
89
|
+
apiUrl: parseString(attrs.api_url),
|
|
90
|
+
apiAccessKey: parseString(attrs.api_access_key),
|
|
91
|
+
payload: attrs.payload,
|
|
92
|
+
status: (_attrs_status = attrs.status) != null ? _attrs_status : 'active',
|
|
93
|
+
publicStorageUrl: parseString(attrs.public_storage_url),
|
|
94
|
+
storageUrl: parseString(attrs.storage_url),
|
|
95
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
96
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
97
|
+
// Conditional admin-only attributes
|
|
98
|
+
schemaName: (_parseString3 = parseString(attrs.schema_name)) != null ? _parseString3 : undefined,
|
|
99
|
+
urlId: (_parseString4 = parseString(attrs.url_id)) != null ? _parseString4 : undefined,
|
|
100
|
+
slackHook: (_parseString5 = parseString(attrs.slack_hook)) != null ? _parseString5 : undefined,
|
|
101
|
+
slackChannel: (_parseString6 = parseString(attrs.slack_channel)) != null ? _parseString6 : undefined,
|
|
102
|
+
slackUsername: (_parseString7 = parseString(attrs.slack_username)) != null ? _parseString7 : undefined,
|
|
103
|
+
openAccess: attrs.open_access != null ? parseBoolean(attrs.open_access) : undefined,
|
|
104
|
+
// Resolve relationships
|
|
105
|
+
companyDetail: resolveRelationship(resource, 'company_detail', included, companyDetailMapper),
|
|
106
|
+
companyBlocks: resolveRelationshipMany(resource, 'company_blocks', included, companyBlockMapper),
|
|
107
|
+
companyKeys: resolveRelationshipMany(resource, 'company_keys', included, companyKeyMapper)
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Tenant mapper
|
|
113
|
+
*/ export const tenantMapper = {
|
|
114
|
+
type: 'Tenant',
|
|
115
|
+
map (resource, _included) {
|
|
116
|
+
var _resource_attributes;
|
|
117
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
118
|
+
var _parseString, _parseString1, _parseString2;
|
|
119
|
+
return {
|
|
120
|
+
gatewayUrl: (_parseString = parseString(attrs.gateway_url)) != null ? _parseString : '',
|
|
121
|
+
tenantAccessKey: (_parseString1 = parseString(attrs.tenant_access_key)) != null ? _parseString1 : '',
|
|
122
|
+
tenantUrlId: (_parseString2 = parseString(attrs.tenant_url_id)) != null ? _parseString2 : '',
|
|
123
|
+
payload: attrs.payload
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
//# sourceMappingURL=company.mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/mappers/company.mapper.ts"],"sourcesContent":["import type { ResourceMapper, IncludedMap, JsonApiResource } from '@23blocks/jsonapi-codec';\nimport { resolveRelationship, resolveRelationshipMany } from '@23blocks/jsonapi-codec';\nimport type { Company, CompanyDetail, CompanyBlock, CompanyKey, Tenant } from '../types/index.js';\nimport { parseDate, parseString, parseBoolean } from './utils.js';\n\n/**\n * Company detail mapper\n */\nexport const companyDetailMapper: ResourceMapper<CompanyDetail> = {\n type: 'CompanyDetail',\n\n map(resource: JsonApiResource, _included: IncludedMap): CompanyDetail {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n companyUniqueId: parseString(attrs.company_unique_id) ?? '',\n address: parseString(attrs.address),\n city: parseString(attrs.city),\n state: parseString(attrs.state),\n zipcode: parseString(attrs.zipcode),\n country: parseString(attrs.country),\n phone: parseString(attrs.phone),\n email: parseString(attrs.email),\n website: parseString(attrs.website),\n description: parseString(attrs.description),\n logoUrl: parseString(attrs.logo_url),\n payload: attrs.payload as Record<string, unknown> | null,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n };\n },\n};\n\n/**\n * Company block mapper\n */\nexport const companyBlockMapper: ResourceMapper<CompanyBlock> = {\n type: 'CompanyBlock',\n\n map(resource: JsonApiResource, _included: IncludedMap): CompanyBlock {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n companyUniqueId: parseString(attrs.company_unique_id) ?? '',\n blockId: parseString(attrs.block_id) ?? '',\n blockName: parseString(attrs.block_name) ?? '',\n status: (attrs.status as CompanyBlock['status']) ?? 'active',\n payload: attrs.payload as Record<string, unknown> | null,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n };\n },\n};\n\n/**\n * Company key mapper\n */\nexport const companyKeyMapper: ResourceMapper<CompanyKey> = {\n type: 'CompanyKey',\n\n map(resource: JsonApiResource, _included: IncludedMap): CompanyKey {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n companyUniqueId: parseString(attrs.company_unique_id) ?? '',\n name: parseString(attrs.name) ?? '',\n keyId: parseString(attrs.key_id) ?? '',\n status: (attrs.status as CompanyKey['status']) ?? 'active',\n expiresAt: parseDate(attrs.expires_at),\n lastUsedAt: parseDate(attrs.last_used_at),\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n };\n },\n};\n\n/**\n * Company mapper\n */\nexport const companyMapper: ResourceMapper<Company> = {\n type: 'Company',\n\n map(resource: JsonApiResource, included: IncludedMap): Company {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n name: parseString(attrs.name) ?? '',\n code: parseString(attrs.code) ?? '',\n preferredLanguage: parseString(attrs.preferred_language),\n preferredDomain: parseString(attrs.preferred_domain),\n apiUrl: parseString(attrs.api_url),\n apiAccessKey: parseString(attrs.api_access_key),\n payload: attrs.payload as Record<string, unknown> | null,\n status: (attrs.status as Company['status']) ?? 'active',\n publicStorageUrl: parseString(attrs.public_storage_url),\n storageUrl: parseString(attrs.storage_url),\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n\n // Conditional admin-only attributes\n schemaName: parseString(attrs.schema_name) ?? undefined,\n urlId: parseString(attrs.url_id) ?? undefined,\n slackHook: parseString(attrs.slack_hook) ?? undefined,\n slackChannel: parseString(attrs.slack_channel) ?? undefined,\n slackUsername: parseString(attrs.slack_username) ?? undefined,\n openAccess: attrs.open_access != null ? parseBoolean(attrs.open_access) : undefined,\n\n // Resolve relationships\n companyDetail: resolveRelationship(resource, 'company_detail', included, companyDetailMapper),\n companyBlocks: resolveRelationshipMany(resource, 'company_blocks', included, companyBlockMapper),\n companyKeys: resolveRelationshipMany(resource, 'company_keys', included, companyKeyMapper),\n };\n },\n};\n\n/**\n * Tenant mapper\n */\nexport const tenantMapper: ResourceMapper<Tenant> = {\n type: 'Tenant',\n\n map(resource: JsonApiResource, _included: IncludedMap): Tenant {\n const attrs = resource.attributes ?? {};\n\n return {\n gatewayUrl: parseString(attrs.gateway_url) ?? '',\n tenantAccessKey: parseString(attrs.tenant_access_key) ?? '',\n tenantUrlId: parseString(attrs.tenant_url_id) ?? '',\n payload: attrs.payload as Record<string, unknown> | null,\n };\n },\n};\n"],"names":["resolveRelationship","resolveRelationshipMany","parseDate","parseString","parseBoolean","companyDetailMapper","type","map","resource","_included","attrs","attributes","id","uniqueId","unique_id","companyUniqueId","company_unique_id","address","city","state","zipcode","country","phone","email","website","description","logoUrl","logo_url","payload","createdAt","created_at","Date","updatedAt","updated_at","companyBlockMapper","blockId","block_id","blockName","block_name","status","companyKeyMapper","name","keyId","key_id","expiresAt","expires_at","lastUsedAt","last_used_at","companyMapper","included","code","preferredLanguage","preferred_language","preferredDomain","preferred_domain","apiUrl","api_url","apiAccessKey","api_access_key","publicStorageUrl","public_storage_url","storageUrl","storage_url","schemaName","schema_name","undefined","urlId","url_id","slackHook","slack_hook","slackChannel","slack_channel","slackUsername","slack_username","openAccess","open_access","companyDetail","companyBlocks","companyKeys","tenantMapper","gatewayUrl","gateway_url","tenantAccessKey","tenant_access_key","tenantUrlId","tenant_url_id"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { parseString, parseDate } from './utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Mapper for Country resources
|
|
4
|
+
*/ export const countryMapper = {
|
|
5
|
+
type: 'countries',
|
|
6
|
+
map (resource, _included) {
|
|
7
|
+
var _resource_attributes;
|
|
8
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
9
|
+
var _parseString, _parseDate, _parseDate1, _attrs_country_unique_id, _attrs_name, _parseString1;
|
|
10
|
+
return {
|
|
11
|
+
id: resource.id,
|
|
12
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
13
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
14
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
15
|
+
countryUniqueId: String((_attrs_country_unique_id = attrs.country_unique_id) != null ? _attrs_country_unique_id : resource.id),
|
|
16
|
+
name: String((_attrs_name = attrs.name) != null ? _attrs_name : ''),
|
|
17
|
+
areaCode: parseString(attrs.area_code),
|
|
18
|
+
isoCode: parseString(attrs.iso_code),
|
|
19
|
+
capital: parseString(attrs.capital),
|
|
20
|
+
continent: parseString(attrs.continent),
|
|
21
|
+
tld: parseString(attrs.tld),
|
|
22
|
+
currencyCode: parseString(attrs.currency_code),
|
|
23
|
+
currencyName: parseString(attrs.currency_name),
|
|
24
|
+
postalCodeFormat: parseString(attrs.postal_code_format),
|
|
25
|
+
postalCodeRegex: parseString(attrs.postal_code_regex),
|
|
26
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
27
|
+
language: parseString(attrs.language),
|
|
28
|
+
payload: attrs.payload
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Mapper for State resources
|
|
34
|
+
*/ export const stateMapper = {
|
|
35
|
+
type: 'states',
|
|
36
|
+
map (resource, _included) {
|
|
37
|
+
var _resource_attributes;
|
|
38
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
39
|
+
var _parseString, _parseDate, _parseDate1, _attrs_state_unique_id, _attrs_name, _parseString1;
|
|
40
|
+
return {
|
|
41
|
+
id: resource.id,
|
|
42
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
43
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
44
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
45
|
+
stateUniqueId: String((_attrs_state_unique_id = attrs.state_unique_id) != null ? _attrs_state_unique_id : resource.id),
|
|
46
|
+
name: String((_attrs_name = attrs.name) != null ? _attrs_name : ''),
|
|
47
|
+
abbreviation: parseString(attrs.abbreviation),
|
|
48
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
49
|
+
language: parseString(attrs.language),
|
|
50
|
+
countryName: parseString(attrs.country_name),
|
|
51
|
+
countryId: parseString(attrs.country_id),
|
|
52
|
+
payload: attrs.payload
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Mapper for County resources
|
|
58
|
+
*/ export const countyMapper = {
|
|
59
|
+
type: 'counties',
|
|
60
|
+
map (resource, _included) {
|
|
61
|
+
var _resource_attributes;
|
|
62
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
63
|
+
var _parseString, _parseDate, _parseDate1, _attrs_county_unique_id, _attrs_name, _parseString1;
|
|
64
|
+
return {
|
|
65
|
+
id: resource.id,
|
|
66
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
67
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
68
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
69
|
+
countyUniqueId: String((_attrs_county_unique_id = attrs.county_unique_id) != null ? _attrs_county_unique_id : resource.id),
|
|
70
|
+
name: String((_attrs_name = attrs.name) != null ? _attrs_name : ''),
|
|
71
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
72
|
+
stateName: parseString(attrs.state_name),
|
|
73
|
+
stateId: parseString(attrs.state_id),
|
|
74
|
+
language: parseString(attrs.language),
|
|
75
|
+
payload: attrs.payload
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Mapper for City resources
|
|
81
|
+
*/ export const cityMapper = {
|
|
82
|
+
type: 'cities',
|
|
83
|
+
map (resource, _included) {
|
|
84
|
+
var _resource_attributes;
|
|
85
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
86
|
+
var _parseString, _parseDate, _parseDate1, _attrs_name, _parseString1;
|
|
87
|
+
return {
|
|
88
|
+
id: resource.id,
|
|
89
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
90
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
91
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
92
|
+
name: String((_attrs_name = attrs.name) != null ? _attrs_name : ''),
|
|
93
|
+
stateName: parseString(attrs.state_name),
|
|
94
|
+
stateId: parseString(attrs.state_id),
|
|
95
|
+
countryName: parseString(attrs.country_name),
|
|
96
|
+
countryId: parseString(attrs.country_id),
|
|
97
|
+
countyName: parseString(attrs.county_name),
|
|
98
|
+
countyId: parseString(attrs.county_id),
|
|
99
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
100
|
+
language: parseString(attrs.language),
|
|
101
|
+
payload: attrs.payload
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Mapper for Currency resources
|
|
107
|
+
*/ export const currencyMapper = {
|
|
108
|
+
type: 'currencies',
|
|
109
|
+
map (resource, _included) {
|
|
110
|
+
var _resource_attributes;
|
|
111
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
112
|
+
var _parseString, _parseDate, _parseDate1, _attrs_currency_unique_id, _attrs_code, _attrs_name, _parseString1;
|
|
113
|
+
return {
|
|
114
|
+
id: resource.id,
|
|
115
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
116
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
117
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
118
|
+
currencyUniqueId: String((_attrs_currency_unique_id = attrs.currency_unique_id) != null ? _attrs_currency_unique_id : resource.id),
|
|
119
|
+
code: String((_attrs_code = attrs.code) != null ? _attrs_code : ''),
|
|
120
|
+
name: String((_attrs_name = attrs.name) != null ? _attrs_name : ''),
|
|
121
|
+
symbol: parseString(attrs.symbol),
|
|
122
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
123
|
+
language: parseString(attrs.language),
|
|
124
|
+
payload: attrs.payload
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
//# sourceMappingURL=geography.mapper.js.map
|