nextjs-cms 0.5.9 → 0.5.11

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 (258) hide show
  1. package/dist/api/axios/axiosInstance.d.ts +1 -1
  2. package/dist/api/axios/axiosInstance.js +8 -8
  3. package/dist/api/index.d.ts +855 -855
  4. package/dist/api/index.d.ts.map +1 -1
  5. package/dist/api/index.js +12 -12
  6. package/dist/api/lib/serverActions.d.ts +239 -239
  7. package/dist/api/lib/serverActions.d.ts.map +1 -1
  8. package/dist/api/lib/serverActions.js +834 -834
  9. package/dist/api/root.d.ts +828 -828
  10. package/dist/api/root.js +30 -30
  11. package/dist/api/routers/accountSettings.d.ts +60 -60
  12. package/dist/api/routers/accountSettings.js +108 -108
  13. package/dist/api/routers/admins.d.ts +105 -105
  14. package/dist/api/routers/admins.js +219 -219
  15. package/dist/api/routers/auth.d.ts +47 -47
  16. package/dist/api/routers/auth.js +25 -25
  17. package/dist/api/routers/categorySection.d.ts +103 -103
  18. package/dist/api/routers/categorySection.js +38 -38
  19. package/dist/api/routers/cmsSettings.d.ts +48 -48
  20. package/dist/api/routers/cmsSettings.js +51 -51
  21. package/dist/api/routers/cpanel.d.ts +83 -83
  22. package/dist/api/routers/cpanel.js +216 -216
  23. package/dist/api/routers/files.d.ts +47 -47
  24. package/dist/api/routers/files.js +23 -23
  25. package/dist/api/routers/gallery.d.ts +35 -35
  26. package/dist/api/routers/gallery.js +62 -62
  27. package/dist/api/routers/googleAnalytics.d.ts +30 -30
  28. package/dist/api/routers/googleAnalytics.js +7 -7
  29. package/dist/api/routers/hasItemsSection.d.ts +139 -139
  30. package/dist/api/routers/hasItemsSection.js +34 -34
  31. package/dist/api/routers/navigation.d.ts +51 -51
  32. package/dist/api/routers/navigation.js +11 -11
  33. package/dist/api/routers/simpleSection.d.ts +57 -57
  34. package/dist/api/routers/simpleSection.js +12 -12
  35. package/dist/api/trpc.d.ts +106 -106
  36. package/dist/api/trpc.js +72 -72
  37. package/dist/auth/axios/axiosInstance.d.ts +1 -1
  38. package/dist/auth/axios/axiosInstance.js +8 -8
  39. package/dist/auth/csrf.d.ts +29 -29
  40. package/dist/auth/csrf.js +76 -76
  41. package/dist/auth/hooks/index.d.ts +3 -3
  42. package/dist/auth/hooks/index.d.ts.map +1 -1
  43. package/dist/auth/hooks/index.js +3 -3
  44. package/dist/auth/hooks/useAxiosPrivate.d.ts +4 -4
  45. package/dist/auth/hooks/useAxiosPrivate.js +74 -74
  46. package/dist/auth/hooks/useRefreshToken.d.ts +6 -6
  47. package/dist/auth/hooks/useRefreshToken.js +79 -79
  48. package/dist/auth/index.d.ts +22 -22
  49. package/dist/auth/index.js +44 -44
  50. package/dist/auth/jwt.d.ts +5 -5
  51. package/dist/auth/jwt.js +25 -25
  52. package/dist/auth/lib/actions.d.ts +32 -32
  53. package/dist/auth/lib/actions.d.ts.map +1 -1
  54. package/dist/auth/lib/actions.js +209 -209
  55. package/dist/auth/lib/client.d.ts +3 -3
  56. package/dist/auth/lib/client.js +46 -46
  57. package/dist/auth/lib/index.d.ts +2 -2
  58. package/dist/auth/lib/index.d.ts.map +1 -1
  59. package/dist/auth/lib/index.js +2 -2
  60. package/dist/auth/react.d.ts +105 -105
  61. package/dist/auth/react.d.ts.map +1 -1
  62. package/dist/auth/react.js +347 -347
  63. package/dist/auth/trpc.d.ts +5 -5
  64. package/dist/auth/trpc.d.ts.map +1 -1
  65. package/dist/auth/trpc.js +81 -81
  66. package/dist/core/config/config-loader.d.ts +91 -91
  67. package/dist/core/config/config-loader.js +230 -230
  68. package/dist/core/config/index.d.ts +2 -2
  69. package/dist/core/config/index.d.ts.map +1 -1
  70. package/dist/core/config/index.js +1 -1
  71. package/dist/core/config/loader.d.ts +1 -1
  72. package/dist/core/config/loader.js +42 -42
  73. package/dist/core/db/index.d.ts +1 -1
  74. package/dist/core/db/index.d.ts.map +1 -1
  75. package/dist/core/db/index.js +1 -1
  76. package/dist/core/db/table-checker/DbTable.d.ts +5 -5
  77. package/dist/core/db/table-checker/DbTable.js +5 -5
  78. package/dist/core/db/table-checker/MysqlTable.d.ts +33 -33
  79. package/dist/core/db/table-checker/MysqlTable.d.ts.map +1 -1
  80. package/dist/core/db/table-checker/MysqlTable.js +94 -94
  81. package/dist/core/db/table-checker/index.d.ts +1 -1
  82. package/dist/core/db/table-checker/index.d.ts.map +1 -1
  83. package/dist/core/db/table-checker/index.js +1 -1
  84. package/dist/core/factories/FieldFactory.d.ts +123 -123
  85. package/dist/core/factories/FieldFactory.d.ts.map +1 -1
  86. package/dist/core/factories/FieldFactory.js +411 -411
  87. package/dist/core/factories/SectionFactory.d.ts +109 -109
  88. package/dist/core/factories/SectionFactory.d.ts.map +1 -1
  89. package/dist/core/factories/SectionFactory.js +415 -415
  90. package/dist/core/factories/index.d.ts +2 -2
  91. package/dist/core/factories/index.d.ts.map +1 -1
  92. package/dist/core/factories/index.js +2 -2
  93. package/dist/core/fields/checkbox.d.ts +62 -62
  94. package/dist/core/fields/checkbox.d.ts.map +1 -1
  95. package/dist/core/fields/checkbox.js +62 -62
  96. package/dist/core/fields/color.d.ts +83 -83
  97. package/dist/core/fields/color.d.ts.map +1 -1
  98. package/dist/core/fields/color.js +91 -91
  99. package/dist/core/fields/date.d.ts +99 -99
  100. package/dist/core/fields/date.d.ts.map +1 -1
  101. package/dist/core/fields/date.js +108 -108
  102. package/dist/core/fields/document.d.ts +179 -179
  103. package/dist/core/fields/document.d.ts.map +1 -1
  104. package/dist/core/fields/document.js +277 -277
  105. package/dist/core/fields/field-group.d.ts +17 -17
  106. package/dist/core/fields/field-group.d.ts.map +1 -1
  107. package/dist/core/fields/field-group.js +6 -6
  108. package/dist/core/fields/field.d.ts +125 -125
  109. package/dist/core/fields/field.d.ts.map +1 -1
  110. package/dist/core/fields/field.js +148 -148
  111. package/dist/core/fields/fileField.d.ts +14 -14
  112. package/dist/core/fields/fileField.d.ts.map +1 -1
  113. package/dist/core/fields/fileField.js +5 -5
  114. package/dist/core/fields/index.d.ts +64 -64
  115. package/dist/core/fields/index.d.ts.map +1 -1
  116. package/dist/core/fields/index.js +18 -18
  117. package/dist/core/fields/map.d.ts +166 -166
  118. package/dist/core/fields/map.d.ts.map +1 -1
  119. package/dist/core/fields/map.js +152 -152
  120. package/dist/core/fields/number.d.ts +185 -185
  121. package/dist/core/fields/number.d.ts.map +1 -1
  122. package/dist/core/fields/number.js +241 -241
  123. package/dist/core/fields/password.d.ts +108 -108
  124. package/dist/core/fields/password.d.ts.map +1 -1
  125. package/dist/core/fields/password.js +133 -133
  126. package/dist/core/fields/photo.d.ts +288 -288
  127. package/dist/core/fields/photo.d.ts.map +1 -1
  128. package/dist/core/fields/photo.js +410 -410
  129. package/dist/core/fields/richText.d.ts +294 -294
  130. package/dist/core/fields/richText.d.ts.map +1 -1
  131. package/dist/core/fields/richText.js +338 -338
  132. package/dist/core/fields/select.d.ts +365 -365
  133. package/dist/core/fields/select.d.ts.map +1 -1
  134. package/dist/core/fields/select.js +499 -499
  135. package/dist/core/fields/selectMultiple.d.ts +235 -235
  136. package/dist/core/fields/selectMultiple.d.ts.map +1 -1
  137. package/dist/core/fields/selectMultiple.js +417 -417
  138. package/dist/core/fields/tags.d.ts +130 -130
  139. package/dist/core/fields/tags.d.ts.map +1 -1
  140. package/dist/core/fields/tags.js +105 -105
  141. package/dist/core/fields/text.d.ts +135 -135
  142. package/dist/core/fields/text.d.ts.map +1 -1
  143. package/dist/core/fields/text.js +157 -157
  144. package/dist/core/fields/textArea.d.ts +106 -106
  145. package/dist/core/fields/textArea.d.ts.map +1 -1
  146. package/dist/core/fields/textArea.js +126 -126
  147. package/dist/core/fields/video.d.ts +147 -147
  148. package/dist/core/fields/video.d.ts.map +1 -1
  149. package/dist/core/fields/video.js +248 -248
  150. package/dist/core/helpers/entity.d.ts +7 -7
  151. package/dist/core/helpers/entity.js +27 -27
  152. package/dist/core/helpers/index.d.ts +4 -4
  153. package/dist/core/helpers/index.d.ts.map +1 -1
  154. package/dist/core/helpers/index.js +3 -3
  155. package/dist/core/index.d.ts +7 -7
  156. package/dist/core/index.d.ts.map +1 -1
  157. package/dist/core/index.js +7 -7
  158. package/dist/core/sections/category.d.ts +282 -282
  159. package/dist/core/sections/category.d.ts.map +1 -1
  160. package/dist/core/sections/category.js +147 -147
  161. package/dist/core/sections/hasItems.d.ts +631 -631
  162. package/dist/core/sections/hasItems.d.ts.map +1 -1
  163. package/dist/core/sections/hasItems.js +144 -144
  164. package/dist/core/sections/index.d.ts +4 -4
  165. package/dist/core/sections/index.d.ts.map +1 -1
  166. package/dist/core/sections/index.js +4 -4
  167. package/dist/core/sections/section.d.ts +225 -225
  168. package/dist/core/sections/section.d.ts.map +1 -1
  169. package/dist/core/sections/section.js +341 -341
  170. package/dist/core/sections/simple.d.ts +98 -98
  171. package/dist/core/sections/simple.d.ts.map +1 -1
  172. package/dist/core/sections/simple.js +95 -95
  173. package/dist/core/security/dom.d.ts +10 -10
  174. package/dist/core/security/dom.js +92 -92
  175. package/dist/core/submit/ItemEditSubmit.d.ts +75 -75
  176. package/dist/core/submit/ItemEditSubmit.js +186 -186
  177. package/dist/core/submit/NewItemSubmit.d.ts +13 -13
  178. package/dist/core/submit/NewItemSubmit.js +93 -93
  179. package/dist/core/submit/SimpleSectionSubmit.d.ts +12 -12
  180. package/dist/core/submit/SimpleSectionSubmit.js +93 -93
  181. package/dist/core/submit/index.d.ts +4 -4
  182. package/dist/core/submit/index.js +4 -4
  183. package/dist/core/submit/submit.d.ts +115 -115
  184. package/dist/core/submit/submit.js +479 -479
  185. package/dist/core/types/index.d.ts +279 -279
  186. package/dist/core/types/index.d.ts.map +1 -1
  187. package/dist/core/types/index.js +1 -1
  188. package/dist/db/client.d.ts +8 -8
  189. package/dist/db/client.d.ts.map +1 -1
  190. package/dist/db/client.js +19 -19
  191. package/dist/db/config.d.ts +5 -5
  192. package/dist/db/config.js +22 -22
  193. package/dist/db/drizzle.config.d.ts +5 -5
  194. package/dist/db/drizzle.config.js +18 -18
  195. package/dist/db/index.d.ts +2 -2
  196. package/dist/db/index.js +3 -3
  197. package/dist/db/schema.d.ts +638 -638
  198. package/dist/db/schema.js +73 -73
  199. package/dist/index.d.ts +7 -7
  200. package/dist/index.d.ts.map +1 -1
  201. package/dist/index.js +7 -7
  202. package/dist/translations/index.d.ts +2 -2
  203. package/dist/translations/index.js +15 -15
  204. package/dist/utils/CpanelApi.d.ts +24 -24
  205. package/dist/utils/CpanelApi.js +64 -64
  206. package/dist/utils/constants.d.ts +13 -13
  207. package/dist/utils/constants.js +61 -61
  208. package/dist/utils/index.d.ts +4 -4
  209. package/dist/utils/index.d.ts.map +1 -1
  210. package/dist/utils/index.js +4 -4
  211. package/dist/utils/utils.d.ts +59 -59
  212. package/dist/utils/utils.js +132 -132
  213. package/dist/validators/checkbox.d.ts +3 -3
  214. package/dist/validators/checkbox.d.ts.map +1 -1
  215. package/dist/validators/checkbox.js +12 -12
  216. package/dist/validators/color.d.ts +3 -3
  217. package/dist/validators/color.d.ts.map +1 -1
  218. package/dist/validators/color.js +7 -7
  219. package/dist/validators/date.d.ts +3 -3
  220. package/dist/validators/date.d.ts.map +1 -1
  221. package/dist/validators/date.js +5 -5
  222. package/dist/validators/document.d.ts +3 -3
  223. package/dist/validators/document.d.ts.map +1 -1
  224. package/dist/validators/document.js +57 -57
  225. package/dist/validators/index.d.ts +14 -14
  226. package/dist/validators/index.d.ts.map +1 -1
  227. package/dist/validators/index.js +14 -14
  228. package/dist/validators/map.d.ts +3 -3
  229. package/dist/validators/map.d.ts.map +1 -1
  230. package/dist/validators/map.js +5 -5
  231. package/dist/validators/number.d.ts +3 -3
  232. package/dist/validators/number.d.ts.map +1 -1
  233. package/dist/validators/number.js +20 -20
  234. package/dist/validators/password.d.ts +3 -3
  235. package/dist/validators/password.d.ts.map +1 -1
  236. package/dist/validators/password.js +11 -11
  237. package/dist/validators/photo.d.ts +3 -3
  238. package/dist/validators/photo.d.ts.map +1 -1
  239. package/dist/validators/photo.js +100 -100
  240. package/dist/validators/richText.d.ts +3 -3
  241. package/dist/validators/richText.d.ts.map +1 -1
  242. package/dist/validators/richText.js +8 -8
  243. package/dist/validators/select-multiple.d.ts +9 -9
  244. package/dist/validators/select-multiple.d.ts.map +1 -1
  245. package/dist/validators/select-multiple.js +20 -20
  246. package/dist/validators/select.d.ts +3 -3
  247. package/dist/validators/select.d.ts.map +1 -1
  248. package/dist/validators/select.js +5 -5
  249. package/dist/validators/text.d.ts +3 -3
  250. package/dist/validators/text.d.ts.map +1 -1
  251. package/dist/validators/text.js +7 -7
  252. package/dist/validators/textarea.d.ts +3 -3
  253. package/dist/validators/textarea.d.ts.map +1 -1
  254. package/dist/validators/textarea.js +7 -7
  255. package/dist/validators/video.d.ts +3 -3
  256. package/dist/validators/video.d.ts.map +1 -1
  257. package/dist/validators/video.js +57 -57
  258. package/package.json +4 -5
package/dist/api/root.js CHANGED
@@ -1,30 +1,30 @@
1
- import { privateProcedure, router } from "./trpc.js";
2
- import { adminsRouter } from "./routers/admins.js";
3
- import { hasItemsSectionRouter } from "./routers/hasItemsSection.js";
4
- import { filesRouter } from "./routers/files.js";
5
- import { authRouter } from "./routers/auth.js";
6
- import { navRouter } from "./routers/navigation.js";
7
- import { simpleSectionRouter } from "./routers/simpleSection.js";
8
- import { categorySectionRouter } from "./routers/categorySection.js";
9
- import { accountSettings } from "./routers/accountSettings.js";
10
- import { cmsSettings } from "./routers/cmsSettings.js";
11
- import { galleryRouter } from "./routers/gallery.js";
12
- import { cpanelRouter } from "./routers/cpanel.js";
13
- import { googleAnalyticsRouter } from "./routers/googleAnalytics.js";
14
- export const appRouter = router({
15
- auth: authRouter,
16
- admins: adminsRouter,
17
- hasItemsSections: hasItemsSectionRouter,
18
- simpleSections: simpleSectionRouter,
19
- categorySections: categorySectionRouter,
20
- files: filesRouter,
21
- gallery: galleryRouter,
22
- navigation: navRouter,
23
- accountSettings: accountSettings,
24
- cmsSettings: cmsSettings,
25
- cpanel: cpanelRouter,
26
- googleAnalytics: googleAnalyticsRouter,
27
- getHello1: privateProcedure.query(async ({ ctx }) => {
28
- return ctx;
29
- }),
30
- });
1
+ import { privateProcedure, router } from './trpc.js';
2
+ import { adminsRouter } from './routers/admins.js';
3
+ import { hasItemsSectionRouter } from './routers/hasItemsSection.js';
4
+ import { filesRouter } from './routers/files.js';
5
+ import { authRouter } from './routers/auth.js';
6
+ import { navRouter } from './routers/navigation.js';
7
+ import { simpleSectionRouter } from './routers/simpleSection.js';
8
+ import { categorySectionRouter } from './routers/categorySection.js';
9
+ import { accountSettings } from './routers/accountSettings.js';
10
+ import { cmsSettings } from './routers/cmsSettings.js';
11
+ import { galleryRouter } from './routers/gallery.js';
12
+ import { cpanelRouter } from './routers/cpanel.js';
13
+ import { googleAnalyticsRouter } from './routers/googleAnalytics.js';
14
+ export const appRouter = router({
15
+ auth: authRouter,
16
+ admins: adminsRouter,
17
+ hasItemsSections: hasItemsSectionRouter,
18
+ simpleSections: simpleSectionRouter,
19
+ categorySections: categorySectionRouter,
20
+ files: filesRouter,
21
+ gallery: galleryRouter,
22
+ navigation: navRouter,
23
+ accountSettings: accountSettings,
24
+ cmsSettings: cmsSettings,
25
+ cpanel: cpanelRouter,
26
+ googleAnalytics: googleAnalyticsRouter,
27
+ getHello1: privateProcedure.query(async ({ ctx }) => {
28
+ return ctx;
29
+ }),
30
+ });
@@ -1,61 +1,61 @@
1
- import * as z from 'zod';
2
- export declare const accountSettings: import("@trpc/server").TRPCBuiltRouter<{
3
- ctx: {
4
- db: import("drizzle-orm/mysql2").MySql2Database<typeof import("../../db/schema.js")> & {
5
- $client: import("mysql2/promise").Pool;
6
- };
7
- session: import("../...js").Session | null;
8
- opts: {
9
- headers: Headers;
10
- };
11
- };
12
- meta: object;
13
- errorShape: {
14
- data: {
15
- zodError: z.core.$ZodFlattenedError<unknown, string> | null;
16
- code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
17
- httpStatus: number;
18
- path?: string;
19
- stack?: string;
20
- };
21
- message: string;
22
- code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
23
- };
24
- transformer: true;
25
- }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
26
- get: import("@trpc/server").TRPCQueryProcedure<{
27
- input: void;
28
- output: {
29
- id: string;
30
- username: string;
31
- emailAddress: string | null;
32
- fullName: string | null;
33
- avatar: string | null;
34
- phoneNumber: string | null;
35
- } | undefined;
36
- meta: object;
37
- }>;
38
- /**
39
- * No avatar for now, if you want to include it, you have to use the api route,
40
- * because trpc doesn't support file uploads.
41
- */
42
- save: import("@trpc/server").TRPCMutationProcedure<{
43
- input: {
44
- emailAddress: string;
45
- fullName: string;
46
- phoneNumber: string;
47
- };
48
- output: boolean;
49
- meta: object;
50
- }>;
51
- changePassword: import("@trpc/server").TRPCMutationProcedure<{
52
- input: {
53
- oldPassword: string;
54
- newPassword: string;
55
- confirmPassword: string;
56
- };
57
- output: boolean;
58
- meta: object;
59
- }>;
60
- }>>;
1
+ import * as z from 'zod';
2
+ export declare const accountSettings: import("@trpc/server").TRPCBuiltRouter<{
3
+ ctx: {
4
+ db: import("drizzle-orm/mysql2").MySql2Database<typeof import("../../db/schema.js")> & {
5
+ $client: import("mysql2/promise").Pool;
6
+ };
7
+ session: import("../../index.js").Session | null;
8
+ opts: {
9
+ headers: Headers;
10
+ };
11
+ };
12
+ meta: object;
13
+ errorShape: {
14
+ data: {
15
+ zodError: z.core.$ZodFlattenedError<unknown, string> | null;
16
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
17
+ httpStatus: number;
18
+ path?: string;
19
+ stack?: string;
20
+ };
21
+ message: string;
22
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
23
+ };
24
+ transformer: true;
25
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
26
+ get: import("@trpc/server").TRPCQueryProcedure<{
27
+ input: void;
28
+ output: {
29
+ id: string;
30
+ username: string;
31
+ emailAddress: string | null;
32
+ fullName: string | null;
33
+ avatar: string | null;
34
+ phoneNumber: string | null;
35
+ } | undefined;
36
+ meta: object;
37
+ }>;
38
+ /**
39
+ * No avatar for now, if you want to include it, you have to use the api route,
40
+ * because trpc doesn't support file uploads.
41
+ */
42
+ save: import("@trpc/server").TRPCMutationProcedure<{
43
+ input: {
44
+ emailAddress: string;
45
+ fullName: string;
46
+ phoneNumber: string;
47
+ };
48
+ output: boolean;
49
+ meta: object;
50
+ }>;
51
+ changePassword: import("@trpc/server").TRPCMutationProcedure<{
52
+ input: {
53
+ oldPassword: string;
54
+ newPassword: string;
55
+ confirmPassword: string;
56
+ };
57
+ output: boolean;
58
+ meta: object;
59
+ }>;
60
+ }>>;
61
61
  //# sourceMappingURL=accountSettings.d.ts.map
@@ -1,108 +1,108 @@
1
- import { privateProcedure, router } from "../trpc.js";
2
- import { db } from "../../db/client.js";
3
- import { AdminsTable } from "../../db/schema.js";
4
- import { eq } from 'drizzle-orm';
5
- import * as z from 'zod';
6
- import bcrypt from 'bcrypt';
7
- import { TRPCError } from '@trpc/server';
8
- export const accountSettings = router({
9
- get: privateProcedure.query(async ({ ctx }) => {
10
- const admin = await db
11
- .select({
12
- id: AdminsTable.id,
13
- username: AdminsTable.user,
14
- emailAddress: AdminsTable.emailAddress,
15
- fullName: AdminsTable.fullName,
16
- avatar: AdminsTable.coverphoto,
17
- phoneNumber: AdminsTable.phoneNumber,
18
- })
19
- .from(AdminsTable)
20
- .where(eq(AdminsTable.id, ctx.session.user.id))
21
- .limit(1);
22
- return admin[0];
23
- }),
24
- /**
25
- * No avatar for now, if you want to include it, you have to use the api route,
26
- * because trpc doesn't support file uploads.
27
- */
28
- save: privateProcedure
29
- .input(z.object({
30
- emailAddress: z.string(),
31
- fullName: z.string(),
32
- phoneNumber: z.string(),
33
- }))
34
- .mutation(async ({ ctx, input }) => {
35
- await db
36
- .update(AdminsTable)
37
- .set({
38
- emailAddress: input.emailAddress,
39
- fullName: input.fullName,
40
- phoneNumber: input.phoneNumber,
41
- })
42
- .where(eq(AdminsTable.id, ctx.session.user.id))
43
- .execute();
44
- return true;
45
- }),
46
- changePassword: privateProcedure
47
- .input(z.object({
48
- oldPassword: z.string(),
49
- newPassword: z.string(),
50
- confirmPassword: z.string(),
51
- }))
52
- .mutation(async ({ ctx, input }) => {
53
- /**
54
- * Check if old password is correct
55
- */
56
- const result = await db
57
- .select({
58
- password: AdminsTable.pass,
59
- })
60
- .from(AdminsTable)
61
- .where(eq(AdminsTable.id, ctx.session.user.id))
62
- .limit(1);
63
- const admin = result[0];
64
- /**
65
- * Check if admin exists
66
- */
67
- if (!admin) {
68
- throw new TRPCError({
69
- code: 'NOT_FOUND',
70
- message: 'Admin not found',
71
- });
72
- }
73
- /**
74
- * Check password with bcrypt
75
- */
76
- const match = await bcrypt.compare(input.oldPassword, admin.password);
77
- if (!match) {
78
- throw new TRPCError({
79
- code: 'UNAUTHORIZED',
80
- message: 'Old password is incorrect',
81
- });
82
- }
83
- /**
84
- * Check if new password and confirm password are the same
85
- */
86
- if (input.newPassword !== input.confirmPassword) {
87
- throw new TRPCError({
88
- code: 'BAD_REQUEST',
89
- message: 'New password and confirm password do not match',
90
- });
91
- }
92
- /**
93
- * Hash new password
94
- */
95
- const hashedPassword = await bcrypt.hash(input.newPassword, 10);
96
- /**
97
- * Update password
98
- */
99
- await db
100
- .update(AdminsTable)
101
- .set({
102
- pass: hashedPassword,
103
- })
104
- .where(eq(AdminsTable.id, ctx.session.user.id))
105
- .execute();
106
- return true;
107
- }),
108
- });
1
+ import { privateProcedure, router } from '../trpc.js';
2
+ import { db } from '../../db/client.js';
3
+ import { AdminsTable } from '../../db/schema.js';
4
+ import { eq } from 'drizzle-orm';
5
+ import * as z from 'zod';
6
+ import bcrypt from 'bcrypt';
7
+ import { TRPCError } from '@trpc/server';
8
+ export const accountSettings = router({
9
+ get: privateProcedure.query(async ({ ctx }) => {
10
+ const admin = await db
11
+ .select({
12
+ id: AdminsTable.id,
13
+ username: AdminsTable.user,
14
+ emailAddress: AdminsTable.emailAddress,
15
+ fullName: AdminsTable.fullName,
16
+ avatar: AdminsTable.coverphoto,
17
+ phoneNumber: AdminsTable.phoneNumber,
18
+ })
19
+ .from(AdminsTable)
20
+ .where(eq(AdminsTable.id, ctx.session.user.id))
21
+ .limit(1);
22
+ return admin[0];
23
+ }),
24
+ /**
25
+ * No avatar for now, if you want to include it, you have to use the api route,
26
+ * because trpc doesn't support file uploads.
27
+ */
28
+ save: privateProcedure
29
+ .input(z.object({
30
+ emailAddress: z.string(),
31
+ fullName: z.string(),
32
+ phoneNumber: z.string(),
33
+ }))
34
+ .mutation(async ({ ctx, input }) => {
35
+ await db
36
+ .update(AdminsTable)
37
+ .set({
38
+ emailAddress: input.emailAddress,
39
+ fullName: input.fullName,
40
+ phoneNumber: input.phoneNumber,
41
+ })
42
+ .where(eq(AdminsTable.id, ctx.session.user.id))
43
+ .execute();
44
+ return true;
45
+ }),
46
+ changePassword: privateProcedure
47
+ .input(z.object({
48
+ oldPassword: z.string(),
49
+ newPassword: z.string(),
50
+ confirmPassword: z.string(),
51
+ }))
52
+ .mutation(async ({ ctx, input }) => {
53
+ /**
54
+ * Check if old password is correct
55
+ */
56
+ const result = await db
57
+ .select({
58
+ password: AdminsTable.pass,
59
+ })
60
+ .from(AdminsTable)
61
+ .where(eq(AdminsTable.id, ctx.session.user.id))
62
+ .limit(1);
63
+ const admin = result[0];
64
+ /**
65
+ * Check if admin exists
66
+ */
67
+ if (!admin) {
68
+ throw new TRPCError({
69
+ code: 'NOT_FOUND',
70
+ message: 'Admin not found',
71
+ });
72
+ }
73
+ /**
74
+ * Check password with bcrypt
75
+ */
76
+ const match = await bcrypt.compare(input.oldPassword, admin.password);
77
+ if (!match) {
78
+ throw new TRPCError({
79
+ code: 'UNAUTHORIZED',
80
+ message: 'Old password is incorrect',
81
+ });
82
+ }
83
+ /**
84
+ * Check if new password and confirm password are the same
85
+ */
86
+ if (input.newPassword !== input.confirmPassword) {
87
+ throw new TRPCError({
88
+ code: 'BAD_REQUEST',
89
+ message: 'New password and confirm password do not match',
90
+ });
91
+ }
92
+ /**
93
+ * Hash new password
94
+ */
95
+ const hashedPassword = await bcrypt.hash(input.newPassword, 10);
96
+ /**
97
+ * Update password
98
+ */
99
+ await db
100
+ .update(AdminsTable)
101
+ .set({
102
+ pass: hashedPassword,
103
+ })
104
+ .where(eq(AdminsTable.id, ctx.session.user.id))
105
+ .execute();
106
+ return true;
107
+ }),
108
+ });
@@ -1,106 +1,106 @@
1
- import * as z from 'zod';
2
- export declare const adminsRouter: import("@trpc/server").TRPCBuiltRouter<{
3
- ctx: {
4
- db: import("drizzle-orm/mysql2").MySql2Database<typeof import("../../db/schema.js")> & {
5
- $client: import("mysql2/promise").Pool;
6
- };
7
- session: import("../...js").Session | null;
8
- opts: {
9
- headers: Headers;
10
- };
11
- };
12
- meta: object;
13
- errorShape: {
14
- data: {
15
- zodError: z.core.$ZodFlattenedError<unknown, string> | null;
16
- code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
17
- httpStatus: number;
18
- path?: string;
19
- stack?: string;
20
- };
21
- message: string;
22
- code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
23
- };
24
- transformer: true;
25
- }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
26
- list: import("@trpc/server").TRPCQueryProcedure<{
27
- input: void;
28
- output: {
29
- admins: {
30
- id: string;
31
- username: string;
32
- avatar: string | null;
33
- roles: {
34
- operations: "C" | "U" | "D" | "CU" | "CD" | "UD" | "CUD";
35
- publisher: boolean | null;
36
- sectionName: string;
37
- }[];
38
- }[];
39
- privileges: {
40
- title: string;
41
- order: number;
42
- sectionType: string;
43
- sectionName: string;
44
- }[];
45
- };
46
- meta: object;
47
- }>;
48
- get: import("@trpc/server").TRPCQueryProcedure<{
49
- input: string;
50
- output: {
51
- admin: {
52
- id: string;
53
- user: string;
54
- };
55
- adminRoles: {
56
- sectionName: string;
57
- operations: "C" | "U" | "D" | "CU" | "CD" | "UD" | "CUD";
58
- publisher: boolean | null;
59
- }[];
60
- allRoles: {
61
- title: string;
62
- order: number;
63
- sectionType: string;
64
- sectionName: string;
65
- }[];
66
- };
67
- meta: object;
68
- }>;
69
- create: import("@trpc/server").TRPCMutationProcedure<{
70
- input: {
71
- username: string;
72
- password: string;
73
- privileges: {
74
- sectionName: string;
75
- publisher: boolean | null;
76
- operations: string;
77
- }[];
78
- };
79
- output: {
80
- status: string;
81
- };
82
- meta: object;
83
- }>;
84
- update: import("@trpc/server").TRPCMutationProcedure<{
85
- input: {
86
- id: string;
87
- privileges: {
88
- sectionName: string;
89
- publisher: boolean | null;
90
- operations: string;
91
- }[];
92
- };
93
- output: {
94
- status: string;
95
- };
96
- meta: object;
97
- }>;
98
- remove: import("@trpc/server").TRPCMutationProcedure<{
99
- input: {
100
- id: string;
101
- };
102
- output: boolean;
103
- meta: object;
104
- }>;
105
- }>>;
1
+ import * as z from 'zod';
2
+ export declare const adminsRouter: import("@trpc/server").TRPCBuiltRouter<{
3
+ ctx: {
4
+ db: import("drizzle-orm/mysql2").MySql2Database<typeof import("../../db/schema.js")> & {
5
+ $client: import("mysql2/promise").Pool;
6
+ };
7
+ session: import("../../index.js").Session | null;
8
+ opts: {
9
+ headers: Headers;
10
+ };
11
+ };
12
+ meta: object;
13
+ errorShape: {
14
+ data: {
15
+ zodError: z.core.$ZodFlattenedError<unknown, string> | null;
16
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
17
+ httpStatus: number;
18
+ path?: string;
19
+ stack?: string;
20
+ };
21
+ message: string;
22
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
23
+ };
24
+ transformer: true;
25
+ }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
26
+ list: import("@trpc/server").TRPCQueryProcedure<{
27
+ input: void;
28
+ output: {
29
+ admins: {
30
+ id: string;
31
+ username: string;
32
+ avatar: string | null;
33
+ roles: {
34
+ operations: "C" | "U" | "D" | "CU" | "CD" | "UD" | "CUD";
35
+ publisher: boolean | null;
36
+ sectionName: string;
37
+ }[];
38
+ }[];
39
+ privileges: {
40
+ title: string;
41
+ order: number;
42
+ sectionType: string;
43
+ sectionName: string;
44
+ }[];
45
+ };
46
+ meta: object;
47
+ }>;
48
+ get: import("@trpc/server").TRPCQueryProcedure<{
49
+ input: string;
50
+ output: {
51
+ admin: {
52
+ id: string;
53
+ user: string;
54
+ };
55
+ adminRoles: {
56
+ sectionName: string;
57
+ operations: "C" | "U" | "D" | "CU" | "CD" | "UD" | "CUD";
58
+ publisher: boolean | null;
59
+ }[];
60
+ allRoles: {
61
+ title: string;
62
+ order: number;
63
+ sectionType: string;
64
+ sectionName: string;
65
+ }[];
66
+ };
67
+ meta: object;
68
+ }>;
69
+ create: import("@trpc/server").TRPCMutationProcedure<{
70
+ input: {
71
+ username: string;
72
+ password: string;
73
+ privileges: {
74
+ sectionName: string;
75
+ publisher: boolean | null;
76
+ operations: string;
77
+ }[];
78
+ };
79
+ output: {
80
+ status: string;
81
+ };
82
+ meta: object;
83
+ }>;
84
+ update: import("@trpc/server").TRPCMutationProcedure<{
85
+ input: {
86
+ id: string;
87
+ privileges: {
88
+ sectionName: string;
89
+ publisher: boolean | null;
90
+ operations: string;
91
+ }[];
92
+ };
93
+ output: {
94
+ status: string;
95
+ };
96
+ meta: object;
97
+ }>;
98
+ remove: import("@trpc/server").TRPCMutationProcedure<{
99
+ input: {
100
+ id: string;
101
+ };
102
+ output: boolean;
103
+ meta: object;
104
+ }>;
105
+ }>>;
106
106
  //# sourceMappingURL=admins.d.ts.map