From 8fbd822d7be888a215c0295bc8d880c97372db65 Mon Sep 17 00:00:00 2001 From: Joeri Smits Date: Tue, 17 Dec 2024 15:56:35 +0100 Subject: [PATCH] Submission for source-hoorayhr from Connector Builder --- .../connectors/source-hoorayhr/manifest.yaml | 704 +++++++++--------- .../connectors/source-hoorayhr/metadata.yaml | 2 +- docs/integrations/sources/hoorayhr.md | 10 +- 3 files changed, 358 insertions(+), 358 deletions(-) diff --git a/airbyte-integrations/connectors/source-hoorayhr/manifest.yaml b/airbyte-integrations/connectors/source-hoorayhr/manifest.yaml index b8343f023596..c3b932d1a4df 100644 --- a/airbyte-integrations/connectors/source-hoorayhr/manifest.yaml +++ b/airbyte-integrations/connectors/source-hoorayhr/manifest.yaml @@ -9,35 +9,33 @@ description: >- check: type: CheckStream stream_names: - - Sick Leaves + - sick-leaves definitions: streams: - Sick Leaves: + users: type: DeclarativeStream - name: Sick Leaves - primary_key: - - id + name: users retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" - path: /sick-leave + path: /users http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] + primary_key: + - id schema_loader: type: InlineSchemaLoader schema: - $ref: "#/schemas/Sick Leaves" - Time Off: + $ref: "#/schemas/users" + time-off: type: DeclarativeStream - name: Time Off - primary_key: - - id + name: time-off retriever: type: SimpleRetriever requester: @@ -49,15 +47,15 @@ definitions: extractor: type: DpathExtractor field_path: [] + primary_key: + - id schema_loader: type: InlineSchemaLoader schema: - $ref: "#/schemas/Time Off" - Leave Types: + $ref: "#/schemas/time-off" + leave-types: type: DeclarativeStream - name: Leave Types - primary_key: - - id + name: leave-types retriever: type: SimpleRetriever requester: @@ -69,30 +67,32 @@ definitions: extractor: type: DpathExtractor field_path: [] + primary_key: + - id schema_loader: type: InlineSchemaLoader schema: - $ref: "#/schemas/Leave Types" - Users: + $ref: "#/schemas/leave-types" + sick-leaves: type: DeclarativeStream - name: Users - primary_key: - - id + name: sick-leaves retriever: type: SimpleRetriever requester: $ref: "#/definitions/base_requester" - path: /users + path: /sick-leave http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] + primary_key: + - id schema_loader: type: InlineSchemaLoader schema: - $ref: "#/schemas/Users" + $ref: "#/schemas/sick-leaves" base_requester: type: HttpRequester url_base: https://api.hooray.nl @@ -100,31 +100,31 @@ definitions: type: SessionTokenAuthenticator login_requester: type: HttpRequester - url_base: https://api.hooray.nl path: authentication + url_base: https://api.hooray.nl + http_method: POST authenticator: type: NoAuth - http_method: POST - request_parameters: {} request_headers: {} request_body_json: email: "{{ config[\"hoorayhrusername\"] }}" password: "{{ config[\"hoorayhrpassword\"] }}" strategy: local + request_parameters: {} session_token_path: - accessToken request_authentication: type: ApiKey inject_into: type: RequestOption - inject_into: header field_name: Authorization + inject_into: header streams: - - $ref: "#/definitions/streams/Sick Leaves" - - $ref: "#/definitions/streams/Time Off" - - $ref: "#/definitions/streams/Leave Types" - - $ref: "#/definitions/streams/Users" + - $ref: "#/definitions/streams/sick-leaves" + - $ref: "#/definitions/streams/time-off" + - $ref: "#/definitions/streams/leave-types" + - $ref: "#/definitions/streams/users" spec: type: Spec @@ -135,180 +135,192 @@ spec: - hoorayhrusername - hoorayhrpassword properties: - hoorayhrusername: - type: string - title: HoorayHR Username - order: 0 hoorayhrpassword: type: string + order: 1 title: HoorayHR Password airbyte_secret: true - order: 1 + hoorayhrusername: + type: string + order: 0 + title: HoorayHR Username additionalProperties: true metadata: - autoImportSchema: - Sick Leaves: true - Time Off: true - Leave Types: true - Users: true + assist: {} testedStreams: - Sick Leaves: - streamHash: df70c69bc028bc5295daccbceea29025491ac983 - hasResponse: true - responsesAreSuccessful: true + users: hasRecords: true - primaryKeysArePresent: true - primaryKeysAreUnique: true - Time Off: - streamHash: b4ce2da103881f50754641e53d332dfb8633b26a + streamHash: 33982ec24949870d1dd15b7191b46c03296fd15d hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true responsesAreSuccessful: true + time-off: hasRecords: true - primaryKeysArePresent: true - primaryKeysAreUnique: true - Leave Types: - streamHash: 23e1827312c8d7d26aebd594aa4dc9742e82ad1d + streamHash: 768ac0388c513fc36cf2af868244f3e0e13997a2 hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true responsesAreSuccessful: true + leave-types: hasRecords: true - primaryKeysArePresent: true - primaryKeysAreUnique: true - Users: - streamHash: 1f59a22e87ebf748054513dab71ad8b947035a51 + streamHash: aca371fa790b98baa7a814d47ca7e66d0b17c399 hasResponse: true + primaryKeysAreUnique: true + primaryKeysArePresent: true responsesAreSuccessful: true + sick-leaves: hasRecords: true - primaryKeysArePresent: true + streamHash: 2bb47034ff795f366f0bafa8258077020af607c0 + hasResponse: true primaryKeysAreUnique: true - assist: {} + primaryKeysArePresent: true + responsesAreSuccessful: true + autoImportSchema: + users: true + time-off: true + leave-types: true + sick-leaves: true schemas: - Sick Leaves: + users: type: object $schema: http://json-schema.org/schema# - additionalProperties: true + required: + - id properties: - actualReturn: + id: + type: number + city: type: - string - "null" - actualReturnEnd: + email: type: - string - "null" - actualStart: + phone: type: - string - "null" - actualStartEnd: + teams: type: - string - "null" - actualTotal: + avatar: type: - - number + - string - "null" - createdAt: + gender: type: - string - "null" - expectedReturn: + locale: type: - string - "null" - expectedTotal: + status: type: - number - "null" - id: - type: number - notes: + country: type: - string - "null" - percentage: + isAdmin: type: - number - "null" - reportedReturn: + zipcode: type: - string - "null" - reportedStart: + initials: type: - string - "null" - status: + jobTitle: type: - - number + - string + - "null" + lastName: + type: + - string + - "null" + nickName: + type: + - string - "null" timezone: type: - string - "null" - updatedAt: + abilities: + type: + - array + - "null" + biography: type: - string - "null" - userId: + birthdate: type: - - number + - string - "null" - userIdConfirmed: + companyId: type: - number - "null" - userIdReported: + createdAt: type: - - number + - string - "null" - required: - - id - Time Off: - type: object - $schema: http://json-schema.org/schema# - additionalProperties: true - properties: - baseTimeOffType: + firstName: type: - string - "null" - budgetAdjustment: + insertion: type: - - number + - string - "null" - budgetCalculated: + invitedAt: type: - - number + - string - "null" - budgetTotal: + updatedAt: type: - - number + - string - "null" - createdAt: + birthPlace: type: - string - "null" - end: + civilStatus: type: - string - "null" - holidayId: + costCenters: type: - - number + - array - "null" - id: - type: number - isNotCalculated: + nationality: type: - - number + - string - "null" - isPrivate: + onBoardedAt: type: - - number + - string - "null" - labels: + birthCountry: + type: + - string + - "null" + emailPrivate: + type: + - string + - "null" + integrations: type: - array - "null" @@ -321,153 +333,137 @@ schemas: type: - string - "null" - archivedAt: - type: - - string - - "null" - createdAt: - type: - - string - - "null" - id: - type: - - number - - "null" - name: - type: - - object - - "null" - properties: - de: - type: - - string - - "null" - en: - type: - - string - - "null" - nl: - type: - - string - - "null" - updatedAt: + enabled: type: - string - "null" - leaveTypeId: + addressNumber: type: - - number + - string - "null" - leaveTypeRuleId: + addressStreet: type: - - number + - string - "null" - leaveUnit: + emergencyName: type: - string - "null" - notes: + holidayPolicy: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + name: + type: + - string + - "null" + lastNameUsage: type: - string - "null" - pause: + companyEndDate: type: - - number + - string - "null" - reply: + employeeNumber: type: - string - "null" - start: + addressAddition: type: - string - "null" - status: + holidayPolicyId: type: - number - "null" - timeOffType: + invitedByUserId: type: - - string + - number - "null" - timezone: + travelAllowance: + type: + - number + - "null" + companyEndReason: type: - string - "null" - updatedAt: + companyStartDate: type: - string - "null" - userId: + inviteAcceptedAt: type: - - number + - string - "null" - userIdApproved: + inviteRemindedAt: type: - - number + - string - "null" - required: - - id - Leave Types: - type: object - $schema: http://json-schema.org/schema# - additionalProperties: true - properties: - accumulateBudgetWhenAbsent: - type: - - number - - "null" - autoApproveLimit: - type: - - number - - "null" - budget: - type: - - number - - "null" - budgetReleaseRecurrence: + bankAccountNumber: type: - string - "null" - budgetReleaseTiming: + emergencyRelation: type: - string - "null" - calculationMethod: + emergencyWorkPhone: type: - string - "null" - color: + citizenServiceNumber: type: - string - "null" - createdAt: + emergencyPersonalPhone: type: - string - "null" - default: + twoFactorAuthentication: type: - number - "null" - icon: + bankAccountNumberOnBehalfOf: type: - string - "null" + additionalProperties: true + time-off: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: id: type: number - invisibleInCalendar: + end: type: - - number + - string - "null" - isLegacy: + notes: type: - - number + - string - "null" - leaveInDays: + pause: type: - number - "null" - leaveTypeRules: + reply: + type: + - string + - "null" + start: + type: + - string + - "null" + labels: type: - array - "null" @@ -476,15 +472,7 @@ schemas: - object - "null" properties: - budget: - type: - - number - - "null" - createdAt: - type: - - string - - "null" - expirationMoment: + type: type: - string - "null" @@ -492,312 +480,324 @@ schemas: type: - number - "null" - leaveTypeId: - type: - - number - - "null" name: type: - - string - - "null" - order: - type: - - number + - object - "null" - ruleSystemCategory: + properties: + de: + type: + - string + - "null" + en: + type: + - string + - "null" + nl: + type: + - string + - "null" + createdAt: type: - string - "null" - transferPeriod: + updatedAt: type: - string - "null" - transferTerm: - type: - - number - - "null" - updatedAt: + archivedAt: type: - string - "null" - leaveTypeSystemCategory: + status: + type: + - number + - "null" + userId: + type: + - number + - "null" + timezone: type: - string - "null" - name: + createdAt: type: - string - "null" - periodOffset: + holidayId: type: - number - "null" - subtractHolidays: + isPrivate: type: - number - "null" - unpaidLeave: + leaveUnit: type: - - number + - string - "null" updatedAt: type: - string - "null" - updatedBy: + budgetTotal: type: - number - "null" - required: - - id - Users: - type: object - $schema: http://json-schema.org/schema# - additionalProperties: true - properties: - abilities: + leaveTypeId: type: - - array + - number - "null" - addressAddition: + timeOffType: type: - string - "null" - addressNumber: + userIdApproved: type: - - string + - number - "null" - addressStreet: + baseTimeOffType: type: - string - "null" - avatar: + isNotCalculated: type: - - string + - number - "null" - bankAccountNumber: + leaveTypeRuleId: type: - - string + - number - "null" - bankAccountNumberOnBehalfOf: + budgetAdjustment: type: - - string + - number - "null" - biography: + budgetCalculated: type: - - string + - number - "null" - birthCountry: + additionalProperties: true + leave-types: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: + id: + type: number + icon: type: - string - "null" - birthPlace: + name: type: - string - "null" - birthdate: + color: type: - string - "null" - citizenServiceNumber: + budget: type: - - string + - number - "null" - city: + default: type: - - string + - number - "null" - civilStatus: + isLegacy: type: - - string + - number - "null" - companyEndDate: + createdAt: type: - string - "null" - companyEndReason: + updatedAt: type: - string - "null" - companyId: + updatedBy: type: - number - "null" - companyStartDate: - type: - - string - - "null" - costCenters: - type: - - array - - "null" - country: + leaveInDays: type: - - string + - number - "null" - createdAt: + unpaidLeave: type: - - string + - number - "null" - email: + periodOffset: type: - - string + - number - "null" - emailPrivate: + leaveTypeRules: type: - - string + - array - "null" - emergencyName: + items: + type: + - object + - "null" + properties: + id: + type: + - number + - "null" + name: + type: + - string + - "null" + order: + type: + - number + - "null" + budget: + type: + - number + - "null" + createdAt: + type: + - string + - "null" + updatedAt: + type: + - string + - "null" + leaveTypeId: + type: + - number + - "null" + transferTerm: + type: + - number + - "null" + transferPeriod: + type: + - string + - "null" + expirationMoment: + type: + - string + - "null" + ruleSystemCategory: + type: + - string + - "null" + autoApproveLimit: type: - - string + - number - "null" - emergencyPersonalPhone: + subtractHolidays: type: - - string + - number - "null" - emergencyRelation: + calculationMethod: type: - string - "null" - emergencyWorkPhone: + budgetReleaseTiming: type: - string - "null" - employeeNumber: + invisibleInCalendar: type: - - string + - number - "null" - firstName: + budgetReleaseRecurrence: type: - string - "null" - gender: + leaveTypeSystemCategory: type: - string - "null" - holidayPolicy: - type: - - object - - "null" - properties: - id: - type: - - number - - "null" - name: - type: - - string - - "null" - holidayPolicyId: + accumulateBudgetWhenAbsent: type: - number - "null" + additionalProperties: true + sick-leaves: + type: object + $schema: http://json-schema.org/schema# + required: + - id + properties: id: type: number - initials: + notes: type: - string - "null" - insertion: + status: type: - - string + - number - "null" - integrations: + userId: type: - - array + - number - "null" - items: - type: - - object - - "null" - properties: - type: - type: - - string - - "null" - enabled: - type: - - string - - "null" - inviteAcceptedAt: + timezone: type: - string - "null" - inviteRemindedAt: + createdAt: type: - string - "null" - invitedAt: + updatedAt: type: - string - "null" - invitedByUserId: - type: - - number - - "null" - isAdmin: + percentage: type: - number - "null" - jobTitle: + actualStart: type: - string - "null" - lastName: + actualTotal: type: - - string + - number - "null" - lastNameUsage: + actualReturn: type: - string - "null" - locale: + expectedTotal: type: - - string + - number - "null" - nationality: + reportedStart: type: - string - "null" - nickName: + actualStartEnd: type: - string - "null" - onBoardedAt: + expectedReturn: type: - string - "null" - phone: + reportedReturn: type: - string - "null" - status: + userIdReported: type: - number - "null" - teams: - type: - - string - - "null" - timezone: + actualReturnEnd: type: - string - "null" - travelAllowance: - type: - - number - - "null" - twoFactorAuthentication: + userIdConfirmed: type: - number - "null" - updatedAt: - type: - - string - - "null" - zipcode: - type: - - string - - "null" - required: - - id + additionalProperties: true diff --git a/airbyte-integrations/connectors/source-hoorayhr/metadata.yaml b/airbyte-integrations/connectors/source-hoorayhr/metadata.yaml index 3c51b69943e4..f89ced6ceb25 100644 --- a/airbyte-integrations/connectors/source-hoorayhr/metadata.yaml +++ b/airbyte-integrations/connectors/source-hoorayhr/metadata.yaml @@ -16,7 +16,7 @@ data: baseImage: docker.io/airbyte/source-declarative-manifest:6.11.1@sha256:0d0f562a70c0ed19ab605f0c83802a2e052712587692e2f3a1cc794fe7cd7007 connectorSubtype: api connectorType: source - definitionId: ea81b378-6895-40ac-8ab8-297d0259a2f2 + definitionId: a2e34f7c-7de1-422c-b909-ce12f3e051af dockerImageTag: 0.0.1 dockerRepository: airbyte/source-hoorayhr githubIssueLabel: source-hoorayhr diff --git a/docs/integrations/sources/hoorayhr.md b/docs/integrations/sources/hoorayhr.md index bf1a8578c615..45f7e37ab6d8 100644 --- a/docs/integrations/sources/hoorayhr.md +++ b/docs/integrations/sources/hoorayhr.md @@ -5,16 +5,16 @@ Source connector for HoorayHR (https://hoorayhr.io). The connector uses https:// | Input | Type | Description | Default Value | |-------|------|-------------|---------------| -| `hoorayhrusername` | `string` | HoorayHR Username. | | | `hoorayhrpassword` | `string` | HoorayHR Password. | | +| `hoorayhrusername` | `string` | HoorayHR Username. | | ## Streams | Stream Name | Primary Key | Pagination | Supports Full Sync | Supports Incremental | |-------------|-------------|------------|---------------------|----------------------| -| Sick Leaves | id | No pagination | ✅ | ❌ | -| Time Off | id | No pagination | ✅ | ❌ | -| Leave Types | id | No pagination | ✅ | ❌ | -| Users | id | No pagination | ✅ | ❌ | +| sick-leaves | id | No pagination | ✅ | ❌ | +| time-off | id | No pagination | ✅ | ❌ | +| leave-types | id | No pagination | ✅ | ❌ | +| users | id | No pagination | ✅ | ❌ | ## Changelog