@fabriktor/client 0.0.28 → 0.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/src/billable/billable.d.ts +213 -0
  2. package/dist/src/billable/billable.js +441 -0
  3. package/dist/src/calls/calls.d.ts +34 -0
  4. package/dist/src/calls/calls.js +65 -0
  5. package/dist/src/chat/chat.d.ts +97 -0
  6. package/dist/src/chat/chat.js +224 -0
  7. package/dist/src/contacts/contacts.d.ts +37 -0
  8. package/dist/src/contacts/contacts.js +94 -0
  9. package/dist/src/core/col.d.ts +7 -1
  10. package/dist/src/core/col.js +29 -14
  11. package/dist/src/core/crud.d.ts +1 -1
  12. package/dist/src/core/crud.js +1 -1
  13. package/dist/src/core/http.d.ts +3 -4
  14. package/dist/src/core/http.js +3 -3
  15. package/dist/src/core/idempotency.js +1 -1
  16. package/dist/src/core/multipart.d.ts +25 -0
  17. package/dist/src/core/multipart.js +93 -0
  18. package/dist/src/feed/feed.d.ts +65 -0
  19. package/dist/src/feed/feed.js +130 -0
  20. package/dist/src/fulfillments/fulfillments.d.ts +36 -0
  21. package/dist/src/fulfillments/fulfillments.js +68 -0
  22. package/dist/src/index.d.ts +14 -0
  23. package/dist/src/index.js +14 -0
  24. package/dist/src/jobs/jobs.d.ts +69 -0
  25. package/dist/src/jobs/jobs.js +143 -0
  26. package/dist/src/marketplace/marketplace.d.ts +49 -0
  27. package/dist/src/marketplace/marketplace.js +94 -0
  28. package/dist/src/payments/payments.d.ts +154 -0
  29. package/dist/src/payments/payments.js +328 -0
  30. package/dist/src/payrolls/payrolls.d.ts +179 -0
  31. package/dist/src/payrolls/payrolls.js +380 -0
  32. package/dist/src/processes/processes.d.ts +3 -3
  33. package/dist/src/routes/routes.d.ts +93 -0
  34. package/dist/src/routes/routes.js +185 -0
  35. package/dist/src/storage/storage.d.ts +124 -0
  36. package/dist/src/storage/storage.js +242 -0
  37. package/dist/src/timesheets/timesheets.d.ts +49 -0
  38. package/dist/src/timesheets/timesheets.js +105 -0
  39. package/dist/src/users/tmp_phones.d.ts +1 -1
  40. package/dist/src/users/tmp_usernames.d.ts +5 -4
  41. package/dist/src/users/users.d.ts +13 -12
  42. package/dist/src/users/users.js +4 -1
  43. package/package.json +3 -2
@@ -3,7 +3,7 @@
3
3
  // Licensed under the Apache License, Version 2.0 (the "License"); you may
4
4
  // not use this file except in compliance with the License. You may obtain
5
5
  // a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
- import { HeaderIdempotency, HTTPMethodPost, HTTPMethodPatch, } from "@fabriktor/schema";
6
+ import { HeaderIdempotency, HTTPMethodPatch, HTTPMethodPost, } from "@fabriktor/schema";
7
7
  export const idempotentMethods = new Set([HTTPMethodPost, HTTPMethodPatch]);
8
8
  function newToken() {
9
9
  return crypto.randomUUID();
@@ -0,0 +1,25 @@
1
+ import { HTTPMethodPost } from "@fabriktor/schema";
2
+ import type { Fetcher } from "./http.js";
3
+ import type { IdempotencyStore } from "./idempotency.js";
4
+ export type MultipartMethod = typeof HTTPMethodPost;
5
+ export type MultipartOptions = {
6
+ base_url: string;
7
+ path: string;
8
+ method: MultipartMethod;
9
+ token?: string;
10
+ form: FormData;
11
+ };
12
+ export interface MultipartDoer {
13
+ do<R>(opts: MultipartOptions): Promise<R>;
14
+ }
15
+ export type MultipartClientOptions = {
16
+ fetcher: Fetcher;
17
+ idempotency: IdempotencyStore;
18
+ };
19
+ export declare class MultipartClient implements MultipartDoer {
20
+ private fetcher;
21
+ private idempotency;
22
+ constructor(opts: MultipartClientOptions);
23
+ do<R>(opts: MultipartOptions): Promise<R>;
24
+ }
25
+ export declare function newMultipartClient(opts?: Partial<MultipartClientOptions>): MultipartClient;
@@ -0,0 +1,93 @@
1
+ // Copyright (C) Fabriktor, Inc. 2025-present.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+ // not use this file except in compliance with the License. You may obtain
5
+ // a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ import { errFromHTTP, errHTTPRequestFailed, errHTTPResponseInvalid, } from "./err.js";
7
+ import { WebFetcher, headerAuthorization, prefixBearer } from "./http.js";
8
+ import { applyIdempotencyHeader, DefaultIdempotencyStore, } from "./idempotency.js";
9
+ export class MultipartClient {
10
+ fetcher;
11
+ idempotency;
12
+ constructor(opts) {
13
+ this.fetcher = opts.fetcher;
14
+ this.idempotency = opts.idempotency;
15
+ }
16
+ async do(opts) {
17
+ const h = headers(opts);
18
+ const idempotencyToken = applyIdempotencyHeader({
19
+ headers: h,
20
+ store: this.idempotency,
21
+ method: opts.method,
22
+ path: opts.path,
23
+ });
24
+ let res;
25
+ try {
26
+ res = await this.fetcher.fetch(url(opts.base_url, opts.path), {
27
+ method: opts.method,
28
+ headers: h,
29
+ body: opts.form,
30
+ });
31
+ }
32
+ catch (err) {
33
+ throw errHTTPRequestFailed(err);
34
+ }
35
+ if (idempotencyToken !== undefined) {
36
+ this.idempotency.reset(opts.method, opts.path);
37
+ }
38
+ if (!res.ok) {
39
+ return await fail(res);
40
+ }
41
+ if (noContent(res)) {
42
+ return undefined;
43
+ }
44
+ try {
45
+ return (await res.json());
46
+ }
47
+ catch (err) {
48
+ throw errHTTPResponseInvalid(err);
49
+ }
50
+ }
51
+ }
52
+ export function newMultipartClient(opts) {
53
+ return new MultipartClient({
54
+ fetcher: opts?.fetcher ?? new WebFetcher(),
55
+ idempotency: opts?.idempotency ?? new DefaultIdempotencyStore(),
56
+ });
57
+ }
58
+ function url(base, path) {
59
+ return `${base.replace(/\/+$/g, "")}/${path.replace(/^\/+/g, "")}`;
60
+ }
61
+ function headers(opts) {
62
+ const h = new Headers();
63
+ if (opts.token !== undefined) {
64
+ h.set(headerAuthorization, `${prefixBearer} ${opts.token}`);
65
+ }
66
+ return h;
67
+ }
68
+ function noContent(res) {
69
+ return res.status === 204 || res.status === 205;
70
+ }
71
+ async function fail(res) {
72
+ const txt = await text(res);
73
+ throw errFromHTTP(httpErr(res, txt));
74
+ }
75
+ async function text(res) {
76
+ try {
77
+ return await res.text();
78
+ }
79
+ catch (err) {
80
+ throw errHTTPResponseInvalid(err);
81
+ }
82
+ }
83
+ function httpErr(res, txt) {
84
+ try {
85
+ return JSON.parse(txt);
86
+ }
87
+ catch {
88
+ return {
89
+ code: res.status,
90
+ msg: txt || res.statusText || res.status.toString(),
91
+ };
92
+ }
93
+ }
@@ -0,0 +1,65 @@
1
+ import { type FeedFavorite, type FeedPost, type FeedReaction, type InFeedFavorite, type InFeedPost, type InFeedReaction, type OperationResult, type PLFeedPull, type PLFeedRestrict, type RPFeedPull } from "@fabriktor/schema";
2
+ import type { TokenProvider } from "../core/auth.js";
3
+ import type { DeleteManyOptionsCRUD, DeleteOneOptionsCRUD, FindOneOptionsCRUD, InsertOneOptionsCRUD, OperationResultOf, QueryOptionsCRUD, ReplaceOneOptionsCRUD, SearchManyOptionsCRUD, SearchResultOf } from "../core/crud.js";
4
+ import type { HTTPDoer } from "../core/http.js";
5
+ export type PullFeedOptions = PLFeedPull;
6
+ export type RestrictFeedOptions = PLFeedRestrict;
7
+ export type FeedClientOptions = {
8
+ http: HTTPDoer;
9
+ base_url: string;
10
+ get_token?: TokenProvider;
11
+ };
12
+ export interface FeedOperator {
13
+ queryFeedPosts(opts?: QueryOptionsCRUD): Promise<OperationResultOf<FeedPost[]>>;
14
+ insertOneFeedPost(opts: InsertOneOptionsCRUD<InFeedPost>): Promise<OperationResult>;
15
+ findOneFeedPost(opts: FindOneOptionsCRUD): Promise<OperationResultOf<FeedPost>>;
16
+ replaceOneFeedPost(opts: ReplaceOneOptionsCRUD<InFeedPost>): Promise<OperationResult>;
17
+ deleteOneFeedPost(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
18
+ deleteManyFeedPosts(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
19
+ searchManyFeedPosts(opts?: SearchManyOptionsCRUD): Promise<OperationResultOf<SearchResultOf<FeedPost>>>;
20
+ queryFeedReactions(opts?: QueryOptionsCRUD): Promise<OperationResultOf<FeedReaction[]>>;
21
+ insertOneFeedReaction(opts: InsertOneOptionsCRUD<InFeedReaction>): Promise<OperationResult>;
22
+ findOneFeedReaction(opts: FindOneOptionsCRUD): Promise<OperationResultOf<FeedReaction>>;
23
+ replaceOneFeedReaction(opts: ReplaceOneOptionsCRUD<InFeedReaction>): Promise<OperationResult>;
24
+ deleteOneFeedReaction(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
25
+ deleteManyFeedReactions(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
26
+ queryFeedFavorites(opts?: QueryOptionsCRUD): Promise<OperationResultOf<FeedFavorite[]>>;
27
+ insertOneFeedFavorite(opts: InsertOneOptionsCRUD<InFeedFavorite>): Promise<OperationResult>;
28
+ findOneFeedFavorite(opts: FindOneOptionsCRUD): Promise<OperationResultOf<FeedFavorite>>;
29
+ replaceOneFeedFavorite(opts: ReplaceOneOptionsCRUD<InFeedFavorite>): Promise<OperationResult>;
30
+ deleteOneFeedFavorite(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
31
+ deleteManyFeedFavorites(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
32
+ pull(opts: PullFeedOptions): Promise<OperationResultOf<RPFeedPull>>;
33
+ restrict(opts: RestrictFeedOptions): Promise<void>;
34
+ }
35
+ export declare class FeedClient implements FeedOperator {
36
+ private feed_posts;
37
+ private feed_reactions;
38
+ private feed_favorites;
39
+ private http;
40
+ private base_url;
41
+ private get_token?;
42
+ constructor(opts: FeedClientOptions);
43
+ queryFeedPosts(opts?: QueryOptionsCRUD): Promise<OperationResultOf<FeedPost[]>>;
44
+ insertOneFeedPost(opts: InsertOneOptionsCRUD<InFeedPost>): Promise<OperationResult>;
45
+ findOneFeedPost(opts: FindOneOptionsCRUD): Promise<OperationResultOf<FeedPost>>;
46
+ replaceOneFeedPost(opts: ReplaceOneOptionsCRUD<InFeedPost>): Promise<OperationResult>;
47
+ deleteOneFeedPost(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
48
+ deleteManyFeedPosts(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
49
+ searchManyFeedPosts(opts?: SearchManyOptionsCRUD): Promise<OperationResultOf<SearchResultOf<FeedPost>>>;
50
+ queryFeedReactions(opts?: QueryOptionsCRUD): Promise<OperationResultOf<FeedReaction[]>>;
51
+ insertOneFeedReaction(opts: InsertOneOptionsCRUD<InFeedReaction>): Promise<OperationResult>;
52
+ findOneFeedReaction(opts: FindOneOptionsCRUD): Promise<OperationResultOf<FeedReaction>>;
53
+ replaceOneFeedReaction(opts: ReplaceOneOptionsCRUD<InFeedReaction>): Promise<OperationResult>;
54
+ deleteOneFeedReaction(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
55
+ deleteManyFeedReactions(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
56
+ queryFeedFavorites(opts?: QueryOptionsCRUD): Promise<OperationResultOf<FeedFavorite[]>>;
57
+ insertOneFeedFavorite(opts: InsertOneOptionsCRUD<InFeedFavorite>): Promise<OperationResult>;
58
+ findOneFeedFavorite(opts: FindOneOptionsCRUD): Promise<OperationResultOf<FeedFavorite>>;
59
+ replaceOneFeedFavorite(opts: ReplaceOneOptionsCRUD<InFeedFavorite>): Promise<OperationResult>;
60
+ deleteOneFeedFavorite(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
61
+ deleteManyFeedFavorites(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
62
+ pull(opts: PullFeedOptions): Promise<OperationResultOf<RPFeedPull>>;
63
+ restrict(opts: RestrictFeedOptions): Promise<void>;
64
+ }
65
+ export declare function newFeedClient(opts: FeedClientOptions): FeedClient;
@@ -0,0 +1,130 @@
1
+ // Copyright (C) Fabriktor, Inc. 2025-present.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+ // not use this file except in compliance with the License. You may obtain
5
+ // a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ import { ColFeedFeedFavorites, ColFeedFeedPosts, ColFeedFeedReactions, HTTPMethodPost, PathFeedRestrict, PathPull, SvcFeed, } from "@fabriktor/schema";
7
+ import { requiredToken } from "../core/auth.js";
8
+ import { newCRUDClient } from "../core/crud.js";
9
+ import { buildPath } from "../core/path.js";
10
+ export class FeedClient {
11
+ feed_posts;
12
+ feed_reactions;
13
+ feed_favorites;
14
+ http;
15
+ base_url;
16
+ get_token;
17
+ constructor(opts) {
18
+ this.feed_posts = newCRUDClient({
19
+ http: opts.http,
20
+ base_url: opts.base_url,
21
+ svc: SvcFeed,
22
+ col: ColFeedFeedPosts,
23
+ get_token: opts.get_token,
24
+ });
25
+ this.feed_reactions = newCRUDClient({
26
+ http: opts.http,
27
+ base_url: opts.base_url,
28
+ svc: SvcFeed,
29
+ col: ColFeedFeedReactions,
30
+ get_token: opts.get_token,
31
+ });
32
+ this.feed_favorites = newCRUDClient({
33
+ http: opts.http,
34
+ base_url: opts.base_url,
35
+ svc: SvcFeed,
36
+ col: ColFeedFeedFavorites,
37
+ get_token: opts.get_token,
38
+ });
39
+ this.http = opts.http;
40
+ this.base_url = opts.base_url;
41
+ this.get_token = opts.get_token;
42
+ }
43
+ async queryFeedPosts(opts) {
44
+ return await this.feed_posts.query(opts);
45
+ }
46
+ async insertOneFeedPost(opts) {
47
+ return await this.feed_posts.insertOne(opts);
48
+ }
49
+ async findOneFeedPost(opts) {
50
+ return await this.feed_posts.findOne(opts);
51
+ }
52
+ async replaceOneFeedPost(opts) {
53
+ return await this.feed_posts.replaceOne(opts);
54
+ }
55
+ async deleteOneFeedPost(opts) {
56
+ return await this.feed_posts.deleteOne(opts);
57
+ }
58
+ async deleteManyFeedPosts(opts) {
59
+ return await this.feed_posts.deleteMany(opts);
60
+ }
61
+ async searchManyFeedPosts(opts) {
62
+ return await this.feed_posts.searchMany(opts);
63
+ }
64
+ async queryFeedReactions(opts) {
65
+ return await this.feed_reactions.query(opts);
66
+ }
67
+ async insertOneFeedReaction(opts) {
68
+ return await this.feed_reactions.insertOne(opts);
69
+ }
70
+ async findOneFeedReaction(opts) {
71
+ return await this.feed_reactions.findOne(opts);
72
+ }
73
+ async replaceOneFeedReaction(opts) {
74
+ return await this.feed_reactions.replaceOne(opts);
75
+ }
76
+ async deleteOneFeedReaction(opts) {
77
+ return await this.feed_reactions.deleteOne(opts);
78
+ }
79
+ async deleteManyFeedReactions(opts) {
80
+ return await this.feed_reactions.deleteMany(opts);
81
+ }
82
+ async queryFeedFavorites(opts) {
83
+ return await this.feed_favorites.query(opts);
84
+ }
85
+ async insertOneFeedFavorite(opts) {
86
+ return await this.feed_favorites.insertOne(opts);
87
+ }
88
+ async findOneFeedFavorite(opts) {
89
+ return await this.feed_favorites.findOne(opts);
90
+ }
91
+ async replaceOneFeedFavorite(opts) {
92
+ return await this.feed_favorites.replaceOne(opts);
93
+ }
94
+ async deleteOneFeedFavorite(opts) {
95
+ return await this.feed_favorites.deleteOne(opts);
96
+ }
97
+ async deleteManyFeedFavorites(opts) {
98
+ return await this.feed_favorites.deleteMany(opts);
99
+ }
100
+ async pull(opts) {
101
+ const token = await requiredToken(this.get_token);
102
+ return await this.http.do({
103
+ base_url: this.base_url,
104
+ path: feedPostPath(PathPull),
105
+ method: HTTPMethodPost,
106
+ token,
107
+ body: opts,
108
+ });
109
+ }
110
+ async restrict(opts) {
111
+ const token = await requiredToken(this.get_token);
112
+ return await this.http.do({
113
+ base_url: this.base_url,
114
+ path: feedPostPath(PathFeedRestrict),
115
+ method: HTTPMethodPost,
116
+ token,
117
+ body: opts,
118
+ });
119
+ }
120
+ }
121
+ export function newFeedClient(opts) {
122
+ return new FeedClient(opts);
123
+ }
124
+ function feedPostPath(action) {
125
+ return buildPath({
126
+ svc: SvcFeed,
127
+ col: ColFeedFeedPosts,
128
+ action,
129
+ });
130
+ }
@@ -0,0 +1,36 @@
1
+ import { type FulfillOrder, type InFulfillOrder, type OperationResult, type PLFulfillmentsShipmentStatus, type RPFulfillmentsFulfillShipmentStatus } from "@fabriktor/schema";
2
+ import type { TokenProvider } from "../core/auth.js";
3
+ import type { DeleteManyOptionsCRUD, DeleteOneOptionsCRUD, FindOneOptionsCRUD, InsertOneOptionsCRUD, OperationResultOf, QueryOptionsCRUD, ReplaceOneOptionsCRUD, SearchManyOptionsCRUD, SearchResultOf } from "../core/crud.js";
4
+ import type { HTTPDoer } from "../core/http.js";
5
+ export type ShipmentStatusOptions = PLFulfillmentsShipmentStatus;
6
+ export type FulfillmentsClientOptions = {
7
+ http: HTTPDoer;
8
+ base_url: string;
9
+ get_token?: TokenProvider;
10
+ };
11
+ export interface FulfillmentsOperator {
12
+ queryFulfillOrders(opts?: QueryOptionsCRUD): Promise<OperationResultOf<FulfillOrder[]>>;
13
+ insertOneFulfillOrder(opts: InsertOneOptionsCRUD<InFulfillOrder>): Promise<OperationResult>;
14
+ findOneFulfillOrder(opts: FindOneOptionsCRUD): Promise<OperationResultOf<FulfillOrder>>;
15
+ replaceOneFulfillOrder(opts: ReplaceOneOptionsCRUD<InFulfillOrder>): Promise<OperationResult>;
16
+ deleteOneFulfillOrder(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
17
+ deleteManyFulfillOrders(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
18
+ searchManyFulfillOrders(opts?: SearchManyOptionsCRUD): Promise<OperationResultOf<SearchResultOf<FulfillOrder>>>;
19
+ shipmentStatus(opts: ShipmentStatusOptions): Promise<OperationResultOf<RPFulfillmentsFulfillShipmentStatus>>;
20
+ }
21
+ export declare class FulfillmentsClient implements FulfillmentsOperator {
22
+ private fulfill_orders;
23
+ private http;
24
+ private base_url;
25
+ private get_token?;
26
+ constructor(opts: FulfillmentsClientOptions);
27
+ queryFulfillOrders(opts?: QueryOptionsCRUD): Promise<OperationResultOf<FulfillOrder[]>>;
28
+ insertOneFulfillOrder(opts: InsertOneOptionsCRUD<InFulfillOrder>): Promise<OperationResult>;
29
+ findOneFulfillOrder(opts: FindOneOptionsCRUD): Promise<OperationResultOf<FulfillOrder>>;
30
+ replaceOneFulfillOrder(opts: ReplaceOneOptionsCRUD<InFulfillOrder>): Promise<OperationResult>;
31
+ deleteOneFulfillOrder(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
32
+ deleteManyFulfillOrders(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
33
+ searchManyFulfillOrders(opts?: SearchManyOptionsCRUD): Promise<OperationResultOf<SearchResultOf<FulfillOrder>>>;
34
+ shipmentStatus(opts: ShipmentStatusOptions): Promise<OperationResultOf<RPFulfillmentsFulfillShipmentStatus>>;
35
+ }
36
+ export declare function newFulfillmentsClient(opts: FulfillmentsClientOptions): FulfillmentsClient;
@@ -0,0 +1,68 @@
1
+ // Copyright (C) Fabriktor, Inc. 2025-present.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License"); you may
4
+ // not use this file except in compliance with the License. You may obtain
5
+ // a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ import { ColFulfillmentsFulfillOrders, HTTPMethodPost, PathFulfillmentsStatus, SvcFulfillments, } from "@fabriktor/schema";
7
+ import { requiredToken } from "../core/auth.js";
8
+ import { newCRUDClient } from "../core/crud.js";
9
+ import { buildPath } from "../core/path.js";
10
+ export class FulfillmentsClient {
11
+ fulfill_orders;
12
+ http;
13
+ base_url;
14
+ get_token;
15
+ constructor(opts) {
16
+ this.fulfill_orders = newCRUDClient({
17
+ http: opts.http,
18
+ base_url: opts.base_url,
19
+ svc: SvcFulfillments,
20
+ col: ColFulfillmentsFulfillOrders,
21
+ get_token: opts.get_token,
22
+ });
23
+ this.http = opts.http;
24
+ this.base_url = opts.base_url;
25
+ this.get_token = opts.get_token;
26
+ }
27
+ async queryFulfillOrders(opts) {
28
+ return await this.fulfill_orders.query(opts);
29
+ }
30
+ async insertOneFulfillOrder(opts) {
31
+ return await this.fulfill_orders.insertOne(opts);
32
+ }
33
+ async findOneFulfillOrder(opts) {
34
+ return await this.fulfill_orders.findOne(opts);
35
+ }
36
+ async replaceOneFulfillOrder(opts) {
37
+ return await this.fulfill_orders.replaceOne(opts);
38
+ }
39
+ async deleteOneFulfillOrder(opts) {
40
+ return await this.fulfill_orders.deleteOne(opts);
41
+ }
42
+ async deleteManyFulfillOrders(opts) {
43
+ return await this.fulfill_orders.deleteMany(opts);
44
+ }
45
+ async searchManyFulfillOrders(opts) {
46
+ return await this.fulfill_orders.searchMany(opts);
47
+ }
48
+ async shipmentStatus(opts) {
49
+ const token = await requiredToken(this.get_token);
50
+ return await this.http.do({
51
+ base_url: this.base_url,
52
+ path: fulfillOrderPath(PathFulfillmentsStatus),
53
+ method: HTTPMethodPost,
54
+ token,
55
+ body: opts,
56
+ });
57
+ }
58
+ }
59
+ export function newFulfillmentsClient(opts) {
60
+ return new FulfillmentsClient(opts);
61
+ }
62
+ function fulfillOrderPath(action) {
63
+ return buildPath({
64
+ svc: SvcFulfillments,
65
+ col: ColFulfillmentsFulfillOrders,
66
+ action,
67
+ });
68
+ }
@@ -1,16 +1,30 @@
1
+ export * from "./billable/billable.js";
2
+ export * from "./calls/calls.js";
3
+ export * from "./chat/chat.js";
1
4
  export * from "./connections/connections.js";
5
+ export * from "./contacts/contacts.js";
2
6
  export * from "./core/auth.js";
3
7
  export * from "./core/col.js";
4
8
  export * from "./core/crud.js";
5
9
  export * from "./core/err.js";
6
10
  export * from "./core/http.js";
7
11
  export * from "./core/idempotency.js";
12
+ export * from "./core/multipart.js";
8
13
  export * from "./core/path.js";
14
+ export * from "./feed/feed.js";
15
+ export * from "./fulfillments/fulfillments.js";
16
+ export * from "./jobs/jobs.js";
17
+ export * from "./marketplace/marketplace.js";
9
18
  export * from "./memos/memos.js";
10
19
  export * from "./notifications/notifications.js";
20
+ export * from "./payments/payments.js";
21
+ export * from "./payrolls/payrolls.js";
11
22
  export * from "./preferences/preferences.js";
12
23
  export * from "./privacy/privacy.js";
13
24
  export * from "./processes/processes.js";
25
+ export * from "./routes/routes.js";
26
+ export * from "./storage/storage.js";
27
+ export * from "./timesheets/timesheets.js";
14
28
  export * from "./users/tmp_phones.js";
15
29
  export * from "./users/tmp_usernames.js";
16
30
  export * from "./users/users.js";
package/dist/src/index.js CHANGED
@@ -1,16 +1,30 @@
1
+ export * from "./billable/billable.js";
2
+ export * from "./calls/calls.js";
3
+ export * from "./chat/chat.js";
1
4
  export * from "./connections/connections.js";
5
+ export * from "./contacts/contacts.js";
2
6
  export * from "./core/auth.js";
3
7
  export * from "./core/col.js";
4
8
  export * from "./core/crud.js";
5
9
  export * from "./core/err.js";
6
10
  export * from "./core/http.js";
7
11
  export * from "./core/idempotency.js";
12
+ export * from "./core/multipart.js";
8
13
  export * from "./core/path.js";
14
+ export * from "./feed/feed.js";
15
+ export * from "./fulfillments/fulfillments.js";
16
+ export * from "./jobs/jobs.js";
17
+ export * from "./marketplace/marketplace.js";
9
18
  export * from "./memos/memos.js";
10
19
  export * from "./notifications/notifications.js";
20
+ export * from "./payments/payments.js";
21
+ export * from "./payrolls/payrolls.js";
11
22
  export * from "./preferences/preferences.js";
12
23
  export * from "./privacy/privacy.js";
13
24
  export * from "./processes/processes.js";
25
+ export * from "./routes/routes.js";
26
+ export * from "./storage/storage.js";
27
+ export * from "./timesheets/timesheets.js";
14
28
  export * from "./users/tmp_phones.js";
15
29
  export * from "./users/tmp_usernames.js";
16
30
  export * from "./users/users.js";
@@ -0,0 +1,69 @@
1
+ import { type InJob, type InJobProgram, type InLocation, type Job, type JobProgram, type Location, type OperationResult, type PLJobsFindOverlaps, type RPJobsFindOverlaps } from "@fabriktor/schema";
2
+ import type { TokenProvider } from "../core/auth.js";
3
+ import type { DeleteManyOptionsCRUD, DeleteOneOptionsCRUD, FindOneOptionsCRUD, InsertOneOptionsCRUD, OperationResultOf, QueryOptionsCRUD, ReplaceOneOptionsCRUD, SearchManyOptionsCRUD, SearchResultOf } from "../core/crud.js";
4
+ import type { HTTPDoer } from "../core/http.js";
5
+ export type FindOverlapsOptions = PLJobsFindOverlaps;
6
+ export type ImmediateJobFromProgramOptions = InJobProgram;
7
+ export type JobsClientOptions = {
8
+ http: HTTPDoer;
9
+ base_url: string;
10
+ get_token?: TokenProvider;
11
+ };
12
+ export interface JobsOperator {
13
+ queryLocations(opts?: QueryOptionsCRUD): Promise<OperationResultOf<Location[]>>;
14
+ insertOneLocation(opts: InsertOneOptionsCRUD<InLocation>): Promise<OperationResult>;
15
+ findOneLocation(opts: FindOneOptionsCRUD): Promise<OperationResultOf<Location>>;
16
+ replaceOneLocation(opts: ReplaceOneOptionsCRUD<InLocation>): Promise<OperationResult>;
17
+ deleteOneLocation(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
18
+ deleteManyLocations(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
19
+ searchManyLocations(opts?: SearchManyOptionsCRUD): Promise<OperationResultOf<SearchResultOf<Location>>>;
20
+ queryJobPrograms(opts?: QueryOptionsCRUD): Promise<OperationResultOf<JobProgram[]>>;
21
+ insertOneJobProgram(opts: InsertOneOptionsCRUD<InJobProgram>): Promise<OperationResult>;
22
+ findOneJobProgram(opts: FindOneOptionsCRUD): Promise<OperationResultOf<JobProgram>>;
23
+ replaceOneJobProgram(opts: ReplaceOneOptionsCRUD<InJobProgram>): Promise<OperationResult>;
24
+ deleteOneJobProgram(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
25
+ deleteManyJobPrograms(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
26
+ searchManyJobPrograms(opts?: SearchManyOptionsCRUD): Promise<OperationResultOf<SearchResultOf<JobProgram>>>;
27
+ queryJobs(opts?: QueryOptionsCRUD): Promise<OperationResultOf<Job[]>>;
28
+ insertOneJob(opts: InsertOneOptionsCRUD<InJob>): Promise<OperationResult>;
29
+ findOneJob(opts: FindOneOptionsCRUD): Promise<OperationResultOf<Job>>;
30
+ replaceOneJob(opts: ReplaceOneOptionsCRUD<InJob>): Promise<OperationResult>;
31
+ deleteOneJob(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
32
+ deleteManyJobs(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
33
+ searchManyJobs(opts?: SearchManyOptionsCRUD): Promise<OperationResultOf<SearchResultOf<Job>>>;
34
+ findOverlaps(opts: FindOverlapsOptions): Promise<OperationResultOf<RPJobsFindOverlaps>>;
35
+ immediateJobFromProgram(opts: ImmediateJobFromProgramOptions): Promise<void>;
36
+ }
37
+ export declare class JobsClient implements JobsOperator {
38
+ private locations;
39
+ private job_programs;
40
+ private jobs;
41
+ private http;
42
+ private base_url;
43
+ private get_token?;
44
+ constructor(opts: JobsClientOptions);
45
+ queryLocations(opts?: QueryOptionsCRUD): Promise<OperationResultOf<Location[]>>;
46
+ insertOneLocation(opts: InsertOneOptionsCRUD<InLocation>): Promise<OperationResult>;
47
+ findOneLocation(opts: FindOneOptionsCRUD): Promise<OperationResultOf<Location>>;
48
+ replaceOneLocation(opts: ReplaceOneOptionsCRUD<InLocation>): Promise<OperationResult>;
49
+ deleteOneLocation(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
50
+ deleteManyLocations(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
51
+ searchManyLocations(opts?: SearchManyOptionsCRUD): Promise<OperationResultOf<SearchResultOf<Location>>>;
52
+ queryJobPrograms(opts?: QueryOptionsCRUD): Promise<OperationResultOf<JobProgram[]>>;
53
+ insertOneJobProgram(opts: InsertOneOptionsCRUD<InJobProgram>): Promise<OperationResult>;
54
+ findOneJobProgram(opts: FindOneOptionsCRUD): Promise<OperationResultOf<JobProgram>>;
55
+ replaceOneJobProgram(opts: ReplaceOneOptionsCRUD<InJobProgram>): Promise<OperationResult>;
56
+ deleteOneJobProgram(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
57
+ deleteManyJobPrograms(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
58
+ searchManyJobPrograms(opts?: SearchManyOptionsCRUD): Promise<OperationResultOf<SearchResultOf<JobProgram>>>;
59
+ queryJobs(opts?: QueryOptionsCRUD): Promise<OperationResultOf<Job[]>>;
60
+ insertOneJob(opts: InsertOneOptionsCRUD<InJob>): Promise<OperationResult>;
61
+ findOneJob(opts: FindOneOptionsCRUD): Promise<OperationResultOf<Job>>;
62
+ replaceOneJob(opts: ReplaceOneOptionsCRUD<InJob>): Promise<OperationResult>;
63
+ deleteOneJob(opts: DeleteOneOptionsCRUD): Promise<OperationResult>;
64
+ deleteManyJobs(opts?: DeleteManyOptionsCRUD): Promise<OperationResultOf<number>>;
65
+ searchManyJobs(opts?: SearchManyOptionsCRUD): Promise<OperationResultOf<SearchResultOf<Job>>>;
66
+ findOverlaps(opts: FindOverlapsOptions): Promise<OperationResultOf<RPJobsFindOverlaps>>;
67
+ immediateJobFromProgram(opts: ImmediateJobFromProgramOptions): Promise<void>;
68
+ }
69
+ export declare function newJobsClient(opts: JobsClientOptions): JobsClient;