mirror of
https://github.com/hex248/sprint.git
synced 2026-02-07 18:23:03 +00:00
renamed to Sprint
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# eussi
|
||||
|
||||
The server for Issue Project Manager
|
||||
The server for Sprint
|
||||
|
||||
To install dependencies:
|
||||
```bash
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "@issue/backend",
|
||||
"name": "@sprint/backend",
|
||||
"version": "0.1.0",
|
||||
"type": "module",
|
||||
"engines": {
|
||||
@@ -27,7 +27,7 @@
|
||||
"typescript": "^5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@issue/shared": "workspace:*",
|
||||
"@sprint/shared": "workspace:*",
|
||||
"bcrypt": "^6.0.0",
|
||||
"dotenv": "^17.2.3",
|
||||
"drizzle-orm": "^0.45.0",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import "dotenv/config";
|
||||
import { Issue, Organisation, OrganisationMember, Project, User } from "@issue/shared";
|
||||
import { Issue, Organisation, OrganisationMember, Project, User } from "@sprint/shared";
|
||||
import bcrypt from "bcrypt";
|
||||
import { drizzle } from "drizzle-orm/node-postgres";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Issue, User } from "@issue/shared";
|
||||
import { Issue, User } from "@sprint/shared";
|
||||
import { aliasedTable, and, eq, inArray, sql } from "drizzle-orm";
|
||||
import { db } from "../client";
|
||||
|
||||
@@ -80,7 +80,7 @@ export async function getIssueByNumber(projectId: number, number: number) {
|
||||
}
|
||||
|
||||
export async function getIssueStatusCountByOrganisation(organisationId: number, status: string) {
|
||||
const { Project } = await import("@issue/shared");
|
||||
const { Project } = await import("@sprint/shared");
|
||||
|
||||
const projects = await db
|
||||
.select({ id: Project.id })
|
||||
@@ -99,7 +99,7 @@ export async function getIssueStatusCountByOrganisation(organisationId: number,
|
||||
}
|
||||
|
||||
export async function replaceIssueStatus(organisationId: number, oldStatus: string, newStatus: string) {
|
||||
const { Project } = await import("@issue/shared");
|
||||
const { Project } = await import("@sprint/shared");
|
||||
|
||||
// get all project IDs for this organisation
|
||||
const projects = await db
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Organisation, OrganisationMember, User } from "@issue/shared";
|
||||
import { Organisation, OrganisationMember, User } from "@sprint/shared";
|
||||
import { and, eq } from "drizzle-orm";
|
||||
import { db } from "../client";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Issue, Organisation, Project, User } from "@issue/shared";
|
||||
import { Issue, Organisation, Project, User } from "@sprint/shared";
|
||||
import { eq } from "drizzle-orm";
|
||||
import { db } from "../client";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Session } from "@issue/shared";
|
||||
import { Session } from "@sprint/shared";
|
||||
import { eq, lt } from "drizzle-orm";
|
||||
import { db } from "../client";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Sprint } from "@issue/shared";
|
||||
import { Sprint } from "@sprint/shared";
|
||||
import { eq } from "drizzle-orm";
|
||||
import { db } from "../client";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { TimedSession } from "@issue/shared";
|
||||
import { TimedSession } from "@sprint/shared";
|
||||
import { and, desc, eq, isNotNull, isNull } from "drizzle-orm";
|
||||
import { db } from "../client";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { User, type UserRecord } from "@issue/shared";
|
||||
import { User, type UserRecord } from "@sprint/shared";
|
||||
import { eq } from "drizzle-orm";
|
||||
import { db } from "../client";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LoginRequestSchema } from "@issue/shared";
|
||||
import { LoginRequestSchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { buildAuthCookie, generateToken, verifyPassword } from "../../auth/utils";
|
||||
import { createSession, getUserByUsername } from "../../db/queries";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { UserRecord } from "@issue/shared";
|
||||
import type { UserRecord } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getUserById } from "../../db/queries";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { RegisterRequestSchema } from "@issue/shared";
|
||||
import { RegisterRequestSchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { buildAuthCookie, generateToken, hashPassword } from "../../auth/utils";
|
||||
import { createSession, createUser, getUserByUsername } from "../../db/queries";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IssueCreateRequestSchema } from "@issue/shared";
|
||||
import { IssueCreateRequestSchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { createIssue, getProjectByID } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IssueDeleteRequestSchema } from "@issue/shared";
|
||||
import { IssueDeleteRequestSchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { deleteIssue } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IssueUpdateRequestSchema } from "@issue/shared";
|
||||
import { IssueUpdateRequestSchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { updateIssue } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IssuesByProjectQuerySchema } from "@issue/shared";
|
||||
import { IssuesByProjectQuerySchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getIssuesWithUsersByProject, getProjectByID } from "../../db/queries";
|
||||
import { errorResponse, parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IssuesReplaceStatusRequestSchema } from "@issue/shared";
|
||||
import { IssuesReplaceStatusRequestSchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getOrganisationMemberRole, replaceIssueStatus } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IssuesStatusCountQuerySchema } from "@issue/shared";
|
||||
import { IssuesStatusCountQuerySchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getIssueStatusCountByOrganisation, getOrganisationMemberRole } from "../../db/queries";
|
||||
import { errorResponse, parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { OrgAddMemberRequestSchema } from "@issue/shared";
|
||||
import { OrgAddMemberRequestSchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import {
|
||||
createOrganisationMember,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { OrgByIdQuerySchema } from "@issue/shared";
|
||||
import { OrgByIdQuerySchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { getOrganisationById } from "../../db/queries";
|
||||
import { errorResponse, parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { OrgCreateRequestSchema } from "@issue/shared";
|
||||
import { OrgCreateRequestSchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { createOrganisationWithOwner, getOrganisationBySlug } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { OrgDeleteRequestSchema } from "@issue/shared";
|
||||
import { OrgDeleteRequestSchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { deleteOrganisation, getOrganisationById } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { OrgMembersQuerySchema } from "@issue/shared";
|
||||
import { OrgMembersQuerySchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { getOrganisationById, getOrganisationMembers } from "../../db/queries";
|
||||
import { errorResponse, parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { OrgRemoveMemberRequestSchema } from "@issue/shared";
|
||||
import { OrgRemoveMemberRequestSchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getOrganisationById, getOrganisationMemberRole, removeOrganisationMember } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { OrgUpdateMemberRoleRequestSchema } from "@issue/shared";
|
||||
import { OrgUpdateMemberRoleRequestSchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import {
|
||||
getOrganisationById,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { OrgUpdateRequestSchema } from "@issue/shared";
|
||||
import { OrgUpdateRequestSchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { getOrganisationById, updateOrganisation } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ProjectByCreatorQuerySchema } from "@issue/shared";
|
||||
import { ProjectByCreatorQuerySchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { getProjectsByCreatorID, getUserById } from "../../db/queries";
|
||||
import { errorResponse, parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ProjectByOrgQuerySchema } from "@issue/shared";
|
||||
import { ProjectByOrgQuerySchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getOrganisationById, getOrganisationsByUserId, getProjectsByOrganisationId } from "../../db/queries";
|
||||
import { errorResponse, parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ProjectCreateRequestSchema } from "@issue/shared";
|
||||
import { ProjectCreateRequestSchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { createProject, getProjectByKey, getUserById } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ProjectDeleteRequestSchema } from "@issue/shared";
|
||||
import { ProjectDeleteRequestSchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { deleteProject, getProjectByID } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ProjectUpdateRequestSchema } from "@issue/shared";
|
||||
import { ProjectUpdateRequestSchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { getProjectByID, getProjectByKey, getUserById, updateProject } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ProjectByIdQuerySchema } from "@issue/shared";
|
||||
import { ProjectByIdQuerySchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { getProjectWithCreatorByID } from "../../db/queries";
|
||||
import { errorResponse, parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { SprintCreateRequestSchema } from "@issue/shared";
|
||||
import { SprintCreateRequestSchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { createSprint, getOrganisationMemberRole, getProjectByID } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { SprintsByProjectQuerySchema } from "@issue/shared";
|
||||
import { SprintsByProjectQuerySchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getOrganisationMemberRole, getProjectByID, getSprintsByProject } from "../../db/queries";
|
||||
import { errorResponse, parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { calculateBreakTimeMs, calculateWorkTimeMs, TimerEndRequestSchema } from "@issue/shared";
|
||||
import { calculateBreakTimeMs, calculateWorkTimeMs, TimerEndRequestSchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { endTimedSession, getActiveTimedSession } from "../../db/queries";
|
||||
import { errorResponse, parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { calculateBreakTimeMs, calculateWorkTimeMs, TimerGetQuerySchema } from "@issue/shared";
|
||||
import { calculateBreakTimeMs, calculateWorkTimeMs, TimerGetQuerySchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getInactiveTimedSessions } from "../../db/queries";
|
||||
import { parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -3,7 +3,7 @@ import {
|
||||
calculateWorkTimeMs,
|
||||
isTimerRunning,
|
||||
TimerGetQuerySchema,
|
||||
} from "@issue/shared";
|
||||
} from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getActiveTimedSession } from "../../db/queries";
|
||||
import { parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -3,7 +3,7 @@ import {
|
||||
calculateWorkTimeMs,
|
||||
isTimerRunning,
|
||||
TimerToggleRequestSchema,
|
||||
} from "@issue/shared";
|
||||
} from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { appendTimestamp, createTimedSession, getActiveTimedSession } from "../../db/queries";
|
||||
import { parseJsonBody } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { calculateBreakTimeMs, calculateWorkTimeMs, isTimerRunning } from "@issue/shared";
|
||||
import { calculateBreakTimeMs, calculateWorkTimeMs, isTimerRunning } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../auth/middleware";
|
||||
import { getUserTimedSessions } from "../db/queries";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { UserByUsernameQuerySchema } from "@issue/shared";
|
||||
import { UserByUsernameQuerySchema } from "@sprint/shared";
|
||||
import type { BunRequest } from "bun";
|
||||
import { getUserByUsername } from "../../db/queries";
|
||||
import { errorResponse, parseQueryParams } from "../../validation";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { UserUpdateRequestSchema } from "@issue/shared";
|
||||
import { UserUpdateRequestSchema } from "@sprint/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { hashPassword } from "../../auth/utils";
|
||||
import { getUserById } from "../../db/queries";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { ApiError } from "@issue/shared";
|
||||
import type { ApiError } from "@sprint/shared";
|
||||
import type { z } from "zod";
|
||||
|
||||
type ZodSchema<T> = z.ZodSchema<T>;
|
||||
|
||||
Reference in New Issue
Block a user