@abyss-project/main 1.0.84 → 1.0.85
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/dist/api/project-access.api.d.ts +2 -1
- package/dist/api/project-access.api.js +5 -1
- package/dist/api/report.api.d.ts +2 -1
- package/dist/api/report.api.js +4 -0
- package/dist/types/interface/api/requests/project-access.request.d.ts +5 -0
- package/dist/types/interface/api/requests/report.admin.request.d.ts +3 -0
- package/dist/types/interface/api/requests/report.request.d.ts +3 -0
- package/dist/types/interface/api/requests/user.request.d.ts +1 -0
- package/dist/types/interface/api/responses/project-access.response.d.ts +6 -0
- package/dist/types/interface/api/responses/report.public.response.d.ts +7 -0
- package/dist/types/interface/api/responses/report.response.d.ts +3 -0
- package/dist/types/interface/models/project-access.model.d.ts +5 -0
- package/dist/types/interface/models/project.model.d.ts +2 -1
- package/dist/types/interface/models/report.model.d.ts +8 -0
- package/dist/types/interface/models/user.model.d.ts +1 -0
- package/dist/utils/time-period.utils.d.ts +4 -0
- package/dist/utils/time-period.utils.js +22 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ICreateProjectAccessBody, ICreateProjectAccessParams, ICreateProjectAccessResponse, ICreateUserProjectAccessResponse, ICreateUserProjectAccessBody, ICreateUserProjectAccessParams, IDeleteProjectAccessParams, IDeleteProjectAccessResponse, IGetProjectAccessParams, IGetProjectAccessResponse, IPaginateProjectAccessParams, IPaginateProjectAccessQuery, IPaginateProjectAccessResponse, IUpdateProjectAccessBody, IUpdateProjectAccessParams, IUpdateProjectAccessResponse, IResetApiKeyProjectAccessParams, IResetApiKeyProjectAccessResponse, IConfirmUserProjectAccessParams, IConfirmUserProjectAccessResponse, IUpsertApplicationProjectAccessBody, IUpsertApplicationProjectAccessParams, IUpsertApplicationProjectAccessResponse, IPaginateUserAccessProjectAccessQuery, IListUserAccessProjectAccessResponse, IDeclineUserProjectAccessResponse, IDeclineUserProjectAccessParams, IDeleteApplicationProjectAccessParams, IDeleteApplicationProjectAccessResponse } from '../types';
|
|
1
|
+
import { ICreateProjectAccessBody, ICreateProjectAccessParams, ICreateProjectAccessResponse, ICreateUserProjectAccessResponse, ICreateUserProjectAccessBody, ICreateUserProjectAccessParams, IDeleteProjectAccessParams, IDeleteProjectAccessResponse, IGetProjectAccessParams, IGetProjectAccessResponse, IPaginateProjectAccessParams, IPaginateProjectAccessQuery, IPaginateProjectAccessResponse, IUpdateProjectAccessBody, IUpdateProjectAccessParams, IUpdateProjectAccessResponse, IResetApiKeyProjectAccessParams, IResetApiKeyProjectAccessResponse, IConfirmUserProjectAccessParams, IConfirmUserProjectAccessResponse, IUpsertApplicationProjectAccessBody, IUpsertApplicationProjectAccessParams, IUpsertApplicationProjectAccessResponse, IPaginateUserAccessProjectAccessQuery, IListUserAccessProjectAccessResponse, IDeclineUserProjectAccessResponse, IDeclineUserProjectAccessParams, IDeleteApplicationProjectAccessParams, IDeleteApplicationProjectAccessResponse, IUpdateSettingsProjectAccessParams, IUpdateSettingsProjectAccessBody, IUpdateSettingsProjectAccessResponse } from '../types';
|
|
2
2
|
export declare const getProjectAccess: (params: IGetProjectAccessParams) => Promise<IGetProjectAccessResponse>;
|
|
3
3
|
export declare const paginateUserAccessProjectAccess: (query: IPaginateUserAccessProjectAccessQuery) => Promise<IPaginateProjectAccessResponse>;
|
|
4
4
|
export declare const listUserAccessProjectAccess: () => Promise<IListUserAccessProjectAccessResponse>;
|
|
@@ -12,3 +12,4 @@ export declare const createUserProjectAccess: (params: ICreateUserProjectAccessP
|
|
|
12
12
|
export declare const resetApiKeyProjectAccess: (params: IResetApiKeyProjectAccessParams) => Promise<IResetApiKeyProjectAccessResponse>;
|
|
13
13
|
export declare const confirmUserProjectAccess: (params: IConfirmUserProjectAccessParams) => Promise<IConfirmUserProjectAccessResponse>;
|
|
14
14
|
export declare const declineUserProjectAccess: (params: IDeclineUserProjectAccessParams) => Promise<IDeclineUserProjectAccessResponse>;
|
|
15
|
+
export declare const updateSettingsProjectAccess: (params: IUpdateSettingsProjectAccessParams, body: IUpdateSettingsProjectAccessBody) => Promise<IUpdateSettingsProjectAccessResponse>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.declineUserProjectAccess = exports.confirmUserProjectAccess = exports.resetApiKeyProjectAccess = exports.createUserProjectAccess = exports.createProjectAccess = exports.deleteApplicationProjectAccess = exports.upsertApplicationProjectAccess = exports.updateProjectAccess = exports.deleteProjectAccess = exports.paginateProjectAccess = exports.listUserAccessProjectAccess = exports.paginateUserAccessProjectAccess = exports.getProjectAccess = void 0;
|
|
3
|
+
exports.updateSettingsProjectAccess = exports.declineUserProjectAccess = exports.confirmUserProjectAccess = exports.resetApiKeyProjectAccess = exports.createUserProjectAccess = exports.createProjectAccess = exports.deleteApplicationProjectAccess = exports.upsertApplicationProjectAccess = exports.updateProjectAccess = exports.deleteProjectAccess = exports.paginateProjectAccess = exports.listUserAccessProjectAccess = exports.paginateUserAccessProjectAccess = exports.getProjectAccess = void 0;
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const getProjectAccess = async (params) => {
|
|
6
6
|
return (await __1.AbyssCore.axios.get(`project-access/${params.projectId}/${params.projectAccessId}`)).data;
|
|
@@ -57,3 +57,7 @@ const declineUserProjectAccess = async (params) => {
|
|
|
57
57
|
return (await __1.AbyssCore.axios.post(`project-access/${params.projectId}/user-access/${params.projectAccessId}/decline`)).data;
|
|
58
58
|
};
|
|
59
59
|
exports.declineUserProjectAccess = declineUserProjectAccess;
|
|
60
|
+
const updateSettingsProjectAccess = async (params, body) => {
|
|
61
|
+
return (await __1.AbyssCore.axios.patch(`project-access/${params.projectId}/settings`, body)).data;
|
|
62
|
+
};
|
|
63
|
+
exports.updateSettingsProjectAccess = updateSettingsProjectAccess;
|
package/dist/api/report.api.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { IGetReportParams, IGetReportResponse, IPaginateReportQuery, IPaginateReportResponse, IPaginateProjectReportParams } from '../types';
|
|
1
|
+
import type { IGetReportParams, IGetReportResponse, IPaginateReportQuery, IPaginateReportResponse, IPaginateProjectReportParams, IDeleteReportParams, IDeleteReportResponse } from '../types';
|
|
2
2
|
export declare const reportApi: {
|
|
3
3
|
get: (params: IGetReportParams) => Promise<IGetReportResponse>;
|
|
4
4
|
paginate: (query: IPaginateReportQuery) => Promise<IPaginateReportResponse>;
|
|
5
5
|
paginateProject: (params: IPaginateProjectReportParams, query: IPaginateReportQuery) => Promise<IPaginateReportResponse>;
|
|
6
|
+
delete: (params: IDeleteReportParams) => Promise<IDeleteReportResponse>;
|
|
6
7
|
};
|
package/dist/api/report.api.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { QueryPaginate } from '../type-message/base-paginate';
|
|
2
2
|
import { ProjectAccessPermission, ProjectApplicationAccessPermission } from '../../../enum';
|
|
3
|
+
import { IProjectAccessSettings } from '../../models/project-access.model';
|
|
3
4
|
export interface IGetProjectAccessParams {
|
|
4
5
|
projectId: string;
|
|
5
6
|
projectAccessId: string;
|
|
@@ -75,3 +76,7 @@ export interface IDeclineUserProjectAccessParams {
|
|
|
75
76
|
projectId: string;
|
|
76
77
|
projectAccessId: string;
|
|
77
78
|
}
|
|
79
|
+
export interface IUpdateSettingsProjectAccessParams {
|
|
80
|
+
projectId: string;
|
|
81
|
+
}
|
|
82
|
+
export type IUpdateSettingsProjectAccessBody = Partial<IProjectAccessSettings>;
|
|
@@ -8,6 +8,7 @@ export interface ICreateYearlyReportAdminBody {
|
|
|
8
8
|
projectIds?: string[];
|
|
9
9
|
skipUserIds?: string[];
|
|
10
10
|
skipProjectIds?: string[];
|
|
11
|
+
applicationCronTaskHistoryId?: string;
|
|
11
12
|
}
|
|
12
13
|
export interface ICreateMonthlyReportAdminBody {
|
|
13
14
|
year?: number;
|
|
@@ -18,6 +19,7 @@ export interface ICreateMonthlyReportAdminBody {
|
|
|
18
19
|
projectIds?: string[];
|
|
19
20
|
skipUserIds?: string[];
|
|
20
21
|
skipProjectIds?: string[];
|
|
22
|
+
applicationCronTaskHistoryId?: string;
|
|
21
23
|
}
|
|
22
24
|
export interface ICreateDailyReportAdminBody {
|
|
23
25
|
year?: number;
|
|
@@ -26,6 +28,7 @@ export interface ICreateDailyReportAdminBody {
|
|
|
26
28
|
allProjects?: boolean;
|
|
27
29
|
projectIds?: string[];
|
|
28
30
|
skipProjectIds?: string[];
|
|
31
|
+
applicationCronTaskHistoryId?: string;
|
|
29
32
|
}
|
|
30
33
|
export interface IGetReportAdminParams {
|
|
31
34
|
reportId: string;
|
|
@@ -3,6 +3,9 @@ import { QueryPaginate } from '../type-message/base-paginate';
|
|
|
3
3
|
export interface IGetReportParams {
|
|
4
4
|
reportId: string;
|
|
5
5
|
}
|
|
6
|
+
export interface IDeleteReportParams {
|
|
7
|
+
reportId: string;
|
|
8
|
+
}
|
|
6
9
|
export interface IPaginateProjectReportParams {
|
|
7
10
|
projectId: string;
|
|
8
11
|
}
|
|
@@ -28,6 +28,7 @@ export interface IUpdateSettingsUserBody {
|
|
|
28
28
|
currency?: UserCreditPurchaseCurrency;
|
|
29
29
|
onboardingStatus?: UserOnboardingStatus;
|
|
30
30
|
enableSoundNotification?: boolean;
|
|
31
|
+
annualReportEmailEnabled?: boolean;
|
|
31
32
|
units?: {
|
|
32
33
|
length?: MeasurementSystem;
|
|
33
34
|
weight?: MeasurementSystem;
|
|
@@ -2,6 +2,7 @@ import { BasePaginate } from '..';
|
|
|
2
2
|
import { ProjectAccessPermission } from '../../../enum';
|
|
3
3
|
import { IProjectAccess } from '../../models/project-access.model';
|
|
4
4
|
import { IProjectApplicationAccess } from '../../models/project-application-access.model';
|
|
5
|
+
import { IProject } from '../../models/project.model';
|
|
5
6
|
import { IResponse } from '../type-message/response';
|
|
6
7
|
export interface IGetProjectAccessData {
|
|
7
8
|
projectAccess: IProjectAccess | null;
|
|
@@ -47,3 +48,8 @@ export type IConfirmUserProjectAccessResponse = IResponse<IConfirmUserProjectAcc
|
|
|
47
48
|
export interface IDeclineUserProjectAccessData {
|
|
48
49
|
}
|
|
49
50
|
export type IDeclineUserProjectAccessResponse = IResponse<IDeclineUserProjectAccessData>;
|
|
51
|
+
export interface IUpdateSettingsProjectAccessData {
|
|
52
|
+
projectAccess?: IProjectAccess;
|
|
53
|
+
project?: IProject;
|
|
54
|
+
}
|
|
55
|
+
export type IUpdateSettingsProjectAccessResponse = IResponse<IUpdateSettingsProjectAccessData>;
|
|
@@ -16,6 +16,13 @@ export type IGetReportPublicData = {
|
|
|
16
16
|
hasThumbnail: boolean;
|
|
17
17
|
createdAt: Date;
|
|
18
18
|
} | null;
|
|
19
|
+
applications: {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
enabledService: AbyssService[];
|
|
23
|
+
projectId: string;
|
|
24
|
+
description: string | null;
|
|
25
|
+
}[];
|
|
19
26
|
userCount: number;
|
|
20
27
|
projectCount: number;
|
|
21
28
|
newUserCount: number;
|
|
@@ -6,3 +6,6 @@ export type IGetReportData = {
|
|
|
6
6
|
export type IGetReportResponse = IResponse<IGetReportData>;
|
|
7
7
|
export type IPaginateReportData = BasePaginate<IReport>;
|
|
8
8
|
export type IPaginateReportResponse = IResponse<IPaginateReportData>;
|
|
9
|
+
export interface IDeleteReportData {
|
|
10
|
+
}
|
|
11
|
+
export type IDeleteReportResponse = IResponse<IDeleteReportData>;
|
|
@@ -2,6 +2,10 @@ import { ProjectAccessPermission } from '../../enum';
|
|
|
2
2
|
import { IProjectApplicationAccess } from './project-application-access.model';
|
|
3
3
|
import { IProject } from './project.model';
|
|
4
4
|
import { IUser } from './user.model';
|
|
5
|
+
export interface IProjectAccessSettings {
|
|
6
|
+
dailyReportEmailEnabled?: boolean;
|
|
7
|
+
annualReportEmailEnabled?: boolean;
|
|
8
|
+
}
|
|
5
9
|
export interface IProjectAccess {
|
|
6
10
|
id?: string;
|
|
7
11
|
permission: ProjectAccessPermission[];
|
|
@@ -11,6 +15,7 @@ export interface IProjectAccess {
|
|
|
11
15
|
name: string;
|
|
12
16
|
description: string | null;
|
|
13
17
|
isConfirmed: boolean;
|
|
18
|
+
settings: IProjectAccessSettings;
|
|
14
19
|
updatedAt?: Date;
|
|
15
20
|
createdAt?: Date;
|
|
16
21
|
project?: IProject;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IUser } from './user.model';
|
|
2
2
|
import { IProjectAuthentication } from './project-authentication.model';
|
|
3
|
-
import { IProjectAccess } from './project-access.model';
|
|
3
|
+
import { IProjectAccess, IProjectAccessSettings } from './project-access.model';
|
|
4
4
|
import { IApplication } from './application.model';
|
|
5
5
|
import { ISubscription } from './subscription.model';
|
|
6
6
|
import { IUserTransaction } from './user-transaction.model';
|
|
@@ -18,6 +18,7 @@ export interface IProject {
|
|
|
18
18
|
pictureId: string | null;
|
|
19
19
|
pictureThumbnailId: string | null;
|
|
20
20
|
status: ProjectStatus;
|
|
21
|
+
ownerSettings: IProjectAccessSettings;
|
|
21
22
|
updatedAt?: Date;
|
|
22
23
|
createdAt?: Date;
|
|
23
24
|
user?: IUser;
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { IProject } from './project.model';
|
|
2
2
|
import { IUser } from './user.model';
|
|
3
|
+
import { AbyssService } from '../../enum';
|
|
3
4
|
export declare enum ReportType {
|
|
4
5
|
YEARLY = "YEARLY",
|
|
5
6
|
MONTHLY = "MONTHLY",
|
|
6
7
|
DAILY = "DAILY",
|
|
7
8
|
CUSTOM = "CUSTOM"
|
|
8
9
|
}
|
|
10
|
+
export interface IReportApplicationInfo {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
enabledService: AbyssService[];
|
|
15
|
+
}
|
|
9
16
|
export interface IReportData extends Record<string, unknown> {
|
|
10
17
|
userCount?: number;
|
|
11
18
|
projectCount?: number;
|
|
12
19
|
newUserCount?: number;
|
|
13
20
|
newProjectCount?: number;
|
|
21
|
+
applications?: IReportApplicationInfo[];
|
|
14
22
|
}
|
|
15
23
|
export interface IReport {
|
|
16
24
|
id: string;
|
|
@@ -10,3 +10,7 @@ export declare const getTimeGroupExpression: (period: TimePeriod, columnName: st
|
|
|
10
10
|
export declare const truncateDate: (date: Date, period: TimePeriod) => Date;
|
|
11
11
|
export declare const addPeriod: (date: Date, period: TimePeriod) => Date;
|
|
12
12
|
export declare const generateTimeSeries: (startDate: Date, endDate: Date, period?: TimePeriod, breakpoints?: TimePeriodBreakpoints) => Date[];
|
|
13
|
+
export declare const fillTimePeriodGaps: <T extends {
|
|
14
|
+
period: string;
|
|
15
|
+
value: number;
|
|
16
|
+
}>(data: T[], startDate: Date, endDate: Date, period: TimePeriod, formatPeriod?: ((date: Date) => string) | undefined) => T[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateTimeSeries = exports.addPeriod = exports.truncateDate = exports.getTimeGroupExpression = exports.determineTimePeriod = exports.DEFAULT_TIME_PERIOD_BREAKPOINTS = void 0;
|
|
3
|
+
exports.fillTimePeriodGaps = exports.generateTimeSeries = exports.addPeriod = exports.truncateDate = exports.getTimeGroupExpression = exports.determineTimePeriod = exports.DEFAULT_TIME_PERIOD_BREAKPOINTS = void 0;
|
|
4
4
|
const date_fns_1 = require("date-fns");
|
|
5
5
|
exports.DEFAULT_TIME_PERIOD_BREAKPOINTS = {
|
|
6
6
|
minuteThresholdHours: 2,
|
|
@@ -73,3 +73,24 @@ const generateTimeSeries = (startDate, endDate, period, breakpoints = exports.DE
|
|
|
73
73
|
return result;
|
|
74
74
|
};
|
|
75
75
|
exports.generateTimeSeries = generateTimeSeries;
|
|
76
|
+
const fillTimePeriodGaps = (data, startDate, endDate, period, formatPeriod) => {
|
|
77
|
+
const timeSeries = (0, exports.generateTimeSeries)(startDate, endDate, period);
|
|
78
|
+
const dataMap = new Map();
|
|
79
|
+
data.forEach((item) => {
|
|
80
|
+
dataMap.set(item.period, item);
|
|
81
|
+
});
|
|
82
|
+
const defaultFormat = (date) => date.toISOString();
|
|
83
|
+
const format = formatPeriod || defaultFormat;
|
|
84
|
+
return timeSeries.map((date) => {
|
|
85
|
+
const periodKey = format(date);
|
|
86
|
+
const existingData = dataMap.get(periodKey);
|
|
87
|
+
if (existingData) {
|
|
88
|
+
return existingData;
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
period: periodKey,
|
|
92
|
+
value: 0,
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
exports.fillTimePeriodGaps = fillTimePeriodGaps;
|