Skip to content

Commit

Permalink
Merge branch 'main' into ticketing-linear
Browse files Browse the repository at this point in the history
  • Loading branch information
ganimtron-10 committed Aug 14, 2024
2 parents e7d95d3 + 6dcb65f commit d6767c1
Show file tree
Hide file tree
Showing 289 changed files with 35,135 additions and 5,563 deletions.
6 changes: 3 additions & 3 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
speakeasyVersion: 1.358.0
speakeasyVersion: 1.366.0
sources:
merge-code-samples-into-spec:
sourceNamespace: merge-code-samples-into-spec
sourceRevisionDigest: sha256:43c01a4167a6e338d86fe9b644dbf8d8aabba8204a7cfb69a4d880a43f75d33f
sourceBlobDigest: sha256:5a2f142dc7d22ff664601f4f240c011b60a7f1de4f1b93f8b056114aba90b386
sourceRevisionDigest: sha256:61d763ced26b2104e5f13eb6e4b32bd0f598073da2505d842baaa9efd4c78ff1
sourceBlobDigest: sha256:d53140203694ab341c7f9b60bcfce1995e2c287358ec29504fcb45b677d38918
tags:
- latest
- main
Expand Down
30 changes: 20 additions & 10 deletions apps/magic-link/src/components/Modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,39 @@
import React, { useState } from 'react'
import {X} from 'lucide-react'

const Modal = ({open,setOpen,children} : {open:boolean,setOpen: (op : boolean) => void,children: React.ReactNode}) => {

interface ModalProps {
open: boolean;
setOpen: (op: boolean) => void;
children: React.ReactNode;
backgroundClass?: string;
contentClass?: string;
}

const Modal: React.FC<ModalProps> = ({
open,
setOpen,
children,
backgroundClass = "bg-black/20 backdrop-blur ",
contentClass = ""
}) => {
if (!open) return null;

return (
<div
onClick={() => setOpen(false)}
className={`
fixed inset-0 flex justify-center items-center transition-colors
${open ? "visible bg-black/20 backdrop-blur" : "invisible"}
${backgroundClass}
`}
>
{/* modal */}
<div
onClick={(e) => e.stopPropagation()}
className={`
bg-[#1d1d1d] border-green-900 rounded-xl shadow p-6 transition-all
${open ? "scale-100 opacity-100" : "scale-125 opacity-0"}
${contentClass} transition-all
`}
>
<button
onClick={() => setOpen(false)}
className="absolute top-2 right-2 p-1 rounded-lg text-gray-400 bg-[#1d1d1d]"
>
<X color='gray' />
</button>
{children}
</div>
</div>
Expand Down
3 changes: 0 additions & 3 deletions apps/magic-link/src/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,4 @@
* {
@apply border-border;
}
body {
@apply bg-background text-foreground;
}
}
419 changes: 258 additions & 161 deletions apps/magic-link/src/lib/ProviderModal.tsx

Large diffs are not rendered by default.

745 changes: 271 additions & 474 deletions apps/webapp/src/components/Configuration/Connector/ConnectorDisplay.tsx

Large diffs are not rendered by default.

6 changes: 0 additions & 6 deletions apps/webapp/src/components/Nav/main-nav.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,11 @@ export function MainNav({
);
}

const navIconClassName = "text-gray-400 w-5";
const navItems: Omit<NavLinkProps, 'onClick' | 'isSelected'>[] = [
{
name: 'connections',
content: (
<>
<Share2 className={navIconClassName} />
Connections
</>
),
Expand All @@ -97,7 +95,6 @@ const navItems: Omit<NavLinkProps, 'onClick' | 'isSelected'>[] = [
name: 'events',
content: (
<>
<SquareGantt className={navIconClassName} />
Events
</>
),
Expand All @@ -106,7 +103,6 @@ const navItems: Omit<NavLinkProps, 'onClick' | 'isSelected'>[] = [
name: 'configuration',
content: (
<>
<Settings2 className={navIconClassName} />
Configuration
</>
),
Expand All @@ -115,7 +111,6 @@ const navItems: Omit<NavLinkProps, 'onClick' | 'isSelected'>[] = [
name: 'api-keys',
content: (
<>
<KeyRound className={navIconClassName} />
API Keys
</>
),
Expand All @@ -124,7 +119,6 @@ const navItems: Omit<NavLinkProps, 'onClick' | 'isSelected'>[] = [
name: 'docs',
content: (
<>
<BookOpen className={navIconClassName} />
<p className="pr-2">Docs</p>
</>
),
Expand Down
4 changes: 2 additions & 2 deletions apps/webapp/src/components/shared/team-switcher.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ const projectFormSchema = z.object({
type PopoverTriggerProps = React.ComponentPropsWithoutRef<typeof PopoverTrigger>

interface TeamSwitcherProps extends PopoverTriggerProps {
projects:Project[]
projects: Project[]
}

interface ModalObj {
Expand All @@ -88,7 +88,7 @@ export default function TeamSwitcher({ className ,projects}: TeamSwitcherProps)
const { profile } = useProfileStore();

const { idProject, setIdProject } = useProjectStore();
const {mutate : refreshAccessToken} = useRefreshAccessTokenMutation()
const { mutate : refreshAccessToken } = useRefreshAccessTokenMutation()

const handleOpenChange = (open: boolean) => {
setShowNewDialog(prevState => ({ ...prevState, open }));
Expand Down
40 changes: 20 additions & 20 deletions docker-compose.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,10 +150,10 @@ services:
FACTORIAL_HRIS_CLOUD_CLIENT_SECRET: ${FACTORIAL_ATS_CLOUD_CLIENT_SECRET}
PAYFIT_HRIS_CLOUD_CLIENT_ID: ${PAYFIT_HRIS_CLOUD_CLIENT_ID}
PAYFIT_HRIS_CLOUD_CLIENT_SECRET: ${PAYFIT_HRIS_CLOUD_CLIENT_SECRET}
NOTION_MANAGEMENT_CLOUD_CLIENT_ID: ${NOTION_MANAGEMENT_CLOUD_CLIENT_ID}
NOTION_MANAGEMENT_CLOUD_CLIENT_SECRET: ${NOTION_MANAGEMENT_CLOUD_CLIENT_SECRET}
SLACK_MANAGEMENT_CLOUD_CLIENT_ID: ${SLACK_MANAGEMENT_CLOUD_CLIENT_ID}
SLACK_MANAGEMENT_CLOUD_CLIENT_SECRET: ${SLACK_MANAGEMENT_CLOUD_CLIENT_SECRET}
NOTION_PRODUCTIVITY_CLOUD_CLIENT_ID: ${NOTION_PRODUCTIVITY_CLOUD_CLIENT_ID}
NOTION_PRODUCTIVITY_CLOUD_CLIENT_SECRET: ${NOTION_PRODUCTIVITY_CLOUD_CLIENT_SECRET}
SLACK_PRODUCTIVITY_CLOUD_CLIENT_ID: ${SLACK_PRODUCTIVITY_CLOUD_CLIENT_ID}
SLACK_PRODUCTIVITY_CLOUD_CLIENT_SECRET: ${SLACK_PRODUCTIVITY_CLOUD_CLIENT_SECRET}
NAMELY_HRIS_CLOUD_CLIENT_ID: ${NAMELY_HRIS_CLOUD_CLIENT_ID}
NAMELY_HRIS_CLOUD_CLIENT_SECRET: ${NAMELY_HRIS_CLOUD_CLIENT_SECRET}
NAMELY_HRIS_CLOUD_SUBDOMAIN: ${NAMELY_HRIS_CLOUD_SUBDOMAIN}
Expand Down Expand Up @@ -276,22 +276,22 @@ services:
# volumes:
# - pgadmin-data:/var/lib/pgadmin

ngrok:
image: ngrok/ngrok:latest
restart: always
command:
- "start"
- "--all"
- "--config"
- "/etc/ngrok.yml"
volumes:
- ./ngrok.yml:/etc/ngrok.yml
ports:
- 4040:4040
depends_on:
api:
condition: service_healthy
network_mode: "host"
# ngrok:
# image: ngrok/ngrok:latest
# restart: always
# command:
# - "start"
# - "--all"
# - "--config"
# - "/etc/ngrok.yml"
# volumes:
# - ./ngrok.yml:/etc/ngrok.yml
# ports:
# - 4040:4040
# depends_on:
# api:
# condition: service_healthy
# network_mode: "host"

docs:
build:
Expand Down
8 changes: 4 additions & 4 deletions docker-compose.source.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,10 +150,10 @@ services:
FACTORIAL_HRIS_CLOUD_CLIENT_SECRET: ${FACTORIAL_ATS_CLOUD_CLIENT_SECRET}
PAYFIT_HRIS_CLOUD_CLIENT_ID: ${PAYFIT_HRIS_CLOUD_CLIENT_ID}
PAYFIT_HRIS_CLOUD_CLIENT_SECRET: ${PAYFIT_HRIS_CLOUD_CLIENT_SECRET}
NOTION_MANAGEMENT_CLOUD_CLIENT_ID: ${NOTION_MANAGEMENT_CLOUD_CLIENT_ID}
NOTION_MANAGEMENT_CLOUD_CLIENT_SECRET: ${NOTION_MANAGEMENT_CLOUD_CLIENT_SECRET}
SLACK_MANAGEMENT_CLOUD_CLIENT_ID: ${SLACK_MANAGEMENT_CLOUD_CLIENT_ID}
SLACK_MANAGEMENT_CLOUD_CLIENT_SECRET: ${SLACK_MANAGEMENT_CLOUD_CLIENT_SECRET}
NOTION_PRODUCTIVITY_CLOUD_CLIENT_ID: ${NOTION_PRODUCTIVITY_CLOUD_CLIENT_ID}
NOTION_PRODUCTIVITY_CLOUD_CLIENT_SECRET: ${NOTION_PRODUCTIVITY_CLOUD_CLIENT_SECRET}
SLACK_PRODUCTIVITY_CLOUD_CLIENT_ID: ${SLACK_PRODUCTIVITY_CLOUD_CLIENT_ID}
SLACK_PRODUCTIVITY_CLOUD_CLIENT_SECRET: ${SLACK_PRODUCTIVITY_CLOUD_CLIENT_SECRET}
NAMELY_HRIS_CLOUD_CLIENT_ID: ${NAMELY_HRIS_CLOUD_CLIENT_ID}
NAMELY_HRIS_CLOUD_CLIENT_SECRET: ${NAMELY_HRIS_CLOUD_CLIENT_SECRET}
NAMELY_HRIS_CLOUD_SUBDOMAIN: ${NAMELY_HRIS_CLOUD_SUBDOMAIN}
Expand Down
8 changes: 4 additions & 4 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,10 @@ services:
FACTORIAL_HRIS_CLOUD_CLIENT_SECRET: ${FACTORIAL_ATS_CLOUD_CLIENT_SECRET}
PAYFIT_HRIS_CLOUD_CLIENT_ID: ${PAYFIT_HRIS_CLOUD_CLIENT_ID}
PAYFIT_HRIS_CLOUD_CLIENT_SECRET: ${PAYFIT_HRIS_CLOUD_CLIENT_SECRET}
NOTION_MANAGEMENT_CLOUD_CLIENT_ID: ${NOTION_MANAGEMENT_CLOUD_CLIENT_ID}
NOTION_MANAGEMENT_CLOUD_CLIENT_SECRET: ${NOTION_MANAGEMENT_CLOUD_CLIENT_SECRET}
SLACK_MANAGEMENT_CLOUD_CLIENT_ID: ${SLACK_MANAGEMENT_CLOUD_CLIENT_ID}
SLACK_MANAGEMENT_CLOUD_CLIENT_SECRET: ${SLACK_MANAGEMENT_CLOUD_CLIENT_SECRET}
NOTION_PRODUCTIVITY_CLOUD_CLIENT_ID: ${NOTION_PRODUCTIVITY_CLOUD_CLIENT_ID}
NOTION_PRODUCTIVITY_CLOUD_CLIENT_SECRET: ${NOTION_PRODUCTIVITY_CLOUD_CLIENT_SECRET}
SLACK_PRODUCTIVITY_CLOUD_CLIENT_ID: ${SLACK_PRODUCTIVITY_CLOUD_CLIENT_ID}
SLACK_PRODUCTIVITY_CLOUD_CLIENT_SECRET: ${SLACK_PRODUCTIVITY_CLOUD_CLIENT_SECRET}
NAMELY_HRIS_CLOUD_CLIENT_ID: ${NAMELY_HRIS_CLOUD_CLIENT_ID}
NAMELY_HRIS_CLOUD_CLIENT_SECRET: ${NAMELY_HRIS_CLOUD_CLIENT_SECRET}
NAMELY_HRIS_CLOUD_SUBDOMAIN: ${NAMELY_HRIS_CLOUD_SUBDOMAIN}
Expand Down
27 changes: 26 additions & 1 deletion docs/catalog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,18 @@ icon: album-collection
<img src="https://cdn.freebiesupply.com/logos/large/2x/shopify-logo-png-transparent.png" />
} horizontal>
</Card>
<Card title="Amazon" href="/integrations/ecommerce/amazon/index" icon={
<img src="https://cdn.vectorstock.com/i/500p/39/87/astana-kazakhstan-20-july-2020-amazon-icon-vector-34243987.jpg" />
} horizontal>
</Card>
<Card title="Squarespace" href="/integrations/ecommerce/sqaurespace/index" icon={
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTu9U-j_3EMYlKtu5dRaTl6ejitL2X6lz3pYg&s" />
} horizontal>
</Card>
<Card title="Woocommerce" href="/integrations/ecommerce/woocommerce/index" icon={
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSHiusc7S5-BoiU1YKCztJMv_Qj7wlim4TwbA&s" />
} horizontal>
</Card>
</CardGroup>
</Tab>
<Tab title="File Storage">
Expand All @@ -66,7 +78,7 @@ icon: album-collection
<Tab title="Ticketing">
<CardGroup cols={2}>
<Card title="Zendesk" href="/integrations/ticketing/zendesk/index" icon={
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRNKVceZGVM7PbARp_2bjdOICUxlpS5B29UYlurvh6Z2Q&s" />
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRNKVceZGVM7PbARp_2bjdOICUxlpS5B29UYlurvh6Z2Q&s" />
} horizontal>
</Card>
<Card title="Front" href="/integrations/ticketing/front/index" icon={
Expand All @@ -81,9 +93,22 @@ icon: album-collection
<img src="https://seeklogo.com/images/J/jira-logo-FD39F795A7-seeklogo.com.png" />
} horizontal>
</Card>
<Card title="Github" href="/integrations/ticketing/github/index" icon={
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRqz0aID6B-InxK_03P7tCtqpXNXdawBcro67CyEE0I5g&s" />
} horizontal>
</Card>
</CardGroup>
</Tab>

<Tab title="HRIS">
<CardGroup cols={2}>
<Card title="Gusto" href="/integrations/hris/gusto/index" icon={
<img src="https://cdn.runalloy.com/landing/uploads-new/Gusto_Logo_67ca008403.png" />
} horizontal>
</Card>
</CardGroup>
</Tab>

</Tabs>


Expand Down
10 changes: 10 additions & 0 deletions docs/hris/overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: 'Overview'
description: ''
---
import hrisCatalog from '/snippets/hris-catalog.mdx';

Welcome to the reference documentation for the Panora HRIS API! This API allows you to integrate with Panora and read data from or write data into the integrations authorized by your users.

## Supported HRIS Providers & Objects
<hrisCatalog />
89 changes: 89 additions & 0 deletions docs/hris/quickstart.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
title: "Quick Start"
description: "Read and write data to multiple HRIS platforms using a single API"
icon: "star"
---

## Get employees in an HRIS using Panora

<Check>
We assume for this tutorial that you have a valid Panora API Key, and a
`connection_token`. Find help [here](/core-concepts/auth).
</Check>

<Steps>
<Info>
You can find the Typescript SDK [here](https://www.npmjs.com/package/@panora/sdk-typescript)
</Info>
<Step title="Setup your API Key in your code:">
<CodeGroup>
```javascript TypeScript SDK
import { Panora } from '@panora/sdk';
const panora = new Panora({ apiKey: process.env.API_KEY });
```

```python Python SDK
import os
from panora_sdk import Panora
panora = Panora(
api_key=os.getenv("API_KEY", ""),
)
```
</CodeGroup>
</Step>

<Step title="Get employees in your HRIS:">
<Info>In this example, we will get employees in an HRIS. Visit other sections of the documentation to find category-specific examples</Info>
<CodeGroup>

```shell curl
curl --request GET \
--url https://api.panora.dev/hris/employees \
--header 'x-api-key: <api-key> ' \
--header 'Content-Type: application/json' \
--header 'x-connection-token: <connection_token>' \
```

```javascript TypeScript
import { Panora } from "@panora/sdk";

const panora = new Panora({
apiKey: process.env.API_KEY,
});

const result = await panora.hris.employees.list({
xConnectionToken: "<value>",
remoteData: true,
limit: 10,
cursor: "1b8b05bb-5273-4012-b520-8657b0b90874",
});

for await (const page of result) {
// handle page
}

console.log(result);
```

```python Python
import os
from panora_sdk import Panora

panora = Panora(
api_key=os.getenv("API_KEY", ""),
)

res = panora.ticketing.tickets.list(x_connection_token="<value>", remote_data=True, limit=10, cursor="1b8b05bb-5273-4012-b520-8657b0b90874")

if res is not None:
while True:
# handle items

res = res.Next()
if res is None:
break
```
</CodeGroup>
</Step>

</Steps>
21 changes: 21 additions & 0 deletions docs/integrations/ecommerce/amazon/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: "Amazon"
description: ""
---

# Common Objects


| Unified Model | Supported | Provider Endpoints |
| -------- | ------------------------------------- | ------------------------------------- |
| Customer | Yes ✅ | /admin/api/2024-07/customers.json |
| Order | Yes ✅ | /admin/api/2024-07/orders.json |
| Fulfillment | Yes ✅ | /admin/api/2024-07/orders/:remote_order_id/fulfillments.json|
| Fulfillment Orders | No 🚫| |
| Product | Yes ✅ | /admin/api/2024-07/products.json |


| Features | Supported |
| -------- | ------------------------------------- |
| Scopes | |
| Realtime webhook | No 🚫|
Loading

0 comments on commit d6767c1

Please sign in to comment.