cloudisk 1.0.0
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/.env.example +17 -0
- package/README.md +120 -0
- package/dist/config/index.d.ts +27 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +45 -0
- package/dist/config/index.js.map +1 -0
- package/dist/dto/auth.dto.d.ts +14 -0
- package/dist/dto/auth.dto.d.ts.map +1 -0
- package/dist/dto/auth.dto.js +16 -0
- package/dist/dto/auth.dto.js.map +1 -0
- package/dist/dto/user.dto.d.ts +76 -0
- package/dist/dto/user.dto.d.ts.map +1 -0
- package/dist/dto/user.dto.js +70 -0
- package/dist/dto/user.dto.js.map +1 -0
- package/dist/handlers/auth.handler.d.ts +10 -0
- package/dist/handlers/auth.handler.d.ts.map +1 -0
- package/dist/handlers/auth.handler.js +41 -0
- package/dist/handlers/auth.handler.js.map +1 -0
- package/dist/handlers/disk.handler.d.ts +12 -0
- package/dist/handlers/disk.handler.d.ts.map +1 -0
- package/dist/handlers/disk.handler.js +61 -0
- package/dist/handlers/disk.handler.js.map +1 -0
- package/dist/handlers/samba.handler.d.ts +16 -0
- package/dist/handlers/samba.handler.d.ts.map +1 -0
- package/dist/handlers/samba.handler.js +120 -0
- package/dist/handlers/samba.handler.js.map +1 -0
- package/dist/handlers/share.handler.d.ts +11 -0
- package/dist/handlers/share.handler.d.ts.map +1 -0
- package/dist/handlers/share.handler.js +52 -0
- package/dist/handlers/share.handler.js.map +1 -0
- package/dist/handlers/system.handler.d.ts +17 -0
- package/dist/handlers/system.handler.d.ts.map +1 -0
- package/dist/handlers/system.handler.js +210 -0
- package/dist/handlers/system.handler.js.map +1 -0
- package/dist/handlers/user.handler.d.ts +16 -0
- package/dist/handlers/user.handler.d.ts.map +1 -0
- package/dist/handlers/user.handler.js +101 -0
- package/dist/handlers/user.handler.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +799 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/errors.d.ts +13 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +35 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/log-buffer.d.ts +20 -0
- package/dist/lib/log-buffer.d.ts.map +1 -0
- package/dist/lib/log-buffer.js +75 -0
- package/dist/lib/log-buffer.js.map +1 -0
- package/dist/lib/response.d.ts +5 -0
- package/dist/lib/response.d.ts.map +1 -0
- package/dist/lib/response.js +19 -0
- package/dist/lib/response.js.map +1 -0
- package/dist/lib/shell.d.ts +9 -0
- package/dist/lib/shell.d.ts.map +1 -0
- package/dist/lib/shell.js +32 -0
- package/dist/lib/shell.js.map +1 -0
- package/dist/middleware/auth.d.ts +17 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +43 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/error-handler.d.ts +3 -0
- package/dist/middleware/error-handler.d.ts.map +1 -0
- package/dist/middleware/error-handler.js +14 -0
- package/dist/middleware/error-handler.js.map +1 -0
- package/dist/middleware/logger.d.ts +3 -0
- package/dist/middleware/logger.d.ts.map +1 -0
- package/dist/middleware/logger.js +25 -0
- package/dist/middleware/logger.js.map +1 -0
- package/dist/middleware/validate.d.ts +3 -0
- package/dist/middleware/validate.d.ts.map +1 -0
- package/dist/middleware/validate.js +28 -0
- package/dist/middleware/validate.js.map +1 -0
- package/dist/operators/disk.operator.d.ts +29 -0
- package/dist/operators/disk.operator.d.ts.map +1 -0
- package/dist/operators/disk.operator.js +70 -0
- package/dist/operators/disk.operator.js.map +1 -0
- package/dist/operators/linux-user.operator.d.ts +13 -0
- package/dist/operators/linux-user.operator.d.ts.map +1 -0
- package/dist/operators/linux-user.operator.js +47 -0
- package/dist/operators/linux-user.operator.js.map +1 -0
- package/dist/operators/quota.operator.d.ts +18 -0
- package/dist/operators/quota.operator.d.ts.map +1 -0
- package/dist/operators/quota.operator.js +54 -0
- package/dist/operators/quota.operator.js.map +1 -0
- package/dist/operators/samba.operator.d.ts +41 -0
- package/dist/operators/samba.operator.d.ts.map +1 -0
- package/dist/operators/samba.operator.js +274 -0
- package/dist/operators/samba.operator.js.map +1 -0
- package/dist/operators/share.operator.d.ts +21 -0
- package/dist/operators/share.operator.d.ts.map +1 -0
- package/dist/operators/share.operator.js +67 -0
- package/dist/operators/share.operator.js.map +1 -0
- package/dist/repositories/admin.repo.d.ts +30 -0
- package/dist/repositories/admin.repo.d.ts.map +1 -0
- package/dist/repositories/admin.repo.js +20 -0
- package/dist/repositories/admin.repo.js.map +1 -0
- package/dist/repositories/user.repo.d.ts +44 -0
- package/dist/repositories/user.repo.d.ts.map +1 -0
- package/dist/repositories/user.repo.js +3 -0
- package/dist/repositories/user.repo.js.map +1 -0
- package/dist/repositories/user.repo.sqlite.d.ts +16 -0
- package/dist/repositories/user.repo.sqlite.d.ts.map +1 -0
- package/dist/repositories/user.repo.sqlite.js +47 -0
- package/dist/repositories/user.repo.sqlite.js.map +1 -0
- package/dist/routes/auth.routes.d.ts +4 -0
- package/dist/routes/auth.routes.d.ts.map +1 -0
- package/dist/routes/auth.routes.js +15 -0
- package/dist/routes/auth.routes.js.map +1 -0
- package/dist/routes/disk.routes.d.ts +4 -0
- package/dist/routes/disk.routes.d.ts.map +1 -0
- package/dist/routes/disk.routes.js +16 -0
- package/dist/routes/disk.routes.js.map +1 -0
- package/dist/routes/index.d.ts +4 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +64 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/samba.routes.d.ts +4 -0
- package/dist/routes/samba.routes.d.ts.map +1 -0
- package/dist/routes/samba.routes.js +20 -0
- package/dist/routes/samba.routes.js.map +1 -0
- package/dist/routes/share.routes.d.ts +4 -0
- package/dist/routes/share.routes.d.ts.map +1 -0
- package/dist/routes/share.routes.js +15 -0
- package/dist/routes/share.routes.js.map +1 -0
- package/dist/routes/system.routes.d.ts +4 -0
- package/dist/routes/system.routes.d.ts.map +1 -0
- package/dist/routes/system.routes.js +20 -0
- package/dist/routes/system.routes.js.map +1 -0
- package/dist/routes/user.routes.d.ts +5 -0
- package/dist/routes/user.routes.d.ts.map +1 -0
- package/dist/routes/user.routes.js +44 -0
- package/dist/routes/user.routes.js.map +1 -0
- package/dist/services/auth.service.d.ts +23 -0
- package/dist/services/auth.service.d.ts.map +1 -0
- package/dist/services/auth.service.js +62 -0
- package/dist/services/auth.service.js.map +1 -0
- package/dist/services/disk.service.d.ts +12 -0
- package/dist/services/disk.service.d.ts.map +1 -0
- package/dist/services/disk.service.js +34 -0
- package/dist/services/disk.service.js.map +1 -0
- package/dist/services/init.service.d.ts +8 -0
- package/dist/services/init.service.d.ts.map +1 -0
- package/dist/services/init.service.js +47 -0
- package/dist/services/init.service.js.map +1 -0
- package/dist/services/quota.service.d.ts +14 -0
- package/dist/services/quota.service.d.ts.map +1 -0
- package/dist/services/quota.service.js +32 -0
- package/dist/services/quota.service.js.map +1 -0
- package/dist/services/samba.service.d.ts +45 -0
- package/dist/services/samba.service.d.ts.map +1 -0
- package/dist/services/samba.service.js +61 -0
- package/dist/services/samba.service.js.map +1 -0
- package/dist/services/share.service.d.ts +18 -0
- package/dist/services/share.service.d.ts.map +1 -0
- package/dist/services/share.service.js +29 -0
- package/dist/services/share.service.js.map +1 -0
- package/dist/services/user.service.d.ts +48 -0
- package/dist/services/user.service.d.ts.map +1 -0
- package/dist/services/user.service.js +196 -0
- package/dist/services/user.service.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +23 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/service.interfaces.d.ts +45 -0
- package/dist/types/service.interfaces.d.ts.map +1 -0
- package/dist/types/service.interfaces.js +3 -0
- package/dist/types/service.interfaces.js.map +1 -0
- package/package.json +63 -0
- package/prisma/schema.prisma +53 -0
- package/public/assets/Dashboard-BupoWE_7.js +1 -0
- package/public/assets/DiskManage-BY6Sy7T6.js +1 -0
- package/public/assets/InitWizard-CA9epEkr.css +1 -0
- package/public/assets/InitWizard-D5Xj7dX0.js +1 -0
- package/public/assets/Layout-D-CPXnPP.js +1 -0
- package/public/assets/Layout-DaQY8YzE.css +1 -0
- package/public/assets/LogViewer-CIJZzoXw.css +1 -0
- package/public/assets/LogViewer-DDAIjW9J.js +1 -0
- package/public/assets/Login-D92i6dQA.js +1 -0
- package/public/assets/Login-DimFYijw.css +1 -0
- package/public/assets/ServiceManage-CIWLurL_.css +1 -0
- package/public/assets/ServiceManage-D-ZWP7Ry.js +1 -0
- package/public/assets/ShareManage-BMsFoGea.js +1 -0
- package/public/assets/UserList-CqeA7r2Y.js +1 -0
- package/public/assets/index-B-crAlzg.css +1 -0
- package/public/assets/index-CfC5GCM9.js +100 -0
- package/public/index.html +14 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.repo.js","sourceRoot":"","sources":["../../src/repositories/admin.repo.ts"],"names":[],"mappings":";;;AAiBA,MAAa,eAAe;IACN;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAA0D;QACrE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;CACF;AAdD,0CAcC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface User {
|
|
2
|
+
id: number;
|
|
3
|
+
username: string;
|
|
4
|
+
password: string;
|
|
5
|
+
groupName: string;
|
|
6
|
+
sharePath: string;
|
|
7
|
+
quotaSoft: number;
|
|
8
|
+
quotaHard: number;
|
|
9
|
+
status: string;
|
|
10
|
+
createdAt: Date;
|
|
11
|
+
updatedAt: Date;
|
|
12
|
+
}
|
|
13
|
+
export interface CreateUserInput {
|
|
14
|
+
username: string;
|
|
15
|
+
password: string;
|
|
16
|
+
groupName: string;
|
|
17
|
+
sharePath: string;
|
|
18
|
+
quotaSoft: number;
|
|
19
|
+
quotaHard: number;
|
|
20
|
+
}
|
|
21
|
+
export interface UpdateUserInput {
|
|
22
|
+
password?: string;
|
|
23
|
+
groupName?: string;
|
|
24
|
+
quotaSoft?: number;
|
|
25
|
+
quotaHard?: number;
|
|
26
|
+
status?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface ListParams {
|
|
29
|
+
page: number;
|
|
30
|
+
size: number;
|
|
31
|
+
q?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface IUserRepository {
|
|
34
|
+
create(data: CreateUserInput): Promise<User>;
|
|
35
|
+
findById(id: number): Promise<User | null>;
|
|
36
|
+
findByUsername(username: string): Promise<User | null>;
|
|
37
|
+
list(params: ListParams): Promise<{
|
|
38
|
+
items: User[];
|
|
39
|
+
total: number;
|
|
40
|
+
}>;
|
|
41
|
+
update(id: number, data: UpdateUserInput): Promise<User>;
|
|
42
|
+
delete(id: number): Promise<void>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=user.repo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.repo.d.ts","sourceRoot":"","sources":["../../src/repositories/user.repo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAC1C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACtD,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.repo.js","sourceRoot":"","sources":["../../src/repositories/user.repo.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PrismaClient } from '@prisma/client';
|
|
2
|
+
import { IUserRepository, User, CreateUserInput, UpdateUserInput, ListParams } from './user.repo';
|
|
3
|
+
export declare class SqliteUserRepo implements IUserRepository {
|
|
4
|
+
private prisma;
|
|
5
|
+
constructor(prisma: PrismaClient);
|
|
6
|
+
create(data: CreateUserInput): Promise<User>;
|
|
7
|
+
findById(id: number): Promise<User | null>;
|
|
8
|
+
findByUsername(username: string): Promise<User | null>;
|
|
9
|
+
list(params: ListParams): Promise<{
|
|
10
|
+
items: User[];
|
|
11
|
+
total: number;
|
|
12
|
+
}>;
|
|
13
|
+
update(id: number, data: UpdateUserInput): Promise<User>;
|
|
14
|
+
delete(id: number): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=user.repo.sqlite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.repo.sqlite.d.ts","sourceRoot":"","sources":["../../src/repositories/user.repo.sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EACL,eAAe,EACf,IAAI,EACJ,eAAe,EACf,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAA;AAEpB,qBAAa,cAAe,YAAW,eAAe;IACxC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAI1C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAItD,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBnE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SqliteUserRepo = void 0;
|
|
4
|
+
class SqliteUserRepo {
|
|
5
|
+
prisma;
|
|
6
|
+
constructor(prisma) {
|
|
7
|
+
this.prisma = prisma;
|
|
8
|
+
}
|
|
9
|
+
async create(data) {
|
|
10
|
+
return this.prisma.user.create({ data });
|
|
11
|
+
}
|
|
12
|
+
async findById(id) {
|
|
13
|
+
return this.prisma.user.findUnique({ where: { id } });
|
|
14
|
+
}
|
|
15
|
+
async findByUsername(username) {
|
|
16
|
+
return this.prisma.user.findUnique({ where: { username } });
|
|
17
|
+
}
|
|
18
|
+
async list(params) {
|
|
19
|
+
const { page, size, q } = params;
|
|
20
|
+
const where = q
|
|
21
|
+
? {
|
|
22
|
+
OR: [
|
|
23
|
+
{ username: { contains: q } },
|
|
24
|
+
{ groupName: { contains: q } },
|
|
25
|
+
],
|
|
26
|
+
}
|
|
27
|
+
: {};
|
|
28
|
+
const [items, total] = await Promise.all([
|
|
29
|
+
this.prisma.user.findMany({
|
|
30
|
+
where,
|
|
31
|
+
skip: (page - 1) * size,
|
|
32
|
+
take: size,
|
|
33
|
+
orderBy: { createdAt: 'desc' },
|
|
34
|
+
}),
|
|
35
|
+
this.prisma.user.count({ where }),
|
|
36
|
+
]);
|
|
37
|
+
return { items, total };
|
|
38
|
+
}
|
|
39
|
+
async update(id, data) {
|
|
40
|
+
return this.prisma.user.update({ where: { id }, data });
|
|
41
|
+
}
|
|
42
|
+
async delete(id) {
|
|
43
|
+
await this.prisma.user.delete({ where: { id } });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.SqliteUserRepo = SqliteUserRepo;
|
|
47
|
+
//# sourceMappingURL=user.repo.sqlite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.repo.sqlite.js","sourceRoot":"","sources":["../../src/repositories/user.repo.sqlite.ts"],"names":[],"mappings":";;;AASA,MAAa,cAAc;IACL;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,MAAM,CAAC,IAAqB;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAkB;QAC3B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAA;QAChC,MAAM,KAAK,GAAG,CAAC;YACb,CAAC,CAAC;gBACE,EAAE,EAAE;oBACF,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;oBAC7B,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;iBAC/B;aACF;YACH,CAAC,CAAC,EAAE,CAAA;QAEN,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACxB,KAAK;gBACL,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI;gBACvB,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;aAC/B,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;SAClC,CAAC,CAAA;QAEF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAqB;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAClD,CAAC;CACF;AA9CD,wCA8CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.routes.d.ts","sourceRoot":"","sources":["../../src/routes/auth.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAKtD,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAQvD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.authRoutes = authRoutes;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const auth_1 = require("../middleware/auth");
|
|
6
|
+
const validate_1 = require("../middleware/validate");
|
|
7
|
+
const auth_dto_1 = require("../dto/auth.dto");
|
|
8
|
+
function authRoutes(handler) {
|
|
9
|
+
const router = (0, express_1.Router)();
|
|
10
|
+
router.post('/login', (0, validate_1.validate)(auth_dto_1.loginSchema), handler.login);
|
|
11
|
+
router.post('/refresh', (0, validate_1.validate)(auth_dto_1.refreshTokenSchema), handler.refresh);
|
|
12
|
+
router.get('/me', auth_1.authMiddleware, handler.me);
|
|
13
|
+
return router;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=auth.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.routes.js","sourceRoot":"","sources":["../../src/routes/auth.routes.ts"],"names":[],"mappings":";;AAMA,gCAQC;AAdD,qCAAgC;AAEhC,6CAAmD;AACnD,qDAAiD;AACjD,8CAAiE;AAEjE,SAAgB,UAAU,CAAC,OAAoB;IAC7C,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAA;IAEvB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,mBAAQ,EAAC,sBAAW,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAA,mBAAQ,EAAC,6BAAkB,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACtE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;IAE7C,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disk.routes.d.ts","sourceRoot":"","sources":["../../src/routes/disk.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAGtD,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAYvD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.diskRoutes = diskRoutes;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const auth_1 = require("../middleware/auth");
|
|
6
|
+
function diskRoutes(handler) {
|
|
7
|
+
const router = (0, express_1.Router)();
|
|
8
|
+
router.use(auth_1.authMiddleware);
|
|
9
|
+
router.get('/', handler.list);
|
|
10
|
+
router.post('/format', handler.format);
|
|
11
|
+
router.post('/mount', handler.mount);
|
|
12
|
+
router.post('/umount', handler.umount);
|
|
13
|
+
router.get('/usage', handler.usage);
|
|
14
|
+
return router;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=disk.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disk.routes.js","sourceRoot":"","sources":["../../src/routes/disk.routes.ts"],"names":[],"mappings":";;AAIA,gCAYC;AAhBD,qCAAgC;AAEhC,6CAAmD;AAEnD,SAAgB,UAAU,CAAC,OAAoB;IAC7C,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAA;IAEvB,MAAM,CAAC,GAAG,CAAC,qBAAc,CAAC,CAAA;IAE1B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAEnC,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AA+B7C,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAuC3D"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerRoutes = registerRoutes;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const user_repo_sqlite_1 = require("../repositories/user.repo.sqlite");
|
|
6
|
+
const admin_repo_1 = require("../repositories/admin.repo");
|
|
7
|
+
const linux_user_operator_1 = require("../operators/linux-user.operator");
|
|
8
|
+
const samba_operator_1 = require("../operators/samba.operator");
|
|
9
|
+
const quota_operator_1 = require("../operators/quota.operator");
|
|
10
|
+
const disk_operator_1 = require("../operators/disk.operator");
|
|
11
|
+
const share_operator_1 = require("../operators/share.operator");
|
|
12
|
+
const auth_service_1 = require("../services/auth.service");
|
|
13
|
+
const user_service_1 = require("../services/user.service");
|
|
14
|
+
const quota_service_1 = require("../services/quota.service");
|
|
15
|
+
const samba_service_1 = require("../services/samba.service");
|
|
16
|
+
const disk_service_1 = require("../services/disk.service");
|
|
17
|
+
const share_service_1 = require("../services/share.service");
|
|
18
|
+
const auth_handler_1 = require("../handlers/auth.handler");
|
|
19
|
+
const user_handler_1 = require("../handlers/user.handler");
|
|
20
|
+
const samba_handler_1 = require("../handlers/samba.handler");
|
|
21
|
+
const disk_handler_1 = require("../handlers/disk.handler");
|
|
22
|
+
const share_handler_1 = require("../handlers/share.handler");
|
|
23
|
+
const system_handler_1 = require("../handlers/system.handler");
|
|
24
|
+
const auth_routes_1 = require("./auth.routes");
|
|
25
|
+
const user_routes_1 = require("./user.routes");
|
|
26
|
+
const samba_routes_1 = require("./samba.routes");
|
|
27
|
+
const disk_routes_1 = require("./disk.routes");
|
|
28
|
+
const share_routes_1 = require("./share.routes");
|
|
29
|
+
const system_routes_1 = require("./system.routes");
|
|
30
|
+
function registerRoutes(prisma) {
|
|
31
|
+
const router = (0, express_1.Router)();
|
|
32
|
+
// Operators
|
|
33
|
+
const userOp = new linux_user_operator_1.LinuxUserOperator();
|
|
34
|
+
const sambaOp = new samba_operator_1.SambaOperator();
|
|
35
|
+
const quotaOp = new quota_operator_1.QuotaOperator();
|
|
36
|
+
const diskOp = new disk_operator_1.DiskOperator();
|
|
37
|
+
const shareOp = new share_operator_1.ShareOperator();
|
|
38
|
+
// Repositories
|
|
39
|
+
const userRepo = new user_repo_sqlite_1.SqliteUserRepo(prisma);
|
|
40
|
+
const adminRepo = new admin_repo_1.SqliteAdminRepo(prisma);
|
|
41
|
+
// Services
|
|
42
|
+
const authService = new auth_service_1.AuthService(adminRepo);
|
|
43
|
+
const userService = new user_service_1.UserService(userRepo, userOp, sambaOp, quotaOp, shareOp);
|
|
44
|
+
const quotaService = new quota_service_1.QuotaService(userRepo, quotaOp);
|
|
45
|
+
const sambaService = new samba_service_1.SambaService(sambaOp);
|
|
46
|
+
const diskService = new disk_service_1.DiskService(diskOp);
|
|
47
|
+
const shareService = new share_service_1.ShareService(shareOp);
|
|
48
|
+
// Handlers
|
|
49
|
+
const authHandler = new auth_handler_1.AuthHandler(authService);
|
|
50
|
+
const userHandler = new user_handler_1.UserHandler(userService);
|
|
51
|
+
const sambaHandler = new samba_handler_1.SambaHandler(sambaService);
|
|
52
|
+
const diskHandler = new disk_handler_1.DiskHandler(diskService);
|
|
53
|
+
const shareHandler = new share_handler_1.ShareHandler(shareService);
|
|
54
|
+
const systemHandler = new system_handler_1.SystemHandler(prisma, sambaOp);
|
|
55
|
+
// Register routes
|
|
56
|
+
router.use('/api/v1/auth', (0, auth_routes_1.authRoutes)(authHandler));
|
|
57
|
+
router.use('/api/v1/users', (0, user_routes_1.userRoutes)(userHandler, quotaService));
|
|
58
|
+
router.use('/api/v1/samba', (0, samba_routes_1.sambaRoutes)(sambaHandler));
|
|
59
|
+
router.use('/api/v1/disks', (0, disk_routes_1.diskRoutes)(diskHandler));
|
|
60
|
+
router.use('/api/v1/shares', (0, share_routes_1.shareRoutes)(shareHandler));
|
|
61
|
+
router.use('/api/v1/system', (0, system_routes_1.systemRoutes)(systemHandler));
|
|
62
|
+
return router;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":";;AAgCA,wCAuCC;AAvED,qCAAgC;AAGhC,uEAAiE;AACjE,2DAA4D;AAC5D,0EAAoE;AACpE,gEAA2D;AAC3D,gEAA2D;AAC3D,8DAAyD;AACzD,gEAA2D;AAE3D,2DAAsD;AACtD,2DAAsD;AACtD,6DAAwD;AACxD,6DAAwD;AACxD,2DAAsD;AACtD,6DAAwD;AAExD,2DAAsD;AACtD,2DAAsD;AACtD,6DAAwD;AACxD,2DAAsD;AACtD,6DAAwD;AACxD,+DAA0D;AAE1D,+CAA0C;AAC1C,+CAA0C;AAC1C,iDAA4C;AAC5C,+CAA0C;AAC1C,iDAA4C;AAC5C,mDAA8C;AAE9C,SAAgB,cAAc,CAAC,MAAoB;IACjD,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAA;IAEvB,YAAY;IACZ,MAAM,MAAM,GAAG,IAAI,uCAAiB,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,IAAI,8BAAa,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,8BAAa,EAAE,CAAA;IACnC,MAAM,MAAM,GAAG,IAAI,4BAAY,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,8BAAa,EAAE,CAAA;IAEnC,eAAe;IACf,MAAM,QAAQ,GAAG,IAAI,iCAAc,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,IAAI,4BAAe,CAAC,MAAM,CAAC,CAAA;IAE7C,WAAW;IACX,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,SAAS,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAChF,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACxD,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,OAAO,CAAC,CAAA;IAE9C,WAAW;IACX,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,WAAW,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,WAAW,CAAC,CAAA;IAChD,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,YAAY,CAAC,CAAA;IACnD,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,WAAW,CAAC,CAAA;IAChD,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,YAAY,CAAC,CAAA;IACnD,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAExD,kBAAkB;IAClB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAA,wBAAU,EAAC,WAAW,CAAC,CAAC,CAAA;IACnD,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAA,wBAAU,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;IAClE,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAA,0BAAW,EAAC,YAAY,CAAC,CAAC,CAAA;IACtD,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAA,wBAAU,EAAC,WAAW,CAAC,CAAC,CAAA;IACpD,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAA,0BAAW,EAAC,YAAY,CAAC,CAAC,CAAA;IACvD,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAA,4BAAY,EAAC,aAAa,CAAC,CAAC,CAAA;IAEzD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"samba.routes.d.ts","sourceRoot":"","sources":["../../src/routes/samba.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGxD,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAgBzD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sambaRoutes = sambaRoutes;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const auth_1 = require("../middleware/auth");
|
|
6
|
+
function sambaRoutes(handler) {
|
|
7
|
+
const router = (0, express_1.Router)();
|
|
8
|
+
router.use(auth_1.authMiddleware);
|
|
9
|
+
router.get('/status', handler.status);
|
|
10
|
+
router.post('/install', handler.install);
|
|
11
|
+
router.get('/install-stream', handler.installStream);
|
|
12
|
+
router.get('/uninstall-stream', handler.uninstallStream);
|
|
13
|
+
router.post('/start', handler.start);
|
|
14
|
+
router.post('/stop', handler.stop);
|
|
15
|
+
router.post('/restart', handler.restart);
|
|
16
|
+
router.get('/config', handler.getConfig);
|
|
17
|
+
router.put('/config', handler.updateConfig);
|
|
18
|
+
return router;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=samba.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"samba.routes.js","sourceRoot":"","sources":["../../src/routes/samba.routes.ts"],"names":[],"mappings":";;AAIA,kCAgBC;AApBD,qCAAgC;AAEhC,6CAAmD;AAEnD,SAAgB,WAAW,CAAC,OAAqB;IAC/C,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAA;IAEvB,MAAM,CAAC,GAAG,CAAC,qBAAc,CAAC,CAAA;IAE1B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IACpD,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACxD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IACxC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAE3C,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share.routes.d.ts","sourceRoot":"","sources":["../../src/routes/share.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGxD,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAWzD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.shareRoutes = shareRoutes;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const auth_1 = require("../middleware/auth");
|
|
6
|
+
function shareRoutes(handler) {
|
|
7
|
+
const router = (0, express_1.Router)();
|
|
8
|
+
router.use(auth_1.authMiddleware);
|
|
9
|
+
router.get('/', handler.list);
|
|
10
|
+
router.post('/', handler.create);
|
|
11
|
+
router.delete('/:path', handler.remove);
|
|
12
|
+
router.put('/:path/permissions', handler.setPermissions);
|
|
13
|
+
return router;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=share.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share.routes.js","sourceRoot":"","sources":["../../src/routes/share.routes.ts"],"names":[],"mappings":";;AAIA,kCAWC;AAfD,qCAAgC;AAEhC,6CAAmD;AAEnD,SAAgB,WAAW,CAAC,OAAqB;IAC/C,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAA;IAEvB,MAAM,CAAC,GAAG,CAAC,qBAAc,CAAC,CAAA;IAE1B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAExD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.routes.d.ts","sourceRoot":"","sources":["../../src/routes/system.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAgB3D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.systemRoutes = systemRoutes;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const auth_1 = require("../middleware/auth");
|
|
6
|
+
function systemRoutes(handler) {
|
|
7
|
+
const router = (0, express_1.Router)();
|
|
8
|
+
// Public endpoints (no auth)
|
|
9
|
+
router.get('/init-status', handler.initStatus);
|
|
10
|
+
router.post('/init', handler.init);
|
|
11
|
+
// Protected endpoints
|
|
12
|
+
router.use(auth_1.authMiddleware);
|
|
13
|
+
router.get('/storage', handler.storage);
|
|
14
|
+
router.get('/health', handler.health);
|
|
15
|
+
router.get('/info', handler.info);
|
|
16
|
+
router.get('/logs', handler.logs);
|
|
17
|
+
router.get('/logs/stream', handler.logsStream);
|
|
18
|
+
return router;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=system.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.routes.js","sourceRoot":"","sources":["../../src/routes/system.routes.ts"],"names":[],"mappings":";;AAIA,oCAgBC;AApBD,qCAAgC;AAEhC,6CAAmD;AAEnD,SAAgB,YAAY,CAAC,OAAsB;IACjD,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAA;IAEvB,6BAA6B;IAC7B,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAElC,sBAAsB;IACtB,MAAM,CAAC,GAAG,CAAC,qBAAc,CAAC,CAAA;IAC1B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAE9C,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Router } from 'express';
|
|
2
|
+
import { UserHandler } from '../handlers/user.handler';
|
|
3
|
+
import { QuotaService } from '../services/quota.service';
|
|
4
|
+
export declare function userRoutes(handler: UserHandler, quotaService: QuotaService): Router;
|
|
5
|
+
//# sourceMappingURL=user.routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.routes.d.ts","sourceRoot":"","sources":["../../src/routes/user.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAatD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGxD,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,MAAM,CAuCnF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.userRoutes = userRoutes;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const auth_1 = require("../middleware/auth");
|
|
6
|
+
const validate_1 = require("../middleware/validate");
|
|
7
|
+
const user_dto_1 = require("../dto/user.dto");
|
|
8
|
+
const response_1 = require("../lib/response");
|
|
9
|
+
function userRoutes(handler, quotaService) {
|
|
10
|
+
const router = (0, express_1.Router)();
|
|
11
|
+
// Public endpoint - user self-service password change
|
|
12
|
+
router.post('/change-password', (0, validate_1.validate)(user_dto_1.changePasswordSchema), handler.changePassword);
|
|
13
|
+
router.use(auth_1.authMiddleware);
|
|
14
|
+
router.get('/', (0, validate_1.validate)(user_dto_1.listUsersSchema), handler.list);
|
|
15
|
+
router.post('/', (0, validate_1.validate)(user_dto_1.createUserSchema), handler.create);
|
|
16
|
+
router.post('/batch', (0, validate_1.validate)(user_dto_1.batchUsersSchema), handler.batch);
|
|
17
|
+
router.get('/:id', (0, validate_1.validate)(user_dto_1.getUserSchema), handler.getById);
|
|
18
|
+
router.put('/:id', (0, validate_1.validate)(user_dto_1.updateUserSchema), handler.update);
|
|
19
|
+
router.delete('/:id', (0, validate_1.validate)(user_dto_1.deleteUserSchema), handler.delete);
|
|
20
|
+
router.post('/:id/disable', (0, validate_1.validate)(user_dto_1.getUserSchema), handler.disable);
|
|
21
|
+
router.post('/:id/enable', (0, validate_1.validate)(user_dto_1.getUserSchema), handler.enable);
|
|
22
|
+
// Quota sub-resource
|
|
23
|
+
router.get('/:id/quota', (0, validate_1.validate)(user_dto_1.getUserSchema), async (req, res, next) => {
|
|
24
|
+
try {
|
|
25
|
+
const result = await quotaService.get(Number(req.params.id));
|
|
26
|
+
(0, response_1.ok)(res, result);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
next(err);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
router.put('/:id/quota', (0, validate_1.validate)(user_dto_1.updateQuotaSchema), async (req, res, next) => {
|
|
33
|
+
try {
|
|
34
|
+
const { quotaSoft, quotaHard } = req.body;
|
|
35
|
+
const result = await quotaService.update(Number(req.params.id), quotaSoft, quotaHard);
|
|
36
|
+
(0, response_1.ok)(res, result, '配额更新成功');
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
next(err);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return router;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=user.routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.routes.js","sourceRoot":"","sources":["../../src/routes/user.routes.ts"],"names":[],"mappings":";;AAiBA,gCAuCC;AAxDD,qCAAgC;AAEhC,6CAAmD;AACnD,qDAAiD;AACjD,8CASwB;AAExB,8CAAoC;AAEpC,SAAgB,UAAU,CAAC,OAAoB,EAAE,YAA0B;IACzE,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAA;IAEvB,sDAAsD;IACtD,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAA,mBAAQ,EAAC,+BAAoB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAEvF,MAAM,CAAC,GAAG,CAAC,qBAAc,CAAC,CAAA;IAE1B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAA,mBAAQ,EAAC,0BAAe,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAA,mBAAQ,EAAC,2BAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5D,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAA,mBAAQ,EAAC,2BAAgB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAEhE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,mBAAQ,EAAC,wBAAa,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5D,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,mBAAQ,EAAC,2BAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9D,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAA,mBAAQ,EAAC,2BAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACjE,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAA,mBAAQ,EAAC,wBAAa,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACrE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAA,mBAAQ,EAAC,wBAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAEnE,qBAAqB;IACrB,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAA,mBAAQ,EAAC,wBAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5D,IAAA,aAAE,EAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAA,mBAAQ,EAAC,4BAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7E,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;YACzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;YACrF,IAAA,aAAE,EAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { IAdminRepository } from '../repositories/admin.repo';
|
|
2
|
+
import type { IAuthService } from '../types/service.interfaces';
|
|
3
|
+
export declare class AuthService implements IAuthService {
|
|
4
|
+
private adminRepo;
|
|
5
|
+
constructor(adminRepo: IAdminRepository);
|
|
6
|
+
login(username: string, password: string): Promise<{
|
|
7
|
+
token: string;
|
|
8
|
+
user: {
|
|
9
|
+
id: number;
|
|
10
|
+
username: string;
|
|
11
|
+
role: string;
|
|
12
|
+
};
|
|
13
|
+
}>;
|
|
14
|
+
refreshToken(token: string): Promise<{
|
|
15
|
+
token: string;
|
|
16
|
+
}>;
|
|
17
|
+
getMe(userId: number): Promise<{
|
|
18
|
+
id: number;
|
|
19
|
+
username: string;
|
|
20
|
+
role: string;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=auth.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAE/D,qBAAa,WAAY,YAAW,YAAY;IAClC,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,gBAAgB;IAEzC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;IA4BxC,YAAY,CAAC,KAAK,EAAE,MAAM;;;IAkB1B,KAAK,CAAC,MAAM,EAAE,MAAM;;;;;CAK3B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AuthService = void 0;
|
|
7
|
+
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
8
|
+
const bcryptjs_1 = __importDefault(require("bcryptjs"));
|
|
9
|
+
const errors_1 = require("../lib/errors");
|
|
10
|
+
const auth_1 = require("../middleware/auth");
|
|
11
|
+
const logger_1 = require("../middleware/logger");
|
|
12
|
+
class AuthService {
|
|
13
|
+
adminRepo;
|
|
14
|
+
constructor(adminRepo) {
|
|
15
|
+
this.adminRepo = adminRepo;
|
|
16
|
+
}
|
|
17
|
+
async login(username, password) {
|
|
18
|
+
const admin = await this.adminRepo.findByUsername(username);
|
|
19
|
+
if (!admin) {
|
|
20
|
+
logger_1.logger.warn({ username }, '登录失败: 用户不存在');
|
|
21
|
+
throw errors_1.AppError.unauthorized('用户名或密码错误');
|
|
22
|
+
}
|
|
23
|
+
const valid = await bcryptjs_1.default.compare(password, admin.password);
|
|
24
|
+
if (!valid) {
|
|
25
|
+
logger_1.logger.warn({ username }, '登录失败: 密码错误');
|
|
26
|
+
throw errors_1.AppError.unauthorized('用户名或密码错误');
|
|
27
|
+
}
|
|
28
|
+
const payload = {
|
|
29
|
+
id: admin.id,
|
|
30
|
+
username: admin.username,
|
|
31
|
+
role: admin.role,
|
|
32
|
+
};
|
|
33
|
+
const secret = (0, auth_1.getJwtSecret)();
|
|
34
|
+
if (!secret)
|
|
35
|
+
throw errors_1.AppError.internal('系统未初始化');
|
|
36
|
+
const token = jsonwebtoken_1.default.sign(payload, secret, { expiresIn: '24h' });
|
|
37
|
+
logger_1.logger.info({ username: admin.username, role: admin.role }, '管理员登录成功');
|
|
38
|
+
return { token, user: { id: admin.id, username: admin.username, role: admin.role } };
|
|
39
|
+
}
|
|
40
|
+
async refreshToken(token) {
|
|
41
|
+
logger_1.logger.debug('刷新 Token');
|
|
42
|
+
const secret = (0, auth_1.getJwtSecret)();
|
|
43
|
+
if (!secret)
|
|
44
|
+
throw errors_1.AppError.internal('系统未初始化');
|
|
45
|
+
try {
|
|
46
|
+
const payload = jsonwebtoken_1.default.verify(token, secret);
|
|
47
|
+
const newToken = jsonwebtoken_1.default.sign({ id: payload.id, username: payload.username, role: payload.role }, secret, { expiresIn: '24h' });
|
|
48
|
+
return { token: newToken };
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
throw errors_1.AppError.unauthorized('Token 无效或已过期');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async getMe(userId) {
|
|
55
|
+
const admin = await this.adminRepo.findById(userId);
|
|
56
|
+
if (!admin)
|
|
57
|
+
throw errors_1.AppError.notFound('用户不存在');
|
|
58
|
+
return { id: admin.id, username: admin.username, role: admin.role };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.AuthService = AuthService;
|
|
62
|
+
//# sourceMappingURL=auth.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IDiskOperator } from '../operators/disk.operator';
|
|
2
|
+
import type { IDiskService } from '../types/service.interfaces';
|
|
3
|
+
export declare class DiskService implements IDiskService {
|
|
4
|
+
private diskOp;
|
|
5
|
+
constructor(diskOp: IDiskOperator);
|
|
6
|
+
list(): Promise<import("../types").DiskInfo[]>;
|
|
7
|
+
format(device: string, fsType: string): Promise<void>;
|
|
8
|
+
mount(device: string, target: string, options?: string): Promise<void>;
|
|
9
|
+
umount(target: string): Promise<void>;
|
|
10
|
+
usage(mountPoint: string): Promise<import("../types").DiskUsage>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=disk.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disk.service.d.ts","sourceRoot":"","sources":["../../src/services/disk.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAG1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAE/D,qBAAa,WAAY,YAAW,YAAY;IAClC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,IAAI;IAIJ,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQrC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAKtD,MAAM,CAAC,MAAM,EAAE,MAAM;IAKrB,KAAK,CAAC,UAAU,EAAE,MAAM;CAG/B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DiskService = void 0;
|
|
4
|
+
const errors_1 = require("../lib/errors");
|
|
5
|
+
const logger_1 = require("../middleware/logger");
|
|
6
|
+
class DiskService {
|
|
7
|
+
diskOp;
|
|
8
|
+
constructor(diskOp) {
|
|
9
|
+
this.diskOp = diskOp;
|
|
10
|
+
}
|
|
11
|
+
async list() {
|
|
12
|
+
return this.diskOp.list();
|
|
13
|
+
}
|
|
14
|
+
async format(device, fsType) {
|
|
15
|
+
if (!device.startsWith('/dev/')) {
|
|
16
|
+
throw errors_1.AppError.badRequest('设备路径必须以 /dev/ 开头');
|
|
17
|
+
}
|
|
18
|
+
logger_1.logger.info({ device, fsType }, '格式化磁盘');
|
|
19
|
+
return this.diskOp.format(device, fsType);
|
|
20
|
+
}
|
|
21
|
+
async mount(device, target, options) {
|
|
22
|
+
logger_1.logger.info({ device, target, options }, '挂载磁盘');
|
|
23
|
+
return this.diskOp.mount(device, target, options);
|
|
24
|
+
}
|
|
25
|
+
async umount(target) {
|
|
26
|
+
logger_1.logger.info({ target }, '卸载磁盘');
|
|
27
|
+
return this.diskOp.umount(target);
|
|
28
|
+
}
|
|
29
|
+
async usage(mountPoint) {
|
|
30
|
+
return this.diskOp.usage(mountPoint);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.DiskService = DiskService;
|
|
34
|
+
//# sourceMappingURL=disk.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disk.service.js","sourceRoot":"","sources":["../../src/services/disk.service.ts"],"names":[],"mappings":";;;AACA,0CAAwC;AACxC,iDAA6C;AAG7C,MAAa,WAAW;IACF;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,MAAc;QACzC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,iBAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;QAC/C,CAAC;QACD,eAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,MAAc,EAAE,OAAgB;QAC1D,eAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,eAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAkB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACtC,CAAC;CACF;AA5BD,kCA4BC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PrismaClient } from '@prisma/client';
|
|
2
|
+
export declare class InitService {
|
|
3
|
+
private prisma;
|
|
4
|
+
constructor(prisma: PrismaClient);
|
|
5
|
+
getInitStatus(): Promise<boolean>;
|
|
6
|
+
init(adminUsername: string, adminPassword: string, siteTitle?: string): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=init.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.service.d.ts","sourceRoot":"","sources":["../../src/services/init.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAI7C,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IASjC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB5F"}
|