Skip to content

Commit

Permalink
feat(api): #3121 scdl integration script
Browse files Browse the repository at this point in the history
- added types for parseParams
  • Loading branch information
461OceanBd committed Jan 16, 2025
1 parent 10c6ae4 commit f7f7fae
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 7 deletions.
11 changes: 10 additions & 1 deletion packages/api/src/@types/ScdlDataIntegration.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
export type ScdlParseArgs = [producerSlug: string, exportDate: string, delimiter?: string, quote?: string];

export type ScdlParseXlsArgs = [
producerSlug: string,
exportDate: string,
pageName?: string,
rowOffsetStr?: number | string,
];

export interface ScdlFileProcessingConfig {
name: string;
parseParams: string[];
parseParams: ScdlParseArgs | ScdlParseXlsArgs;
addProducer: boolean;
producerName?: string;
producerSiret?: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
SCDL_FILE_PROCESSING_CONFIG_FILENAME,
} from "../../configurations/scdlIntegration.conf";
import ScdlCli from "../cli/Scdl.cli";
import { ScdlParseArgs, ScdlParseXlsArgs } from "../../@types/ScdlDataIntegration";

jest.mock("../../configurations/scdlIntegration.conf", () => ({
SCDL_FILE_PROCESSING_PATH: path.resolve(__dirname, "test-integration"),
Expand Down Expand Up @@ -120,15 +121,15 @@ describe("scdl-data-integration.node", () => {
describe("Test for processFile method", () => {
const fileConfig = {
name: "donnees-a-integrer1.csv",
parseParams: ["producerSlug1", "2025-01-13"],
parseParams: ["producerSlug1", "2025-01-13"] as ScdlParseArgs,
addProducer: true,
producerName: "Test Producer 1",
producerSiret: "12345678901",
};

const fileConfigWrongType = {
name: "donnees-a-integrer1.doc",
parseParams: ["producerSlug1", "2025-01-13"],
parseParams: ["producerSlug1", "2025-01-13"] as ScdlParseXlsArgs,
addProducer: true,
producerName: "Test Producer 1",
producerSiret: "12345678901",
Expand Down Expand Up @@ -255,21 +256,21 @@ describe("scdl-data-integration.node", () => {
files: [
{
name: "donnees-a-integrer1.xlsx",
parseParams: ["producerSlug1", "2025-01-13"],
parseParams: ["producerSlug1", "2025-01-13"] as ScdlParseXlsArgs,
addProducer: true,
producerName: "Test Producer 1",
producerSiret: "12345678901",
},
{
name: "donnees-a-integrer2.csv",
parseParams: ["producerSlug2", "2025-01-14"],
parseParams: ["producerSlug2", "2025-01-14"] as ScdlParseArgs,
addProducer: true,
producerName: "Test Producer 2",
producerSiret: "12345678902",
},
{
name: "donnees-a-integrer3.csv",
parseParams: ["producerSlug3", "2025-01-15"],
parseParams: ["producerSlug3", "2025-01-15"] as ScdlParseArgs,
addProducer: true,
producerName: "Test Producer 3",
producerSiret: "12345678903",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ export const processFile = async (fileInfo: ScdlFileProcessingConfig) => {
const type = path.extname(name).slice(1).toLowerCase();
const filePath = path.join(dirPath, name);
if (type === FileExtensionEnum.CSV) {
const [delimiter = undefined, quote = undefined] = optionalParams;
const delimiter = optionalParams[0];
const quote = typeof optionalParams[1] === "string" ? optionalParams[1] : undefined;
await scdlCli.parse(filePath, producerSlug, exportDate, delimiter, quote);
} else if (type === FileExtensionEnum.XLS || type === FileExtensionEnum.XLSX) {
const [pageName = undefined, rowOffsetStr = undefined] = optionalParams;
Expand Down

0 comments on commit f7f7fae

Please sign in to comment.