Files
boc/quixzoom-token-system/api/node_modules/stripe/esm/resources/OAuth.js
T
Bernt 58ca4e68db feat(boc): Complete Business Operations Center v1.0
- Go backend API with full CRUD for all modules (CRM, Sales, Finance, HR, Legal, Marketing, Support, Purchase, Inventory, Projects, Automation, Analytics)
- Rust analytics service with parallel report generation
- C runtime with POSIX shared memory IPC
- PostgreSQL schema with 30+ tables, full migrations
- Redis cache, sessions, pub/sub
- Kafka event streaming with Zookeeper
- WebSocket hub for real-time updates
- Automation engine with cron jobs, workflows, event triggers
- JWT authentication, multi-tenant from start
- Docker Compose with all services
- Nginx reverse proxy with rate limiting
- Integration tests passing
- Feature gap analysis against Fortnox/Odoo/Visma

Refs: BOC-001
2026-07-12 12:41:35 +00:00

43 lines
1.3 KiB
JavaScript

'use strict';
import { StripeResource } from '../StripeResource.js';
import { stringifyRequestData } from '../utils.js';
const stripeMethod = StripeResource.method;
const oAuthHost = 'connect.stripe.com';
export const OAuth = StripeResource.extend({
basePath: '/',
authorizeUrl(params, options) {
params = params || {};
options = options || {};
let path = 'oauth/authorize';
// For Express accounts, the path changes
if (options.express) {
path = `express/${path}`;
}
if (!params.response_type) {
params.response_type = 'code';
}
if (!params.client_id) {
params.client_id = this._stripe.getClientId();
}
if (!params.scope) {
params.scope = 'read_write';
}
return `https://${oAuthHost}/${path}?${stringifyRequestData(params)}`;
},
token: stripeMethod({
method: 'POST',
path: 'oauth/token',
host: oAuthHost,
}),
deauthorize(spec, ...args) {
if (!spec.client_id) {
spec.client_id = this._stripe.getClientId();
}
return stripeMethod({
method: 'POST',
path: 'oauth/deauthorize',
host: oAuthHost,
}).apply(this, [spec, ...args]);
},
});