@intlayer/backend 5.7.3 → 5.7.4

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 (127) hide show
  1. package/dist/cjs/controllers/dictionary.controller.cjs.map +1 -1
  2. package/dist/cjs/controllers/newsletter.controller.cjs +12 -13
  3. package/dist/cjs/controllers/newsletter.controller.cjs.map +1 -1
  4. package/dist/cjs/controllers/organization.controller.cjs +28 -41
  5. package/dist/cjs/controllers/organization.controller.cjs.map +1 -1
  6. package/dist/cjs/controllers/project.controller.cjs +7 -1
  7. package/dist/cjs/controllers/project.controller.cjs.map +1 -1
  8. package/dist/cjs/controllers/projectAccessKey.controller.cjs +9 -3
  9. package/dist/cjs/controllers/projectAccessKey.controller.cjs.map +1 -1
  10. package/dist/cjs/controllers/stripe.controller.cjs +15 -3
  11. package/dist/cjs/controllers/stripe.controller.cjs.map +1 -1
  12. package/dist/cjs/controllers/tag.controller.cjs +4 -6
  13. package/dist/cjs/controllers/tag.controller.cjs.map +1 -1
  14. package/dist/cjs/controllers/user.controller.cjs +19 -14
  15. package/dist/cjs/controllers/user.controller.cjs.map +1 -1
  16. package/dist/cjs/emails/OAuthTokenCreatedEmail.cjs +5 -7
  17. package/dist/cjs/emails/OAuthTokenCreatedEmail.cjs.map +1 -1
  18. package/dist/cjs/schemas/dictionary.schema.cjs +1 -1
  19. package/dist/cjs/schemas/dictionary.schema.cjs.map +1 -1
  20. package/dist/cjs/schemas/discussion.schema.cjs +1 -1
  21. package/dist/cjs/schemas/discussion.schema.cjs.map +1 -1
  22. package/dist/cjs/schemas/oAuth2.schema.cjs +1 -1
  23. package/dist/cjs/schemas/oAuth2.schema.cjs.map +1 -1
  24. package/dist/cjs/schemas/organization.schema.cjs +1 -1
  25. package/dist/cjs/schemas/organization.schema.cjs.map +1 -1
  26. package/dist/cjs/schemas/plans.schema.cjs +1 -1
  27. package/dist/cjs/schemas/plans.schema.cjs.map +1 -1
  28. package/dist/cjs/schemas/project.schema.cjs +1 -1
  29. package/dist/cjs/schemas/project.schema.cjs.map +1 -1
  30. package/dist/cjs/schemas/session.schema.cjs +1 -1
  31. package/dist/cjs/schemas/session.schema.cjs.map +1 -1
  32. package/dist/cjs/schemas/tag.schema.cjs +1 -1
  33. package/dist/cjs/schemas/tag.schema.cjs.map +1 -1
  34. package/dist/cjs/schemas/user.schema.cjs +1 -1
  35. package/dist/cjs/schemas/user.schema.cjs.map +1 -1
  36. package/dist/cjs/types/organization.types.cjs.map +1 -1
  37. package/dist/cjs/types/project.types.cjs.map +1 -1
  38. package/dist/cjs/utils/AI/askDocQuestion/askDocQuestion.cjs +3 -0
  39. package/dist/cjs/utils/AI/askDocQuestion/askDocQuestion.cjs.map +1 -1
  40. package/dist/cjs/utils/auth/getAuth.cjs +8 -5
  41. package/dist/cjs/utils/auth/getAuth.cjs.map +1 -1
  42. package/dist/cjs/utils/errors/errorCodes.cjs +13 -0
  43. package/dist/cjs/utils/errors/errorCodes.cjs.map +1 -1
  44. package/dist/cjs/utils/mapper/project.cjs +1 -2
  45. package/dist/cjs/utils/mapper/project.cjs.map +1 -1
  46. package/dist/cjs/utils/mapper/session.cjs +37 -0
  47. package/dist/cjs/utils/mapper/session.cjs.map +1 -0
  48. package/dist/cjs/utils/permissions.cjs +51 -34
  49. package/dist/cjs/utils/permissions.cjs.map +1 -1
  50. package/dist/cjs/utils/validation/validateArray.cjs +5 -1
  51. package/dist/cjs/utils/validation/validateArray.cjs.map +1 -1
  52. package/dist/esm/controllers/dictionary.controller.mjs.map +1 -1
  53. package/dist/esm/controllers/newsletter.controller.mjs +12 -13
  54. package/dist/esm/controllers/newsletter.controller.mjs.map +1 -1
  55. package/dist/esm/controllers/organization.controller.mjs +28 -41
  56. package/dist/esm/controllers/organization.controller.mjs.map +1 -1
  57. package/dist/esm/controllers/project.controller.mjs +7 -1
  58. package/dist/esm/controllers/project.controller.mjs.map +1 -1
  59. package/dist/esm/controllers/projectAccessKey.controller.mjs +10 -4
  60. package/dist/esm/controllers/projectAccessKey.controller.mjs.map +1 -1
  61. package/dist/esm/controllers/stripe.controller.mjs +15 -3
  62. package/dist/esm/controllers/stripe.controller.mjs.map +1 -1
  63. package/dist/esm/controllers/tag.controller.mjs +4 -6
  64. package/dist/esm/controllers/tag.controller.mjs.map +1 -1
  65. package/dist/esm/controllers/user.controller.mjs +19 -14
  66. package/dist/esm/controllers/user.controller.mjs.map +1 -1
  67. package/dist/esm/emails/OAuthTokenCreatedEmail.mjs +5 -7
  68. package/dist/esm/emails/OAuthTokenCreatedEmail.mjs.map +1 -1
  69. package/dist/esm/schemas/dictionary.schema.mjs +1 -1
  70. package/dist/esm/schemas/dictionary.schema.mjs.map +1 -1
  71. package/dist/esm/schemas/discussion.schema.mjs +1 -1
  72. package/dist/esm/schemas/discussion.schema.mjs.map +1 -1
  73. package/dist/esm/schemas/oAuth2.schema.mjs +1 -1
  74. package/dist/esm/schemas/oAuth2.schema.mjs.map +1 -1
  75. package/dist/esm/schemas/organization.schema.mjs +1 -1
  76. package/dist/esm/schemas/organization.schema.mjs.map +1 -1
  77. package/dist/esm/schemas/plans.schema.mjs +1 -1
  78. package/dist/esm/schemas/plans.schema.mjs.map +1 -1
  79. package/dist/esm/schemas/project.schema.mjs +1 -1
  80. package/dist/esm/schemas/project.schema.mjs.map +1 -1
  81. package/dist/esm/schemas/session.schema.mjs +1 -1
  82. package/dist/esm/schemas/session.schema.mjs.map +1 -1
  83. package/dist/esm/schemas/tag.schema.mjs +1 -1
  84. package/dist/esm/schemas/tag.schema.mjs.map +1 -1
  85. package/dist/esm/schemas/user.schema.mjs +1 -1
  86. package/dist/esm/schemas/user.schema.mjs.map +1 -1
  87. package/dist/esm/utils/AI/askDocQuestion/askDocQuestion.mjs +3 -0
  88. package/dist/esm/utils/AI/askDocQuestion/askDocQuestion.mjs.map +1 -1
  89. package/dist/esm/utils/auth/getAuth.mjs +8 -5
  90. package/dist/esm/utils/auth/getAuth.mjs.map +1 -1
  91. package/dist/esm/utils/errors/errorCodes.mjs +13 -0
  92. package/dist/esm/utils/errors/errorCodes.mjs.map +1 -1
  93. package/dist/esm/utils/mapper/project.mjs +1 -2
  94. package/dist/esm/utils/mapper/project.mjs.map +1 -1
  95. package/dist/esm/utils/mapper/session.mjs +13 -0
  96. package/dist/esm/utils/mapper/session.mjs.map +1 -0
  97. package/dist/esm/utils/permissions.mjs +51 -34
  98. package/dist/esm/utils/permissions.mjs.map +1 -1
  99. package/dist/esm/utils/validation/validateArray.mjs +5 -1
  100. package/dist/esm/utils/validation/validateArray.mjs.map +1 -1
  101. package/dist/types/controllers/dictionary.controller.d.ts.map +1 -1
  102. package/dist/types/controllers/newsletter.controller.d.ts.map +1 -1
  103. package/dist/types/controllers/organization.controller.d.ts +3 -5
  104. package/dist/types/controllers/organization.controller.d.ts.map +1 -1
  105. package/dist/types/controllers/project.controller.d.ts.map +1 -1
  106. package/dist/types/controllers/projectAccessKey.controller.d.ts.map +1 -1
  107. package/dist/types/controllers/stripe.controller.d.ts +4 -1
  108. package/dist/types/controllers/stripe.controller.d.ts.map +1 -1
  109. package/dist/types/controllers/tag.controller.d.ts.map +1 -1
  110. package/dist/types/controllers/user.controller.d.ts.map +1 -1
  111. package/dist/types/emails/OAuthTokenCreatedEmail.d.ts.map +1 -1
  112. package/dist/types/types/organization.types.d.ts +1 -3
  113. package/dist/types/types/organization.types.d.ts.map +1 -1
  114. package/dist/types/types/project.types.d.ts +1 -3
  115. package/dist/types/types/project.types.d.ts.map +1 -1
  116. package/dist/types/utils/AI/askDocQuestion/askDocQuestion.d.ts.map +1 -1
  117. package/dist/types/utils/auth/getAuth.d.ts +2 -2
  118. package/dist/types/utils/auth/getAuth.d.ts.map +1 -1
  119. package/dist/types/utils/errors/errorCodes.d.ts +13 -0
  120. package/dist/types/utils/errors/errorCodes.d.ts.map +1 -1
  121. package/dist/types/utils/mapper/project.d.ts.map +1 -1
  122. package/dist/types/utils/mapper/session.d.ts +4 -0
  123. package/dist/types/utils/mapper/session.d.ts.map +1 -0
  124. package/dist/types/utils/permissions.d.ts +32 -28
  125. package/dist/types/utils/permissions.d.ts.map +1 -1
  126. package/dist/types/utils/validation/validateArray.d.ts.map +1 -1
  127. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/mapper/project.ts"],"sourcesContent":["import type { Project, ProjectAPI } from '@/types/project.types';\nimport { ensureMongoDocumentToObject } from '@utils/ensureMongoDocumentToObject';\n\n/**\n * Maps a project to an API response.\n * @param project - The project to map.\n * @param - Whether the user is an admin of the project.\n * @returns The project mapped to an API response.\n */\nexport const mapProjectToAPI = <T extends Project | ProjectAPI | null>(\n project?: T\n): T extends null ? null : ProjectAPI => {\n if (!project) {\n return null as any;\n }\n\n const projectObject = ensureMongoDocumentToObject(project);\n\n const { adminsIds, ...projectAPI } = projectObject;\n return projectAPI as any;\n};\n\n/**\n * Formats an array of projects for API response. Removes sensitive information.\n * @param projects - The array of project objects to format.\n * @param user - The user object.\n * @param - Whether the user is an admin of the project.\n * @returns The formatted array of user objects.\n */\nexport const mapProjectsToAPI = (\n projects: (Project | ProjectAPI)[]\n): ProjectAPI[] =>\n projects.map(mapProjectToAPI).filter(Boolean) as ProjectAPI[];\n"],"mappings":"AACA,SAAS,mCAAmC;AAQrC,MAAM,kBAAkB,CAC7B,YACuC;AACvC,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAEA,QAAM,gBAAgB,4BAA4B,OAAO;AAEzD,QAAM,EAAE,WAAW,GAAG,WAAW,IAAI;AACrC,SAAO;AACT;AASO,MAAM,mBAAmB,CAC9B,aAEA,SAAS,IAAI,eAAe,EAAE,OAAO,OAAO;","names":[]}
1
+ {"version":3,"sources":["../../../../src/utils/mapper/project.ts"],"sourcesContent":["import type { Project, ProjectAPI } from '@/types/project.types';\nimport { ensureMongoDocumentToObject } from '@utils/ensureMongoDocumentToObject';\n\n/**\n * Maps a project to an API response.\n * @param project - The project to map.\n * @param - Whether the user is an admin of the project.\n * @returns The project mapped to an API response.\n */\nexport const mapProjectToAPI = <T extends Project | ProjectAPI | null>(\n project?: T\n): T extends null ? null : ProjectAPI => {\n if (!project) {\n return null as any;\n }\n\n const projectObject = ensureMongoDocumentToObject(project);\n\n return projectObject as any;\n};\n\n/**\n * Formats an array of projects for API response. Removes sensitive information.\n * @param projects - The array of project objects to format.\n * @param user - The user object.\n * @param - Whether the user is an admin of the project.\n * @returns The formatted array of user objects.\n */\nexport const mapProjectsToAPI = (\n projects: (Project | ProjectAPI)[]\n): ProjectAPI[] =>\n projects.map(mapProjectToAPI).filter(Boolean) as ProjectAPI[];\n"],"mappings":"AACA,SAAS,mCAAmC;AAQrC,MAAM,kBAAkB,CAC7B,YACuC;AACvC,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAEA,QAAM,gBAAgB,4BAA4B,OAAO;AAEzD,SAAO;AACT;AASO,MAAM,mBAAmB,CAC9B,aAEA,SAAS,IAAI,eAAe,EAAE,OAAO,OAAO;","names":[]}
@@ -0,0 +1,13 @@
1
+ import { mapOrganizationToAPI } from "./organization.mjs";
2
+ import { mapProjectToAPI } from "./project.mjs";
3
+ import { mapUserToAPI } from "./user.mjs";
4
+ const mapSessionToAPI = (session) => ({
5
+ ...session,
6
+ user: mapUserToAPI(session.user),
7
+ organization: mapOrganizationToAPI(session.organization),
8
+ project: mapProjectToAPI(session.project)
9
+ });
10
+ export {
11
+ mapSessionToAPI
12
+ };
13
+ //# sourceMappingURL=session.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/utils/mapper/session.ts"],"sourcesContent":["import type { Session, SessionAPI } from '@/types/session.types';\nimport type { OmitId } from 'better-auth';\nimport { mapOrganizationToAPI } from './organization';\nimport { mapProjectToAPI } from './project';\nimport { mapUserToAPI } from './user';\n\nexport const mapSessionToAPI = (\n session: OmitId<Session>\n): OmitId<SessionAPI> => ({\n ...session,\n user: mapUserToAPI(session.user),\n organization: mapOrganizationToAPI(session.organization),\n project: mapProjectToAPI(session.project),\n});\n"],"mappings":"AAEA,SAAS,4BAA4B;AACrC,SAAS,uBAAuB;AAChC,SAAS,oBAAoB;AAEtB,MAAM,kBAAkB,CAC7B,aACwB;AAAA,EACxB,GAAG;AAAA,EACH,MAAM,aAAa,QAAQ,IAAI;AAAA,EAC/B,cAAc,qBAAqB,QAAQ,YAAY;AAAA,EACvD,SAAS,gBAAgB,QAAQ,OAAO;AAC1C;","names":[]}
@@ -19,16 +19,22 @@ const ROLE_POLICY = {
19
19
  user: {
20
20
  "user:read": ({
21
21
  user,
22
- targetUserIds
23
- }) => targetUserIds.map(String).includes(String(user?.id)),
22
+ targetUsers
23
+ }) => targetUsers.every(
24
+ (targetUser) => String(targetUser.id) === String(user?.id) && targetUser.email === user?.email
25
+ ),
24
26
  "user:write": ({
25
27
  user,
26
- targetUserIds
27
- }) => targetUserIds.map(String).includes(String(user?.id)),
28
+ targetUsers
29
+ }) => targetUsers.every(
30
+ (targetUser) => String(targetUser.id) === String(user?.id) && targetUser.email === user?.email
31
+ ),
28
32
  "user:admin": ({
29
33
  user,
30
- targetUserIds
31
- }) => targetUserIds.map(String).includes(String(user?.id)),
34
+ targetUsers
35
+ }) => targetUsers.every(
36
+ (targetUser) => String(targetUser.id) === String(user?.id) && targetUser.email === user?.email
37
+ ),
32
38
  "organization:read": ({
33
39
  user,
34
40
  targetOrganizations
@@ -63,13 +69,18 @@ const ROLE_POLICY = {
63
69
  "tag:admin": ({ organization, project }) => String(project?.organizationId) === String(organization?.id),
64
70
  "user:write": ({
65
71
  organization,
66
- targetUserIds
67
- }) => targetUserIds.every(
68
- (targetUserId) => organization?.membersIds?.map(String).includes(String(targetUserId))
72
+ targetUsers
73
+ }) => targetUsers.every(
74
+ (targetUser) => organization?.membersIds?.map(String).includes(String(targetUser?.id))
69
75
  )
70
76
  },
71
77
  org_user: {
72
- "organization:read": () => true,
78
+ "organization:read": ({
79
+ organization,
80
+ targetOrganizations
81
+ }) => targetOrganizations.every(
82
+ (targetOrg) => String(targetOrg.id) === String(organization?.id)
83
+ ),
73
84
  "project:read": ({
74
85
  user,
75
86
  targetProjects
@@ -78,9 +89,9 @@ const ROLE_POLICY = {
78
89
  ),
79
90
  "user:read": ({
80
91
  organization,
81
- targetUserIds
82
- }) => targetUserIds.every(
83
- (targetUserId) => organization?.membersIds?.map(String).includes(String(targetUserId))
92
+ targetUsers
93
+ }) => targetUsers.every(
94
+ (targetUser) => organization?.membersIds?.map(String).includes(String(targetUser?.id))
84
95
  )
85
96
  },
86
97
  project_admin: {
@@ -104,27 +115,21 @@ const ROLE_POLICY = {
104
115
  ),
105
116
  "tag:read": ({
106
117
  project,
107
- targetTagProjectIds
108
- }) => targetTagProjectIds.every(
109
- (projectId) => String(project?.id) === String(projectId)
110
- ),
118
+ targetTags
119
+ }) => targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),
111
120
  "tag:write": ({
112
121
  project,
113
- targetTagProjectIds
114
- }) => targetTagProjectIds.every(
115
- (projectId) => String(project?.id) === String(projectId)
116
- ),
122
+ targetTags
123
+ }) => targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),
117
124
  "tag:admin": ({
118
125
  project,
119
- targetTagProjectIds
120
- }) => targetTagProjectIds.every(
121
- (projectId) => String(project?.id) === String(projectId)
122
- ),
126
+ targetTags
127
+ }) => targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),
123
128
  "user:write": ({
124
129
  project,
125
- targetUserIds
126
- }) => targetUserIds.every(
127
- (targetUserId) => project?.membersIds?.map(String).includes(String(targetUserId))
130
+ targetUsers
131
+ }) => targetUsers.every(
132
+ (targetUser) => project?.membersIds?.map(String).includes(String(targetUser?.id))
128
133
  ),
129
134
  "dictionary:read": ({ project, user }) => project?.adminsIds?.map(String).includes(String(user?.id)),
130
135
  "dictionary:write": ({ project, user }) => project?.adminsIds?.map(String).includes(String(user?.id)),
@@ -140,14 +145,26 @@ const ROLE_POLICY = {
140
145
  (dictionary) => dictionary?.projectIds?.map(String).includes(String(project?.id))
141
146
  ),
142
147
  "dictionary:write": ({ user, project }) => project?.adminsIds?.map(String).includes(String(user?.id)),
143
- "tag:read": () => true,
144
- "tag:write": () => true,
145
- "tag:admin": ({ user, organization }) => organization?.adminsIds?.map(String).includes(String(user?.id)),
148
+ "tag:read": ({
149
+ project,
150
+ targetTags,
151
+ user
152
+ }) => project?.membersIds?.map(String).includes(String(user?.id)) && targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),
153
+ "tag:write": ({
154
+ project,
155
+ targetTags,
156
+ user
157
+ }) => project?.membersIds?.map(String).includes(String(user?.id)) && targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),
158
+ "tag:admin": ({
159
+ user,
160
+ project,
161
+ targetTags
162
+ }) => project?.adminsIds?.map(String).includes(String(user?.id)) && targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),
146
163
  "user:read": ({
147
164
  project,
148
- targetUserIds
149
- }) => targetUserIds.every(
150
- (targetUserId) => project?.membersIds?.map(String).includes(String(targetUserId))
165
+ targetUsers
166
+ }) => targetUsers.every(
167
+ (targetUser) => project?.membersIds?.map(String).includes(String(targetUser?.id))
151
168
  )
152
169
  },
153
170
  project_reviewer: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/permissions.ts"],"sourcesContent":["import { Dictionary, DictionaryAPI } from '@/types/dictionary.types';\nimport { Organization, OrganizationAPI } from '@/types/organization.types';\nimport { Project, ProjectAPI } from '@/types/project.types';\nimport { SessionContext } from '@/types/session.types';\nimport { Tag, TagAPI } from '@/types/tag.types';\nimport { User, UserAPI } from '@/types/user.types';\n\n/**\n * @description\n * A named grouping of privileges (e.g. `\"org_admin\"`).\n * Users are *granted* one or more Roles.\n */\nexport type Roles =\n | 'user'\n | 'admin'\n | 'org_admin'\n | 'org_user'\n | 'project_admin'\n | 'project_user'\n | 'project_reviewer';\n\n/**\n * @description\n * An atomic operation that can be performed on a resource.\n * - **read**: view or list\n * - **write**: create or update\n * - **admin**: delete or change permissions\n */\nexport type Action = 'read' | 'write' | 'admin';\n\n/**\n * @description\n * A first‑class entity in your domain model that you want to protect.\n */\nexport type Resource = {\n organization: Organization;\n project: Project;\n dictionary: Dictionary;\n tag: Tag;\n user: User;\n};\n\n/**\n * @description\n * A literal string combining a Resource and an Action, e.g. `\"project:write\"`.\n * This is the *unit* checked at runtime in your middleware.\n */\nexport type Permission = `${keyof Resource}:${Action}`;\n\ntype CheckPrivilege = (\n args: any\n) => boolean | undefined | Promise<boolean> | Promise<undefined>;\n\ntype RolePolicy = Record<Roles, Partial<Record<Permission, CheckPrivilege>>>;\n\nexport const ROLE_POLICY = {\n admin: {\n 'organization:read': () => true,\n 'organization:write': () => true,\n 'organization:admin': () => true,\n 'project:read': () => true,\n 'project:write': () => true,\n 'project:admin': () => true,\n 'dictionary:read': () => true,\n 'dictionary:write': () => true,\n 'dictionary:admin': () => true,\n 'tag:read': () => true,\n 'tag:write': () => true,\n 'tag:admin': () => true,\n 'user:read': () => true,\n 'user:write': () => true,\n 'user:admin': () => true,\n },\n user: {\n 'user:read': ({\n user,\n targetUserIds,\n }: SessionContext & { targetUserIds: (User | UserAPI)['id'][] }) =>\n targetUserIds.map(String).includes(String(user?.id)),\n 'user:write': ({\n user,\n targetUserIds,\n }: SessionContext & { targetUserIds: (User | UserAPI)['id'][] }) =>\n targetUserIds.map(String).includes(String(user?.id)),\n 'user:admin': ({\n user,\n targetUserIds,\n }: SessionContext & { targetUserIds: (User | UserAPI)['id'][] }) =>\n targetUserIds.map(String).includes(String(user?.id)),\n 'organization:read': ({\n user,\n targetOrganizations,\n }: SessionContext & {\n targetOrganizations: (Organization | OrganizationAPI)[];\n }) =>\n targetOrganizations.every((organization) =>\n organization?.membersIds?.map(String).includes(String(user?.id))\n ),\n },\n org_admin: {\n 'organization:read': ({\n organization,\n targetOrganizations,\n }: SessionContext & {\n targetOrganizations: (Organization | OrganizationAPI)[];\n }) =>\n targetOrganizations.every(\n (targetOrg) => String(targetOrg.id) === String(organization?.id)\n ),\n 'organization:write': ({\n organization,\n targetOrganizations,\n }: SessionContext & {\n targetOrganizations: (Organization | OrganizationAPI)[];\n }) =>\n targetOrganizations.every(\n (targetOrg) => String(targetOrg.id) === String(organization?.id)\n ),\n 'organization:admin': ({\n organization,\n targetOrganizations,\n }: SessionContext & {\n targetOrganizations: (Organization | OrganizationAPI)[];\n }) =>\n targetOrganizations.every(\n (targetOrg) => String(targetOrg.id) === String(organization?.id)\n ),\n\n 'project:read': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n 'project:write': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n 'project:admin': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n\n 'tag:read': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n 'tag:write': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n 'tag:admin': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n\n 'user:write': ({\n organization,\n targetUserIds,\n }: SessionContext & { targetUserIds: (User | UserAPI)['id'][] }) =>\n targetUserIds.every((targetUserId) =>\n organization?.membersIds?.map(String).includes(String(targetUserId))\n ),\n },\n org_user: {\n 'organization:read': () => true,\n\n 'project:read': ({\n user,\n targetProjects,\n }: SessionContext & {\n targetProjects: (Project | ProjectAPI)[];\n }) =>\n targetProjects?.every((project) =>\n project?.membersIds?.map(String).includes(String(user?.id))\n ),\n\n 'user:read': ({\n organization,\n targetUserIds,\n }: SessionContext & { targetUserIds: (User | UserAPI)['id'][] }) =>\n targetUserIds.every((targetUserId) =>\n organization?.membersIds?.map(String).includes(String(targetUserId))\n ),\n },\n project_admin: {\n 'project:read': ({\n project,\n targetProjectIds,\n }: SessionContext & {\n targetProjectIds?: (Project | ProjectAPI)['id'][];\n }) =>\n targetProjectIds?.every(\n (projectId) => String(project?.id) === String(projectId)\n ),\n 'project:write': ({\n project,\n targetProjectIds,\n }: SessionContext & {\n targetProjectIds?: (Project | ProjectAPI)['id'][];\n }) =>\n targetProjectIds?.every(\n (projectId) => String(project?.id) === String(projectId)\n ),\n 'project:admin': ({\n project,\n targetProjectIds,\n }: SessionContext & {\n targetProjectIds?: (Project | ProjectAPI)['id'][];\n }) =>\n targetProjectIds?.every(\n (projectId) => String(project?.id) === String(projectId)\n ),\n\n 'tag:read': ({\n project,\n targetTagProjectIds,\n }: SessionContext & { targetTagProjectIds: (Tag | TagAPI)['id'][] }) =>\n targetTagProjectIds.every(\n (projectId) => String(project?.id) === String(projectId)\n ),\n 'tag:write': ({\n project,\n targetTagProjectIds,\n }: SessionContext & { targetTagProjectIds: (Tag | TagAPI)['id'][] }) =>\n targetTagProjectIds.every(\n (projectId) => String(project?.id) === String(projectId)\n ),\n 'tag:admin': ({\n project,\n targetTagProjectIds,\n }: SessionContext & { targetTagProjectIds: (Tag | TagAPI)['id'][] }) =>\n targetTagProjectIds.every(\n (projectId) => String(project?.id) === String(projectId)\n ),\n\n 'user:write': ({\n project,\n targetUserIds,\n }: SessionContext & { targetUserIds: (User | UserAPI)['id'][] }) =>\n targetUserIds.every((targetUserId) =>\n project?.membersIds?.map(String).includes(String(targetUserId))\n ),\n\n 'dictionary:read': ({ project, user }: SessionContext) =>\n project?.adminsIds?.map(String).includes(String(user?.id)),\n 'dictionary:write': ({ project, user }: SessionContext) =>\n project?.adminsIds?.map(String).includes(String(user?.id)),\n 'dictionary:admin': ({ project, user }: SessionContext) =>\n project?.adminsIds?.map(String).includes(String(user?.id)),\n },\n project_user: {\n 'project:read': ({ user, organization, project }: SessionContext) =>\n String(organization?.id) === String(project?.organizationId) &&\n organization?.membersIds?.map(String).includes(String(user?.id)) &&\n project?.membersIds?.map(String).includes(String(user?.id)),\n\n 'dictionary:read': ({\n user,\n project,\n targetDictionaries,\n }: SessionContext & {\n targetDictionaries: (Dictionary | DictionaryAPI)[];\n }) =>\n project?.membersIds?.map(String).includes(String(user?.id)) &&\n targetDictionaries.every((dictionary) =>\n dictionary?.projectIds?.map(String).includes(String(project?.id))\n ),\n 'dictionary:write': ({ user, project }: SessionContext) =>\n project?.adminsIds?.map(String).includes(String(user?.id)),\n\n 'tag:read': () => true,\n 'tag:write': () => true,\n 'tag:admin': ({ user, organization }: SessionContext) =>\n organization?.adminsIds?.map(String).includes(String(user?.id)),\n\n 'user:read': ({\n project,\n targetUserIds,\n }: SessionContext & { targetUserIds: (User | UserAPI)['id'][] }) =>\n targetUserIds.every((targetUserId) =>\n project?.membersIds?.map(String).includes(String(targetUserId))\n ),\n },\n project_reviewer: {\n 'dictionary:read': ({ user, project }: SessionContext) =>\n project?.membersIds?.map(String).includes(String(user?.id)),\n 'dictionary:write': ({ user, project }: SessionContext) =>\n project?.membersIds?.map(String).includes(String(user?.id)),\n\n 'tag:read': () => true,\n },\n} as const satisfies RolePolicy;\n\nexport const getSessionRoles = ({\n user,\n organization,\n project,\n}: SessionContext): Roles[] => {\n const roles: Roles[] = [];\n\n if (!user) {\n return roles;\n }\n\n roles.push('user');\n\n const isUserAdmin = user.role === 'admin';\n\n if (isUserAdmin) {\n roles.push('admin');\n }\n\n if (!organization) {\n return roles;\n }\n\n const isOrganizationAdmin = organization.adminsIds\n ?.map(String)\n .includes(String(user!.id));\n\n if (isOrganizationAdmin) {\n roles.push('org_admin');\n }\n\n const isOrganizationMember = organization.membersIds\n ?.map(String)\n .includes(String(user!.id));\n\n if (isOrganizationMember) {\n roles.push('org_user');\n }\n\n if (!project) {\n return roles;\n }\n\n const isProjectAdmin = project.adminsIds\n ?.map(String)\n .includes(String(user!.id));\n\n if (isProjectAdmin) {\n roles.push('project_admin');\n }\n\n const isProjectMember = project?.membersIds\n ?.map(String)\n .includes(String(user!.id));\n\n if (isProjectMember) {\n roles.push('project_user');\n }\n\n // const isProjectReviewer =\n // session.project?.reviewersIds?.includes(session.user!.id);\n\n // if (isProjectReviewer) {\n // roles.push('project_reviewer');\n // }\n\n return roles;\n};\n\nexport const computeEffectivePermission = (roles: Roles[]): Permission[] =>\n Array.from(\n new Set(\n roles.flatMap((role) => Object.keys(ROLE_POLICY[role]) as Permission[])\n )\n );\n\n/**\n * Intersect two permission lists\n * @param permissionList1 - The first permission list\n * @param permissionList2 - The second permission list\n * @returns The intersection of the two permission lists (only permissions present in both)\n */\nexport const intersectPermissions = (\n permissions1: Permission[],\n permissions2: Permission[]\n): Permission[] =>\n permissions1.filter((permission) => permissions2.includes(permission));\n\ntype PermissionResult<\n R extends Roles,\n P extends Permission,\n> = (typeof ROLE_POLICY)[R] extends infer RolePerms\n ? RolePerms extends Record<string, (args: any) => any>\n ? P extends keyof RolePerms\n ? RolePerms[P] extends undefined\n ? never\n : RolePerms[P]\n : never\n : never\n : never;\n\nexport const hasPermission = <P extends Permission>(\n roles: Roles[],\n permission: P\n): PermissionResult<Roles, P> => {\n const rolesCheck: any = roles.map(\n (role) =>\n ROLE_POLICY[role]?.[\n permission as keyof (typeof ROLE_POLICY)[typeof role]\n ] ?? (() => false)\n ) as unknown as PermissionResult<Roles, P>[];\n\n return ((args: any) => rolesCheck.some((check: any) => check(args))) as any;\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/utils/permissions.ts"],"sourcesContent":["import { Dictionary, DictionaryAPI } from '@/types/dictionary.types';\nimport { Organization, OrganizationAPI } from '@/types/organization.types';\nimport { Project, ProjectAPI } from '@/types/project.types';\nimport { SessionContext } from '@/types/session.types';\nimport { Tag, TagAPI } from '@/types/tag.types';\nimport { User, UserAPI } from '@/types/user.types';\n\n/**\n * A named grouping of privileges (e.g. `\"org_admin\"`).\n * Users are *granted* one or more Roles.\n */\nexport type Roles =\n | 'user'\n | 'admin'\n | 'org_admin'\n | 'org_user'\n | 'project_admin'\n | 'project_user'\n | 'project_reviewer';\n\n/**\n * An atomic operation that can be performed on a resource.\n * - **read**: view or list\n * - **write**: create or update\n * - **admin**: delete or change permissions\n */\nexport type Action = 'read' | 'write' | 'admin';\n\n/**\n * A first‑class entity in your domain model that you want to protect.\n */\nexport type Resource = {\n organization: Organization;\n project: Project;\n dictionary: Dictionary;\n tag: Tag;\n user: User;\n};\n\n/**\n * A literal string combining a Resource and an Action, e.g. `\"project:write\"`.\n * This is the *unit* checked at runtime in your middleware.\n */\nexport type Permission = `${keyof Resource}:${Action}`;\n\ntype CheckPrivilege = (\n args: any\n) => boolean | undefined | Promise<boolean> | Promise<undefined>;\n\ntype RolePolicy = Record<Roles, Partial<Record<Permission, CheckPrivilege>>>;\n\nexport const ROLE_POLICY = {\n admin: {\n 'organization:read': () => true,\n 'organization:write': () => true,\n 'organization:admin': () => true,\n 'project:read': () => true,\n 'project:write': () => true,\n 'project:admin': () => true,\n 'dictionary:read': () => true,\n 'dictionary:write': () => true,\n 'dictionary:admin': () => true,\n 'tag:read': () => true,\n 'tag:write': () => true,\n 'tag:admin': () => true,\n 'user:read': () => true,\n 'user:write': () => true,\n 'user:admin': () => true,\n },\n user: {\n 'user:read': ({\n user,\n targetUsers,\n }: SessionContext & { targetUsers: (User | UserAPI)[] }) =>\n targetUsers.every(\n (targetUser) =>\n String(targetUser.id) === String(user?.id) &&\n targetUser.email === user?.email\n ),\n 'user:write': ({\n user,\n targetUsers,\n }: SessionContext & { targetUsers: (User | UserAPI)[] }) =>\n targetUsers.every(\n (targetUser) =>\n String(targetUser.id) === String(user?.id) &&\n targetUser.email === user?.email\n ),\n 'user:admin': ({\n user,\n targetUsers,\n }: SessionContext & { targetUsers: (User | UserAPI)[] }) =>\n targetUsers.every(\n (targetUser) =>\n String(targetUser.id) === String(user?.id) &&\n targetUser.email === user?.email\n ),\n 'organization:read': ({\n user,\n targetOrganizations,\n }: SessionContext & {\n targetOrganizations: (Organization | OrganizationAPI)[];\n }) =>\n targetOrganizations.every((organization) =>\n organization?.membersIds?.map(String).includes(String(user?.id))\n ),\n },\n org_admin: {\n 'organization:read': ({\n organization,\n targetOrganizations,\n }: SessionContext & {\n targetOrganizations: (Organization | OrganizationAPI)[];\n }) =>\n targetOrganizations.every(\n (targetOrg) => String(targetOrg.id) === String(organization?.id)\n ),\n 'organization:write': ({\n organization,\n targetOrganizations,\n }: SessionContext & {\n targetOrganizations: (Organization | OrganizationAPI)[];\n }) =>\n targetOrganizations.every(\n (targetOrg) => String(targetOrg.id) === String(organization?.id)\n ),\n 'organization:admin': ({\n organization,\n targetOrganizations,\n }: SessionContext & {\n targetOrganizations: (Organization | OrganizationAPI)[];\n }) =>\n targetOrganizations.every(\n (targetOrg) => String(targetOrg.id) === String(organization?.id)\n ),\n\n 'project:read': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n 'project:write': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n 'project:admin': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n\n 'tag:read': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n 'tag:write': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n 'tag:admin': ({ organization, project }: SessionContext) =>\n String(project?.organizationId) === String(organization?.id),\n\n 'user:write': ({\n organization,\n targetUsers,\n }: SessionContext & { targetUsers: (User | UserAPI)[] }) =>\n targetUsers.every((targetUser) =>\n organization?.membersIds?.map(String).includes(String(targetUser?.id))\n ),\n },\n org_user: {\n 'organization:read': ({\n organization,\n targetOrganizations,\n }: SessionContext & {\n targetOrganizations: (Organization | OrganizationAPI)[];\n }) =>\n targetOrganizations.every(\n (targetOrg) => String(targetOrg.id) === String(organization?.id)\n ),\n\n 'project:read': ({\n user,\n targetProjects,\n }: SessionContext & {\n targetProjects: (Project | ProjectAPI)[];\n }) =>\n targetProjects?.every((project) =>\n project?.membersIds?.map(String).includes(String(user?.id))\n ),\n\n 'user:read': ({\n organization,\n targetUsers,\n }: SessionContext & { targetUsers: (User | UserAPI)[] }) =>\n targetUsers.every((targetUser) =>\n organization?.membersIds?.map(String).includes(String(targetUser?.id))\n ),\n },\n project_admin: {\n 'project:read': ({\n project,\n targetProjectIds,\n }: SessionContext & {\n targetProjectIds?: (Project | ProjectAPI)['id'][];\n }) =>\n targetProjectIds?.every(\n (projectId) => String(project?.id) === String(projectId)\n ),\n 'project:write': ({\n project,\n targetProjectIds,\n }: SessionContext & {\n targetProjectIds?: (Project | ProjectAPI)['id'][];\n }) =>\n targetProjectIds?.every(\n (projectId) => String(project?.id) === String(projectId)\n ),\n 'project:admin': ({\n project,\n targetProjectIds,\n }: SessionContext & {\n targetProjectIds?: (Project | ProjectAPI)['id'][];\n }) =>\n targetProjectIds?.every(\n (projectId) => String(project?.id) === String(projectId)\n ),\n\n 'tag:read': ({\n project,\n targetTags,\n }: SessionContext & { targetTags: (Tag | TagAPI)[] }) =>\n targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),\n 'tag:write': ({\n project,\n targetTags,\n }: SessionContext & { targetTags: (Tag | TagAPI)[] }) =>\n targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),\n 'tag:admin': ({\n project,\n targetTags,\n }: SessionContext & { targetTags: (Tag | TagAPI)[] }) =>\n targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),\n\n 'user:write': ({\n project,\n targetUsers,\n }: SessionContext & { targetUsers: (User | UserAPI)[] }) =>\n targetUsers.every((targetUser) =>\n project?.membersIds?.map(String).includes(String(targetUser?.id))\n ),\n\n 'dictionary:read': ({ project, user }: SessionContext) =>\n project?.adminsIds?.map(String).includes(String(user?.id)),\n 'dictionary:write': ({ project, user }: SessionContext) =>\n project?.adminsIds?.map(String).includes(String(user?.id)),\n 'dictionary:admin': ({ project, user }: SessionContext) =>\n project?.adminsIds?.map(String).includes(String(user?.id)),\n },\n project_user: {\n 'project:read': ({ user, organization, project }: SessionContext) =>\n String(organization?.id) === String(project?.organizationId) &&\n organization?.membersIds?.map(String).includes(String(user?.id)) &&\n project?.membersIds?.map(String).includes(String(user?.id)),\n\n 'dictionary:read': ({\n user,\n project,\n targetDictionaries,\n }: SessionContext & {\n targetDictionaries: (Dictionary | DictionaryAPI)[];\n }) =>\n project?.membersIds?.map(String).includes(String(user?.id)) &&\n targetDictionaries.every((dictionary) =>\n dictionary?.projectIds?.map(String).includes(String(project?.id))\n ),\n 'dictionary:write': ({ user, project }: SessionContext) =>\n project?.adminsIds?.map(String).includes(String(user?.id)),\n\n 'tag:read': ({\n project,\n targetTags,\n user,\n }: SessionContext & {\n targetTags: (Tag | TagAPI)[];\n }) =>\n project?.membersIds?.map(String).includes(String(user?.id)) &&\n targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),\n 'tag:write': ({\n project,\n targetTags,\n user,\n }: SessionContext & {\n targetTags: (Tag | TagAPI)[];\n }) =>\n project?.membersIds?.map(String).includes(String(user?.id)) &&\n targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),\n 'tag:admin': ({\n user,\n project,\n targetTags,\n }: SessionContext & {\n targetTags: (Tag | TagAPI)[];\n }) =>\n project?.adminsIds?.map(String).includes(String(user?.id)) &&\n targetTags.every((tag) => String(project?.id) === String(tag?.projectId)),\n\n 'user:read': ({\n project,\n targetUsers,\n }: SessionContext & { targetUsers: (User | UserAPI)[] }) =>\n targetUsers.every((targetUser) =>\n project?.membersIds?.map(String).includes(String(targetUser?.id))\n ),\n },\n project_reviewer: {\n 'dictionary:read': ({ user, project }: SessionContext) =>\n project?.membersIds?.map(String).includes(String(user?.id)),\n 'dictionary:write': ({ user, project }: SessionContext) =>\n project?.membersIds?.map(String).includes(String(user?.id)),\n\n 'tag:read': () => true,\n },\n} as const satisfies RolePolicy;\n\nexport const getSessionRoles = ({\n user,\n organization,\n project,\n}: SessionContext): Roles[] => {\n const roles: Roles[] = [];\n\n if (!user) {\n return roles;\n }\n\n roles.push('user');\n\n const isUserAdmin = user.role === 'admin';\n\n if (isUserAdmin) {\n roles.push('admin');\n }\n\n if (!organization) {\n return roles;\n }\n\n const isOrganizationAdmin = organization.adminsIds\n ?.map(String)\n .includes(String(user!.id));\n\n if (isOrganizationAdmin) {\n roles.push('org_admin');\n }\n\n const isOrganizationMember = organization.membersIds\n ?.map(String)\n .includes(String(user!.id));\n\n if (isOrganizationMember) {\n roles.push('org_user');\n }\n\n if (!project) {\n return roles;\n }\n\n const isProjectAdmin = project.adminsIds\n ?.map(String)\n .includes(String(user!.id));\n\n if (isProjectAdmin) {\n roles.push('project_admin');\n }\n\n const isProjectMember = project?.membersIds\n ?.map(String)\n .includes(String(user!.id));\n\n if (isProjectMember) {\n roles.push('project_user');\n }\n\n // const isProjectReviewer =\n // session.project?.reviewersIds?.includes(session.user!.id);\n\n // if (isProjectReviewer) {\n // roles.push('project_reviewer');\n // }\n\n return roles;\n};\n\nexport const computeEffectivePermission = (roles: Roles[]): Permission[] =>\n Array.from(\n new Set(\n roles.flatMap((role) => Object.keys(ROLE_POLICY[role]) as Permission[])\n )\n );\n\n/**\n * Intersect two permission lists\n * @param permissionList1 - The first permission list\n * @param permissionList2 - The second permission list\n * @returns The intersection of the two permission lists (only permissions present in both)\n */\nexport const intersectPermissions = (\n permissions1: Permission[],\n permissions2: Permission[]\n): Permission[] =>\n permissions1.filter((permission) => permissions2.includes(permission));\n\ntype PermissionResult<\n R extends Roles,\n P extends Permission,\n> = (typeof ROLE_POLICY)[R] extends infer RolePerms\n ? RolePerms extends Record<string, (args: any) => any>\n ? P extends keyof RolePerms\n ? RolePerms[P] extends undefined\n ? never\n : RolePerms[P]\n : never\n : never\n : never;\n\nexport const hasPermission = <P extends Permission>(\n roles: Roles[],\n permission: P\n): PermissionResult<Roles, P> => {\n const rolesCheck: any = roles.map(\n (role) =>\n ROLE_POLICY[role]?.[\n permission as keyof (typeof ROLE_POLICY)[typeof role]\n ] ?? (() => false)\n ) as unknown as PermissionResult<Roles, P>[];\n\n return ((args: any) => rolesCheck.some((check: any) => check(args))) as any;\n};\n"],"mappings":"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","names":[]}
@@ -7,7 +7,11 @@ const validateArray = (value, entityName = "Array", elementType, elementValidato
7
7
  } else if (maxLength && value.length > maxLength) {
8
8
  errors.push(`${entityName} must be at most ${maxLength} items long.`);
9
9
  } else if (elementType) {
10
- const isValid = value.some((element) => typeof element !== elementType);
10
+ const isValid = value.every((element) => {
11
+ console.log("element", element, typeof element, elementType);
12
+ return typeof element === elementType;
13
+ });
14
+ console.log("isValid", isValid);
11
15
  if (!isValid) {
12
16
  errors.push(`${entityName} must contain only ${elementType} elements.`);
13
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/utils/validation/validateArray.ts"],"sourcesContent":["/* eslint-disable sonarjs/cognitive-complexity */\ntype ElementType = 'string' | 'number' | 'boolean' | 'object' | 'array';\ntype ElementValidator<T> = (value: T) => boolean | string[];\n\n/**\n * Validates a email field.\n * @param value The value to validate.\n * @param entityName The name of the entity being validated.\n * @param minLength The minimum length of the string.\n * @param maxLength The maximum length of the string.\n * @returns An array of validation errors.\n */\nexport const validateArray = <T = unknown>(\n value: T[],\n entityName = 'Array',\n elementType?: ElementType,\n elementValidator?: ElementValidator<T>,\n minLength = 0,\n maxLength = undefined\n): string[] => {\n const errors: string[] = [];\n\n if (!Array.isArray(value)) {\n errors.push(`${entityName} must be an array.`);\n } else if (minLength && value.length < minLength) {\n errors.push(`${entityName} must be at least ${minLength} items long.`);\n } else if (maxLength && value.length > maxLength) {\n errors.push(`${entityName} must be at most ${maxLength} items long.`);\n } else if (elementType) {\n const isValid = value.some((element) => typeof element !== elementType);\n\n if (!isValid) {\n errors.push(`${entityName} must contain only ${elementType} elements.`);\n }\n } else if (elementValidator) {\n const isValidOrErrorList = value.every(elementValidator);\n\n if (Array.isArray(isValidOrErrorList)) {\n const isValid = isValidOrErrorList.length > 0;\n\n if (!isValid) {\n errors.push(...isValidOrErrorList);\n }\n } else {\n const isValid = isValidOrErrorList;\n\n if (!isValid) {\n errors.push(`${entityName} must contain valid elements.`);\n }\n }\n }\n\n return errors;\n};\n"],"mappings":"AAYO,MAAM,gBAAgB,CAC3B,OACA,aAAa,SACb,aACA,kBACA,YAAY,GACZ,YAAY,WACC;AACb,QAAM,SAAmB,CAAC;AAE1B,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,WAAO,KAAK,GAAG,UAAU,oBAAoB;AAAA,EAC/C,WAAW,aAAa,MAAM,SAAS,WAAW;AAChD,WAAO,KAAK,GAAG,UAAU,qBAAqB,SAAS,cAAc;AAAA,EACvE,WAAW,aAAa,MAAM,SAAS,WAAW;AAChD,WAAO,KAAK,GAAG,UAAU,oBAAoB,SAAS,cAAc;AAAA,EACtE,WAAW,aAAa;AACtB,UAAM,UAAU,MAAM,KAAK,CAAC,YAAY,OAAO,YAAY,WAAW;AAEtE,QAAI,CAAC,SAAS;AACZ,aAAO,KAAK,GAAG,UAAU,sBAAsB,WAAW,YAAY;AAAA,IACxE;AAAA,EACF,WAAW,kBAAkB;AAC3B,UAAM,qBAAqB,MAAM,MAAM,gBAAgB;AAEvD,QAAI,MAAM,QAAQ,kBAAkB,GAAG;AACrC,YAAM,UAAU,mBAAmB,SAAS;AAE5C,UAAI,CAAC,SAAS;AACZ,eAAO,KAAK,GAAG,kBAAkB;AAAA,MACnC;AAAA,IACF,OAAO;AACL,YAAM,UAAU;AAEhB,UAAI,CAAC,SAAS;AACZ,eAAO,KAAK,GAAG,UAAU,+BAA+B;AAAA,MAC1D;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/utils/validation/validateArray.ts"],"sourcesContent":["/* eslint-disable sonarjs/cognitive-complexity */\ntype ElementType = 'string' | 'number' | 'boolean' | 'object' | 'array';\ntype ElementValidator<T> = (value: T) => boolean | string[];\n\n/**\n * Validates a email field.\n * @param value The value to validate.\n * @param entityName The name of the entity being validated.\n * @param minLength The minimum length of the string.\n * @param maxLength The maximum length of the string.\n * @returns An array of validation errors.\n */\nexport const validateArray = <T = unknown>(\n value: T[],\n entityName = 'Array',\n elementType?: ElementType,\n elementValidator?: ElementValidator<T>,\n minLength = 0,\n maxLength = undefined\n): string[] => {\n const errors: string[] = [];\n\n if (!Array.isArray(value)) {\n errors.push(`${entityName} must be an array.`);\n } else if (minLength && value.length < minLength) {\n errors.push(`${entityName} must be at least ${minLength} items long.`);\n } else if (maxLength && value.length > maxLength) {\n errors.push(`${entityName} must be at most ${maxLength} items long.`);\n } else if (elementType) {\n const isValid = value.every((element) => {\n console.log('element', element, typeof element, elementType);\n return typeof element === elementType;\n });\n\n console.log('isValid', isValid);\n\n if (!isValid) {\n errors.push(`${entityName} must contain only ${elementType} elements.`);\n }\n } else if (elementValidator) {\n const isValidOrErrorList = value.every(elementValidator);\n\n if (Array.isArray(isValidOrErrorList)) {\n const isValid = isValidOrErrorList.length > 0;\n\n if (!isValid) {\n errors.push(...isValidOrErrorList);\n }\n } else {\n const isValid = isValidOrErrorList;\n\n if (!isValid) {\n errors.push(`${entityName} must contain valid elements.`);\n }\n }\n }\n\n return errors;\n};\n"],"mappings":"AAYO,MAAM,gBAAgB,CAC3B,OACA,aAAa,SACb,aACA,kBACA,YAAY,GACZ,YAAY,WACC;AACb,QAAM,SAAmB,CAAC;AAE1B,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,WAAO,KAAK,GAAG,UAAU,oBAAoB;AAAA,EAC/C,WAAW,aAAa,MAAM,SAAS,WAAW;AAChD,WAAO,KAAK,GAAG,UAAU,qBAAqB,SAAS,cAAc;AAAA,EACvE,WAAW,aAAa,MAAM,SAAS,WAAW;AAChD,WAAO,KAAK,GAAG,UAAU,oBAAoB,SAAS,cAAc;AAAA,EACtE,WAAW,aAAa;AACtB,UAAM,UAAU,MAAM,MAAM,CAAC,YAAY;AACvC,cAAQ,IAAI,WAAW,SAAS,OAAO,SAAS,WAAW;AAC3D,aAAO,OAAO,YAAY;AAAA,IAC5B,CAAC;AAED,YAAQ,IAAI,WAAW,OAAO;AAE9B,QAAI,CAAC,SAAS;AACZ,aAAO,KAAK,GAAG,UAAU,sBAAsB,WAAW,YAAY;AAAA,IACxE;AAAA,EACF,WAAW,kBAAkB;AAC3B,UAAM,qBAAqB,MAAM,MAAM,gBAAgB;AAEvD,QAAI,MAAM,QAAQ,kBAAkB,GAAG;AACrC,YAAM,UAAU,mBAAmB,SAAS;AAE5C,UAAI,CAAC,SAAS;AACZ,eAAO,KAAK,GAAG,kBAAkB;AAAA,MACnC;AAAA,IACF,OAAO;AACL,YAAM,UAAU;AAEhB,UAAI,CAAC,SAAS;AACZ,eAAO,KAAK,GAAG,UAAU,+BAA+B;AAAA,MAC1D;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/dictionary.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,sBAAsB,EAGvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAEV,UAAU,IAAI,eAAe,EAC9B,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAI/E,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AAGxG,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGrD,MAAM,MAAM,qBAAqB,GAC/B,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;AAChD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,CAAC,qBAAqB,CAAC,EACnC,KAAK,mBAAmB,CAAC,qBAAqB,CAAC,EAC/C,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAyDd,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,EACb,KAAK,mBAAmB,CAAC,yBAAyB,CAAC,EACnD,OAAO,YAAY,kBAuCpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,KAAK,OAAO,CAAC,mBAAmB,EAAE,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,EAC/D,KAAK,mBAAmB,CAAC,mBAAmB,CAAC,EAC7C,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAqDd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAAE,UAAU,EAAE,sBAAsB,CAAA;CAAE,CAAC;AACvE,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,EACzC,KAAK,mBAAmB,CAAC,mBAAmB,CAAC,EAC7C,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CA2Ed,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC;AACF,KAAK,0BAA0B,GAAG;IAChC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpD,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAC5C,KAAK,mBAAmB,CAAC,sBAAsB,CAAC,EAChD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CA6Ld,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACvD,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,KAAK,OAAO,CAAC,qBAAqB,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAC9D,KAAK,mBAAmB,CAAC,sBAAsB,CAAC,EAChD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAiEd,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7D,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,KAAK,OAAO,CAAC,qBAAqB,CAAC,EACnC,KAAK,mBAAmB,CAAC,sBAAsB,CAAC,EAChD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAyEd,CAAC"}
1
+ {"version":3,"file":"dictionary.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/dictionary.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"newsletter.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/newsletter.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAK/E,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIrD,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;CACtC,CAAC;AACF,MAAM,MAAM,4BAA4B,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,0BAA0B,CAAC,EAClD,KAAK,mBAAmB,CAAC,4BAA4B,CAAC,EACtD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAuEd,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;CACtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,4BAA4B,CAAC,EACpD,KAAK,mBAAmB,CAAC,4BAA4B,CAAC,EACtD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAmEd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAChC,KAAK,mBAAmB,CAAC,4BAA4B,CAAC,EACtD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CA+Cd,CAAC"}
1
+ {"version":3,"file":"newsletter.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/newsletter.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAK/E,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGrD,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;CACtC,CAAC;AACF,MAAM,MAAM,4BAA4B,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,0BAA0B,CAAC,EAClD,KAAK,mBAAmB,CAAC,4BAA4B,CAAC,EACtD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAuEd,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;CACtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,4BAA4B,CAAC,EACpD,KAAK,mBAAmB,CAAC,4BAA4B,CAAC,EACtD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAmEd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAChC,KAAK,mBAAmB,CAAC,4BAA4B,CAAC,EACtD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CA+Cd,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Organization, OrganizationAPI, OrganizationCreationData } from '../types/organization.types';
2
+ import type { User, UserAPI } from '../types/user.types';
2
3
  import type { ResponseWithSession } from '../middlewares/sessionAuth.middleware';
3
4
  import type { FiltersAndPagination } from '../utils/filtersAndPagination/getFiltersAndPaginationFromBody';
4
5
  import { type OrganizationFiltersParams } from '../utils/filtersAndPagination/getOrganizationFiltersAndPagination';
@@ -31,10 +32,6 @@ export type UpdateOrganizationResult = ResponseData<OrganizationAPI>;
31
32
  * Updates an existing organization in the database.
32
33
  */
33
34
  export declare const updateOrganization: (req: Request<undefined, undefined, UpdateOrganizationBody>, res: ResponseWithSession<UpdateOrganizationResult>, _next: NextFunction) => Promise<void>;
34
- export type OrganizationMemberByIdOption = {
35
- userId: string | Types.ObjectId;
36
- isAdmin?: boolean;
37
- };
38
35
  export type AddOrganizationMemberBody = {
39
36
  userEmail: string;
40
37
  };
@@ -44,7 +41,8 @@ export type AddOrganizationMemberResult = ResponseData<OrganizationAPI>;
44
41
  */
45
42
  export declare const addOrganizationMember: (req: Request<any, any, AddOrganizationMemberBody>, res: ResponseWithSession<AddOrganizationMemberResult>, _next: NextFunction) => Promise<void>;
46
43
  export type UpdateOrganizationMembersBody = Partial<{
47
- membersIds: OrganizationMemberByIdOption[];
44
+ membersIds: (User | UserAPI)['id'][];
45
+ adminsIds: (User | UserAPI)['id'][];
48
46
  }>;
49
47
  export type UpdateOrganizationMembersResult = ResponseData<OrganizationAPI>;
50
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"organization.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/organization.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organization.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/organization.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/project.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/project.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EAEpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAK/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AACxG,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,4DAA4D,CAAC;AAIpE,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAC3E,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,KAAK,OAAO,CAAC,iBAAiB,CAAC,EAC/B,KAAK,mBAAmB,CAAC,iBAAiB,CAAC,EAC3C,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CA2Dd,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC;AACjD,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EACtC,KAAK,mBAAmB,CAAC,gBAAgB,CAAC,EAC1C,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAqFd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACjD,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,EACzC,KAAK,mBAAmB,CAAC,mBAAmB,CAAC,EAC7C,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAiEd,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC;IAC7C,UAAU,EAAE,uBAAuB,EAAE,CAAC;CACvC,CAAC,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,wBAAwB,CAAC,EAChD,KAAK,mBAAmB,CAAC,0BAA0B,CAAC,EACpD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CA2Gd,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AAChE,MAAM,MAAM,8BAA8B,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GACnC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,4BAA4B,CAAC,EACpD,KAAK,mBAAmB,CAAC,8BAA8B,CAAC,EACxD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CA4Dd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,OAAO,EACb,KAAK,mBAAmB,CAAC,mBAAmB,CAAC,EAC7C,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAoFd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAA;CAAE,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,KAAK,OAAO,CAAC,kBAAkB,CAAC,EAChC,KAAK,mBAAmB,CAAC,mBAAmB,CAAC,EAC7C,OAAO,YAAY,kBA2CpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,OAAO,EACb,KAAK,mBAAmB,CAAC,qBAAqB,CAAC,EAC/C,OAAO,YAAY,kBAmCpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"projectAccessKey.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/projectAccessKey.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAK/E,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGrD,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAChD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,CAAC,mBAAmB,CAAC,EACjC,KAAK,mBAAmB,CAAC,uBAAuB,CAAC,EACjD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAiEd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,EACZ,KAAK,mBAAmB,CAAC,uBAAuB,CAAC,EACjD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAkEd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACxD,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,KAAK,OAAO,CAAC,oBAAoB,CAAC,EAClC,KAAK,mBAAmB,CAAC,wBAAwB,CAAC,EAClD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAwDd,CAAC"}
1
+ {"version":3,"file":"projectAccessKey.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/projectAccessKey.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAK/E,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGrD,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAChD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,CAAC,mBAAmB,CAAC,EACjC,KAAK,mBAAmB,CAAC,uBAAuB,CAAC,EACjD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAwEd,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,EACZ,KAAK,mBAAmB,CAAC,uBAAuB,CAAC,EACjD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAkEd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACxD,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,KAAK,OAAO,CAAC,oBAAoB,CAAC,EAClC,KAAK,mBAAmB,CAAC,wBAAwB,CAAC,EAClD,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAwDd,CAAC"}
@@ -20,7 +20,10 @@ export type GetCheckoutSessionBody = {
20
20
  priceId: string;
21
21
  promoCode?: string;
22
22
  };
23
- export type GetCheckoutSessionResult = ResponseData<Stripe.Response<Stripe.Subscription>>;
23
+ export type GetCheckoutSessionResult = ResponseData<{
24
+ subscription: Stripe.Response<Stripe.Subscription>;
25
+ clientSecret: string;
26
+ }>;
24
27
  /**
25
28
  * Handles subscription creation or update with Stripe and returns a ClientSecret.
26
29
  * @param req - Express request object.
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/stripe.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,KAAK,mBAAmB,MAAM,gCAAgC,CAAC;AAGtE,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,EAClD,KAAK,mBAAmB,CAAC,gBAAgB,CAAC,kBAe3C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,YAAY,CACjD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CACrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAsB,CAAC,EAC1D,KAAK,mBAAmB,CAAC,wBAAwB,CAAC,KACjD,OAAO,CAAC,IAAI,CAoGd,CAAC;AAEF,KAAK,sBAAsB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAEnD,KAAK,wBAAwB,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,EACb,KAAK,mBAAmB,CAAC,wBAAwB,CAAC,KACjD,OAAO,CAAC,IAAI,CA+Ed,CAAC"}
1
+ {"version":3,"file":"stripe.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/stripe.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,KAAK,mBAAmB,MAAM,gCAAgC,CAAC;AAGtE,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,EAClD,KAAK,mBAAmB,CAAC,gBAAgB,CAAC,kBAe3C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC;IAClD,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnD,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAsB,CAAC,EAC1D,KAAK,mBAAmB,CAAC,wBAAwB,CAAC,KACjD,OAAO,CAAC,IAAI,CAwHd,CAAC;AAEF,KAAK,sBAAsB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAEnD,KAAK,wBAAwB,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,EACb,KAAK,mBAAmB,CAAC,wBAAwB,CAAC,KACjD,OAAO,CAAC,IAAI,CA+Ed,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tag.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/tag.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,GAAG,EACH,MAAM,EACN,eAAe,EACf,OAAO,EAER,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AACxG,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wDAAwD,CAAC;AAGhE,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGrD,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,OAAO,GAClB,KAAK,OAAO,CAAC,aAAa,CAAC,EAC3B,KAAK,mBAAmB,CAAC,aAAa,CAAC,EACvC,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAwDd,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,MAAM,GACjB,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,EAClC,KAAK,mBAAmB,CAAC,YAAY,CAAC,EACtC,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAoEd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,SAAS,GACpB,KAAK,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,aAAa,CAAC,EACjD,KAAK,mBAAmB,CAAC,eAAe,CAAC,EACzC,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAmEd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GACpB,KAAK,OAAO,CAAC,eAAe,CAAC,EAC7B,KAAK,mBAAmB,CAAC,eAAe,CAAC,EACzC,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CA0Ed,CAAC"}
1
+ {"version":3,"file":"tag.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/tag.controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,GAAG,EACH,MAAM,EACN,eAAe,EACf,OAAO,EAER,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAG/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AACxG,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wDAAwD,CAAC;AAGhE,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGrD,MAAM,MAAM,aAAa,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,OAAO,GAClB,KAAK,OAAO,CAAC,aAAa,CAAC,EAC3B,KAAK,mBAAmB,CAAC,aAAa,CAAC,EACvC,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAsDd,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC;AACzC,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,MAAM,GACjB,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,EAClC,KAAK,mBAAmB,CAAC,YAAY,CAAC,EACtC,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAoEd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7C,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,SAAS,GACpB,KAAK,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,aAAa,CAAC,EACjD,KAAK,mBAAmB,CAAC,eAAe,CAAC,EACzC,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CAmEd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GACpB,KAAK,OAAO,CAAC,eAAe,CAAC,EAC7B,KAAK,mBAAmB,CAAC,eAAe,CAAC,EACzC,OAAO,YAAY,KAClB,OAAO,CAAC,IAAI,CA0Ed,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/user.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/user.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthTokenCreatedEmail.d.ts","sourceRoot":"","sources":["../../../src/emails/OAuthTokenCreatedEmail.tsx"],"names":[],"mappings":"AAgBA,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,wBAAwB;0FAOlC,2BAA2B;;CAoE7B,CAAC;AAEF,eAAO,MAAM,wBAAwB;0FAOlC,2BAA2B;;CAsE7B,CAAC;AAEF,eAAO,MAAM,wBAAwB;0FAOlC,2BAA2B;;CAqE7B,CAAC"}
1
+ {"version":3,"file":"OAuthTokenCreatedEmail.d.ts","sourceRoot":"","sources":["../../../src/emails/OAuthTokenCreatedEmail.tsx"],"names":[],"mappings":"AAgBA,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,wBAAwB;0FAOlC,2BAA2B;;CAyE7B,CAAC;AAEF,eAAO,MAAM,wBAAwB;0FAOlC,2BAA2B;;CAsE7B,CAAC;AAEF,eAAO,MAAM,wBAAwB;0FAOlC,2BAA2B;;CAqE7B,CAAC"}
@@ -17,9 +17,7 @@ export type Organization = OrganizationData & {
17
17
  createdAt: number;
18
18
  updatedAt: number;
19
19
  };
20
- export type OrganizationAPI = ObjectIdToString<Omit<Organization, 'adminsIds'> & {
21
- adminsIds?: User['id'][];
22
- }>;
20
+ export type OrganizationAPI = ObjectIdToString<Organization>;
23
21
  export type OrganizationSchema = RenameId<Organization>;
24
22
  export type OrganizationModelType = Model<Organization>;
25
23
  export type OrganizationDocument = Document<unknown, {}, Organization> & Organization;
@@ -1 +1 @@
1
- {"version":3,"file":"organization.types.d.ts","sourceRoot":"","sources":["../../../src/types/organization.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC5C,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAC5C,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IAChC,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;CAC1B,CACF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AACxD,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,CAAC,GACpE,YAAY,CAAC"}
1
+ {"version":3,"file":"organization.types.d.ts","sourceRoot":"","sources":["../../../src/types/organization.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC5C,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AACxD,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,YAAY,CAAC,GACpE,YAAY,CAAC"}
@@ -50,9 +50,7 @@ export type Project = ProjectData & {
50
50
  updatedAt: number;
51
51
  oAuth2Access: OAuth2Access[];
52
52
  };
53
- export type ProjectAPI = ObjectIdToString<Omit<Project, 'adminsIds'> & {
54
- adminsIds?: User['id'][];
55
- }>;
53
+ export type ProjectAPI = ObjectIdToString<Project>;
56
54
  export type ProjectSchema = RenameId<Project>;
57
55
  export type ProjectModelType = Model<Project>;
58
56
  export type ProjectDocument = Document<unknown, {}, Project> & Project;
@@ -1 +1 @@
1
- {"version":3,"file":"project.types.d.ts","sourceRoot":"","sources":["../../../src/types/project.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.types.d.ts","sourceRoot":"","sources":["../../../src/types/project.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF,KAAK,iCAAiC,GAAG,IAAI,CAC3C,cAAc,CAAC,sBAAsB,CAAC,EACtC,SAAS,GAAG,eAAe,CAC5B,CAAC;AAEF,KAAK,mBAAmB,GAAG,IAAI,CAC7B,cAAc,CAAC,QAAQ,CAAC,EACxB,gBAAgB,GAAG,QAAQ,CAC5B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,oBAAoB,EAAE,iCAAiC,CAAC;IACxD,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,KAAK,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC5C,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG;IAClC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"askDocQuestion.d.ts","sourceRoot":"","sources":["../../../../../src/utils/AI/askDocQuestion/askDocQuestion.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,QAAQ,EACR,SAAS,EAET,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAGlB,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoBF,eAAO,MAAM,gBAAgB,EAAE,SAI9B,CAAC;AA2FF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,IAAI,CAqHvD,CAAC;AAKF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,aAAY,MAA+B,EAC3C,gBAAe,MAAuC,KACrD,OAAO,CAAC,aAAa,EAAE,CA8BzB,CAAC;AAmBF,eAAO,MAAM,UAAU,EAAE,4BAGxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,4BAA4B,EAAE,EACxC,UAAU,QAAQ,EAClB,UAAU,qBAAqB,KAC9B,OAAO,CAAC,oBAAoB,CAoE9B,CAAC"}
1
+ {"version":3,"file":"askDocQuestion.d.ts","sourceRoot":"","sources":["../../../../../src/utils/AI/askDocQuestion/askDocQuestion.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,QAAQ,EACR,SAAS,EAET,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAGlB,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAoBF,eAAO,MAAM,gBAAgB,EAAE,SAI9B,CAAC;AA2FF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,IAAI,CAyHvD,CAAC;AAKF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,aAAY,MAA+B,EAC3C,gBAAe,MAAuC,KACrD,OAAO,CAAC,aAAa,EAAE,CA8BzB,CAAC;AAmBF,eAAO,MAAM,UAAU,EAAE,4BAGxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,4BAA4B,EAAE,EACxC,UAAU,QAAQ,EAClB,UAAU,qBAAqB,KAC9B,OAAO,CAAC,oBAAoB,CAoE9B,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { SessionAPI, SessionContext } from '../../types/session.types';
1
+ import type { Session, SessionContext } from '../../types/session.types';
2
2
  import { betterAuth, OmitId } from 'better-auth';
3
3
  import type { MongoClient } from 'mongodb';
4
4
  export type Auth = ReturnType<typeof betterAuth>;
5
- export declare const formatSession: (session: SessionContext) => OmitId<SessionAPI>;
5
+ export declare const formatSession: (session: SessionContext) => OmitId<Session>;
6
6
  export declare const getAuth: (dbClient: MongoClient) => Auth;
7
7
  //# sourceMappingURL=getAuth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAuth.d.ts","sourceRoot":"","sources":["../../../../src/utils/auth/getAuth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAgB/B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,eAAO,MAAM,aAAa,GAAI,SAAS,cAAc,KAAG,MAAM,CAAC,UAAU,CAoBxE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,UAAU,WAAW,KAAG,IAsN/C,CAAC"}
1
+ {"version":3,"file":"getAuth.d.ts","sourceRoot":"","sources":["../../../../src/utils/auth/getAuth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAiB/B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,eAAO,MAAM,aAAa,GAAI,SAAS,cAAc,KAAG,MAAM,CAAC,OAAO,CAoBrE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,UAAU,WAAW,KAAG,IAyN/C,CAAC"}
@@ -1365,6 +1365,19 @@ export declare const errorData: {
1365
1365
  };
1366
1366
  statusCode: HttpStatusCodes.FORBIDDEN_403;
1367
1367
  };
1368
+ INVALID_REQUEST_BODY: {
1369
+ title: {
1370
+ en: string;
1371
+ fr: string;
1372
+ es: string;
1373
+ };
1374
+ message: {
1375
+ en: string;
1376
+ fr: string;
1377
+ es: string;
1378
+ };
1379
+ statusCode: HttpStatusCodes.BAD_REQUEST_400;
1380
+ };
1368
1381
  };
1369
1382
  export type ErrorCodes = keyof typeof errorData;
1370
1383
  //# sourceMappingURL=errorCodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errorCodes.d.ts","sourceRoot":"","sources":["../../../../src/utils/errors/errorCodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAUzD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAy1Ce,CAAC;AAEtC,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,SAAS,CAAC"}
1
+ {"version":3,"file":"errorCodes.d.ts","sourceRoot":"","sources":["../../../../src/utils/errors/errorCodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAUzD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAs2Ce,CAAC;AAEtC,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../../src/utils/mapper/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGjE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,OAAO,GAAG,UAAU,GAAG,IAAI,EACnE,UAAU,CAAC,KACV,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,UAS1B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE,KACjC,UAAU,EACkD,CAAC"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../../src/utils/mapper/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGjE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,OAAO,GAAG,UAAU,GAAG,IAAI,EACnE,UAAU,CAAC,KACV,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,UAQ1B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE,KACjC,UAAU,EACkD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Session, SessionAPI } from '../../types/session.types';
2
+ import type { OmitId } from 'better-auth';
3
+ export declare const mapSessionToAPI: (session: OmitId<Session>) => OmitId<SessionAPI>;
4
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/utils/mapper/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAK1C,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,CAAC,OAAO,CAAC,KACvB,MAAM,CAAC,UAAU,CAKlB,CAAC"}