Skip to content

FilesService

reference
2 min readUpdated

Kind: Class

Source: Pams/Web/Pams.Web/Client/app/services/common/files.service.ts (line 34)

Part of: Pams

FilesService manages file-related client operations in the PAMS web application. It supports file type and extension handling, upload popup state, file retrieval, tag lookup, and download actions.

Methods

MethodSignatureReturns
extractFilesExtensionextractFilesExtension(fileName: string, fileType: string)string
getTypesListgetTypesList()any[]
fetchDownloadFilePathfetchDownloadFilePath(APIUrl: string)number
openUploadFilePopupopenUploadFilePopup(relatedToId: number, relatedToTypeId: number, companyBranchId: number, parentFileID: number, supplierId: number)void
closeUploadPopupcloseUploadPopup()void
openUploadLogoPopupopenUploadLogoPopup()void
GetFilesByParentFileIDGetFilesByParentFileID(CompanyBranchID: number, ParentFileID: number, listNum: number, startRecord: number, pageSize: number, filter: string)void
GetTagsListByTypeGetTagsListByType(CompanyBranchID: number, listNum: number, supplierId: number)void
DownloadFilesDownloadFiles(IDs: number[])void
getFilesByIdServicegetFilesByIdService(id: number)void
LoadtAttachedLoadtAttached(id: number, type: number)void
unAttachFileunAttachFile(id: undefined, type: undefined, fileID: undefined)void
LoadAttachmentsLoadAttachments(id: number, type: number)void
LoadAllDocumentsLoadAllDocuments(type: number)void
getUsersPermissiongetUsersPermission(relatedToId: number, relatedToTypeId: number)void
getOneDriveFilesListgetOneDriveFilesList(parentId: string)void
ShareFileShareFile(entity: OneDriveShareFiles)void
ShareFilesShareFiles(entity: OneDriveShareFiles[])void
UploadFileUploadFile(entity: FileData, acctualFile: File)void
UploadFilesUploadFiles(entity: FileData[], acctualFiles: File[])void
UploadDataFileUploadDataFile(entity: FileData)void
UploadDataFilesUploadDataFiles(entity: FileData[])void
_UploadFiles_UploadFiles(entities: FileData[], acctualFiles: File[])void
newUploadFilenewUploadFile(entities: FileData, acctualFile: File)void
saveFilesServicesaveFilesService(entity: FileData)void
newSaveFilesnewSaveFiles(entities: FileData[])void
AttachFilesAttachFiles(RelatedToID: number, RelatedToType: number, FilesIDList: number[])void
AttachSharedFilesAttachSharedFiles(files: AttachedfileView[])void
UploadWordTemplateUploadWordTemplate(acctualFile: File)void
UploadFileByModuleUploadFileByModule(entity: FileData, acctualFile: File, moduleId: number)void
DownloadImageDownloadImage(id: string, fileTypeId: number, ApiUrl: string)void
deleteFilesServicedeleteFilesService(IDs: number[])void
getRolesByLibraryIdgetRolesByLibraryId(LibraryId: number)void
getPermissionsByLibraryIdgetPermissionsByLibraryId(LibraryId: number)void
saveLibraryRolessaveLibraryRoles(LibraryRoles: FilesRoles[])void
downloadFiledownloadFile()Observable<HttpResponse<Blob>>
getTokengetToken()Observable<HttpResponse<string>>
getOldCloudgetOldCloud()void
moveToNewCloudmoveToNewCloud(data: any[])void
updateOldCloudupdateOldCloud(data: any[])void

Properties

PropertyType
headersProxyany
TypesListany[]
_uploadMultiPopupOpendUploadFilePopup
uploadMultiPopupOpendany
_uploadPopupOpendboolean
uploadPopupOpendany
_uploadLogoPopupOpendboolean
uploadLogoPopupOpendany

Where it refuses work

  • FilesService stops the work with an early return when fileExtension.includes("jpeg") || fileExtension.includes("jpg") || fileExtension.includes….
  • FilesService stops the work with an early return when APIUrl.includes('production-api').

Diagram

mermaid
graph LR
  UI[Client Components] --> Service[FilesService]
  Service --> Popups[Upload and Logo Upload Popups]
  Service --> Types[File Types and Extensions]
  Service --> Files[File Retrieval]
  Service --> Tags[Tag Lookup]
  Service --> Downloads[File Downloads]

Usage

ts
import { FilesService } from './services/common/files.service';

export class FileManagerComponent {
  constructor(private readonly filesService: FilesService) {}

  showUploadDialog(): void {
    this.filesService.openUploadFilePopup();
  }

  closeUploadDialog(): void {
    this.filesService.closeUploadPopup();
  }

  getFileExtension(fileName: string): string {
    return this.filesService.extractFilesExtension(fileName);
  }

  loadFileTypes(): any[] {
    return this.filesService.getTypesList();
  }

  downloadSelectedFiles(): void {
    this.filesService.DownloadFiles();
  }
}

AI Coding Instructions

  • Keep upload dialog actions routed through openUploadFilePopup, closeUploadPopup, and openUploadLogoPopup rather than duplicating popup state in components.
  • Use extractFilesExtension and getTypesList when validating or presenting file types in the client UI.
  • Call GetFilesByParentFileID when loading files associated with a parent file record.
  • Use GetTagsListByType for type-specific tag data and getFilesByIdService for file lookup by identifier.
  • Keep download behavior inside DownloadFiles and fetchDownloadFilePath so components do not construct download paths directly.

Used by

25 references from 25 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

Imported by (25)

  • NewBranchComponentPams/Web/Pams.Web/Client/app/components/configuration/company/main-branch/new.branch.component.ts:1
  • ProductCategoriesComponentPams/Web/Pams.Web/Client/app/components/configuration/products/product-categories/product-categories.component.ts:1
  • NewActivityComponentPams/Web/Pams.Web/Client/app/components/dashboard/my-desk/activities/new-activity/new-activity.component.ts:1
  • TopicComponentPams/Web/Pams.Web/Client/app/components/dashboard/my-desk/activities/topic/topic.component.ts:1
  • MyDeskComponentPams/Web/Pams.Web/Client/app/components/dashboard/my-desk/my-desk.component.ts:1
  • NewTasksComponentPams/Web/Pams.Web/Client/app/components/dashboard/my-desk/tasks/new-tasks/new-tasks.component.ts:1
  • FilesComponentPams/Web/Pams.Web/Client/app/components/files/files.component.ts:1
  • FileNameAndExtensionPams/Web/Pams.Web/Client/app/components/files/upload-file/upload-file.component.ts:1

…and 17 more.

Was this page helpful?

Download as PDF