| | const prisma = require("../utils/prisma"); |
| |
|
| | const WorkspaceUser = { |
| | createMany: async function (userId, workspaceIds = []) { |
| | if (workspaceIds.length === 0) return; |
| | try { |
| | await prisma.$transaction( |
| | workspaceIds.map((workspaceId) => |
| | prisma.workspace_users.create({ |
| | data: { user_id: userId, workspace_id: workspaceId }, |
| | }) |
| | ) |
| | ); |
| | } catch (error) { |
| | console.error(error.message); |
| | } |
| | return; |
| | }, |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | createManyUsers: async function (userIds = [], workspaceId) { |
| | if (userIds.length === 0) return; |
| | try { |
| | await prisma.$transaction( |
| | userIds.map((userId) => |
| | prisma.workspace_users.create({ |
| | data: { |
| | user_id: Number(userId), |
| | workspace_id: Number(workspaceId), |
| | }, |
| | }) |
| | ) |
| | ); |
| | } catch (error) { |
| | console.error(error.message); |
| | } |
| | return; |
| | }, |
| |
|
| | create: async function (userId = 0, workspaceId = 0) { |
| | try { |
| | await prisma.workspace_users.create({ |
| | data: { user_id: Number(userId), workspace_id: Number(workspaceId) }, |
| | }); |
| | return true; |
| | } catch (error) { |
| | console.error( |
| | "FAILED TO CREATE WORKSPACE_USER RELATIONSHIP.", |
| | error.message |
| | ); |
| | return false; |
| | } |
| | }, |
| |
|
| | get: async function (clause = {}) { |
| | try { |
| | const result = await prisma.workspace_users.findFirst({ where: clause }); |
| | return result || null; |
| | } catch (error) { |
| | console.error(error.message); |
| | return null; |
| | } |
| | }, |
| |
|
| | where: async function (clause = {}, limit = null) { |
| | try { |
| | const results = await prisma.workspace_users.findMany({ |
| | where: clause, |
| | ...(limit !== null ? { take: limit } : {}), |
| | }); |
| | return results; |
| | } catch (error) { |
| | console.error(error.message); |
| | return []; |
| | } |
| | }, |
| |
|
| | count: async function (clause = {}) { |
| | try { |
| | const count = await prisma.workspace_users.count({ where: clause }); |
| | return count; |
| | } catch (error) { |
| | console.error(error.message); |
| | return 0; |
| | } |
| | }, |
| |
|
| | delete: async function (clause = {}) { |
| | try { |
| | await prisma.workspace_users.deleteMany({ where: clause }); |
| | } catch (error) { |
| | console.error(error.message); |
| | } |
| | return; |
| | }, |
| | }; |
| |
|
| | module.exports.WorkspaceUser = WorkspaceUser; |
| |
|