@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/mappers/geography.mapper.ts"],"sourcesContent":["import type { ResourceMapper, IncludedMap, JsonApiResource } from '@23blocks/jsonapi-codec';\nimport type { EntityStatus } from '@23blocks/contracts';\nimport type { Country, State, County, City, Currency } from '../types/index.js';\nimport { parseString, parseDate } from './utils.js';\n\n/**\n * Mapper for Country resources\n */\nexport const countryMapper: ResourceMapper<Country> = {\n type: 'countries',\n\n map(resource: JsonApiResource, _included: IncludedMap): Country {\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 countryUniqueId: String(attrs.country_unique_id ?? resource.id),\n name: String(attrs.name ?? ''),\n areaCode: parseString(attrs.area_code),\n isoCode: parseString(attrs.iso_code),\n capital: parseString(attrs.capital),\n continent: parseString(attrs.continent),\n tld: parseString(attrs.tld),\n currencyCode: parseString(attrs.currency_code),\n currencyName: parseString(attrs.currency_name),\n postalCodeFormat: parseString(attrs.postal_code_format),\n postalCodeRegex: parseString(attrs.postal_code_regex),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n language: parseString(attrs.language),\n payload: attrs.payload as Record<string, unknown> | null,\n };\n },\n};\n\n/**\n * Mapper for State resources\n */\nexport const stateMapper: ResourceMapper<State> = {\n type: 'states',\n\n map(resource: JsonApiResource, _included: IncludedMap): State {\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 stateUniqueId: String(attrs.state_unique_id ?? resource.id),\n name: String(attrs.name ?? ''),\n abbreviation: parseString(attrs.abbreviation),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n language: parseString(attrs.language),\n countryName: parseString(attrs.country_name),\n countryId: parseString(attrs.country_id),\n payload: attrs.payload as Record<string, unknown> | null,\n };\n },\n};\n\n/**\n * Mapper for County resources\n */\nexport const countyMapper: ResourceMapper<County> = {\n type: 'counties',\n\n map(resource: JsonApiResource, _included: IncludedMap): County {\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 countyUniqueId: String(attrs.county_unique_id ?? resource.id),\n name: String(attrs.name ?? ''),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n stateName: parseString(attrs.state_name),\n stateId: parseString(attrs.state_id),\n language: parseString(attrs.language),\n payload: attrs.payload as Record<string, unknown> | null,\n };\n },\n};\n\n/**\n * Mapper for City resources\n */\nexport const cityMapper: ResourceMapper<City> = {\n type: 'cities',\n\n map(resource: JsonApiResource, _included: IncludedMap): City {\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 stateName: parseString(attrs.state_name),\n stateId: parseString(attrs.state_id),\n countryName: parseString(attrs.country_name),\n countryId: parseString(attrs.country_id),\n countyName: parseString(attrs.county_name),\n countyId: parseString(attrs.county_id),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n language: parseString(attrs.language),\n payload: attrs.payload as Record<string, unknown> | null,\n };\n },\n};\n\n/**\n * Mapper for Currency resources\n */\nexport const currencyMapper: ResourceMapper<Currency> = {\n type: 'currencies',\n\n map(resource: JsonApiResource, _included: IncludedMap): Currency {\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 currencyUniqueId: String(attrs.currency_unique_id ?? resource.id),\n code: String(attrs.code ?? ''),\n name: String(attrs.name ?? ''),\n symbol: parseString(attrs.symbol),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n language: parseString(attrs.language),\n payload: attrs.payload as Record<string, unknown> | null,\n };\n },\n};\n"],"names":["parseString","parseDate","countryMapper","type","map","resource","_included","attrs","attributes","id","uniqueId","unique_id","createdAt","created_at","Date","updatedAt","updated_at","countryUniqueId","String","country_unique_id","name","areaCode","area_code","isoCode","iso_code","capital","continent","tld","currencyCode","currency_code","currencyName","currency_name","postalCodeFormat","postal_code_format","postalCodeRegex","postal_code_regex","status","language","payload","stateMapper","stateUniqueId","state_unique_id","abbreviation","countryName","country_name","countryId","country_id","countyMapper","countyUniqueId","county_unique_id","stateName","state_name","stateId","state_id","cityMapper","countyName","county_name","countyId","county_id","currencyMapper","currencyUniqueId","currency_unique_id","code","symbol"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { parseString, parseDate, parseNumber, parseBoolean, parseStringArray } from './utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Mapper for Guest resources
|
|
4
|
+
*/ export const guestMapper = {
|
|
5
|
+
type: 'guests',
|
|
6
|
+
map (resource, _included) {
|
|
7
|
+
var _resource_attributes;
|
|
8
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
9
|
+
var _parseString, _parseDate, _parseDate1, _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
|
+
email: parseString(attrs.email),
|
|
16
|
+
username: parseString(attrs.username),
|
|
17
|
+
name: parseString(attrs.name),
|
|
18
|
+
currentVisitingAt: parseDate(attrs.current_visiting_at),
|
|
19
|
+
currentVisitingIp: parseString(attrs.current_visiting_ip),
|
|
20
|
+
lastVisitingAt: parseDate(attrs.last_visiting_at),
|
|
21
|
+
lastVisitingIp: parseString(attrs.last_visiting_ip),
|
|
22
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
23
|
+
registeredAt: parseDate(attrs.registered_at),
|
|
24
|
+
userUniqueId: parseString(attrs.user_unique_id),
|
|
25
|
+
accessToken: parseString(attrs.access_token)
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Mapper for MagicLink resources
|
|
31
|
+
*/ export const magicLinkMapper = {
|
|
32
|
+
type: 'magic_links',
|
|
33
|
+
map (resource, _included) {
|
|
34
|
+
var _resource_attributes;
|
|
35
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
36
|
+
var _parseString, _parseDate, _parseDate1, _attrs_user_unique_id, _attrs_token, _parseDate2, _parseString1;
|
|
37
|
+
return {
|
|
38
|
+
id: resource.id,
|
|
39
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
40
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
41
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
42
|
+
userUniqueId: String((_attrs_user_unique_id = attrs.user_unique_id) != null ? _attrs_user_unique_id : ''),
|
|
43
|
+
userName: parseString(attrs.user_name),
|
|
44
|
+
userEmail: parseString(attrs.user_email),
|
|
45
|
+
token: String((_attrs_token = attrs.token) != null ? _attrs_token : ''),
|
|
46
|
+
expiresAt: (_parseDate2 = parseDate(attrs.expires_at)) != null ? _parseDate2 : new Date(),
|
|
47
|
+
targetUrl: parseString(attrs.target_url),
|
|
48
|
+
expiredUrl: parseString(attrs.expired_url),
|
|
49
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
50
|
+
validationUrl: parseString(attrs.validation_url),
|
|
51
|
+
description: parseString(attrs.description),
|
|
52
|
+
thumbnailUrl: parseString(attrs.thumbnail_url),
|
|
53
|
+
contentUrl: parseString(attrs.content_url),
|
|
54
|
+
mediaUrl: parseString(attrs.media_url),
|
|
55
|
+
imageUrl: parseString(attrs.image_url),
|
|
56
|
+
payload: attrs.payload
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Mapper for RefreshToken resources
|
|
62
|
+
*/ export const refreshTokenMapper = {
|
|
63
|
+
type: 'refresh_tokens',
|
|
64
|
+
map (resource, _included) {
|
|
65
|
+
var _resource_attributes;
|
|
66
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
67
|
+
var _parseString, _parseDate, _parseDate1, _attrs_token, _parseDate2, _parseString1, _parseNumber, _parseNumber1;
|
|
68
|
+
return {
|
|
69
|
+
id: resource.id,
|
|
70
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
71
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
72
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
73
|
+
token: String((_attrs_token = attrs.token) != null ? _attrs_token : ''),
|
|
74
|
+
expiresAt: (_parseDate2 = parseDate(attrs.expires_at)) != null ? _parseDate2 : new Date(),
|
|
75
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
76
|
+
revoked: parseBoolean(attrs.revoked),
|
|
77
|
+
scopes: parseStringArray(attrs.scopes),
|
|
78
|
+
deviceId: parseString(attrs.device_id),
|
|
79
|
+
userAgent: parseString(attrs.user_agent),
|
|
80
|
+
ipAddress: parseString(attrs.ip_address),
|
|
81
|
+
lastUsedAt: parseDate(attrs.last_used_at),
|
|
82
|
+
expired: parseBoolean(attrs.expired),
|
|
83
|
+
active: parseBoolean(attrs.active),
|
|
84
|
+
expiresInSeconds: (_parseNumber = parseNumber(attrs.expires_in_seconds)) != null ? _parseNumber : 0,
|
|
85
|
+
daysUntilExpiry: (_parseNumber1 = parseNumber(attrs.days_until_expiry)) != null ? _parseNumber1 : 0
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Mapper for UserDevice resources
|
|
91
|
+
*/ export const userDeviceMapper = {
|
|
92
|
+
type: 'user_devices',
|
|
93
|
+
map (resource, _included) {
|
|
94
|
+
var _resource_attributes;
|
|
95
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
96
|
+
var _parseString, _parseDate, _parseDate1, _attrs_user_unique_id, _parseString1;
|
|
97
|
+
return {
|
|
98
|
+
id: resource.id,
|
|
99
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
100
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
101
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
102
|
+
userUniqueId: String((_attrs_user_unique_id = attrs.user_unique_id) != null ? _attrs_user_unique_id : ''),
|
|
103
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
104
|
+
deviceType: parseString(attrs.device_type),
|
|
105
|
+
pushId: parseString(attrs.push_id),
|
|
106
|
+
osType: parseString(attrs.os_type),
|
|
107
|
+
defaultDevice: parseBoolean(attrs.default_device),
|
|
108
|
+
locationEnabled: parseBoolean(attrs.location_enabled),
|
|
109
|
+
notificationsEnabled: parseBoolean(attrs.notifications_enabled)
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Mapper for TenantUser resources (not a standard REST resource)
|
|
115
|
+
*/ export const tenantUserMapper = {
|
|
116
|
+
type: 'tenant_users',
|
|
117
|
+
map (resource, _included) {
|
|
118
|
+
var _resource_attributes;
|
|
119
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
120
|
+
var _attrs_gateway_url, _attrs_user_id, _attrs_user_unique_id, _attrs_tenant_id, _attrs_tenant_unique_id, _attrs_tenant_access_key, _attrs_tenant_url_id;
|
|
121
|
+
return {
|
|
122
|
+
gatewayUrl: String((_attrs_gateway_url = attrs.gateway_url) != null ? _attrs_gateway_url : ''),
|
|
123
|
+
userId: String((_attrs_user_id = attrs.user_id) != null ? _attrs_user_id : ''),
|
|
124
|
+
userUniqueId: String((_attrs_user_unique_id = attrs.user_unique_id) != null ? _attrs_user_unique_id : ''),
|
|
125
|
+
userEmail: parseString(attrs.user_email),
|
|
126
|
+
userName: parseString(attrs.user_name),
|
|
127
|
+
roleUniqueId: parseString(attrs.role_unique_id),
|
|
128
|
+
roleName: parseString(attrs.role_name),
|
|
129
|
+
roleId: parseString(attrs.role_id),
|
|
130
|
+
tenantId: String((_attrs_tenant_id = attrs.tenant_id) != null ? _attrs_tenant_id : ''),
|
|
131
|
+
tenantUniqueId: String((_attrs_tenant_unique_id = attrs.tenant_unique_id) != null ? _attrs_tenant_unique_id : ''),
|
|
132
|
+
tenantAccessKey: String((_attrs_tenant_access_key = attrs.tenant_access_key) != null ? _attrs_tenant_access_key : ''),
|
|
133
|
+
tenantUrlId: String((_attrs_tenant_url_id = attrs.tenant_url_id) != null ? _attrs_tenant_url_id : ''),
|
|
134
|
+
payload: attrs.payload,
|
|
135
|
+
onboardingCompleted: parseBoolean(attrs.onboarding_completed),
|
|
136
|
+
purchaseCompleted: parseBoolean(attrs.purchase_completed),
|
|
137
|
+
parentOnboardingCompleted: parseBoolean(attrs.parent_onboarding_completed),
|
|
138
|
+
parentPurchaseCompleted: parseBoolean(attrs.parent_purchase_completed)
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* Mapper for MailTemplate resources
|
|
144
|
+
*/ export const mailTemplateMapper = {
|
|
145
|
+
type: 'mail_templates',
|
|
146
|
+
map (resource, _included) {
|
|
147
|
+
var _resource_attributes;
|
|
148
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
149
|
+
var _parseString, _parseDate, _parseDate1, _attrs_event_name, _attrs_name, _parseString1;
|
|
150
|
+
return {
|
|
151
|
+
id: resource.id,
|
|
152
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
153
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
154
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
155
|
+
eventName: String((_attrs_event_name = attrs.event_name) != null ? _attrs_event_name : ''),
|
|
156
|
+
name: String((_attrs_name = attrs.name) != null ? _attrs_name : ''),
|
|
157
|
+
source: parseString(attrs.source),
|
|
158
|
+
sourceAlias: parseString(attrs.source_alias),
|
|
159
|
+
sourceId: parseString(attrs.source_id),
|
|
160
|
+
sourceType: parseString(attrs.source_type),
|
|
161
|
+
templateName: parseString(attrs.template_name),
|
|
162
|
+
templateHtml: parseString(attrs.template_html),
|
|
163
|
+
templateText: parseString(attrs.template_text),
|
|
164
|
+
fromDomain: parseString(attrs.from_domain),
|
|
165
|
+
fromAddress: parseString(attrs.from_address),
|
|
166
|
+
fromName: parseString(attrs.from_name),
|
|
167
|
+
fromSubject: parseString(attrs.from_subject),
|
|
168
|
+
payload: attrs.payload,
|
|
169
|
+
preferredLanguage: parseString(attrs.preferred_language),
|
|
170
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
171
|
+
provider: parseString(attrs.provider)
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
//# sourceMappingURL=guest.mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/mappers/guest.mapper.ts"],"sourcesContent":["import type { ResourceMapper, IncludedMap, JsonApiResource } from '@23blocks/jsonapi-codec';\nimport type { EntityStatus } from '@23blocks/contracts';\nimport type {\n Guest,\n MagicLink,\n RefreshToken,\n UserDevice,\n TenantUser,\n MailTemplate,\n} from '../types/index.js';\nimport {\n parseString,\n parseDate,\n parseNumber,\n parseBoolean,\n parseStringArray,\n} from './utils.js';\n\n/**\n * Mapper for Guest resources\n */\nexport const guestMapper: ResourceMapper<Guest> = {\n type: 'guests',\n\n map(resource: JsonApiResource, _included: IncludedMap): Guest {\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 email: parseString(attrs.email),\n username: parseString(attrs.username),\n name: parseString(attrs.name),\n currentVisitingAt: parseDate(attrs.current_visiting_at),\n currentVisitingIp: parseString(attrs.current_visiting_ip),\n lastVisitingAt: parseDate(attrs.last_visiting_at),\n lastVisitingIp: parseString(attrs.last_visiting_ip),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n registeredAt: parseDate(attrs.registered_at),\n userUniqueId: parseString(attrs.user_unique_id),\n accessToken: parseString(attrs.access_token),\n };\n },\n};\n\n/**\n * Mapper for MagicLink resources\n */\nexport const magicLinkMapper: ResourceMapper<MagicLink> = {\n type: 'magic_links',\n\n map(resource: JsonApiResource, _included: IncludedMap): MagicLink {\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 userUniqueId: String(attrs.user_unique_id ?? ''),\n userName: parseString(attrs.user_name),\n userEmail: parseString(attrs.user_email),\n token: String(attrs.token ?? ''),\n expiresAt: parseDate(attrs.expires_at) ?? new Date(),\n targetUrl: parseString(attrs.target_url),\n expiredUrl: parseString(attrs.expired_url),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n validationUrl: parseString(attrs.validation_url),\n description: parseString(attrs.description),\n thumbnailUrl: parseString(attrs.thumbnail_url),\n contentUrl: parseString(attrs.content_url),\n mediaUrl: parseString(attrs.media_url),\n imageUrl: parseString(attrs.image_url),\n payload: attrs.payload as Record<string, unknown> | null,\n };\n },\n};\n\n/**\n * Mapper for RefreshToken resources\n */\nexport const refreshTokenMapper: ResourceMapper<RefreshToken> = {\n type: 'refresh_tokens',\n\n map(resource: JsonApiResource, _included: IncludedMap): RefreshToken {\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 token: String(attrs.token ?? ''),\n expiresAt: parseDate(attrs.expires_at) ?? new Date(),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n revoked: parseBoolean(attrs.revoked),\n scopes: parseStringArray(attrs.scopes),\n deviceId: parseString(attrs.device_id),\n userAgent: parseString(attrs.user_agent),\n ipAddress: parseString(attrs.ip_address),\n lastUsedAt: parseDate(attrs.last_used_at),\n expired: parseBoolean(attrs.expired),\n active: parseBoolean(attrs.active),\n expiresInSeconds: parseNumber(attrs.expires_in_seconds) ?? 0,\n daysUntilExpiry: parseNumber(attrs.days_until_expiry) ?? 0,\n };\n },\n};\n\n/**\n * Mapper for UserDevice resources\n */\nexport const userDeviceMapper: ResourceMapper<UserDevice> = {\n type: 'user_devices',\n\n map(resource: JsonApiResource, _included: IncludedMap): UserDevice {\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 userUniqueId: String(attrs.user_unique_id ?? ''),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n deviceType: parseString(attrs.device_type),\n pushId: parseString(attrs.push_id),\n osType: parseString(attrs.os_type),\n defaultDevice: parseBoolean(attrs.default_device),\n locationEnabled: parseBoolean(attrs.location_enabled),\n notificationsEnabled: parseBoolean(attrs.notifications_enabled),\n };\n },\n};\n\n/**\n * Mapper for TenantUser resources (not a standard REST resource)\n */\nexport const tenantUserMapper: ResourceMapper<TenantUser> = {\n type: 'tenant_users',\n\n map(resource: JsonApiResource, _included: IncludedMap): TenantUser {\n const attrs = resource.attributes ?? {};\n\n return {\n gatewayUrl: String(attrs.gateway_url ?? ''),\n userId: String(attrs.user_id ?? ''),\n userUniqueId: String(attrs.user_unique_id ?? ''),\n userEmail: parseString(attrs.user_email),\n userName: parseString(attrs.user_name),\n roleUniqueId: parseString(attrs.role_unique_id),\n roleName: parseString(attrs.role_name),\n roleId: parseString(attrs.role_id),\n tenantId: String(attrs.tenant_id ?? ''),\n tenantUniqueId: String(attrs.tenant_unique_id ?? ''),\n tenantAccessKey: String(attrs.tenant_access_key ?? ''),\n tenantUrlId: String(attrs.tenant_url_id ?? ''),\n payload: attrs.payload as Record<string, unknown> | null,\n onboardingCompleted: parseBoolean(attrs.onboarding_completed),\n purchaseCompleted: parseBoolean(attrs.purchase_completed),\n parentOnboardingCompleted: parseBoolean(attrs.parent_onboarding_completed),\n parentPurchaseCompleted: parseBoolean(attrs.parent_purchase_completed),\n };\n },\n};\n\n/**\n * Mapper for MailTemplate resources\n */\nexport const mailTemplateMapper: ResourceMapper<MailTemplate> = {\n type: 'mail_templates',\n\n map(resource: JsonApiResource, _included: IncludedMap): MailTemplate {\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 eventName: String(attrs.event_name ?? ''),\n name: String(attrs.name ?? ''),\n source: parseString(attrs.source),\n sourceAlias: parseString(attrs.source_alias),\n sourceId: parseString(attrs.source_id),\n sourceType: parseString(attrs.source_type),\n templateName: parseString(attrs.template_name),\n templateHtml: parseString(attrs.template_html),\n templateText: parseString(attrs.template_text),\n fromDomain: parseString(attrs.from_domain),\n fromAddress: parseString(attrs.from_address),\n fromName: parseString(attrs.from_name),\n fromSubject: parseString(attrs.from_subject),\n payload: attrs.payload as Record<string, unknown> | null,\n preferredLanguage: parseString(attrs.preferred_language),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n provider: parseString(attrs.provider),\n };\n },\n};\n"],"names":["parseString","parseDate","parseNumber","parseBoolean","parseStringArray","guestMapper","type","map","resource","_included","attrs","attributes","id","uniqueId","unique_id","createdAt","created_at","Date","updatedAt","updated_at","email","username","name","currentVisitingAt","current_visiting_at","currentVisitingIp","current_visiting_ip","lastVisitingAt","last_visiting_at","lastVisitingIp","last_visiting_ip","status","registeredAt","registered_at","userUniqueId","user_unique_id","accessToken","access_token","magicLinkMapper","String","userName","user_name","userEmail","user_email","token","expiresAt","expires_at","targetUrl","target_url","expiredUrl","expired_url","validationUrl","validation_url","description","thumbnailUrl","thumbnail_url","contentUrl","content_url","mediaUrl","media_url","imageUrl","image_url","payload","refreshTokenMapper","revoked","scopes","deviceId","device_id","userAgent","user_agent","ipAddress","ip_address","lastUsedAt","last_used_at","expired","active","expiresInSeconds","expires_in_seconds","daysUntilExpiry","days_until_expiry","userDeviceMapper","deviceType","device_type","pushId","push_id","osType","os_type","defaultDevice","default_device","locationEnabled","location_enabled","notificationsEnabled","notifications_enabled","tenantUserMapper","gatewayUrl","gateway_url","userId","user_id","roleUniqueId","role_unique_id","roleName","role_name","roleId","role_id","tenantId","tenant_id","tenantUniqueId","tenant_unique_id","tenantAccessKey","tenant_access_key","tenantUrlId","tenant_url_id","onboardingCompleted","onboarding_completed","purchaseCompleted","purchase_completed","parentOnboardingCompleted","parent_onboarding_completed","parentPurchaseCompleted","parent_purchase_completed","mailTemplateMapper","eventName","event_name","source","sourceAlias","source_alias","sourceId","source_id","sourceType","source_type","templateName","template_name","templateHtml","template_html","templateText","template_text","fromDomain","from_domain","fromAddress","from_address","fromName","from_name","fromSubject","from_subject","preferredLanguage","preferred_language","provider"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// User mappers
|
|
2
|
+
export { userMapper, roleMapper, permissionMapper, userAvatarMapper, userProfileMapper } from './user.mapper.js';
|
|
3
|
+
// Company mappers
|
|
4
|
+
export { companyMapper, companyDetailMapper, companyBlockMapper, companyKeyMapper, tenantMapper } from './company.mapper.js';
|
|
5
|
+
// API Key mappers
|
|
6
|
+
export { apiKeyMapper, apiKeyWithSecretMapper } from './api-key.mapper.js';
|
|
7
|
+
// App mappers
|
|
8
|
+
export { appMapper, blockMapper, serviceMapper } from './app.mapper.js';
|
|
9
|
+
// Subscription mappers
|
|
10
|
+
export { subscriptionModelMapper, userSubscriptionMapper, companySubscriptionMapper } from './subscription.mapper.js';
|
|
11
|
+
// Geography mappers
|
|
12
|
+
export { countryMapper, stateMapper, countyMapper, cityMapper, currencyMapper } from './geography.mapper.js';
|
|
13
|
+
// Guest and related mappers
|
|
14
|
+
export { guestMapper, magicLinkMapper, refreshTokenMapper, userDeviceMapper, tenantUserMapper, mailTemplateMapper } from './guest.mapper.js';
|
|
15
|
+
// Utilities
|
|
16
|
+
export { parseString, parseDate, parseBoolean, parseNumber, parseStringArray } from './utils.js';
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/mappers/index.ts"],"sourcesContent":["// User mappers\nexport { userMapper, roleMapper, permissionMapper, userAvatarMapper, userProfileMapper } from './user.mapper.js';\n\n// Company mappers\nexport { companyMapper, companyDetailMapper, companyBlockMapper, companyKeyMapper, tenantMapper } from './company.mapper.js';\n\n// API Key mappers\nexport { apiKeyMapper, apiKeyWithSecretMapper } from './api-key.mapper.js';\n\n// App mappers\nexport { appMapper, blockMapper, serviceMapper } from './app.mapper.js';\n\n// Subscription mappers\nexport { subscriptionModelMapper, userSubscriptionMapper, companySubscriptionMapper } from './subscription.mapper.js';\n\n// Geography mappers\nexport { countryMapper, stateMapper, countyMapper, cityMapper, currencyMapper } from './geography.mapper.js';\n\n// Guest and related mappers\nexport {\n guestMapper,\n magicLinkMapper,\n refreshTokenMapper,\n userDeviceMapper,\n tenantUserMapper,\n mailTemplateMapper,\n} from './guest.mapper.js';\n\n// Utilities\nexport { parseString, parseDate, parseBoolean, parseNumber, parseStringArray } from './utils.js';\n"],"names":["userMapper","roleMapper","permissionMapper","userAvatarMapper","userProfileMapper","companyMapper","companyDetailMapper","companyBlockMapper","companyKeyMapper","tenantMapper","apiKeyMapper","apiKeyWithSecretMapper","appMapper","blockMapper","serviceMapper","subscriptionModelMapper","userSubscriptionMapper","companySubscriptionMapper","countryMapper","stateMapper","countyMapper","cityMapper","currencyMapper","guestMapper","magicLinkMapper","refreshTokenMapper","userDeviceMapper","tenantUserMapper","mailTemplateMapper","parseString","parseDate","parseBoolean","parseNumber","parseStringArray"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA,eAAe;AACf,SAASA,UAAU,EAAEC,UAAU,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAEC,iBAAiB,QAAQ,mBAAmB;AAEjH,kBAAkB;AAClB,SAASC,aAAa,EAAEC,mBAAmB,EAAEC,kBAAkB,EAAEC,gBAAgB,EAAEC,YAAY,QAAQ,sBAAsB;AAE7H,kBAAkB;AAClB,SAASC,YAAY,EAAEC,sBAAsB,QAAQ,sBAAsB;AAE3E,cAAc;AACd,SAASC,SAAS,EAAEC,WAAW,EAAEC,aAAa,QAAQ,kBAAkB;AAExE,uBAAuB;AACvB,SAASC,uBAAuB,EAAEC,sBAAsB,EAAEC,yBAAyB,QAAQ,2BAA2B;AAEtH,oBAAoB;AACpB,SAASC,aAAa,EAAEC,WAAW,EAAEC,YAAY,EAAEC,UAAU,EAAEC,cAAc,QAAQ,wBAAwB;AAE7G,4BAA4B;AAC5B,SACEC,WAAW,EACXC,eAAe,EACfC,kBAAkB,EAClBC,gBAAgB,EAChBC,gBAAgB,EAChBC,kBAAkB,QACb,oBAAoB;AAE3B,YAAY;AACZ,SAASC,WAAW,EAAEC,SAAS,EAAEC,YAAY,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,aAAa"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { parseString, parseDate, parseNumber, parseBoolean } from './utils.js';
|
|
2
|
+
/**
|
|
3
|
+
* Mapper for SubscriptionModel resources
|
|
4
|
+
*/ export const subscriptionModelMapper = {
|
|
5
|
+
type: 'subscription_models',
|
|
6
|
+
map (resource, _included) {
|
|
7
|
+
var _resource_attributes;
|
|
8
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
9
|
+
var _parseString, _parseDate, _parseDate1, _attrs_code, _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
|
+
code: String((_attrs_code = attrs.code) != null ? _attrs_code : ''),
|
|
16
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
17
|
+
description: parseString(attrs.description),
|
|
18
|
+
promotional: parseBoolean(attrs.promotional),
|
|
19
|
+
programCode: parseString(attrs.program_code),
|
|
20
|
+
duration: parseNumber(attrs.duration),
|
|
21
|
+
durationUnit: parseString(attrs.duration_unit),
|
|
22
|
+
durationDescription: parseString(attrs.duration_description),
|
|
23
|
+
recurringPaymentFees: parseNumber(attrs.recurring_payment_fees),
|
|
24
|
+
recurringPaymentAmount: parseNumber(attrs.recurring_payment_amount),
|
|
25
|
+
contentLink: parseString(attrs.content_link),
|
|
26
|
+
startAt: parseDate(attrs.start_at),
|
|
27
|
+
endAt: parseDate(attrs.end_at),
|
|
28
|
+
isChannel: parseBoolean(attrs.is_channel),
|
|
29
|
+
maxTenants: parseNumber(attrs.max_tenants),
|
|
30
|
+
initialPayment: parseNumber(attrs.initial_payment),
|
|
31
|
+
subscriptionType: parseString(attrs.subscription_type),
|
|
32
|
+
payments: parseNumber(attrs.payments),
|
|
33
|
+
payload: attrs.payload,
|
|
34
|
+
maxItems: parseNumber(attrs.max_items)
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Mapper for UserSubscription resources
|
|
40
|
+
*/ export const userSubscriptionMapper = {
|
|
41
|
+
type: 'user_subscriptions',
|
|
42
|
+
map (resource, included) {
|
|
43
|
+
var _resource_relationships_subscription_model, _resource_relationships;
|
|
44
|
+
var _resource_attributes;
|
|
45
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
46
|
+
var _parseString, _parseDate, _parseDate1, _attrs_code, _attrs_user_unique_id, _parseNumber, _parseString1, _parseNumber1;
|
|
47
|
+
const subscription = {
|
|
48
|
+
id: resource.id,
|
|
49
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
50
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
51
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
52
|
+
code: String((_attrs_code = attrs.code) != null ? _attrs_code : ''),
|
|
53
|
+
userUniqueId: String((_attrs_user_unique_id = attrs.user_unique_id) != null ? _attrs_user_unique_id : ''),
|
|
54
|
+
programCode: parseString(attrs.program_code),
|
|
55
|
+
recurringPaymentFees: parseNumber(attrs.recurring_payment_fees),
|
|
56
|
+
recurringPaymentAmount: parseNumber(attrs.recurring_payment_amount),
|
|
57
|
+
subscriptionNumber: parseString(attrs.subscription_number),
|
|
58
|
+
subscribedAt: parseDate(attrs.subscribed_at),
|
|
59
|
+
closedAt: parseDate(attrs.closed_at),
|
|
60
|
+
lastPaymentAt: parseDate(attrs.last_payment_at),
|
|
61
|
+
nextPaymentAt: parseDate(attrs.next_payment_at),
|
|
62
|
+
lastPayment: parseNumber(attrs.last_payment),
|
|
63
|
+
paymentsMade: (_parseNumber = parseNumber(attrs.payments_made)) != null ? _parseNumber : 0,
|
|
64
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
65
|
+
bankruptcy: parseBoolean(attrs.bankruptcy),
|
|
66
|
+
initialPayment: parseNumber(attrs.initial_payment),
|
|
67
|
+
subscriptionType: parseString(attrs.subscription_type),
|
|
68
|
+
payments: parseNumber(attrs.payments),
|
|
69
|
+
payload: attrs.payload,
|
|
70
|
+
maxItems: parseNumber(attrs.max_items),
|
|
71
|
+
consumption: (_parseNumber1 = parseNumber(attrs.consumption)) != null ? _parseNumber1 : 0
|
|
72
|
+
};
|
|
73
|
+
// Resolve subscription_model relationship if included
|
|
74
|
+
if (included && ((_resource_relationships = resource.relationships) == null ? void 0 : (_resource_relationships_subscription_model = _resource_relationships.subscription_model) == null ? void 0 : _resource_relationships_subscription_model.data)) {
|
|
75
|
+
const relData = resource.relationships.subscription_model.data;
|
|
76
|
+
if (!Array.isArray(relData)) {
|
|
77
|
+
const modelResource = included.get(`${relData.type}:${relData.id}`);
|
|
78
|
+
if (modelResource) {
|
|
79
|
+
subscription.subscriptionModel = subscriptionModelMapper.map(modelResource, included);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return subscription;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Mapper for CompanySubscription resources
|
|
88
|
+
*/ export const companySubscriptionMapper = {
|
|
89
|
+
type: 'company_subscriptions',
|
|
90
|
+
map (resource, included) {
|
|
91
|
+
var _resource_relationships_subscription_model, _resource_relationships;
|
|
92
|
+
var _resource_attributes;
|
|
93
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
94
|
+
var _parseString, _parseDate, _parseDate1, _attrs_code, _attrs_company_unique_id, _parseNumber, _parseString1, _parseNumber1;
|
|
95
|
+
const subscription = {
|
|
96
|
+
id: resource.id,
|
|
97
|
+
uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
|
|
98
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
99
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
100
|
+
code: String((_attrs_code = attrs.code) != null ? _attrs_code : ''),
|
|
101
|
+
companyUniqueId: String((_attrs_company_unique_id = attrs.company_unique_id) != null ? _attrs_company_unique_id : ''),
|
|
102
|
+
programCode: parseString(attrs.program_code),
|
|
103
|
+
recurringPaymentFees: parseNumber(attrs.recurring_payment_fees),
|
|
104
|
+
recurringPaymentAmount: parseNumber(attrs.recurring_payment_amount),
|
|
105
|
+
subscriptionNumber: parseString(attrs.subscription_number),
|
|
106
|
+
subscribedAt: parseDate(attrs.subscribed_at),
|
|
107
|
+
closedAt: parseDate(attrs.closed_at),
|
|
108
|
+
lastPaymentAt: parseDate(attrs.last_payment_at),
|
|
109
|
+
nextPaymentAt: parseDate(attrs.next_payment_at),
|
|
110
|
+
lastPayment: parseNumber(attrs.last_payment),
|
|
111
|
+
paymentsMade: (_parseNumber = parseNumber(attrs.payments_made)) != null ? _parseNumber : 0,
|
|
112
|
+
status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
|
|
113
|
+
bankruptcy: parseBoolean(attrs.bankruptcy),
|
|
114
|
+
initialPayment: parseNumber(attrs.initial_payment),
|
|
115
|
+
subscriptionType: parseString(attrs.subscription_type),
|
|
116
|
+
payload: attrs.payload,
|
|
117
|
+
maxItems: parseNumber(attrs.max_items),
|
|
118
|
+
consumption: (_parseNumber1 = parseNumber(attrs.consumption)) != null ? _parseNumber1 : 0
|
|
119
|
+
};
|
|
120
|
+
// Resolve subscription_model relationship if included
|
|
121
|
+
if (included && ((_resource_relationships = resource.relationships) == null ? void 0 : (_resource_relationships_subscription_model = _resource_relationships.subscription_model) == null ? void 0 : _resource_relationships_subscription_model.data)) {
|
|
122
|
+
const relData = resource.relationships.subscription_model.data;
|
|
123
|
+
if (!Array.isArray(relData)) {
|
|
124
|
+
const modelResource = included.get(`${relData.type}:${relData.id}`);
|
|
125
|
+
if (modelResource) {
|
|
126
|
+
subscription.subscriptionModel = subscriptionModelMapper.map(modelResource, included);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return subscription;
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
//# sourceMappingURL=subscription.mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/mappers/subscription.mapper.ts"],"sourcesContent":["import type { ResourceMapper, IncludedMap, JsonApiResource } from '@23blocks/jsonapi-codec';\nimport type { EntityStatus } from '@23blocks/contracts';\nimport type {\n SubscriptionModel,\n UserSubscription,\n CompanySubscription,\n} from '../types/index.js';\nimport { parseString, parseDate, parseNumber, parseBoolean } from './utils.js';\n\n/**\n * Mapper for SubscriptionModel resources\n */\nexport const subscriptionModelMapper: ResourceMapper<SubscriptionModel> = {\n type: 'subscription_models',\n\n map(resource: JsonApiResource, _included: IncludedMap): SubscriptionModel {\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 code: String(attrs.code ?? ''),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n description: parseString(attrs.description),\n promotional: parseBoolean(attrs.promotional),\n programCode: parseString(attrs.program_code),\n duration: parseNumber(attrs.duration),\n durationUnit: parseString(attrs.duration_unit),\n durationDescription: parseString(attrs.duration_description),\n recurringPaymentFees: parseNumber(attrs.recurring_payment_fees),\n recurringPaymentAmount: parseNumber(attrs.recurring_payment_amount),\n contentLink: parseString(attrs.content_link),\n startAt: parseDate(attrs.start_at),\n endAt: parseDate(attrs.end_at),\n isChannel: parseBoolean(attrs.is_channel),\n maxTenants: parseNumber(attrs.max_tenants),\n initialPayment: parseNumber(attrs.initial_payment),\n subscriptionType: parseString(attrs.subscription_type),\n payments: parseNumber(attrs.payments),\n payload: attrs.payload as Record<string, unknown> | null,\n maxItems: parseNumber(attrs.max_items),\n };\n },\n};\n\n/**\n * Mapper for UserSubscription resources\n */\nexport const userSubscriptionMapper: ResourceMapper<UserSubscription> = {\n type: 'user_subscriptions',\n\n map(resource: JsonApiResource, included: IncludedMap): UserSubscription {\n const attrs = resource.attributes ?? {};\n\n const subscription: UserSubscription = {\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 code: String(attrs.code ?? ''),\n userUniqueId: String(attrs.user_unique_id ?? ''),\n programCode: parseString(attrs.program_code),\n recurringPaymentFees: parseNumber(attrs.recurring_payment_fees),\n recurringPaymentAmount: parseNumber(attrs.recurring_payment_amount),\n subscriptionNumber: parseString(attrs.subscription_number),\n subscribedAt: parseDate(attrs.subscribed_at),\n closedAt: parseDate(attrs.closed_at),\n lastPaymentAt: parseDate(attrs.last_payment_at),\n nextPaymentAt: parseDate(attrs.next_payment_at),\n lastPayment: parseNumber(attrs.last_payment),\n paymentsMade: parseNumber(attrs.payments_made) ?? 0,\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n bankruptcy: parseBoolean(attrs.bankruptcy),\n initialPayment: parseNumber(attrs.initial_payment),\n subscriptionType: parseString(attrs.subscription_type),\n payments: parseNumber(attrs.payments),\n payload: attrs.payload as Record<string, unknown> | null,\n maxItems: parseNumber(attrs.max_items),\n consumption: parseNumber(attrs.consumption) ?? 0,\n };\n\n // Resolve subscription_model relationship if included\n if (included && resource.relationships?.subscription_model?.data) {\n const relData = resource.relationships.subscription_model.data;\n if (!Array.isArray(relData)) {\n const modelResource = included.get(`${relData.type}:${relData.id}`);\n if (modelResource) {\n subscription.subscriptionModel = subscriptionModelMapper.map(modelResource, included);\n }\n }\n }\n\n return subscription;\n },\n};\n\n/**\n * Mapper for CompanySubscription resources\n */\nexport const companySubscriptionMapper: ResourceMapper<CompanySubscription> = {\n type: 'company_subscriptions',\n\n map(resource: JsonApiResource, included: IncludedMap): CompanySubscription {\n const attrs = resource.attributes ?? {};\n\n const subscription: CompanySubscription = {\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 code: String(attrs.code ?? ''),\n companyUniqueId: String(attrs.company_unique_id ?? ''),\n programCode: parseString(attrs.program_code),\n recurringPaymentFees: parseNumber(attrs.recurring_payment_fees),\n recurringPaymentAmount: parseNumber(attrs.recurring_payment_amount),\n subscriptionNumber: parseString(attrs.subscription_number),\n subscribedAt: parseDate(attrs.subscribed_at),\n closedAt: parseDate(attrs.closed_at),\n lastPaymentAt: parseDate(attrs.last_payment_at),\n nextPaymentAt: parseDate(attrs.next_payment_at),\n lastPayment: parseNumber(attrs.last_payment),\n paymentsMade: parseNumber(attrs.payments_made) ?? 0,\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n bankruptcy: parseBoolean(attrs.bankruptcy),\n initialPayment: parseNumber(attrs.initial_payment),\n subscriptionType: parseString(attrs.subscription_type),\n payload: attrs.payload as Record<string, unknown> | null,\n maxItems: parseNumber(attrs.max_items),\n consumption: parseNumber(attrs.consumption) ?? 0,\n };\n\n // Resolve subscription_model relationship if included\n if (included && resource.relationships?.subscription_model?.data) {\n const relData = resource.relationships.subscription_model.data;\n if (!Array.isArray(relData)) {\n const modelResource = included.get(`${relData.type}:${relData.id}`);\n if (modelResource) {\n subscription.subscriptionModel = subscriptionModelMapper.map(modelResource, included);\n }\n }\n }\n\n return subscription;\n },\n};\n"],"names":["parseString","parseDate","parseNumber","parseBoolean","subscriptionModelMapper","type","map","resource","_included","attrs","attributes","id","uniqueId","unique_id","createdAt","created_at","Date","updatedAt","updated_at","code","String","status","description","promotional","programCode","program_code","duration","durationUnit","duration_unit","durationDescription","duration_description","recurringPaymentFees","recurring_payment_fees","recurringPaymentAmount","recurring_payment_amount","contentLink","content_link","startAt","start_at","endAt","end_at","isChannel","is_channel","maxTenants","max_tenants","initialPayment","initial_payment","subscriptionType","subscription_type","payments","payload","maxItems","max_items","userSubscriptionMapper","included","subscription","userUniqueId","user_unique_id","subscriptionNumber","subscription_number","subscribedAt","subscribed_at","closedAt","closed_at","lastPaymentAt","last_payment_at","nextPaymentAt","next_payment_at","lastPayment","last_payment","paymentsMade","payments_made","bankruptcy","consumption","relationships","subscription_model","data","relData","Array","isArray","modelResource","get","subscriptionModel","companySubscriptionMapper","companyUniqueId","company_unique_id"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { resolveRelationship } from '@23blocks/jsonapi-codec';
|
|
2
|
+
import { parseDate, parseBoolean, parseString } from './utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* Permission mapper
|
|
5
|
+
*/ export const permissionMapper = {
|
|
6
|
+
type: 'permission',
|
|
7
|
+
map (resource, _included) {
|
|
8
|
+
var _resource_attributes;
|
|
9
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
10
|
+
var _attrs_status, _parseDate, _parseDate1;
|
|
11
|
+
return {
|
|
12
|
+
id: resource.id,
|
|
13
|
+
uniqueId: parseString(attrs.unique_id),
|
|
14
|
+
name: parseString(attrs.name),
|
|
15
|
+
level: Number(attrs.level) || 0,
|
|
16
|
+
parentId: parseString(attrs.parent_id),
|
|
17
|
+
description: parseString(attrs.description),
|
|
18
|
+
status: (_attrs_status = attrs.status) != null ? _attrs_status : 'active',
|
|
19
|
+
category: parseString(attrs.category),
|
|
20
|
+
riskLevel: parseString(attrs.risk_level),
|
|
21
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
22
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date()
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Role mapper
|
|
28
|
+
*/ export const roleMapper = {
|
|
29
|
+
type: 'role',
|
|
30
|
+
map (resource, _included) {
|
|
31
|
+
var _resource_attributes;
|
|
32
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
33
|
+
var _attrs_status, _parseDate, _parseDate1;
|
|
34
|
+
return {
|
|
35
|
+
id: resource.id,
|
|
36
|
+
uniqueId: parseString(attrs.unique_id),
|
|
37
|
+
name: parseString(attrs.name),
|
|
38
|
+
code: parseString(attrs.code),
|
|
39
|
+
description: parseString(attrs.description),
|
|
40
|
+
status: (_attrs_status = attrs.status) != null ? _attrs_status : 'active',
|
|
41
|
+
payload: attrs.payload,
|
|
42
|
+
onBoardingUniqueId: parseString(attrs.on_boarding_unique_id),
|
|
43
|
+
onBoardingUrl: parseString(attrs.on_boarding_url),
|
|
44
|
+
onBoardingPayload: attrs.on_boarding_payload,
|
|
45
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
46
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
47
|
+
// Note: permissions are typically not included in role responses
|
|
48
|
+
permissions: []
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* User avatar mapper
|
|
54
|
+
*/ export const userAvatarMapper = {
|
|
55
|
+
type: 'UserAvatar',
|
|
56
|
+
map (resource, _included) {
|
|
57
|
+
var _resource_attributes;
|
|
58
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
59
|
+
var _attrs_status, _parseDate, _parseDate1;
|
|
60
|
+
return {
|
|
61
|
+
id: resource.id,
|
|
62
|
+
uniqueId: parseString(attrs.unique_id),
|
|
63
|
+
userUniqueId: parseString(attrs.user_unique_id),
|
|
64
|
+
bucket: parseString(attrs.bucket),
|
|
65
|
+
originalName: parseString(attrs.original_name),
|
|
66
|
+
name: parseString(attrs.name),
|
|
67
|
+
url: parseString(attrs.url),
|
|
68
|
+
thumbnail: parseString(attrs.thumbnail),
|
|
69
|
+
fileType: parseString(attrs.file_type),
|
|
70
|
+
fileSize: attrs.file_size != null ? Number(attrs.file_size) : null,
|
|
71
|
+
description: parseString(attrs.description),
|
|
72
|
+
originalFile: parseString(attrs.original_file),
|
|
73
|
+
status: (_attrs_status = attrs.status) != null ? _attrs_status : 'active',
|
|
74
|
+
isPublic: parseBoolean(attrs.is_public),
|
|
75
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
76
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date()
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* User profile mapper
|
|
82
|
+
*/ export const userProfileMapper = {
|
|
83
|
+
type: 'UserProfile',
|
|
84
|
+
map (resource, _included) {
|
|
85
|
+
var _resource_attributes;
|
|
86
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
87
|
+
var _attrs_status, _parseDate, _parseDate1;
|
|
88
|
+
return {
|
|
89
|
+
id: resource.id,
|
|
90
|
+
uniqueId: parseString(attrs.unique_id),
|
|
91
|
+
userUniqueId: parseString(attrs.user_unique_id),
|
|
92
|
+
firstName: parseString(attrs.first_name),
|
|
93
|
+
middleName: parseString(attrs.middle_name),
|
|
94
|
+
lastName: parseString(attrs.last_name),
|
|
95
|
+
gender: parseString(attrs.gender),
|
|
96
|
+
ethnicity: parseString(attrs.ethnicity),
|
|
97
|
+
zipcode: parseString(attrs.zipcode),
|
|
98
|
+
maritalStatus: parseString(attrs.marital_status),
|
|
99
|
+
birthdate: parseDate(attrs.birthdate),
|
|
100
|
+
hhi: parseString(attrs.hhi),
|
|
101
|
+
children: attrs.children != null ? Number(attrs.children) : null,
|
|
102
|
+
source: parseString(attrs.source),
|
|
103
|
+
status: (_attrs_status = attrs.status) != null ? _attrs_status : 'active',
|
|
104
|
+
phoneNumber: parseString(attrs.phone_number),
|
|
105
|
+
email: parseString(attrs.email),
|
|
106
|
+
preferredDevice: parseString(attrs.preferred_device),
|
|
107
|
+
preferredLanguage: parseString(attrs.preferred_language),
|
|
108
|
+
webSite: parseString(attrs.web_site),
|
|
109
|
+
twitter: parseString(attrs.twitter),
|
|
110
|
+
fb: parseString(attrs.fb),
|
|
111
|
+
instagram: parseString(attrs.instagram),
|
|
112
|
+
linkedin: parseString(attrs.linkedin),
|
|
113
|
+
youtube: parseString(attrs.youtube),
|
|
114
|
+
blog: parseString(attrs.blog),
|
|
115
|
+
networkA: parseString(attrs.network_a),
|
|
116
|
+
networkB: parseString(attrs.network_b),
|
|
117
|
+
payload: attrs.payload,
|
|
118
|
+
timeZone: parseString(attrs.time_zone),
|
|
119
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
120
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date()
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* User mapper
|
|
126
|
+
*/ export const userMapper = {
|
|
127
|
+
type: 'User',
|
|
128
|
+
map (resource, included) {
|
|
129
|
+
var _resource_attributes;
|
|
130
|
+
const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
|
|
131
|
+
var _parseString, _parseString1, _attrs_status, _parseDate, _parseDate1;
|
|
132
|
+
return {
|
|
133
|
+
id: resource.id,
|
|
134
|
+
uniqueId: parseString(attrs.unique_id),
|
|
135
|
+
email: parseString(attrs.email),
|
|
136
|
+
username: parseString(attrs.username),
|
|
137
|
+
name: parseString(attrs.name),
|
|
138
|
+
nickname: parseString(attrs.nickname),
|
|
139
|
+
bio: parseString(attrs.bio),
|
|
140
|
+
provider: (_parseString = parseString(attrs.provider)) != null ? _parseString : 'email',
|
|
141
|
+
uid: (_parseString1 = parseString(attrs.uid)) != null ? _parseString1 : attrs.email,
|
|
142
|
+
roleId: parseString(attrs.role_id),
|
|
143
|
+
status: (_attrs_status = attrs.status) != null ? _attrs_status : 'active',
|
|
144
|
+
mailStatus: parseString(attrs.mail_status),
|
|
145
|
+
phoneStatus: parseString(attrs.phone_status),
|
|
146
|
+
allowPasswordChange: parseBoolean(attrs.allow_password_change),
|
|
147
|
+
lastSignInAt: parseDate(attrs.last_sign_in_at),
|
|
148
|
+
confirmedAt: parseDate(attrs.confirmed_at),
|
|
149
|
+
unconfirmedEmail: parseString(attrs.unconfirmed_email),
|
|
150
|
+
invitationSentAt: parseDate(attrs.invitation_sent_at),
|
|
151
|
+
invitationAcceptedAt: parseDate(attrs.invitation_accepted_at),
|
|
152
|
+
invitationCreatedAt: parseDate(attrs.invitation_created_at),
|
|
153
|
+
createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
|
|
154
|
+
updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
|
|
155
|
+
// Resolve relationships from included resources
|
|
156
|
+
role: resolveRelationship(resource, 'role', included, roleMapper),
|
|
157
|
+
avatar: resolveRelationship(resource, 'user_avatar', included, userAvatarMapper),
|
|
158
|
+
profile: resolveRelationship(resource, 'user_profile', included, userProfileMapper)
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
//# sourceMappingURL=user.mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/mappers/user.mapper.ts"],"sourcesContent":["import type { ResourceMapper, IncludedMap, JsonApiResource } from '@23blocks/jsonapi-codec';\nimport { resolveRelationship } from '@23blocks/jsonapi-codec';\nimport type { User, Role, UserAvatar, UserProfile, Permission } from '../types/index.js';\nimport { parseDate, parseBoolean, parseString } from './utils.js';\n\n/**\n * Permission mapper\n */\nexport const permissionMapper: ResourceMapper<Permission> = {\n type: 'permission',\n\n map(resource: JsonApiResource, _included: IncludedMap): Permission {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id),\n name: parseString(attrs.name),\n level: Number(attrs.level) || 0,\n parentId: parseString(attrs.parent_id),\n description: parseString(attrs.description),\n status: (attrs.status as Permission['status']) ?? 'active',\n category: parseString(attrs.category),\n riskLevel: parseString(attrs.risk_level),\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n };\n },\n};\n\n/**\n * Role mapper\n */\nexport const roleMapper: ResourceMapper<Role> = {\n type: 'role',\n\n map(resource: JsonApiResource, _included: IncludedMap): Role {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id),\n name: parseString(attrs.name),\n code: parseString(attrs.code),\n description: parseString(attrs.description),\n status: (attrs.status as Role['status']) ?? 'active',\n payload: attrs.payload as Record<string, unknown> | null,\n onBoardingUniqueId: parseString(attrs.on_boarding_unique_id),\n onBoardingUrl: parseString(attrs.on_boarding_url),\n onBoardingPayload: attrs.on_boarding_payload as Record<string, unknown> | null,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n // Note: permissions are typically not included in role responses\n permissions: [],\n };\n },\n};\n\n/**\n * User avatar mapper\n */\nexport const userAvatarMapper: ResourceMapper<UserAvatar> = {\n type: 'UserAvatar',\n\n map(resource: JsonApiResource, _included: IncludedMap): UserAvatar {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id),\n userUniqueId: parseString(attrs.user_unique_id),\n bucket: parseString(attrs.bucket),\n originalName: parseString(attrs.original_name),\n name: parseString(attrs.name),\n url: parseString(attrs.url),\n thumbnail: parseString(attrs.thumbnail),\n fileType: parseString(attrs.file_type),\n fileSize: attrs.file_size != null ? Number(attrs.file_size) : null,\n description: parseString(attrs.description),\n originalFile: parseString(attrs.original_file),\n status: (attrs.status as UserAvatar['status']) ?? 'active',\n isPublic: parseBoolean(attrs.is_public),\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n };\n },\n};\n\n/**\n * User profile mapper\n */\nexport const userProfileMapper: ResourceMapper<UserProfile> = {\n type: 'UserProfile',\n\n map(resource: JsonApiResource, _included: IncludedMap): UserProfile {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id),\n userUniqueId: parseString(attrs.user_unique_id),\n firstName: parseString(attrs.first_name),\n middleName: parseString(attrs.middle_name),\n lastName: parseString(attrs.last_name),\n gender: parseString(attrs.gender),\n ethnicity: parseString(attrs.ethnicity),\n zipcode: parseString(attrs.zipcode),\n maritalStatus: parseString(attrs.marital_status),\n birthdate: parseDate(attrs.birthdate),\n hhi: parseString(attrs.hhi),\n children: attrs.children != null ? Number(attrs.children) : null,\n source: parseString(attrs.source),\n status: (attrs.status as UserProfile['status']) ?? 'active',\n phoneNumber: parseString(attrs.phone_number),\n email: parseString(attrs.email),\n preferredDevice: parseString(attrs.preferred_device),\n preferredLanguage: parseString(attrs.preferred_language),\n webSite: parseString(attrs.web_site),\n twitter: parseString(attrs.twitter),\n fb: parseString(attrs.fb),\n instagram: parseString(attrs.instagram),\n linkedin: parseString(attrs.linkedin),\n youtube: parseString(attrs.youtube),\n blog: parseString(attrs.blog),\n networkA: parseString(attrs.network_a),\n networkB: parseString(attrs.network_b),\n payload: attrs.payload as Record<string, unknown> | null,\n timeZone: parseString(attrs.time_zone),\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n };\n },\n};\n\n/**\n * User mapper\n */\nexport const userMapper: ResourceMapper<User> = {\n type: 'User',\n\n map(resource: JsonApiResource, included: IncludedMap): User {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id),\n email: parseString(attrs.email),\n username: parseString(attrs.username),\n name: parseString(attrs.name),\n nickname: parseString(attrs.nickname),\n bio: parseString(attrs.bio),\n provider: parseString(attrs.provider) ?? 'email',\n uid: parseString(attrs.uid) ?? attrs.email as string,\n roleId: parseString(attrs.role_id),\n status: (attrs.status as User['status']) ?? 'active',\n mailStatus: parseString(attrs.mail_status),\n phoneStatus: parseString(attrs.phone_status),\n allowPasswordChange: parseBoolean(attrs.allow_password_change),\n lastSignInAt: parseDate(attrs.last_sign_in_at),\n confirmedAt: parseDate(attrs.confirmed_at),\n unconfirmedEmail: parseString(attrs.unconfirmed_email),\n invitationSentAt: parseDate(attrs.invitation_sent_at),\n invitationAcceptedAt: parseDate(attrs.invitation_accepted_at),\n invitationCreatedAt: parseDate(attrs.invitation_created_at),\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n\n // Resolve relationships from included resources\n role: resolveRelationship(resource, 'role', included, roleMapper),\n avatar: resolveRelationship(resource, 'user_avatar', included, userAvatarMapper),\n profile: resolveRelationship(resource, 'user_profile', included, userProfileMapper),\n };\n },\n};\n"],"names":["resolveRelationship","parseDate","parseBoolean","parseString","permissionMapper","type","map","resource","_included","attrs","attributes","id","uniqueId","unique_id","name","level","Number","parentId","parent_id","description","status","category","riskLevel","risk_level","createdAt","created_at","Date","updatedAt","updated_at","roleMapper","code","payload","onBoardingUniqueId","on_boarding_unique_id","onBoardingUrl","on_boarding_url","onBoardingPayload","on_boarding_payload","permissions","userAvatarMapper","userUniqueId","user_unique_id","bucket","originalName","original_name","url","thumbnail","fileType","file_type","fileSize","file_size","originalFile","original_file","isPublic","is_public","userProfileMapper","firstName","first_name","middleName","middle_name","lastName","last_name","gender","ethnicity","zipcode","maritalStatus","marital_status","birthdate","hhi","children","source","phoneNumber","phone_number","email","preferredDevice","preferred_device","preferredLanguage","preferred_language","webSite","web_site","twitter","fb","instagram","linkedin","youtube","blog","networkA","network_a","networkB","network_b","timeZone","time_zone","userMapper","included","username","nickname","bio","provider","uid","roleId","role_id","mailStatus","mail_status","phoneStatus","phone_status","allowPasswordChange","allow_password_change","lastSignInAt","last_sign_in_at","confirmedAt","confirmed_at","unconfirmedEmail","unconfirmed_email","invitationSentAt","invitation_sent_at","invitationAcceptedAt","invitation_accepted_at","invitationCreatedAt","invitation_created_at","role","avatar","profile"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|