careerty-prism 1.0.30 → 1.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/others/seeder.ts CHANGED
@@ -3,6 +3,30 @@ const prisma = new PrismaClient()
3
3
 
4
4
 
5
5
 
6
+ function generateRandomString(length: number) {
7
+ const chars =
8
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
9
+ let randomString = "";
10
+ for (let i = 0; i < length; i++) {
11
+ randomString += chars[Math.floor(Math.random() * chars.length)];
12
+ }
13
+ return randomString;
14
+ }
15
+
16
+
17
+ function toPermalink(text: string) {
18
+
19
+ let permalinkText = text
20
+ .toLowerCase()
21
+ .replace(/[^a-z0-9]+/g, "-")
22
+ .replace(/^-+/, "")
23
+ .replace(/-+$/, "");
24
+
25
+ let randomString = generateRandomString(5);
26
+ permalinkText += '-' + randomString;
27
+ return permalinkText;
28
+ }
29
+
6
30
 
7
31
  async function getDefaultDocTemplte(tx: any, type: string) {
8
32
 
@@ -234,6 +258,90 @@ async function plans(tx: any) {
234
258
  }
235
259
 
236
260
 
261
+ async function mentorshipCategory(tx: any) {
262
+
263
+ var categories = [
264
+ {
265
+ category: {
266
+ name: 'Graphic Design'
267
+ },
268
+ translation: [
269
+ {
270
+ key: 'name',
271
+ value: 'Graphic Design',
272
+ lang: "en"
273
+ },
274
+ {
275
+ key: 'name',
276
+ value: 'Graphic Design',
277
+ lang: "ar"
278
+ },
279
+ {
280
+ key: 'description',
281
+ value: 'Graphic Design',
282
+ lang: "en"
283
+ },
284
+ {
285
+ key: 'description',
286
+ value: 'Graphic Design',
287
+ lang: "ar"
288
+ }
289
+ ]
290
+ },
291
+ {
292
+ category: {
293
+ name: 'Backend Development'
294
+ },
295
+ translation: [
296
+ {
297
+ key: 'name',
298
+ value: 'Backend Development',
299
+ lang: "en"
300
+ },
301
+ {
302
+ key: 'name',
303
+ value: 'Backend Development',
304
+ lang: "ar"
305
+ },
306
+ {
307
+ key: 'description',
308
+ value: 'Backend Development',
309
+ lang: "en"
310
+ },
311
+ {
312
+ key: 'description',
313
+ value: 'Backend Development',
314
+ lang: "ar"
315
+ }
316
+ ]
317
+ },
318
+ ];
319
+
320
+ for (const category of categories) {
321
+ var savedCategory = await tx.mnCategory.create({
322
+ data: {
323
+ name: category.category.name,
324
+ status: true,
325
+ description:'',
326
+ icon:'icon',
327
+ permalink: toPermalink(category.category.name)
328
+ }
329
+ });
330
+
331
+ for (const categoryTranslation of category.translation) {
332
+ await tx.mnCategoryTranslation.create({
333
+ data: {
334
+ key: categoryTranslation.key,
335
+ value: categoryTranslation.value,
336
+ lang: categoryTranslation.lang,
337
+ categoryId: savedCategory.id
338
+ }
339
+ })
340
+ }
341
+ }
342
+ }
343
+
344
+
237
345
  async function mnPrograms() {
238
346
 
239
347
  }
@@ -243,9 +351,10 @@ async function mentors() {
243
351
 
244
352
  }
245
353
 
246
- async function skillRepo(tx: any) {
247
354
 
248
355
 
356
+ async function skillRepo(tx: any) {
357
+
249
358
  var skills = [
250
359
  {
251
360
  skill: {
@@ -842,6 +951,7 @@ async function main() {
842
951
  await prisma.$transaction(async (tx) => {
843
952
  await plansPerks(tx);
844
953
  await plans(tx);
954
+ await mentorshipCategory(tx)
845
955
  await skillRepo(tx);
846
956
  await colorRepo(tx);
847
957
  await fontsRepo(tx);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "careerty-prism",
3
- "version": "1.0.30",
3
+ "version": "1.0.32",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -11,6 +11,7 @@
11
11
  "prisma": {
12
12
  "seed": "ts-node others/seeder.ts"
13
13
  },
14
+
14
15
  "author": "",
15
16
  "license": "ISC",
16
17
  "devDependencies": {
@@ -0,0 +1,25 @@
1
+ /*
2
+ Warnings:
3
+
4
+ - You are about to alter the column `status` on the `mentor` table. The data in that column could be lost. The data in that column will be cast from `Int` to `TinyInt`.
5
+
6
+ */
7
+ -- AlterTable
8
+ ALTER TABLE `mentor` MODIFY `status` BOOLEAN NOT NULL DEFAULT false;
9
+
10
+ -- CreateTable
11
+ CREATE TABLE `UserFavoriteMentor` (
12
+ `id` INTEGER NOT NULL AUTO_INCREMENT,
13
+ `userId` INTEGER NOT NULL,
14
+ `mentorId` INTEGER NOT NULL,
15
+
16
+ UNIQUE INDEX `UserFavoriteMentor_userId_key`(`userId`),
17
+ UNIQUE INDEX `UserFavoriteMentor_mentorId_key`(`mentorId`),
18
+ PRIMARY KEY (`id`)
19
+ ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
20
+
21
+ -- AddForeignKey
22
+ ALTER TABLE `UserFavoriteMentor` ADD CONSTRAINT `UserFavoriteMentor_mentorId_fkey` FOREIGN KEY (`mentorId`) REFERENCES `Mentor`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
23
+
24
+ -- AddForeignKey
25
+ ALTER TABLE `UserFavoriteMentor` ADD CONSTRAINT `UserFavoriteMentor_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
@@ -0,0 +1,8 @@
1
+ /*
2
+ Warnings:
3
+
4
+ - Added the required column `name` to the `CV` table without a default value. This is not possible if the table is not empty.
5
+
6
+ */
7
+ -- AlterTable
8
+ ALTER TABLE `cv` ADD COLUMN `name` VARCHAR(191) NOT NULL;
@@ -116,6 +116,8 @@ model User {
116
116
  Referral Referral? @relation(fields: [referralId], references: [id])
117
117
  UserAvailablity UserAvailablity[]
118
118
  AiCvChat AiCvChat[]
119
+
120
+ UserFavoriteMentor UserFavoriteMentor[]
119
121
  }
120
122
 
121
123
  model UserMeta {
@@ -151,6 +153,16 @@ model UserAvailablitySlot {
151
153
  UserAvailablity UserAvailablity @relation(fields: [userAvailablityId], references: [id])
152
154
  }
153
155
 
156
+ model UserFavoriteMentor {
157
+ id Int @id @default(autoincrement())
158
+ userId Int @unique
159
+ mentorId Int @unique
160
+ Mentor Mentor @relation(fields: [mentorId], references: [id])
161
+ User User @relation(fields: [userId], references: [id])
162
+
163
+ }
164
+
165
+
154
166
  model Referral {
155
167
  id Int @id @default(autoincrement())
156
168
  userId Int @unique
@@ -304,6 +316,7 @@ model TemplateMeta {
304
316
  model CV {
305
317
  id Int @id @default(autoincrement())
306
318
  permalink String @unique
319
+ name String
307
320
  fullname String
308
321
  profile String @db.LongText
309
322
  address String
@@ -548,6 +561,8 @@ model Mentor {
548
561
  MnProgramRequest MnProgramRequest[]
549
562
  MentorAvailablity MentorAvailablity[]
550
563
  // MnProgramMeet MnProgramMeet[]
564
+
565
+ UserFavoriteMentor UserFavoriteMentor[]
551
566
  }
552
567
 
553
568
  model MentorAvailablity {