diff --git a/api/package.json b/api/package.json index aa2fa2b..de0aa43 100644 --- a/api/package.json +++ b/api/package.json @@ -1,6 +1,6 @@ { "name": "taskview-ce-api-server", - "version": "1.32.0", + "version": "1.41.0", "scripts": { "dev": "bun run --watch ./server.ts", "start": "NODE_ENV=production node ./dist/taskview-server.js", diff --git a/api/src/tv-modules/auth/AuthController.ts b/api/src/tv-modules/auth/AuthController.ts index 4947dc4..2b45b15 100644 --- a/api/src/tv-modules/auth/AuthController.ts +++ b/api/src/tv-modules/auth/AuthController.ts @@ -118,7 +118,6 @@ export default class AuthController { const code = this.generateLoginCode(); - $logger.info(data.data, `[AuthController:sendLoginCode] we got data for send login code`); let userData = await req.appUser.authManager.repository.getUserByLogin(email, isEmail(email)); @@ -129,8 +128,6 @@ export default class AuthController { } if (!userData) { - $logger.info(`[AuthController:sendLoginCode] trying to register user ${email}`); - const password = this.makeidLogin(7), login = this.makeidLogin(7); @@ -142,17 +139,17 @@ export default class AuthController { confirmEmailCode: '', }); if (!id) { - $logger.error(`Can not register user ${email}`); + $logger.error(`Can not register user`); return res.status(500).end(); } - $logger.info(`[AuthController:sendLoginCode] user registered ${email}`); + $logger.info(`[AuthController:sendLoginCode] user registered`); } userData = await req.appUser.authManager.repository.getUserByLogin(email, isEmail(email)); if (!userData) { - $logger.error(`Can not fetch user after registration by code ${email}`); + $logger.error(`Can not fetch user after registration by code`); return res.status(500).end(); } @@ -160,11 +157,11 @@ export default class AuthController { const now = Date.now(); if (!lastUpdate || (lastUpdate && now - +lastUpdate > 60 * 1000)) { - $logger.info(`[AuthController:sendLoginCode] updating login code for user ${email}`); + $logger.info(`[AuthController:sendLoginCode] updating login code for user`); await req.appUser.authManager.repository.updateLoginCode(code, email); - $logger.info(`[AuthController:sendLoginCode] sending code by email to ${email}`); + $logger.info(`[AuthController:sendLoginCode] sending code by email to`); await this.sendCodeByEmail(code.split(':')[0], email); } @@ -206,8 +203,8 @@ export default class AuthController { }); if (!id) { - $logger.error(`Can not register user ${user.email} & login ${login}`); - return res.status(500).send(`Can not register user ${user.email} & login ${login}`); + $logger.error(`Can not register user`); + return res.status(500).send(`Can not register user`); } userData = await req.appUser.authManager.repository.getUserByLogin( @@ -217,7 +214,7 @@ export default class AuthController { } if (!userData) { - $logger.error(`Can not find user ${user.email} after registration`); + $logger.error(`Can not find user after registration`); return res.status(500).send(`Can not find user ${user.email} after registration`); } @@ -226,7 +223,7 @@ export default class AuthController { const result = await req.appUser.authManager.repository.updateLoginCode(code, userData.email); if (!result) { - $logger.error(`Can not update login code for user ${userData.email}`); + $logger.error(`Can not update login code for user`); return res.status(500).send(`Can not update login code for user`); } @@ -352,7 +349,6 @@ export default class AuthController { const userData = await req.appUser.authManager.repository.getUserByLogin(login, isEmail(login)); if (!userData) { - $logger.info(`Can not find user with login ${login}`); return res.status(400).end(); } @@ -512,7 +508,7 @@ export default class AuthController { const result = await req.appUser.authManager.repository.setReminderCodeAndTime(userData.email, code, seconds); if (!result) { - $logger.error(`Can not set remind_code and time for user ${userData.email}`); + $logger.error(`Can not set remind_code and time for user`); return res.status(500).send(); } @@ -562,8 +558,6 @@ export default class AuthController { const passwordHash = hashSync(parsedData.data.password, 10); - $logger.debug(`Update ${passwordHash} for ${userData.id}`); - const result = await req.appUser.authManager.repository.updateUserPassword(passwordHash, userData.id); $logger.debug(`Update result ${result}`); @@ -619,7 +613,6 @@ export default class AuthController { const isActive = await req.appUser.authManager.sessionStorage.isSessionActive(payload.id); if (!isActive) { - $logger.info({ sessionId: payload.id }, 'Session not active during refresh'); this.clearRefreshToken(res); return res.status(401).end(); } @@ -650,12 +643,12 @@ export default class AuthController { }); if (!sendResult) { - $logger.error(`Can not send account deletion code for user ${userId}`); + $logger.error(`Can not send account deletion code for user`); } const insertCode = await req.appUser.authManager.repository.addDeleteAccountCode(code, userId); if (!insertCode) { - $logger.error(`Can not insert account deletion code for user ${userId}`); + $logger.error(`Can not insert account deletion code for user`); return res.status(500).end(); } return res.status(200).end(); diff --git a/api/src/utils/helpers.ts b/api/src/utils/helpers.ts index 82c7cb2..4dd8bae 100644 --- a/api/src/utils/helpers.ts +++ b/api/src/utils/helpers.ts @@ -1,3 +1,4 @@ +import { UAParser } from 'ua-parser-js'; import { $logger } from '../modules/logget'; export function isEmail(email: string): boolean { @@ -44,10 +45,8 @@ export async function callWithCatch(func: () => Promise): Promise { browser: { name?: string; version?: string }; os: { name?: string }; device: { model?: string } } = require('ua-parser-js') - const result = UAParser(userAgent) + const parser = new UAParser(userAgent) + const result = parser.getResult() const parts: string[] = [] if (result.browser.name) { diff --git a/package.json b/package.json index 2c4e5ec..7795c83 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "taskview-ce-monorepo", - "version": "1.32.0", + "version": "1.41.0", "private": true, "description": "TaskView CE monorepo containing web, API, and packages", "workspaces": [ diff --git a/web/package.json b/web/package.json index 374c300..5ffb6f9 100644 --- a/web/package.json +++ b/web/package.json @@ -2,7 +2,7 @@ "name": "web-nuxt-ui", "private": true, "type": "module", - "version": "1.32.0", + "version": "1.41.0", "scripts": { "dev": "vite", "build:packages": "pnpm --filter taskview-db-schemas build && pnpm --filter taskview-api build", diff --git a/web/src/stores/base-screen.store.ts b/web/src/stores/base-screen.store.ts index 9d57162..124e5b2 100644 --- a/web/src/stores/base-screen.store.ts +++ b/web/src/stores/base-screen.store.ts @@ -20,32 +20,30 @@ export const useBaseScreenStore = defineStore('base-screen-store', { return new Map(state.lists.map((item) => [item.listId, { name: item.listName, goalId: item.goalId }])) }, }, - state(): BaseScreenState { - return { - activeWidgetInMobile: 'today', - wasCalled: false, - tasks: [], //all tasks in the app - tasksToday: [], - tasksUpcoming: [], - tasksLastCompleted: [], - //todo rename "users" to "usersByProject" - users: [], //show users by project - searchTask: '', - // addTaskDialog: false,//shoud we offer add goals - lists: [], - // listToGoal: {}, - loading: false, - //todo rename "assignees" to "assigneesByTask" - assignees: [], - filterAndSorting: { - sort: 'new', - filters: { - ...FILTER_DEFAULT, - }, + state: (): BaseScreenState => ({ + activeWidgetInMobile: 'today', + wasCalled: false, + tasks: [], //all tasks in the app + tasksToday: [], + tasksUpcoming: [], + tasksLastCompleted: [], + //todo rename "users" to "usersByProject" + users: [], //show users by project + searchTask: '', + // addTaskDialog: false,//shoud we offer add goals + lists: [], + // listToGoal: {}, + loading: false, + //todo rename "assignees" to "assigneesByTask" + assignees: [], + filterAndSorting: { + sort: 'new', + filters: { + ...FILTER_DEFAULT, }, - taskIdToUser: {}, - } - }, + }, + taskIdToUser: {}, + }), actions: { async fetchAllState() { this.taskIdToUser = {} @@ -106,18 +104,18 @@ export const useBaseScreenStore = defineStore('base-screen-store', { localTask.complete = task.complete switch (prop) { - case 'tasks': - this.processLastAdded(task) - break - case 'tasksToday': - this.processToday(task) - break - case 'tasksUpcoming': - this.processUpcoming(task) - break - case 'tasksLastCompleted': - this.processLastCompleted(task) - break + case 'tasks': + this.processLastAdded(task) + break + case 'tasksToday': + this.processToday(task) + break + case 'tasksUpcoming': + this.processUpcoming(task) + break + case 'tasksLastCompleted': + this.processLastCompleted(task) + break } } },