@abyss-project/spotlight 1.0.10 → 1.0.12

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.
@@ -15,5 +15,6 @@ export * from './project-social-network.admin.api';
15
15
  export * from './project-social-network.api';
16
16
  export * from './project-post.admin.api';
17
17
  export * from './project-post.api';
18
+ export * from './project-event.api';
18
19
  export * from './project-follower.admin.api';
19
20
  export * from './project-follower.api';
package/dist/api/index.js CHANGED
@@ -31,5 +31,6 @@ __exportStar(require("./project-social-network.admin.api"), exports);
31
31
  __exportStar(require("./project-social-network.api"), exports);
32
32
  __exportStar(require("./project-post.admin.api"), exports);
33
33
  __exportStar(require("./project-post.api"), exports);
34
+ __exportStar(require("./project-event.api"), exports);
34
35
  __exportStar(require("./project-follower.admin.api"), exports);
35
36
  __exportStar(require("./project-follower.api"), exports);
@@ -0,0 +1,6 @@
1
+ import { IGetProjectEventParams, IGetProjectEventResponse, IDeleteProjectEventResponse, IDeleteProjectEventParams, IUpdateProjectEventParams, IUpdateProjectEventBody, IUpdateProjectEventResponse, ICreateProjectEventParams, ICreateProjectEventBody, ICreateProjectEventResponse, IPaginateProjectEventParams, IPaginateProjectEventQuery, IPaginateProjectEventResponse } from '..';
2
+ export declare const getProjectEvent: (params: IGetProjectEventParams) => Promise<IGetProjectEventResponse>;
3
+ export declare const paginateProjectEvent: (params: IPaginateProjectEventParams, query: IPaginateProjectEventQuery) => Promise<IPaginateProjectEventResponse>;
4
+ export declare const deleteProjectEvent: (params: IDeleteProjectEventParams) => Promise<IDeleteProjectEventResponse>;
5
+ export declare const updateProjectEvent: (params: IUpdateProjectEventParams, body: IUpdateProjectEventBody) => Promise<IUpdateProjectEventResponse>;
6
+ export declare const createProjectEvent: (params: ICreateProjectEventParams, body: ICreateProjectEventBody) => Promise<ICreateProjectEventResponse>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProjectEvent = exports.updateProjectEvent = exports.deleteProjectEvent = exports.paginateProjectEvent = exports.getProjectEvent = void 0;
4
+ const __1 = require("..");
5
+ const getProjectEvent = async (params) => {
6
+ return (await __1.AbyssSpotlightCore.axios.get(`project-event/${params.projectId}/event/${params.projectEventId}`)).data;
7
+ };
8
+ exports.getProjectEvent = getProjectEvent;
9
+ const paginateProjectEvent = async (params, query) => {
10
+ return (await __1.AbyssSpotlightCore.axios.get(`project-event/${params.projectId}/event/paginate`, { params: query })).data;
11
+ };
12
+ exports.paginateProjectEvent = paginateProjectEvent;
13
+ const deleteProjectEvent = async (params) => {
14
+ return (await __1.AbyssSpotlightCore.axios.delete(`project-event/${params.projectId}/event/${params.projectEventId}`)).data;
15
+ };
16
+ exports.deleteProjectEvent = deleteProjectEvent;
17
+ const updateProjectEvent = async (params, body) => {
18
+ return (await __1.AbyssSpotlightCore.axios.put(`project-event/${params.projectId}/event/${params.projectEventId}`, body)).data;
19
+ };
20
+ exports.updateProjectEvent = updateProjectEvent;
21
+ const createProjectEvent = async (params, body) => {
22
+ return (await __1.AbyssSpotlightCore.axios.post(`project-event/${params.projectId}/event`, body)).data;
23
+ };
24
+ exports.createProjectEvent = createProjectEvent;
@@ -1,4 +1,4 @@
1
- import { IPaginatePublishedProjectPublicResponse, IPaginatePublishedProjectPublicQuery, IGetPublishedProjectPublicResponse, IGetPublishedProjectPublicParams, IGetPublishedBySlugProjectPublicResponse, IGetPublishedBySlugProjectPublicParams, IGetPopularProjectPublicResponse, IPaginatePostProjectPublicParams, IPaginatePostProjectPublicQuery, IPaginatePostProjectPublicResponse, IGeneratePresentationProjectPublicBody, IGeneratePresentationProjectPublicResponse, IGeneratePostProjectPublicResponse, IGeneratePostProjectPublicBody } from '..';
1
+ import { IPaginatePublishedProjectPublicResponse, IPaginatePublishedProjectPublicQuery, IGetPublishedProjectPublicResponse, IGetPublishedProjectPublicParams, IGetPublishedBySlugProjectPublicResponse, IGetPublishedBySlugProjectPublicParams, IGetPopularProjectPublicResponse, IPaginatePostProjectPublicParams, IPaginatePostProjectPublicQuery, IPaginatePostProjectPublicResponse, IGeneratePresentationProjectPublicBody, IGeneratePresentationProjectPublicResponse, IGeneratePostProjectPublicResponse, IGeneratePostProjectPublicBody, IRecordViewProjectPublicParams, IRecordViewProjectPublicResponse } from '..';
2
2
  export declare const getPublishedProjectPublic: (params: IGetPublishedProjectPublicParams) => Promise<IGetPublishedProjectPublicResponse>;
3
3
  export declare const paginatePostProjectPublic: (params: IPaginatePostProjectPublicParams, query: IPaginatePostProjectPublicQuery) => Promise<IPaginatePostProjectPublicResponse>;
4
4
  export declare const getPublishedBySlugProjectPublic: (params: IGetPublishedBySlugProjectPublicParams) => Promise<IGetPublishedBySlugProjectPublicResponse>;
@@ -6,3 +6,4 @@ export declare const paginatePublishedProjectPublic: (query: IPaginatePublishedP
6
6
  export declare const getPopularProjectPublic: () => Promise<IGetPopularProjectPublicResponse>;
7
7
  export declare const generatePresentationProjectPublic: (body: IGeneratePresentationProjectPublicBody) => Promise<IGeneratePresentationProjectPublicResponse>;
8
8
  export declare const generatePostProjectPublic: (body: IGeneratePostProjectPublicBody) => Promise<IGeneratePostProjectPublicResponse>;
9
+ export declare const recordProjectView: (params: IRecordViewProjectPublicParams) => Promise<IRecordViewProjectPublicResponse>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generatePostProjectPublic = exports.generatePresentationProjectPublic = exports.getPopularProjectPublic = exports.paginatePublishedProjectPublic = exports.getPublishedBySlugProjectPublic = exports.paginatePostProjectPublic = exports.getPublishedProjectPublic = void 0;
3
+ exports.recordProjectView = exports.generatePostProjectPublic = exports.generatePresentationProjectPublic = exports.getPopularProjectPublic = exports.paginatePublishedProjectPublic = exports.getPublishedBySlugProjectPublic = exports.paginatePostProjectPublic = exports.getPublishedProjectPublic = void 0;
4
4
  const __1 = require("..");
5
5
  const getPublishedProjectPublic = async (params) => {
6
6
  return (await __1.AbyssSpotlightCore.axios.get(`project/public/published/${params.projectId}`)).data;
@@ -30,3 +30,7 @@ const generatePostProjectPublic = async (body) => {
30
30
  return (await __1.AbyssSpotlightCore.axios.post(`project/public/generate-post`, body)).data;
31
31
  };
32
32
  exports.generatePostProjectPublic = generatePostProjectPublic;
33
+ const recordProjectView = async (params) => {
34
+ return (await __1.AbyssSpotlightCore.axios.post(`project/public/published/${params.projectId}/record-view`)).data;
35
+ };
36
+ exports.recordProjectView = recordProjectView;
@@ -19,6 +19,7 @@ export * from './requests/project-social-network.admin.request';
19
19
  export * from './requests/project-social-network.request';
20
20
  export * from './requests/project-post.admin.request';
21
21
  export * from './requests/project-post.request';
22
+ export * from './requests/project-event.request';
22
23
  export * from './requests/project-follower.admin.request';
23
24
  export * from './requests/project-follower.request';
24
25
  export * from './responses/abyss.admin.response';
@@ -39,5 +40,6 @@ export * from './responses/project-social-network.admin.response';
39
40
  export * from './responses/project-social-network.response';
40
41
  export * from './responses/project-post.admin.response';
41
42
  export * from './responses/project-post.response';
43
+ export * from './responses/project-event.response';
42
44
  export * from './responses/project-follower.admin.response';
43
45
  export * from './responses/project-follower.response';
@@ -35,6 +35,7 @@ __exportStar(require("./requests/project-social-network.admin.request"), exports
35
35
  __exportStar(require("./requests/project-social-network.request"), exports);
36
36
  __exportStar(require("./requests/project-post.admin.request"), exports);
37
37
  __exportStar(require("./requests/project-post.request"), exports);
38
+ __exportStar(require("./requests/project-event.request"), exports);
38
39
  __exportStar(require("./requests/project-follower.admin.request"), exports);
39
40
  __exportStar(require("./requests/project-follower.request"), exports);
40
41
  __exportStar(require("./responses/abyss.admin.response"), exports);
@@ -55,5 +56,6 @@ __exportStar(require("./responses/project-social-network.admin.response"), expor
55
56
  __exportStar(require("./responses/project-social-network.response"), exports);
56
57
  __exportStar(require("./responses/project-post.admin.response"), exports);
57
58
  __exportStar(require("./responses/project-post.response"), exports);
59
+ __exportStar(require("./responses/project-event.response"), exports);
58
60
  __exportStar(require("./responses/project-follower.admin.response"), exports);
59
61
  __exportStar(require("./responses/project-follower.response"), exports);
@@ -0,0 +1,30 @@
1
+ import { QueryPaginate } from '../type-message/base-paginate';
2
+ export interface IGetProjectEventParams {
3
+ projectId: string;
4
+ projectEventId: string;
5
+ }
6
+ export interface IPaginateProjectEventParams {
7
+ projectId: string;
8
+ }
9
+ export type IPaginateProjectEventQuery = QueryPaginate;
10
+ export interface IDeleteProjectEventParams {
11
+ projectId: string;
12
+ projectEventId: string;
13
+ }
14
+ export interface IUpdateProjectEventParams {
15
+ projectId: string;
16
+ projectEventId: string;
17
+ }
18
+ export interface IUpdateProjectEventBody {
19
+ title?: string;
20
+ date?: Date | string;
21
+ description?: string;
22
+ }
23
+ export interface ICreateProjectEventParams {
24
+ projectId: string;
25
+ }
26
+ export interface ICreateProjectEventBody {
27
+ title: string;
28
+ date: Date | string;
29
+ description?: string;
30
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -32,3 +32,6 @@ export interface IGeneratePostProjectPublicBody {
32
32
  url: string;
33
33
  }[];
34
34
  }
35
+ export interface IRecordViewProjectPublicParams {
36
+ projectId: string;
37
+ }
@@ -12,6 +12,9 @@ export interface IUpdateProjectBody {
12
12
  mainLanguage?: ProjectLanguage;
13
13
  otherLanguage?: ProjectLanguage[];
14
14
  isPublished?: boolean;
15
+ contactUrl?: string | null;
16
+ joinUrl?: string | null;
17
+ accessUrl?: string | null;
15
18
  }
16
19
  export interface ILinkToAbyssProjectParams {
17
20
  projectId: string;
@@ -35,6 +38,9 @@ export interface ICreateProjectBody {
35
38
  status: ProjectStatus;
36
39
  mainLanguage: ProjectLanguage;
37
40
  otherLanguage: ProjectLanguage[];
41
+ contactUrl?: string | null;
42
+ joinUrl?: string | null;
43
+ accessUrl?: string | null;
38
44
  }
39
45
  export interface IGetProjectParams {
40
46
  projectId: string;
@@ -0,0 +1,17 @@
1
+ import { IResponse, IProjectEvent, BasePaginate } from '../..';
2
+ export interface IGetProjectEventData {
3
+ projectEvent: IProjectEvent;
4
+ }
5
+ export type IGetProjectEventResponse = IResponse<IGetProjectEventData>;
6
+ export type IPaginateProjectEventResponse = IResponse<BasePaginate<IProjectEvent>>;
7
+ export interface IUpdateProjectEventData {
8
+ projectEvent: IProjectEvent;
9
+ }
10
+ export type IUpdateProjectEventResponse = IResponse<IUpdateProjectEventData>;
11
+ export interface ICreateProjectEventData {
12
+ projectEvent: IProjectEvent;
13
+ }
14
+ export type ICreateProjectEventResponse = IResponse<ICreateProjectEventData>;
15
+ export interface IDeleteProjectEventData {
16
+ }
17
+ export type IDeleteProjectEventResponse = IResponse<IDeleteProjectEventData>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
- import { BasePaginate, IProject, IProjectPost, IResponse, ProjectMetrics } from '../..';
1
+ import { BasePaginate, IProject, IProjectPost, IResponse, ProjectMetrics, ProjectWithMetrics } from '../..';
2
2
  import { ProjectCategory, ProjectLanguage, ProjectStatus } from '../../../enum';
3
3
  export interface IGetPublishedProjectPublicData {
4
4
  project: IProject;
@@ -11,7 +11,7 @@ export interface IGetPublishedBySlugProjectPublicData {
11
11
  metrics: ProjectMetrics;
12
12
  }
13
13
  export type IGetPublishedBySlugProjectPublicResponse = IResponse<IGetPublishedBySlugProjectPublicData>;
14
- export type IPaginatePublishedProjectPublicResponse = IResponse<BasePaginate<IProject>>;
14
+ export type IPaginatePublishedProjectPublicResponse = IResponse<BasePaginate<ProjectWithMetrics>>;
15
15
  export interface IGetPopularProjectPublicData {
16
16
  tags: {
17
17
  tag: string;
@@ -43,3 +43,6 @@ export interface IGeneratePostProjectPublicData {
43
43
  content: string;
44
44
  }
45
45
  export type IGeneratePostProjectPublicResponse = IResponse<IGeneratePostProjectPublicData>;
46
+ export interface IRecordViewProjectPublicData {
47
+ }
48
+ export type IRecordViewProjectPublicResponse = IResponse<IRecordViewProjectPublicData>;
@@ -1,4 +1,4 @@
1
- import { BasePaginate, IProject, IResponse } from '../..';
1
+ import { BasePaginate, IProject, IResponse, ProjectWithMetrics } from '../..';
2
2
  export type ProjectMetrics = {
3
3
  star: {
4
4
  count: number;
@@ -8,6 +8,20 @@ export type ProjectMetrics = {
8
8
  count: number;
9
9
  lastFollowedAt: Date | null;
10
10
  };
11
+ view: {
12
+ total: number;
13
+ history: {
14
+ date: string;
15
+ count: number;
16
+ }[];
17
+ };
18
+ post: {
19
+ total: number;
20
+ history: {
21
+ date: string;
22
+ count: number;
23
+ }[];
24
+ };
11
25
  };
12
26
  export interface IGetProjectData {
13
27
  project: IProject;
@@ -19,7 +33,7 @@ export interface IGetBySlugProjectData {
19
33
  metrics: ProjectMetrics;
20
34
  }
21
35
  export type IGetBySlugProjectResponse = IResponse<IGetBySlugProjectData>;
22
- export type IPaginateProjectResponse = IResponse<BasePaginate<IProject>>;
36
+ export type IPaginateProjectResponse = IResponse<BasePaginate<ProjectWithMetrics>>;
23
37
  export interface IUpdateProjectData {
24
38
  project: IProject;
25
39
  }
@@ -40,7 +54,7 @@ export interface ILinkToAbyssApplicationProjectData {
40
54
  }
41
55
  export type ILinkToAbyssApplicationProjectResponse = IResponse<ILinkToAbyssProjectData>;
42
56
  export interface IListByAbyssProjectIdProjectData {
43
- projects: IProject[];
57
+ projects: ProjectWithMetrics[];
44
58
  }
45
59
  export type IListByAbyssProjectIdProjectResponse = IResponse<IListByAbyssProjectIdProjectData>;
46
60
  export interface ITransferProjectData {
@@ -1,9 +1,20 @@
1
+ import { IProject } from './models/project.model';
1
2
  export * from './models/user.model';
2
3
  export * from './models/project.model';
3
4
  export * from './models/project-post.model';
5
+ export * from './models/project-event.model';
4
6
  export * from './models/project-presentation.model';
5
7
  export * from './models/project-follower.model';
6
8
  export * from './models/project-document.model';
7
9
  export * from './models/project-star.model';
8
10
  export * from './models/project-social-network.model';
11
+ export * from './models/project-view.model';
9
12
  export * from './api';
13
+ export type ProjectWithMetrics = IProject & {
14
+ starCount: number;
15
+ viewCount: number;
16
+ followerCount: number;
17
+ postCount: number;
18
+ userIsFollowing: boolean;
19
+ userHasStarred: boolean;
20
+ };
@@ -17,9 +17,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./models/user.model"), exports);
18
18
  __exportStar(require("./models/project.model"), exports);
19
19
  __exportStar(require("./models/project-post.model"), exports);
20
+ __exportStar(require("./models/project-event.model"), exports);
20
21
  __exportStar(require("./models/project-presentation.model"), exports);
21
22
  __exportStar(require("./models/project-follower.model"), exports);
22
23
  __exportStar(require("./models/project-document.model"), exports);
23
24
  __exportStar(require("./models/project-star.model"), exports);
24
25
  __exportStar(require("./models/project-social-network.model"), exports);
26
+ __exportStar(require("./models/project-view.model"), exports);
25
27
  __exportStar(require("./api"), exports);
@@ -8,6 +8,7 @@ export interface IProjectDocument {
8
8
  externalId: string;
9
9
  thumbnailId: string;
10
10
  thumbnailPublicAccessId: string;
11
+ publicAccessId: string;
11
12
  checksum: string;
12
13
  mimeType: string;
13
14
  sizeOctet: number;
@@ -0,0 +1,11 @@
1
+ import { IProject } from './project.model';
2
+ export interface IProjectEvent {
3
+ id?: string;
4
+ title: string;
5
+ description?: string;
6
+ date: Date | string;
7
+ projectId: string;
8
+ updatedAt?: Date;
9
+ createdAt?: Date;
10
+ project?: IProject;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import { IProject } from './project.model';
2
+ import { IUser } from './user.model';
3
+ export interface IProjectView {
4
+ id?: string;
5
+ userId?: string | null;
6
+ anonymousId?: string;
7
+ projectId: string;
8
+ viewedAt?: Date;
9
+ updatedAt?: Date;
10
+ createdAt?: Date;
11
+ project?: IProject;
12
+ user?: IUser | null;
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -7,6 +7,7 @@ import { IProjectPost } from './project-post.model';
7
7
  import { IProjectPresentation } from './project-presentation.model';
8
8
  import { IProjectSocialNetwork } from './project-social-network.model';
9
9
  import { IProjectStar } from './project-star.model';
10
+ import { IProjectView } from './project-view.model';
10
11
  import { IUser } from './user.model';
11
12
  export interface IProject {
12
13
  id?: string;
@@ -21,6 +22,9 @@ export interface IProject {
21
22
  category: ProjectCategory;
22
23
  status: ProjectStatus;
23
24
  isPublished: boolean;
25
+ contactUrl: string | null;
26
+ joinUrl: string | null;
27
+ accessUrl: string | null;
24
28
  userId: string | null;
25
29
  updatedAt?: Date;
26
30
  createdAt?: Date;
@@ -30,5 +34,6 @@ export interface IProject {
30
34
  projectFollower?: IProjectFollower[];
31
35
  projectDocument?: IProjectDocument[];
32
36
  projectStar?: IProjectStar[];
37
+ projectView?: IProjectView[];
33
38
  projectSocialNetwork?: IProjectSocialNetwork[];
34
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abyss-project/spotlight",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "Core package to interact with Abyss-Spotlight",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",