fix publication details

This commit is contained in:
peter.maquiran
2025-09-11 11:20:44 +01:00
parent 69e4334ebf
commit 5f7295d41c
74 changed files with 1639 additions and 678 deletions
@@ -0,0 +1,14 @@
import { Injectable } from '@angular/core';
import { IActionLocalRepository } from 'src/app/core/chat/repository/action/member-local-repository';
import { ActionTable, ActionTableSchema } from 'src/app/infra/database/dexie/instance/action/schema/action';
import { actionDatabase } from 'src/app/infra/database/dexie/instance/action/service';
import { DexieRepository } from 'src/app/infra/repository/dexie/dexie-repository.service';
@Injectable({
providedIn: 'root'
})
export class ActionLocalRepositoryService extends DexieRepository<ActionTable, ActionTable> implements IActionLocalRepository {
constructor() {
super(actionDatabase.action, ActionTableSchema, actionDatabase)
}
}
@@ -0,0 +1,47 @@
import { Injectable } from '@angular/core';
import { ActionsCreateInput } from 'src/app/core/actions/use-case/actions-create-use-case.service';
import { ActionGetAllOutPut } from 'src/app/core/actions/use-case/actions-get-all-use-case.service';
import { PublicationGetDocumentByProcessIdOutPut } from 'src/app/core/actions/use-case/publication-get-documents-by-document-id.service';
import { PublicationListByProcessIdOutPut } from 'src/app/core/actions/use-case/publication-list-by-process-id.service';
import { HttpService } from 'src/app/infra/http/http.service';
import { ApiResponse } from 'src/app/infra/http/type';
import { environment } from 'src/environments/environment';
@Injectable({
providedIn: 'root'
})
export class ActionRemoteRepositoryService {
private baseUrl = `${environment.apiURLStage.slice(0, -1)}/PresidentialActions`; // Your base URL
constructor(
private http: HttpService
) { }
async actionGetAll() {
return await this.http.get<ApiResponse<ActionGetAllOutPut>>(`${this.baseUrl}`);
}
async create(input: ActionsCreateInput) {
return await this.http.post<ApiResponse<any>>(`${this.baseUrl}`, input);
}
async postGetListByProcessId(processId: string) {
return await this.http.get<ApiResponse<PublicationListByProcessIdOutPut>>(`${this.baseUrl}/${processId}/Posts`);
}
async postGetDocumentListByProcessId(documentId: number) {
var result = await this.http.get<ApiResponse<PublicationGetDocumentByProcessIdOutPut>>(`${this.baseUrl}/Posts/${documentId}/file`);
return result.map((e) => {
// Add a new attribute to each item
e.data.data = e.data.data.map((item) => ({
...item,
documentId,
}));
return e;
});
}
}
@@ -0,0 +1,14 @@
import { Injectable } from '@angular/core';
import { PublicationFileTable, PublicationFileTableSchema } from 'src/app/infra/database/dexie/instance/action/schema/publicationFile';
import { actionDatabase } from 'src/app/infra/database/dexie/instance/action/service';
import { DexieRepository } from 'src/app/infra/repository/dexie/dexie-repository.service';
@Injectable({
providedIn: 'root'
})
export class PublicationFileLocalRepositoryService extends DexieRepository<PublicationFileTable, PublicationFileTable> {
constructor() {
super(actionDatabase.publicationFile, PublicationFileTableSchema, actionDatabase)
}
}
@@ -0,0 +1,27 @@
import { Injectable } from '@angular/core';
import { PublicationFileGetByDocumentIdInput, PublicationFileGetByDocumentIdOutPut } from 'src/app/core/actions/use-case/publication-file-get-by-document-id.service';
import { PublicationListByProcessIdOutPut } from 'src/app/core/actions/use-case/publication-list-by-process-id.service';
import { ApiResponse } from 'src/app/infra/http/type';
import { HttpService } from 'src/app/services/http.service';
import { environment } from 'src/environments/environment';
@Injectable({
providedIn: 'root'
})
export class PublicationFileRemoteRepositoryService {
private baseUrl = `${environment.apiURLStage.slice(0, -1)}/PresidentialActions`; // Your base URL
constructor(
private http: HttpService
) { }
async listByProcessId(processId: string) {
console.log(this.baseUrl);
return await this.http.get<ApiResponse<PublicationListByProcessIdOutPut>>(`${this.baseUrl}/${processId}/Posts`);
}
async FileListByDocumentId(input: PublicationFileGetByDocumentIdInput) {
return await this.http.get<ApiResponse<PublicationFileGetByDocumentIdOutPut>>(`${this.baseUrl}/Posts/${input.documentId}/file`);
}
}
@@ -0,0 +1,9 @@
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class PublicationFileRepositoryService {
constructor() { }
}
@@ -0,0 +1,15 @@
import { Injectable } from '@angular/core';
import { PublicationTable, PublicationTableSchema } from 'src/app/infra/database/dexie/instance/action/schema/publication';
import { PublicationFileTable } from 'src/app/infra/database/dexie/instance/action/schema/publicationFile';
import { actionDatabase } from 'src/app/infra/database/dexie/instance/action/service';
import { DexieRepository } from 'src/app/infra/repository/dexie/dexie-repository.service';
@Injectable({
providedIn: 'root'
})
export class PublicationLocalRepositoryService extends DexieRepository<PublicationTable, PublicationTable> {
constructor() {
super(actionDatabase.publication, PublicationTableSchema, actionDatabase)
}
}
@@ -0,0 +1,21 @@
import { Injectable } from '@angular/core';
import { PublicationListByProcessIdOutPut } from 'src/app/core/actions/use-case/publication-list-by-process-id.service';
import { HttpService } from 'src/app/infra/http/http.service';
import { ApiResponse } from 'src/app/infra/http/type';
import { environment } from 'src/environments/environment';
@Injectable({
providedIn: 'root'
})
export class PublicationRemoteRepositoryService {
private baseUrl = `${environment.apiURLStage.slice(0, -1)}/PresidentialActions`; // Your base URL
constructor(
private http: HttpService
) { }
async listByProcessId(processId: number) {
return await this.http.get<ApiResponse<PublicationListByProcessIdOutPut>>(`${this.baseUrl}/${processId}/Posts`);
}
}