@jobgoal/sdk-angular-gcloud
Version:
JobGoal Angular SDK for interacting with GCloud Firebase Functions APIs (recruitment and account)
1 lines • 23.8 kB
Source Map (JSON)
{"version":3,"file":"jobgoal-sdk-angular-gcloud.mjs","sources":["../../shared/geography.models.ts","../../shared/chrono.models.ts","../../shared/restful.models.ts","../../shared/recruitment.models.ts","../../shared/index.ts","../../recruitment/api.config.ts","../../recruitment/vacancy.api.ts","../../recruitment/vacancy.model.ts","../../recruitment/candidate.api.ts","../../recruitment/application.api.ts","../../recruitment/index.ts","../../account/api.config.ts","../../account/organization.api.ts","../../account/index.ts","../../public-api.ts","../../jobgoal-sdk-angular-gcloud.ts"],"sourcesContent":["/**\n * ISO 20275 Entity Legal Form code\n */\nexport enum EntityLegalForm {\n CRL9 = 'CRL9',\n CYW2 = 'CYW2',\n GAJN = 'GAJN',\n M27U = 'M27U',\n OLAI = 'OLAI',\n P65N = 'P65N',\n PCRJ = 'PCRJ',\n PT6C = 'PT6C',\n UV8T = 'UV8T',\n V905 = 'V905'\n}\n\n/**\n * Standard address format\n */\nexport interface Address {\n street_name?: string;\n house_number?: string;\n locality?: string;\n region?: string;\n postal_code?: string;\n country?: string;\n}\n\n/**\n * Patch version of address\n */\nexport interface PatchAddress {\n street_name?: string;\n house_number?: string;\n locality?: string;\n postal_code?: string;\n country?: string;\n}","/**\n * Recurrence frequency or cadence\n */\nexport enum Cadence {\n Hourly = 'hourly',\n Daily = 'daily',\n Weekly = 'weekly',\n TwoWeekly = 'two-weekly',\n FourWeekly = 'four-weekly',\n Monthly = 'monthly',\n TwoMonthly = 'two-monthly',\n Quarterly = 'quarterly',\n Biannually = 'biannually',\n Annually = 'annually'\n}\n\n/**\n * Time unit\n */\nexport enum Timeframe {\n Hour = 'hour',\n Day = 'day',\n Week = 'week',\n Month = 'month',\n Year = 'year'\n}\n\n/**\n * Timespan constraint with min/max or exact and unit\n */\nexport interface TimespanConstraint {\n min?: number | null;\n max?: number | null;\n exact?: number | null;\n unit: Timeframe;\n}\n\n/**\n * Work schedule combining frequency and cadence\n */\nexport interface WorkSchedule {\n timespan: TimespanConstraint;\n cadence: Cadence;\n}\n\n/**\n * Date interval in Gregorian calendar\n */\nexport interface GregorianDateInterval {\n start: string | null;\n end: string | null;\n}\n\n/**\n * Patch version of date interval\n */\nexport interface PatchGregorianDateInterval {\n start?: string | null;\n end?: string | null;\n}","// RESTful package models (internal/pkg/restful)\n\n/**\n * Collection operations (add/update/delete)\n * From collection_ops.go\n */\nexport interface CollectionOps<TAdd, TUpdate, TDelete> {\n adds?: TAdd[];\n patches?: TUpdate[];\n deletes?: TDelete[];\n}\n\n/**\n * Map operations (upsert/delete)\n * From map_ops.go\n */\nexport interface MapOps<TKey extends string | number, TValue> {\n upserts?: { [key: string]: TValue };\n deletes?: TKey[];\n}\n\n/**\n * Set operations (add/delete)\n * From set_ops.go\n */\nexport interface SetOps<T = string> {\n adds?: T[];\n deletes?: T[];\n}\n\nexport interface ApiResponse<T> {\n data: T;\n problems: Problem[];\n status_code: number;\n}\n\nexport interface Problem {\n severity: string;\n message: string;\n details: Problem[];\n}","/**\n * Driver license categories\n */\nexport enum DriverLicenseCategory {\n AM = 'AM',\n A = 'A',\n B = 'B',\n C = 'C',\n D = 'D',\n T = 'T'\n}\n\n/**\n * CEFR (Common European Framework of Reference for Languages) proficiency level\n */\nexport type CERFLanguageLevel = 'A1' | 'A2' | 'B1' | 'B2' | 'C1' | 'C2';\n","// Shared Module Public API\nexport * from './geography.models';\nexport * from './chrono.models';\nexport * from './money.models';\nexport * from './restful.models';\nexport * from './recruitment.models';","import { InjectionToken } from '@angular/core';\n\nexport const RECRUITMENT_API_BASE_URL = new InjectionToken<string>('RECRUITMENT_API_BASE_URL');","import { inject, Injectable } from \"@angular/core\";\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map, Observable } from 'rxjs';\nimport {\n CreateVacancyRequest,\n CreateVacancyResponse,\n DeleteVacancyParams,\n ListVacanciesParams,\n ListVacanciesResponse,\n PatchVacancyRequest,\n ReadVacancyParams,\n ReadVacancyResponse\n} from './vacancy.model';\nimport { RECRUITMENT_API_BASE_URL } from './api.config';\nimport {ApiResponse} from \"../shared\";\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class VacancyApi {\n private readonly baseUrl = inject(RECRUITMENT_API_BASE_URL);\n\n constructor(\n private http: HttpClient\n ) { }\n\n list(params: ListVacanciesParams): Observable<ListVacanciesResponse> {\n let httpParams = new HttpParams();\n\n if (params.owner_id) {\n httpParams = httpParams.set('owner_id', params.owner_id);\n }\n\n if (params.statuses && params.statuses.length > 0) {\n httpParams = httpParams.set('statuses', params.statuses.join(','));\n }\n\n if (params.ids && params.ids.length > 0) {\n httpParams = httpParams.set('ids', params.ids.join(','));\n }\n\n return this.http.get<ApiResponse<ListVacanciesResponse>>(\n `${this.baseUrl}/vacancies`,\n { params: httpParams }\n ).pipe(\n map(res => res.data)\n );\n }\n\n read(params: ReadVacancyParams): Observable<ReadVacancyResponse> {\n let httpParams = new HttpParams();\n\n httpParams = httpParams.set('vacancy_id', params.vacancy_id);\n\n return this.http.get<ApiResponse<ReadVacancyResponse>>(\n `${this.baseUrl}/vacancies`,\n { params: httpParams }\n ).pipe(\n map(res => res.data)\n );\n }\n\n create(params: CreateVacancyRequest): Observable<CreateVacancyResponse> {\n return this.http.post<ApiResponse<CreateVacancyResponse>>(\n `${this.baseUrl}/vacancies`,\n params,\n ).pipe(\n map(res => res.data)\n );\n }\n\n patch(params: PatchVacancyRequest): Observable<void> {\n return this.http.patch<void>(\n `${this.baseUrl}/vacancies`,\n params,\n );\n }\n\n delete(params: DeleteVacancyParams): Observable<void> {\n let httpParams = new HttpParams();\n\n httpParams = httpParams.set('vacancy_id', params.vacancy_id);\n\n return this.http.delete<void>(\n `${this.baseUrl}/vacancies`,\n { params: httpParams }\n );\n }\n}","import {\n Address,\n PatchAddress,\n DriverLicenseCategory,\n MoneyAmountInterval,\n PatchMoneyAmountInterval,\n Cadence,\n WorkSchedule,\n Timeframe,\n TimespanConstraint\n} from '../shared';\n\nexport enum VacancyStatus {\n Draft = 'DRAFT',\n Open = 'OPEN',\n Closed = 'CLOSED'\n}\n\nexport enum EmploymentType {\n FullTime = 'full-time',\n PartTime = 'part-time',\n Temporary = 'temporary',\n Internship = 'internship',\n Freelance = 'freelance'\n}\n\nexport interface SalaryIndication {\n id: string;\n cadence: Cadence;\n ages: number[];\n amount: MoneyAmountInterval;\n}\n\nexport interface SalaryIndicationCreate {\n cadence: Cadence;\n ages: number[];\n amount: MoneyAmountInterval;\n}\n\nexport interface SalaryIndicationUpdate {\n id: string;\n cadence?: Cadence;\n ages?: number[];\n amount?: PatchMoneyAmountInterval;\n}\n\nexport interface ContactPerson {\n name: string;\n email: string;\n phone: string;\n}\n\nexport interface ContactPersonPatch {\n name?: string;\n email?: string;\n phone?: string;\n}\n\nexport interface CreateVacancyRequest {\n owner_id: string;\n title: string;\n description: string;\n employer_name: string;\n employment_address: Address;\n employment_type: EmploymentType;\n minimum_age: number;\n required_driving_licenses?: DriverLicenseCategory[];\n salary_indications?: SalaryIndicationCreate[];\n contact_person: ContactPerson;\n image_url?: string;\n work_schedule?: WorkSchedule;\n}\n\nexport interface CreateVacancyResponse {\n id: string;\n}\n\nexport interface PatchVacancyRequest {\n id: string;\n title?: string;\n description?: string;\n employer_name?: string;\n employment_address?: PatchAddress;\n employment_type?: EmploymentType;\n minimum_age?: number;\n required_driving_licenses?: {\n add?: DriverLicenseCategory[];\n delete?: DriverLicenseCategory[];\n };\n salary_indications?: {\n adds?: SalaryIndicationCreate[];\n patches?: SalaryIndicationUpdate[];\n deletes?: string[];\n };\n contact_person?: ContactPersonPatch;\n image_url?: string;\n work_schedule?: {\n frequency?: {\n min?: number | null;\n max?: number | null;\n unit?: Timeframe;\n };\n cadence?: Cadence;\n };\n status?: VacancyStatus;\n}\n\nexport interface ReadVacancyResponse {\n id: string;\n owner_id: string;\n title: string;\n description: string;\n employer_name: string;\n employment_address: Address;\n employment_type: EmploymentType;\n minimum_age: number;\n required_driving_licenses: DriverLicenseCategory[];\n salary_indications: SalaryIndication[];\n contact_person: ContactPerson;\n image_url?: string;\n work_schedule?: WorkSchedule;\n status: VacancyStatus;\n}\n\nexport interface ListVacanciesResponse {\n vacancies: ReadVacancyResponse[];\n}\n\nexport interface ListVacanciesParams {\n owner_id?: string;\n statuses?: VacancyStatus[];\n ids?: string[];\n}\n\nexport interface ReadVacancyParams {\n vacancy_id: string;\n}\n\nexport interface DeleteVacancyParams {\n vacancy_id: string;\n}","import { inject, Injectable } from \"@angular/core\";\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map, Observable } from 'rxjs';\nimport {\n CreateCandidateRequest,\n CreateCandidateResponse,\n PatchCandidateRequest,\n ReadCandidateResponse\n} from './candidate.model';\nimport { RECRUITMENT_API_BASE_URL } from './api.config';\nimport {ApiResponse} from \"../shared\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CandidateApi {\n private readonly baseUrl = inject(RECRUITMENT_API_BASE_URL);\n\n constructor(\n private http: HttpClient\n ) { }\n\n read(params: { id?: string, owner_id?: string }): Observable<ReadCandidateResponse> {\n let httpParams = new HttpParams();\n\n if (params.id) {\n httpParams = httpParams.set('id', params.id);\n }\n if (params.owner_id) {\n httpParams = httpParams.set('owner_id', params.owner_id);\n }\n\n return this.http.get<ApiResponse<ReadCandidateResponse>>(\n `${this.baseUrl}/candidates`,\n { params: httpParams }\n ).pipe(\n map(res => res.data)\n );\n }\n\n readById(id: string): Observable<ReadCandidateResponse> {\n return this.read({ id });\n }\n\n readByOwnerId(owner_id: string): Observable<ReadCandidateResponse> {\n return this.read({ owner_id });\n }\n\n create(params: CreateCandidateRequest): Observable<CreateCandidateResponse> {\n return this.http.post<ApiResponse<CreateCandidateResponse>>(\n `${this.baseUrl}/candidates`, params,\n ).pipe(\n map(res => res.data)\n );\n }\n\n patch(params: PatchCandidateRequest): Observable<void> {\n return this.http.patch<void>(\n `${this.baseUrl}/candidates`,\n params,\n );\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map, Observable } from 'rxjs';\nimport {\n ApplyToVacancyRequest,\n ApplyToVacancyResponse,\n ListApplicationsParams,\n ListApplicationsResponse,\n UpdateApplicationStatusRequest\n} from './application.model';\nimport { RECRUITMENT_API_BASE_URL } from './api.config';\nimport { ApiResponse } from '../shared';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApplicationApi {\n private readonly baseUrl = inject(RECRUITMENT_API_BASE_URL);\n\n constructor(\n private http: HttpClient\n ) { }\n\n list(params?: ListApplicationsParams): Observable<ListApplicationsResponse> {\n let httpParams = new HttpParams();\n\n if (params?.candidate_id) {\n httpParams = httpParams.set('candidate_id', params.candidate_id);\n }\n if (params?.vacancy_id) {\n httpParams = httpParams.set('vacancy_id', params.vacancy_id);\n }\n\n return this.http.get<ApiResponse<ListApplicationsResponse>>(\n `${this.baseUrl}/applications`,\n { params: httpParams }\n ).pipe(\n map(res => res.data)\n );\n }\n\n apply(params: ApplyToVacancyRequest): Observable<ApplyToVacancyResponse> {\n return this.http.post<ApiResponse<ApplyToVacancyResponse>>(\n `${this.baseUrl}/applications`,\n params,\n ).pipe(\n map(res => res.data)\n );\n }\n\n updateStatus(params: UpdateApplicationStatusRequest): Observable<void> {\n return this.http.patch<void>(\n `${this.baseUrl}/applications`,\n params,\n );\n }\n}\n","// recruitment Module Public API\nexport * from './api.config';\nexport * from './vacancy.api';\nexport * from './vacancy.model';\nexport * from './candidate.api';\nexport * from './candidate.model';\nexport * from './application.api';\nexport * from './application.model';","import { InjectionToken } from '@angular/core';\n\nexport const IDENTITY_API_BASE_URL = new InjectionToken<string>('IDENTITY_API_BASE_URL');\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map, Observable } from 'rxjs';\nimport {\n CreateOrganizationRequest,\n CreateOrganizationResponse,\n PatchOrganizationRequest, ReadOrganizationResponse\n} from './organization.model';\nimport { IDENTITY_API_BASE_URL } from './api.config';\nimport {ApiResponse} from \"../shared\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OrganizationApiService {\n // TODO: Inject these in project config\n private readonly baseUrl = inject(IDENTITY_API_BASE_URL);\n\n constructor(\n private http: HttpClient\n ) { }\n\n read(id: string): Observable<ReadOrganizationResponse> {\n return this.http.get<ApiResponse<ReadOrganizationResponse>>(\n `${this.baseUrl}/organizations`,\n {\n params: new HttpParams({ fromObject: { id: id } })\n }\n ).pipe(\n map(res => res.data)\n );\n }\n\n create(params: CreateOrganizationRequest): Observable<CreateOrganizationResponse> {\n return this.http.post<ApiResponse<CreateOrganizationResponse>>(\n `${this.baseUrl}/organizations`,\n params\n ).pipe(\n map(res => res.data)\n );\n }\n\n patch(params: PatchOrganizationRequest): Observable<void> {\n return this.http.patch<void>(\n `${this.baseUrl}/organizations`,\n params\n );\n }\n\n delete(id: string): Observable<void> {\n return this.http.delete<void>(\n `${this.baseUrl}/organizations`,\n {\n params: new HttpParams({ fromObject: { id: id } })\n }\n );\n }\n}\n","// Account Module Public API\nexport * from './api.config';\nexport * from './organization.api';\nexport * from './organization.model';","// Main Public API\nexport * from './shared/index';\n\n// Export domain modules\nexport * from './recruitment/index';\nexport * from './account/index';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}