@hed-hog/core 0.0.329 → 0.0.331

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.
Files changed (66) hide show
  1. package/dist/core.module.d.ts.map +1 -1
  2. package/dist/core.module.js +7 -4
  3. package/dist/core.module.js.map +1 -1
  4. package/dist/index.d.ts +8 -6
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +8 -6
  7. package/dist/index.js.map +1 -1
  8. package/dist/oauth/oauth.service.js +1 -1
  9. package/dist/oauth/oauth.service.js.map +1 -1
  10. package/dist/pdf/components/index.d.ts +57 -0
  11. package/dist/pdf/components/index.d.ts.map +1 -0
  12. package/dist/pdf/components/index.js +258 -0
  13. package/dist/pdf/components/index.js.map +1 -0
  14. package/dist/pdf/dto/generate-pdf.dto.d.ts +5 -0
  15. package/dist/pdf/dto/generate-pdf.dto.d.ts.map +1 -0
  16. package/dist/pdf/dto/generate-pdf.dto.js +27 -0
  17. package/dist/pdf/dto/generate-pdf.dto.js.map +1 -0
  18. package/dist/pdf/interfaces/pdf-theme-config.interface.d.ts +10 -0
  19. package/dist/pdf/interfaces/pdf-theme-config.interface.d.ts.map +1 -0
  20. package/dist/pdf/interfaces/pdf-theme-config.interface.js +3 -0
  21. package/dist/pdf/interfaces/pdf-theme-config.interface.js.map +1 -0
  22. package/dist/pdf/pdf.controller.d.ts +16 -0
  23. package/dist/pdf/pdf.controller.d.ts.map +1 -0
  24. package/dist/pdf/pdf.controller.js +100 -0
  25. package/dist/pdf/pdf.controller.js.map +1 -0
  26. package/dist/pdf/pdf.module.d.ts +3 -0
  27. package/dist/pdf/pdf.module.d.ts.map +1 -0
  28. package/dist/pdf/pdf.module.js +29 -0
  29. package/dist/pdf/pdf.module.js.map +1 -0
  30. package/dist/pdf/pdf.service.d.ts +44 -0
  31. package/dist/pdf/pdf.service.d.ts.map +1 -0
  32. package/dist/pdf/pdf.service.js +185 -0
  33. package/dist/pdf/pdf.service.js.map +1 -0
  34. package/dist/pdf/templates/hcode-institutional.template.d.ts +36 -0
  35. package/dist/pdf/templates/hcode-institutional.template.d.ts.map +1 -0
  36. package/dist/pdf/templates/hcode-institutional.template.js +67 -0
  37. package/dist/pdf/templates/hcode-institutional.template.js.map +1 -0
  38. package/dist/pdf/themes/hcode.theme.d.ts +25 -0
  39. package/dist/pdf/themes/hcode.theme.d.ts.map +1 -0
  40. package/dist/pdf/themes/hcode.theme.js +504 -0
  41. package/dist/pdf/themes/hcode.theme.js.map +1 -0
  42. package/hedhog/data/route.yaml +8 -0
  43. package/hedhog/data/setting_group.yaml +60 -0
  44. package/hedhog/frontend/app/account/layout.tsx.ejs +1 -1
  45. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +27 -23
  46. package/hedhog/frontend/app/mail/template/page.tsx.ejs +5 -5
  47. package/hedhog/frontend/app/mcp_chat/page.tsx.ejs +574 -574
  48. package/hedhog/frontend/app/menu/page.tsx.ejs +7 -2
  49. package/hedhog/frontend/app/preferences/page.tsx.ejs +1 -1
  50. package/hedhog/frontend/app/roles/page.tsx.ejs +7 -2
  51. package/hedhog/frontend/app/users/page.tsx.ejs +1 -1
  52. package/hedhog/frontend/app/users/user-sheet.tsx.ejs +5 -9
  53. package/hedhog/frontend/messages/en.json +36 -1
  54. package/hedhog/frontend/messages/pt.json +36 -1
  55. package/package.json +5 -5
  56. package/src/core.module.ts +7 -4
  57. package/src/index.ts +9 -6
  58. package/src/oauth/oauth.service.ts +12 -12
  59. package/src/pdf/components/index.ts +316 -0
  60. package/src/pdf/dto/generate-pdf.dto.ts +11 -0
  61. package/src/pdf/interfaces/pdf-theme-config.interface.ts +10 -0
  62. package/src/pdf/pdf.controller.ts +86 -0
  63. package/src/pdf/pdf.module.ts +17 -0
  64. package/src/pdf/pdf.service.ts +229 -0
  65. package/src/pdf/templates/hcode-institutional.template.ts +122 -0
  66. package/src/pdf/themes/hcode.theme.ts +515 -0
@@ -65,6 +65,7 @@ import {
65
65
  SelectTrigger,
66
66
  SelectValue,
67
67
  } from '@/components/ui/select';
68
+ import { usePersistedPageSize } from '@/hooks/use-persisted-page-size';
68
69
  import {
69
70
  Sheet,
70
71
  SheetContent,
@@ -1297,7 +1298,11 @@ export default function MenuPage() {
1297
1298
  const [isRefreshingMenu, setIsRefreshingMenu] = useState(false);
1298
1299
 
1299
1300
  const [page, setPage] = useState(1);
1300
- const [pageSize, setPageSize] = useState(12);
1301
+ const [pageSize, setPageSize] = usePersistedPageSize({
1302
+ storageKey: 'pagination:core-menu:pageSize',
1303
+ defaultValue: 12,
1304
+ allowedValues: [6, 12, 24, 48],
1305
+ });
1301
1306
 
1302
1307
  const { data: allMenus, refetch: refetchAllMenus } = useQuery<MenuItem[]>({
1303
1308
  queryKey: ['menus-all', currentLocaleCode],
@@ -2286,7 +2291,7 @@ export default function MenuPage() {
2286
2291
  return (
2287
2292
  <Page>
2288
2293
  <PageHeader
2289
- breadcrumbs={[{ label: 'Home', href: '/' }, { label: t('menus') }]}
2294
+ breadcrumbs={[{ label: t('home'), href: '/' }, { label: t('menus') }]}
2290
2295
  actions={[
2291
2296
  {
2292
2297
  label: t('buttonAddMenu'),
@@ -187,7 +187,7 @@ export default function PreferencesPage() {
187
187
  <div className="flex flex-col h-screen px-4">
188
188
  <PageHeader
189
189
  breadcrumbs={[
190
- { label: 'Home', href: '/dashboard' },
190
+ { label: t('home'), href: '/dashboard' },
191
191
  { label: t('title') },
192
192
  ]}
193
193
  title={t('title')}
@@ -73,6 +73,7 @@ import { useEffect, useMemo, useState } from 'react';
73
73
  import { useForm, useWatch } from 'react-hook-form';
74
74
  import { toast } from 'sonner';
75
75
  import { z } from 'zod';
76
+ import { usePersistedPageSize } from '@/hooks/use-persisted-page-size';
76
77
  import { RoleMenusSection } from './menus';
77
78
  import { RoleRoutesSection } from './routes';
78
79
  import { RoleUsersSection } from './users';
@@ -167,7 +168,11 @@ export default function RolePage() {
167
168
  const [selectedLocale, setSelectedLocale] = useState(currentLocaleCode);
168
169
 
169
170
  const [page, setPage] = useState(1);
170
- const [pageSize, setPageSize] = useState(12);
171
+ const [pageSize, setPageSize] = usePersistedPageSize({
172
+ storageKey: 'pagination:core-roles:pageSize',
173
+ defaultValue: 12,
174
+ allowedValues: [6, 12, 24, 48],
175
+ });
171
176
  const [activeTab, setActiveTab] = useState('basic-info');
172
177
  const [openDeleteModal, setOpenDeleteModal] = useState(false);
173
178
 
@@ -545,7 +550,7 @@ export default function RolePage() {
545
550
  return (
546
551
  <Page>
547
552
  <PageHeader
548
- breadcrumbs={[{ label: 'Home', href: '/' }, { label: t('roles') }]}
553
+ breadcrumbs={[{ label: t('home'), href: '/' }, { label: t('roles') }]}
549
554
  actions={[
550
555
  {
551
556
  label: t('buttonAddRole'),
@@ -96,7 +96,7 @@ export default function UserPage() {
96
96
  return (
97
97
  <Page>
98
98
  <PageHeader
99
- breadcrumbs={[{ label: 'Home', href: '/' }, { label: t('users') }]}
99
+ breadcrumbs={[{ label: t('home'), href: '/' }, { label: t('users') }]}
100
100
  actions={[
101
101
  {
102
102
  label: t('buttonAddUser'),
@@ -212,10 +212,8 @@ function UserCreateSheet({
212
212
  getSettingValue,
213
213
  currentLocaleCode
214
214
  );
215
- return currentLocaleCode === 'en'
216
- ? `Draft saved ${relativeLabel} • Last saved: ${absoluteLabel}`
217
- : `Rascunho salvo ${relativeLabel} • Último salvamento: ${absoluteLabel}`;
218
- }, [draftSavedAt, currentLocaleCode, getSettingValue, hasDraft]);
215
+ return t('draftStatus', { relativeLabel, absoluteLabel });
216
+ }, [draftSavedAt, currentLocaleCode, getSettingValue, hasDraft, t]);
219
217
 
220
218
  useEffect(() => {
221
219
  if (!open) return;
@@ -241,7 +239,7 @@ function UserCreateSheet({
241
239
  e?.response?.data?.message ||
242
240
  e?.response?.data?.error ||
243
241
  e?.message ||
244
- 'Server error';
242
+ t('serverError');
245
243
  setFormError(String(msg));
246
244
  }
247
245
  };
@@ -453,10 +451,8 @@ function UserEditSheet({
453
451
  getSettingValue,
454
452
  currentLocaleCode
455
453
  );
456
- return currentLocaleCode === 'en'
457
- ? `Draft saved ${relativeLabel} • Last saved: ${absoluteLabel}`
458
- : `Rascunho salvo ${relativeLabel} • Último salvamento: ${absoluteLabel}`;
459
- }, [editDraftSavedAt, currentLocaleCode, getSettingValue, hasEditDraft]);
454
+ return t('draftStatus', { relativeLabel, absoluteLabel });
455
+ }, [editDraftSavedAt, currentLocaleCode, getSettingValue, hasEditDraft, t]);
460
456
 
461
457
  useEffect(() => {
462
458
  if (!editingUser) return;
@@ -68,6 +68,7 @@
68
68
  "tabAccounts": "Accounts",
69
69
  "tabSessions": "Sessions",
70
70
  "breadcrumbLabel": "Account",
71
+ "home": "Home",
71
72
  "title": "Account",
72
73
  "description": "Manage your account settings and preferences."
73
74
  },
@@ -93,6 +94,7 @@
93
94
  "languageRequired": "Language is required",
94
95
  "themeRequired": "Theme is required",
95
96
  "title": "Preferences",
97
+ "home": "Home",
96
98
  "description": "Manage your user preferences and settings.",
97
99
  "appearance": "Appearance",
98
100
  "theme": "Theme",
@@ -127,6 +129,7 @@
127
129
  "errorName": "Name must be at least 2 characters",
128
130
  "errorEmail": "Invalid email address",
129
131
  "errorPassword": "Password must be at least 6 characters",
132
+ "draftStatus": "Draft saved {relativeLabel} • Last saved: {absoluteLabel}",
130
133
  "userDeletedSuccess": "User deleted successfully.",
131
134
  "serverError": "An error occurred. Please try again later.",
132
135
  "pictureUpdatedSuccess": "Profile picture updated successfully.",
@@ -201,6 +204,7 @@
201
204
  "cancel": "Cancel",
202
205
  "noRecentActivity": "No recent activity from this user.",
203
206
  "users": "Users",
207
+ "home": "Home",
204
208
  "tabPermissions": "Permissions",
205
209
  "permissionsTitle": "User Permissions",
206
210
  "permissionsDescription": "Manage roles assigned to this user",
@@ -244,6 +248,7 @@
244
248
  "title": "Roles Management",
245
249
  "description": "Manage all system roles and permissions",
246
250
  "roles": "Roles",
251
+ "home": "Home",
247
252
  "buttonAddRole": "Add Role",
248
253
  "totalRoles": "Total Roles",
249
254
  "totalUsers": "Total Users",
@@ -1025,12 +1030,40 @@
1025
1030
  "settingUpdated": "Setting updated successfully.",
1026
1031
  "settingUpdateFailed": "Failed to update setting.",
1027
1032
  "iconRevalidated": "System icon revalidated successfully.",
1033
+ "hidePassword": "Hide password",
1034
+ "showPassword": "Show password",
1028
1035
  "fileUploaded": "File uploaded successfully.",
1029
1036
  "fileUploadFailed": "Failed to upload file.",
1037
+ "fileIdNotReturned": "File ID not returned.",
1038
+ "temporaryOpenUrlNotReturned": "Temporary open URL not returned.",
1030
1039
  "uploadedFileAlt": "Uploaded file",
1031
1040
  "fileUrlPlaceholder": "File URL",
1032
1041
  "selectOption": "Select an option",
1033
- "selectMailProfile": "Select a mail profile"
1042
+ "selectMailProfile": "Select a mail profile",
1043
+ "mailProfile": {
1044
+ "nameLabel": "Name *",
1045
+ "namePlaceholder": "My Mail Profile",
1046
+ "fromEmailLabel": "From Email *",
1047
+ "fromEmailPlaceholder": "no-reply@example.com",
1048
+ "providerLabel": "Provider *",
1049
+ "providers": {
1050
+ "ses": "Amazon SES"
1051
+ },
1052
+ "smtpHostLabel": "SMTP Host *",
1053
+ "smtpHostPlaceholder": "smtp.example.com",
1054
+ "smtpPortLabel": "SMTP Port *",
1055
+ "smtpPortPlaceholder": "587",
1056
+ "smtpUsernameLabel": "SMTP Username *",
1057
+ "smtpUsernamePlaceholder": "user@example.com",
1058
+ "smtpPasswordLabel": "SMTP Password *",
1059
+ "clientIdLabel": "Client ID *",
1060
+ "clientSecretLabel": "Client Secret *",
1061
+ "refreshTokenLabel": "Refresh Token *",
1062
+ "accessKeyIdLabel": "Access Key ID *",
1063
+ "secretAccessKeyLabel": "Secret Access Key *",
1064
+ "regionLabel": "Region *",
1065
+ "regionPlaceholder": "us-east-1"
1066
+ }
1034
1067
  },
1035
1068
  "AddWidgetDialog": {
1036
1069
  "title": "Select Dashboard Components",
@@ -1555,6 +1588,7 @@
1555
1588
  "title": "Menus Management",
1556
1589
  "description": "Manage all system navigation menus",
1557
1590
  "menus": "Menus",
1591
+ "home": "Home",
1558
1592
  "totalMenus": "Total Menus",
1559
1593
  "buttonAddMenu": "Add Menu",
1560
1594
  "searchPlaceholder": "Search menus...",
@@ -1655,6 +1689,7 @@
1655
1689
  "noConversation": "Select or create a conversation",
1656
1690
  "toolCalled": "Tool called",
1657
1691
  "toolResult": "Tool result",
1692
+ "cancel": "Cancel",
1658
1693
  "deleteConversation": "Delete",
1659
1694
  "emptyConversations": "No conversations yet",
1660
1695
  "breadcrumbDashboard": "Dashboard",
@@ -68,6 +68,7 @@
68
68
  "tabAccounts": "Contas",
69
69
  "tabSessions": "Sessões",
70
70
  "breadcrumbLabel": "Conta",
71
+ "home": "Home",
71
72
  "title": "Conta",
72
73
  "description": "Gerencie as configurações e preferências da sua conta."
73
74
  },
@@ -93,6 +94,7 @@
93
94
  "languageRequired": "Idioma é obrigatório",
94
95
  "themeRequired": "Tema é obrigatório",
95
96
  "title": "Preferências",
97
+ "home": "Home",
96
98
  "description": "Gerencie suas preferências de usuário e configurações.",
97
99
  "appearance": "Aparência",
98
100
  "theme": "Tema",
@@ -127,6 +129,7 @@
127
129
  "errorName": "O nome deve ter pelo menos 2 caracteres",
128
130
  "errorEmail": "Endereço de e-mail inválido",
129
131
  "errorPassword": "A senha deve ter pelo menos 6 caracteres",
132
+ "draftStatus": "Rascunho salvo {relativeLabel} • Último salvamento: {absoluteLabel}",
130
133
  "userDeletedSuccess": "Usuário excluído com sucesso.",
131
134
  "serverError": "Ocorreu um erro. Por favor, tente novamente mais tarde.",
132
135
  "pictureUpdatedSuccess": "Foto de perfil atualizada com sucesso.",
@@ -201,6 +204,7 @@
201
204
  "cancel": "Cancelar",
202
205
  "noRecentActivity": "Nenhuma atividade recente deste usuário.",
203
206
  "users": "Usuários",
207
+ "home": "Home",
204
208
  "tabPermissions": "Permissões",
205
209
  "permissionsTitle": "Permissões do Usuário",
206
210
  "permissionsDescription": "Gerencie os cargos atribuídos a este usuário",
@@ -244,6 +248,7 @@
244
248
  "title": "Gerenciamento de Cargos",
245
249
  "description": "Gerencie todos os cargos e permissões do sistema",
246
250
  "roles": "Cargos",
251
+ "home": "Home",
247
252
  "buttonAddRole": "Adicionar Cargo",
248
253
  "totalRoles": "Total de Cargos",
249
254
  "totalUsers": "Total de Usuários",
@@ -1028,12 +1033,40 @@
1028
1033
  "settingUpdated": "Configuração atualizada com sucesso.",
1029
1034
  "settingUpdateFailed": "Falha ao atualizar configuração.",
1030
1035
  "iconRevalidated": "Ícone do sistema revalidado com sucesso.",
1036
+ "hidePassword": "Ocultar senha",
1037
+ "showPassword": "Mostrar senha",
1031
1038
  "fileUploaded": "Arquivo enviado com sucesso.",
1032
1039
  "fileUploadFailed": "Falha ao enviar arquivo.",
1040
+ "fileIdNotReturned": "ID do arquivo não retornado.",
1041
+ "temporaryOpenUrlNotReturned": "URL temporária de abertura não retornada.",
1033
1042
  "uploadedFileAlt": "Arquivo enviado",
1034
1043
  "fileUrlPlaceholder": "URL do arquivo",
1035
1044
  "selectOption": "Selecione uma opção",
1036
- "selectMailProfile": "Selecione um perfil de email"
1045
+ "selectMailProfile": "Selecione um perfil de email",
1046
+ "mailProfile": {
1047
+ "nameLabel": "Nome *",
1048
+ "namePlaceholder": "Meu Perfil de Email",
1049
+ "fromEmailLabel": "Email de envio *",
1050
+ "fromEmailPlaceholder": "nao-responda@exemplo.com",
1051
+ "providerLabel": "Provedor *",
1052
+ "providers": {
1053
+ "ses": "Amazon SES"
1054
+ },
1055
+ "smtpHostLabel": "Host SMTP *",
1056
+ "smtpHostPlaceholder": "smtp.exemplo.com",
1057
+ "smtpPortLabel": "Porta SMTP *",
1058
+ "smtpPortPlaceholder": "587",
1059
+ "smtpUsernameLabel": "Usuário SMTP *",
1060
+ "smtpUsernamePlaceholder": "usuario@exemplo.com",
1061
+ "smtpPasswordLabel": "Senha SMTP *",
1062
+ "clientIdLabel": "Client ID *",
1063
+ "clientSecretLabel": "Client Secret *",
1064
+ "refreshTokenLabel": "Refresh Token *",
1065
+ "accessKeyIdLabel": "Access Key ID *",
1066
+ "secretAccessKeyLabel": "Secret Access Key *",
1067
+ "regionLabel": "Região *",
1068
+ "regionPlaceholder": "us-east-1"
1069
+ }
1037
1070
  },
1038
1071
  "AddWidgetDialog": {
1039
1072
  "title": "Selecionar Componentes do Dashboard",
@@ -1610,6 +1643,7 @@
1610
1643
  "title": "Gerenciamento de Menus",
1611
1644
  "description": "Gerencie todos os menus de navegação do sistema",
1612
1645
  "menus": "Menus",
1646
+ "home": "Home",
1613
1647
  "totalMenus": "Total de Menus",
1614
1648
  "buttonAddMenu": "Adicionar Menu",
1615
1649
  "searchPlaceholder": "Pesquisar menus...",
@@ -1710,6 +1744,7 @@
1710
1744
  "noConversation": "Selecione ou crie uma conversa",
1711
1745
  "toolCalled": "Ferramenta chamada",
1712
1746
  "toolResult": "Resultado da ferramenta",
1747
+ "cancel": "Cancelar",
1713
1748
  "deleteConversation": "Excluir",
1714
1749
  "emptyConversations": "Nenhuma conversa ainda",
1715
1750
  "breadcrumbDashboard": "Painel",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/core",
3
- "version": "0.0.329",
3
+ "version": "0.0.331",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -31,12 +31,12 @@
31
31
  "speakeasy": "^2.0.0",
32
32
  "uuid": "^11.1.0",
33
33
  "@modelcontextprotocol/sdk": "^1.12.0",
34
- "@hed-hog/api": "0.0.8",
35
34
  "@hed-hog/api-locale": "0.0.14",
36
- "@hed-hog/api-pagination": "0.0.7",
37
- "@hed-hog/api-mail": "0.0.9",
35
+ "@hed-hog/api": "0.0.8",
38
36
  "@hed-hog/api-types": "0.0.1",
39
- "@hed-hog/api-prisma": "0.0.6"
37
+ "@hed-hog/api-prisma": "0.0.6",
38
+ "@hed-hog/api-mail": "0.0.9",
39
+ "@hed-hog/api-pagination": "0.0.7"
40
40
  },
41
41
  "exports": {
42
42
  ".": {
@@ -8,20 +8,21 @@ import { forwardRef, Global, Inject, MiddlewareConsumer, Module, NestModule, OnM
8
8
  import { ConfigModule } from '@nestjs/config';
9
9
  import { APP_INTERCEPTOR, Reflector } from '@nestjs/core';
10
10
  import { AiModule } from './ai/ai.module';
11
- import { McpModule } from './mcp/mcp.module';
12
- import { McpChatModule } from './mcp-chat/mcp-chat.module';
13
11
  import { AuthModule } from './auth/auth.module';
14
12
  import { SystemModule } from './core/system.module';
15
13
  import { DashboardModule } from './dashboard/dashboard.module';
16
14
  import { FileModule } from './file/file.module';
17
15
  import { InstallModule } from './install/install.module';
18
16
  import { IntegrationModule } from './integration/integration.module';
19
- import { MailSentModule } from './mail-sent/mail-sent.module';
20
17
  import { MailProfileModule } from './mail-profile/mail-profile.module';
18
+ import { MailSentModule } from './mail-sent/mail-sent.module';
21
19
  import { MailModule } from './mail/mail.module';
20
+ import { McpChatModule } from './mcp-chat/mcp-chat.module';
21
+ import { McpModule } from './mcp/mcp.module';
22
22
  import { MenuModule } from './menu/menu.module';
23
23
  import { LocaleInjectionMiddleware } from './middlewares/locale-injection.middleware';
24
24
  import { OAuthModule } from './oauth/oauth.module';
25
+ import { PdfModule } from './pdf/pdf.module';
25
26
  import { ProfileModule } from './profile/profile.module';
26
27
  import { RoleModule } from './role/role.module';
27
28
  import { RouteModule } from './route/route.module';
@@ -32,11 +33,11 @@ import { SettingModule } from './setting/setting.module';
32
33
  import { SettingService } from './setting/setting.service';
33
34
  import { TaskModule } from './task/task.module';
34
35
  import { UserModule } from './user/user.module';
35
- import { WebhookIntegrationModule } from './webhook-integration/webhook-integration.module';
36
36
  import { IsEmailWithSettingsConstraint } from './validators/is-email-with-settings.validator';
37
37
  import { IsPinCodeWithSettingConstraint } from './validators/is-pin-code-with-setting.validator';
38
38
  import { IsStrongPasswordWithSettingsConstraint } from './validators/is-strong-password-with-settings.validator';
39
39
  import { ValidatorServiceLocator } from './validators/service-locator';
40
+ import { WebhookIntegrationModule } from './webhook-integration/webhook-integration.module';
40
41
 
41
42
  @Global()
42
43
  @Module({
@@ -71,6 +72,7 @@ import { ValidatorServiceLocator } from './validators/service-locator';
71
72
  forwardRef(() => WebhookIntegrationModule),
72
73
  forwardRef(() => McpModule),
73
74
  forwardRef(() => McpChatModule),
75
+ forwardRef(() => PdfModule),
74
76
  ],
75
77
  exports: [
76
78
  UserModule,
@@ -91,6 +93,7 @@ import { ValidatorServiceLocator } from './validators/service-locator';
91
93
  IsStrongPasswordWithSettingsConstraint,
92
94
  IsEmailWithSettingsConstraint,
93
95
  IsPinCodeWithSettingConstraint,
96
+ PdfModule,
94
97
  ],
95
98
  providers: [
96
99
  Reflector,
package/src/index.ts CHANGED
@@ -19,23 +19,26 @@ export * from './screen/screen.service';
19
19
  export * from './user/constants/user.constants';
20
20
  export * from './user/user.service';
21
21
 
22
- export * from './mail/mail.module';
23
- export * from './mail/mail.service';
24
22
  export * from './mail-profile/mail-profile.module';
25
23
  export * from './mail-profile/mail-profile.service';
24
+ export * from './mail/mail.module';
25
+ export * from './mail/mail.service';
26
26
 
27
27
  export * from './file/file.module';
28
28
  export * from './file/file.service';
29
+
30
+ export * from './pdf/pdf.module';
31
+ export * from './pdf/pdf.service';
29
32
  export * from './setting/setting.module';
30
33
  export * from './setting/setting.service';
31
34
 
32
35
  export * from './ai/ai.module';
33
36
  export * from './ai/ai.service';
34
37
 
35
- export * from './webhook-integration/webhook-integration.module';
38
+ export * from './webhook-integration/event-webhook.service';
36
39
  export * from './webhook-integration/integration-event-catalog.service';
40
+ export * from './webhook-integration/webhook-integration.module';
37
41
  export * from './webhook-integration/webhook-integration.service';
38
- export * from './webhook-integration/event-webhook.service';
39
42
 
40
43
  // Integration Module
41
44
  export * from './integration/integration.module';
@@ -58,10 +61,10 @@ export * from './validators/is-pin-code-with-setting.validator';
58
61
  export * from './validators/is-strong-password-with-settings.validator';
59
62
 
60
63
  // MCP Module
61
- export * from './mcp/mcp.module';
62
- export * from './mcp/mcp-registry.service';
63
64
  export * from './mcp/decorators/mcp-tool.decorator';
64
65
  export * from './mcp/interfaces/mcp-tool-definition.interface';
66
+ export * from './mcp/mcp-registry.service';
67
+ export * from './mcp/mcp.module';
65
68
  export * from './mcp/types/mcp-context.type';
66
69
 
67
70
  // Utilities
@@ -1,14 +1,14 @@
1
1
  import { getLocaleText } from '@hed-hog/api-locale';
2
2
  import { PrismaService, user_account_provider_52222e2ecb_enum } from '@hed-hog/api-prisma';
3
3
  import {
4
- BadRequestException,
5
- ConflictException,
6
- Inject,
7
- Injectable,
8
- Logger,
9
- NotFoundException,
10
- ServiceUnavailableException,
11
- forwardRef
4
+ BadRequestException,
5
+ ConflictException,
6
+ Inject,
7
+ Injectable,
8
+ Logger,
9
+ NotFoundException,
10
+ ServiceUnavailableException,
11
+ forwardRef
12
12
  } from '@nestjs/common';
13
13
  import { AuthService } from '../auth/auth.service';
14
14
  import { FileService } from '../file/file.service';
@@ -21,9 +21,9 @@ import { UserService } from '../user/user.service';
21
21
  import { OAuthProvider } from './interfaces/OAuthProvider';
22
22
  import { OAuthCallbackCoordinatorService } from './oauth-callback-coordinator.service';
23
23
  import {
24
- OAuthCallbackAlreadyProcessedError,
25
- OAuthCallbackInProgressError,
26
- OAuthProviderException,
24
+ OAuthCallbackAlreadyProcessedError,
25
+ OAuthCallbackInProgressError,
26
+ OAuthProviderException,
27
27
  } from './oauth.errors';
28
28
  import { FacebookProvider } from './providers/facebook.provider';
29
29
  import { GithubProvider } from './providers/github.provider';
@@ -362,7 +362,7 @@ export class OAuthService {
362
362
  data: {
363
363
  name: profile.name,
364
364
  role_user: {
365
- connect: (await roleIds).map((role) => ({ id: role.id })),
365
+ create: (await roleIds).map((role) => ({ role_id: role.id })),
366
366
  },
367
367
  user_identifier: {
368
368
  create: {