jobsuche-api-js
Version:
A JavaScript wrapper for the Arbeitsagentur jobs API, allowing developers to easily integrate job search functionality into their applications.
83 lines (82 loc) • 2.59 kB
TypeScript
type OfferType = 1 | 2 | 3 | 4 | 34 | '1' | '2' | '3' | '4' | '34';
type ContractDuration = 1 | 2 | '1' | '2';
type WorkTime = 'vz' | 'tz' | 'snw' | 'ho' | 'mj';
/**
* @param to be used in the function this is the english names see the documentation
* #:~:text=Parametern%20zu%20filtern%3A-,Filter,-Parameter%3A%20was
*/
interface IArbeitsAgenturJobArgsProps {
/**
* @alias was
*/
what: string | undefined;
/**
* @alias wo
*/
where: string;
/**
* @alias berufsfeld | undefined
*/
professionalField: string | undefined;
page: number | undefined;
/**
* @alias arbeitgeber
*/
employer: string | undefined;
/**
* @alias zeitarbeit
*/
isTemporary: boolean | undefined;
size: number | undefined;
/**
* @alias veroeffentlichtseit
*/
publishedSince: number | undefined;
/**
* @alias pav
*/
isPrivate: boolean | undefined;
/**
* @alias angebotsart
* @accepts numbers or string of 1 | 2 | 4 | 34
* Angebotsart: 1=ARBEIT; 2=SELBSTAENDIGKEIT; 4=AUSBILDUNG/Duales Studium; 34=Praktikum/Trainee.
*/
offerType: OfferType | undefined;
/**
* 1
* 2
* Befristung: 1 = befristet; 2 = unbefristet. Mehrere Semikolon-separierte Werte möglich (z.B. befristung=1;2).
*/
contractDuration: ContractDuration;
/**
* @alias umkreis (Optional)
* Umkreis: in Kilometern von Wo-Parameter (z.B. 25 oder 200).
*/
radius: number;
/**
* @alias arbeitszeit (Optional)
* WorkTime: vz=FULL_TIME, tz=PART_TIME, snw=SHIFT_NIGHT_WEEKEND, ho=HOME_TELEWORK, mj=MINIJOB.
* Multiple semicolon-separated values are possible (e.g., workTime=vz;tz).
*/
workTime: WorkTime[];
/**
* to allow any additional properties
*/
[key: string]: any;
}
type AliasMapping = {
what: keyof IArbeitsAgenturJobArgsProps;
where: keyof IArbeitsAgenturJobArgsProps;
professionalField: keyof IArbeitsAgenturJobArgsProps;
page: keyof IArbeitsAgenturJobArgsProps;
employer: keyof IArbeitsAgenturJobArgsProps;
isTemporary: keyof IArbeitsAgenturJobArgsProps;
size: keyof IArbeitsAgenturJobArgsProps;
publishedSince: keyof IArbeitsAgenturJobArgsProps;
isPrivate: keyof IArbeitsAgenturJobArgsProps;
offerType: keyof IArbeitsAgenturJobArgsProps;
contractDuration: keyof IArbeitsAgenturJobArgsProps;
radius: keyof IArbeitsAgenturJobArgsProps;
workTime: keyof IArbeitsAgenturJobArgsProps;
};
export { IArbeitsAgenturJobArgsProps, AliasMapping, WorkTime };