@driveflux/config 2.1.0-next.2 → 2.1.0-next.3

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.
package/dist/backend.d.ts CHANGED
@@ -5,7 +5,7 @@ declare global {
5
5
  export type ConfigInput = z.input<typeof ConfigValidation>;
6
6
  export type Config = z.infer<typeof ConfigValidation>;
7
7
  export declare const ConfigValidation: z.ZodObject<{
8
- appUrl: z.ZodString;
8
+ appUrl: z.ZodURL;
9
9
  appEnv: z.ZodOptional<z.ZodString>;
10
10
  tunnelUrl: z.ZodOptional<z.ZodString>;
11
11
  prodAppUrl: z.ZodString;
@@ -66,29 +66,30 @@ export declare const ConfigValidation: z.ZodObject<{
66
66
  slack: z.ZodObject<{
67
67
  token: z.ZodString | z.ZodOptional<z.ZodString>;
68
68
  signingSecret: z.ZodString | z.ZodOptional<z.ZodString>;
69
- defaultChannelId: z.ZodString | z.ZodOptional<z.ZodString>;
70
- reservationsChannelId: z.ZodString | z.ZodOptional<z.ZodString>;
71
- fbcChannel: z.ZodString | z.ZodOptional<z.ZodString>;
72
- bdChannel: z.ZodString | z.ZodOptional<z.ZodString>;
73
- mainFluxChannel: z.ZodString | z.ZodOptional<z.ZodString>;
74
- invoiceFailuresChannelId: z.ZodString | z.ZodOptional<z.ZodString>;
75
- inquiriesChannelId: z.ZodString | z.ZodOptional<z.ZodString>;
76
- sstChannelId: z.ZodString | z.ZodOptional<z.ZodString>;
77
- issuesChannelId: z.ZodString | z.ZodOptional<z.ZodString>;
78
- comingServicesChannelId: z.ZodString | z.ZodOptional<z.ZodString>;
79
- engineeringRequestsChannel: z.ZodString | z.ZodOptional<z.ZodString>;
80
- esmsChannelId: z.ZodString | z.ZodOptional<z.ZodString>;
81
- excessMileageChannelId: z.ZodString | z.ZodOptional<z.ZodString>;
69
+ defaultChannelId: z.ZodString;
70
+ reservationsChannelId: z.ZodString;
71
+ fbcChannel: z.ZodString;
72
+ bdChannel: z.ZodString;
73
+ mainFluxChannel: z.ZodString;
74
+ invoiceFailuresChannelId: z.ZodString;
75
+ inquiriesChannelId: z.ZodString;
76
+ sstChannelId: z.ZodString;
77
+ errorChannelId: z.ZodString;
78
+ issuesChannelId: z.ZodString;
79
+ comingServicesChannelId: z.ZodString;
80
+ engineeringRequestsChannel: z.ZodString;
81
+ esmsChannelId: z.ZodString;
82
+ excessMileageChannelId: z.ZodString;
82
83
  }, z.core.$strip>;
83
84
  noStaticGenerating: z.ZodBoolean;
84
85
  notion: z.ZodObject<{
85
86
  secret: z.ZodString;
86
- requestDatabaseId: z.ZodString | z.ZodOptional<z.ZodString>;
87
- reviewsDatabaseId: z.ZodString | z.ZodOptional<z.ZodString>;
88
- fbcDatabaseId: z.ZodString | z.ZodOptional<z.ZodString>;
89
- fluxstersDatabaseId: z.ZodString | z.ZodOptional<z.ZodString>;
90
- bdDatabaseId: z.ZodString | z.ZodOptional<z.ZodString>;
91
- referralsDatabaseId: z.ZodString | z.ZodOptional<z.ZodString>;
87
+ requestDatabaseId: z.ZodString;
88
+ reviewsDatabaseId: z.ZodString;
89
+ fbcDatabaseId: z.ZodString;
90
+ fluxstersDatabaseId: z.ZodString;
91
+ bdDatabaseId: z.ZodString;
92
+ referralsDatabaseId: z.ZodString;
92
93
  brandsLandingPagesDatabaseId: z.ZodString;
93
94
  knowledgeBaseDatabaseId: z.ZodString;
94
95
  }, z.core.$strip>;
@@ -192,29 +193,30 @@ export declare const resetConfig: () => {
192
193
  slack: {
193
194
  token: string | undefined;
194
195
  signingSecret: string | undefined;
195
- defaultChannelId: string | undefined;
196
- reservationsChannelId: string | undefined;
197
- fbcChannel: string | undefined;
198
- bdChannel: string | undefined;
199
- mainFluxChannel: string | undefined;
200
- invoiceFailuresChannelId: string | undefined;
201
- inquiriesChannelId: string | undefined;
202
- sstChannelId: string | undefined;
203
- issuesChannelId: string | undefined;
204
- comingServicesChannelId: string | undefined;
205
- engineeringRequestsChannel: string | undefined;
206
- esmsChannelId: string | undefined;
207
- excessMileageChannelId: string | undefined;
196
+ defaultChannelId: string;
197
+ reservationsChannelId: string;
198
+ fbcChannel: string;
199
+ bdChannel: string;
200
+ mainFluxChannel: string;
201
+ invoiceFailuresChannelId: string;
202
+ inquiriesChannelId: string;
203
+ sstChannelId: string;
204
+ errorChannelId: string;
205
+ issuesChannelId: string;
206
+ comingServicesChannelId: string;
207
+ engineeringRequestsChannel: string;
208
+ esmsChannelId: string;
209
+ excessMileageChannelId: string;
208
210
  };
209
211
  noStaticGenerating: boolean;
210
212
  notion: {
211
213
  secret: string;
212
- requestDatabaseId: string | undefined;
213
- reviewsDatabaseId: string | undefined;
214
- fbcDatabaseId: string | undefined;
215
- fluxstersDatabaseId: string | undefined;
216
- bdDatabaseId: string | undefined;
217
- referralsDatabaseId: string | undefined;
214
+ requestDatabaseId: string;
215
+ reviewsDatabaseId: string;
216
+ fbcDatabaseId: string;
217
+ fluxstersDatabaseId: string;
218
+ bdDatabaseId: string;
219
+ referralsDatabaseId: string;
218
220
  brandsLandingPagesDatabaseId: string;
219
221
  knowledgeBaseDatabaseId: string;
220
222
  };
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,CAAC,MAAM,CAAC;IACd,IAAI,qBAAqB,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC1D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AASrD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuJ3B,CAAA;AAoJF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIvB,CAAA;AAED,eAAO,IAAI,MAAM,EAAE,MAAgD,CAAA;AAEnE,eAAO,MAAM,SAAS,GAAI,GAAG,SAAS,MAAM,MAAM,EACjD,KAAK,GAAG,EACR,OAAO,MAAM,CAAC,GAAG,CAAC,SAGlB,CAAA"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,OAAO,CAAC,MAAM,CAAC;IACd,IAAI,qBAAqB,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC1D,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAErD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqI3B,CAAA;AA2HF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIvB,CAAA;AAED,eAAO,IAAI,MAAM,EAAE,MAAgD,CAAA;AAEnE,eAAO,MAAM,SAAS,GAAI,GAAG,SAAS,MAAM,MAAM,EACjD,KAAK,GAAG,EACR,OAAO,MAAM,CAAC,GAAG,CAAC,SAGlB,CAAA"}
package/dist/backend.js CHANGED
@@ -1,14 +1,11 @@
1
1
  import { singleton } from '@driveflux/singleton';
2
2
  import { z } from 'zod';
3
- var isAppEnv = function(env) {
4
- return process.env.APP_ENV === env;
5
- };
6
- var isProd = function() {
7
- return isAppEnv('production');
8
- };
9
- var requiredStringIfProdValidation = isProd() ? z.string().min(1) : z.string().optional();
10
- export var ConfigValidation = z.object({
11
- appUrl: z.string().url(),
3
+ import { getNotionIds, getSlackIds } from './constants';
4
+ import { notionIdsValidation } from './notion-ids';
5
+ import { slackIdsValidation } from './slack-ids';
6
+ import { getAppEnv, isProd, requiredStringIfProdValidation } from './utils';
7
+ export const ConfigValidation = z.object({
8
+ appUrl: z.url(),
12
9
  appEnv: z.string().optional(),
13
10
  tunnelUrl: z.string().optional(),
14
11
  prodAppUrl: z.string(),
@@ -17,23 +14,21 @@ export var ConfigValidation = z.object({
17
14
  isProd: z.boolean(),
18
15
  taxRate: z.number(),
19
16
  serviceRate: z.number(),
20
- baseCurrency: z.enum([
21
- 'MYR'
22
- ]),
17
+ baseCurrency: z.enum(['MYR']),
23
18
  dbUrl: z.string(),
24
19
  cse: z.object({
25
20
  login: requiredStringIfProdValidation,
26
21
  password: requiredStringIfProdValidation,
27
- templateId: requiredStringIfProdValidation
22
+ templateId: requiredStringIfProdValidation,
28
23
  }),
29
24
  utilization: z.object({
30
- amountThreshold: z.number().min(0).default(5)
25
+ amountThreshold: z.number().min(0).default(5),
31
26
  }),
32
27
  algolia: z.object({
33
28
  appId: z.string(),
34
29
  adminKey: z.string(),
35
30
  searchKey: z.string(),
36
- knowledgeBaseIndex: z.string()
31
+ knowledgeBaseIndex: z.string(),
37
32
  }),
38
33
  upload: z.object({
39
34
  awsKey: z.string(),
@@ -43,7 +38,7 @@ export var ConfigValidation = z.object({
43
38
  siteBucket: z.string(),
44
39
  region: z.string(),
45
40
  secret: z.string().optional(),
46
- debug: z.boolean().optional()
41
+ debug: z.boolean().optional(),
47
42
  }),
48
43
  stripe: z.object({
49
44
  secretKey: z.string(),
@@ -53,51 +48,36 @@ export var ConfigValidation = z.object({
53
48
  // Both possess different keys
54
49
  webhook: z.object({
55
50
  connectAccountKey: z.string(),
56
- accountKey: z.string()
57
- })
51
+ accountKey: z.string(),
52
+ }),
58
53
  }),
59
- twilio: z.object({
54
+ twilio: z
55
+ .object({
60
56
  accountSid: z.string().optional(),
61
57
  authToken: z.string().optional(),
62
- phoneNumber: z.string().optional()
63
- }).optional(),
58
+ phoneNumber: z.string().optional(),
59
+ })
60
+ .optional(),
64
61
  vonage: z.object({
65
62
  apiKey: requiredStringIfProdValidation,
66
- apiSecret: requiredStringIfProdValidation
63
+ apiSecret: requiredStringIfProdValidation,
67
64
  }),
68
65
  esms: z.object({
69
66
  apiKey: requiredStringIfProdValidation,
70
- apiSecret: requiredStringIfProdValidation
67
+ apiSecret: requiredStringIfProdValidation,
71
68
  }),
72
- slack: z.object({
69
+ slack: z
70
+ .object({
73
71
  token: requiredStringIfProdValidation,
74
72
  signingSecret: requiredStringIfProdValidation,
75
- defaultChannelId: requiredStringIfProdValidation,
76
- reservationsChannelId: requiredStringIfProdValidation,
77
- fbcChannel: requiredStringIfProdValidation,
78
- bdChannel: requiredStringIfProdValidation,
79
- mainFluxChannel: requiredStringIfProdValidation,
80
- invoiceFailuresChannelId: requiredStringIfProdValidation,
81
- inquiriesChannelId: requiredStringIfProdValidation,
82
- sstChannelId: requiredStringIfProdValidation,
83
- issuesChannelId: requiredStringIfProdValidation,
84
- comingServicesChannelId: requiredStringIfProdValidation,
85
- engineeringRequestsChannel: requiredStringIfProdValidation,
86
- esmsChannelId: requiredStringIfProdValidation,
87
- excessMileageChannelId: requiredStringIfProdValidation
88
- }),
73
+ })
74
+ .extend(slackIdsValidation.shape),
89
75
  noStaticGenerating: z.boolean(),
90
- notion: z.object({
76
+ notion: z
77
+ .object({
91
78
  secret: z.string().min(1),
92
- requestDatabaseId: requiredStringIfProdValidation,
93
- reviewsDatabaseId: requiredStringIfProdValidation,
94
- fbcDatabaseId: requiredStringIfProdValidation,
95
- fluxstersDatabaseId: requiredStringIfProdValidation,
96
- bdDatabaseId: requiredStringIfProdValidation,
97
- referralsDatabaseId: requiredStringIfProdValidation,
98
- brandsLandingPagesDatabaseId: z.string().min(1),
99
- knowledgeBaseDatabaseId: z.string().min(1)
100
- }),
79
+ })
80
+ .extend(notionIdsValidation.shape),
101
81
  flux: z.object({
102
82
  defaultBillingAddress: z.object({
103
83
  name: z.string(),
@@ -106,188 +86,183 @@ export var ConfigValidation = z.object({
106
86
  city: z.string(),
107
87
  state: z.string(),
108
88
  /**
109
- * Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
110
- */ country: z.string(),
111
- postalCode: z.string()
112
- })
89
+ * Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
90
+ */
91
+ country: z.string(),
92
+ postalCode: z.string(),
93
+ }),
113
94
  }),
114
95
  html2pdfKey: z.string(),
115
96
  cmsPreviewSecret: requiredStringIfProdValidation,
116
97
  search: z.object({
117
- noIdOptimization: z.boolean()
98
+ noIdOptimization: z.boolean(),
118
99
  }),
119
100
  auth: z.object({
120
101
  secureCookies: z.boolean(),
121
102
  authSecret: z.string(),
122
103
  jwtSecret: z.string(),
123
- google: z.object({
104
+ google: z
105
+ .object({
124
106
  clientId: z.string(),
125
- clientSecret: z.string()
126
- }).optional(),
127
- facebook: z.object({
107
+ clientSecret: z.string(),
108
+ })
109
+ .optional(),
110
+ facebook: z
111
+ .object({
128
112
  clientId: z.string(),
129
- clientSecret: z.string()
130
- }).optional(),
131
- apple: z.object({
113
+ clientSecret: z.string(),
114
+ })
115
+ .optional(),
116
+ apple: z
117
+ .object({
132
118
  clientId: z.string(),
133
- clientSecret: z.string()
134
- }).optional(),
135
- email: z.object({
119
+ clientSecret: z.string(),
120
+ })
121
+ .optional(),
122
+ email: z
123
+ .object({
136
124
  server: z.string(),
137
- from: z.string()
138
- }).optional()
125
+ from: z.string(),
126
+ })
127
+ .optional(),
139
128
  }),
140
129
  kv: z.object({
141
130
  url: z.string(),
142
131
  token: z.string(),
143
- apiUrl: z.string()
132
+ apiUrl: z.string(),
144
133
  }),
145
134
  sendSMSOutsideOfProd: z.boolean().optional(),
146
- vercel: z.object({
147
- cronSecret: z.string().optional()
148
- }).optional()
135
+ vercel: z
136
+ .object({
137
+ cronSecret: z.string().optional(),
138
+ })
139
+ .optional(),
149
140
  });
150
- var getConfig = function() {
151
- return {
152
- appUrl: process.env.APP_URL,
153
- appEnv: process.env.APP_ENV,
154
- apiVersion: process.env.API_VERSION,
155
- tunnelUrl: process.env.TUNNEL_URL,
156
- prodAppUrl: process.env.PROD_APP_URL || process.env.APP_URL,
157
- apiUrl: process.env.API_URL || (process.env.APP_URL ? "".concat(process.env.APP_URL, "/api") : undefined),
158
- reservationFee: 49,
159
- isProd: isProd(),
160
- taxRate: 0.08,
161
- serviceRate: 0.1,
162
- // TODO
163
- // @ts-expect-error zod will valide away the wrong values
164
- baseCurrency: process.env.BASE_CURRENCY || 'MYR',
165
- dbUrl: process.env.DATABASE_URL,
166
- cse: {
167
- login: process.env.CSE_LOGIN,
168
- password: process.env.CSE_PASSWORD,
169
- templateId: process.env.CSE_TEMPLATE_ID
141
+ const getConfig = () => ({
142
+ appUrl: process.env.APP_URL,
143
+ appEnv: getAppEnv(),
144
+ apiVersion: process.env.API_VERSION,
145
+ tunnelUrl: process.env.TUNNEL_URL,
146
+ prodAppUrl: process.env.PROD_APP_URL || process.env.APP_URL,
147
+ apiUrl: process.env.API_URL ||
148
+ (process.env.APP_URL ? `${process.env.APP_URL}/api` : undefined),
149
+ reservationFee: 49,
150
+ isProd: isProd(),
151
+ taxRate: 0.08,
152
+ serviceRate: 0.1,
153
+ // TODO
154
+ // @ts-expect-error zod will valide away the wrong values
155
+ baseCurrency: process.env.BASE_CURRENCY || 'MYR',
156
+ dbUrl: process.env.DATABASE_URL,
157
+ cse: {
158
+ login: process.env.CSE_LOGIN,
159
+ password: process.env.CSE_PASSWORD,
160
+ templateId: process.env.CSE_TEMPLATE_ID,
161
+ },
162
+ upload: {
163
+ awsKey: process.env.AWS_KEY,
164
+ awsSecret: process.env.AWS_SECRET,
165
+ usersBucket: process.env.USER_UPLOADS_BUCKET,
166
+ adminBucket: process.env.ADMIN_DOCS_BUCKET,
167
+ siteBucket: process.env.SITE_BUCKET,
168
+ region: process.env.STORAGE_REGION,
169
+ secret: process.env.COMPANION_SECRET,
170
+ debug: process.env.COMPANION_DEBUG === 'true',
171
+ },
172
+ stripe: {
173
+ secretKey: process.env.STRIPE_SECRET_KEY,
174
+ apiVersion: '2020-08-27',
175
+ webhook: {
176
+ connectAccountKey: process.env.STRIPE_CONNECT_WEBHOOK_ENDPOINT_SECRET,
177
+ accountKey: process.env.STRIPE_WEBHOOK_SECRET,
170
178
  },
171
- upload: {
172
- awsKey: process.env.AWS_KEY,
173
- awsSecret: process.env.AWS_SECRET,
174
- usersBucket: process.env.USER_UPLOADS_BUCKET,
175
- adminBucket: process.env.ADMIN_DOCS_BUCKET,
176
- siteBucket: process.env.SITE_BUCKET,
177
- region: process.env.STORAGE_REGION,
178
- secret: process.env.COMPANION_SECRET,
179
- debug: process.env.COMPANION_DEBUG === 'true'
180
- },
181
- stripe: {
182
- secretKey: process.env.STRIPE_SECRET_KEY,
183
- apiVersion: '2020-08-27',
184
- webhook: {
185
- connectAccountKey: process.env.STRIPE_CONNECT_WEBHOOK_ENDPOINT_SECRET,
186
- accountKey: process.env.STRIPE_WEBHOOK_SECRET
187
- }
188
- },
189
- twilio: {
190
- accountSid: process.env.TWILIO_ACCOUNT_SID,
191
- authToken: process.env.TWILIO_AUTH_TOKEN,
192
- phoneNumber: process.env.TWILIO_PHONE_NUMBER
193
- },
194
- vonage: {
195
- apiKey: process.env.VONAGE_API_KEY,
196
- apiSecret: process.env.VONAGE_API_SECRET
197
- },
198
- esms: {
199
- apiKey: process.env.ESMS_API_KEY,
200
- apiSecret: process.env.ESMS_API_SECRET
201
- },
202
- redisUrl: process.env.REDIS_URL,
203
- slack: {
204
- token: process.env.SLACK_TOKEN,
205
- signingSecret: process.env.SLACK_SIGNING_SECRET,
206
- defaultChannelId: process.env.SLACK_DEFAULT_CHANNEL_ID,
207
- reservationsChannelId: process.env.SLACK_RESERVATIONS_CHANNEL_ID,
208
- fbcChannel: process.env.SLACK_FBC_CHANNEL_ID,
209
- bdChannel: process.env.SLACK_BD_CHANNEL_ID,
210
- mainFluxChannel: process.env.SLACK_MAIN_FLUX_CHANNEL_ID,
211
- invoiceFailuresChannelId: process.env.SLACK_INVOICE_FAILURES_CHANNEL_ID,
212
- inquiriesChannelId: process.env.SLACK_INQUIRIES_CHANNEL_ID,
213
- sstChannelId: process.env.SLACK_SALES_AND_SST_CHANNEL_ID,
214
- issuesChannelId: process.env.SLACK_ISSUES_CHANNEL_ID,
215
- comingServicesChannelId: process.env.SLACK_COMING_SERVICES_CHANNEL_ID,
216
- engineeringRequestsChannel: process.env.SLACK_ENGINEERING_REQUESTS_CHANNEL_ID,
217
- esmsChannelId: process.env.SLACK_ESMS_CHANNEL_ID,
218
- excessMileageChannelId: process.env.SLACK_EXCESS_MILEAGE_CHANNEL_ID
219
- },
220
- noStaticGenerating: process.env.NO_STATIC_GENERATING === 'true',
221
- notion: {
222
- secret: process.env.NOTION_SECRET,
179
+ },
180
+ twilio: {
181
+ accountSid: process.env.TWILIO_ACCOUNT_SID,
182
+ authToken: process.env.TWILIO_AUTH_TOKEN,
183
+ phoneNumber: process.env.TWILIO_PHONE_NUMBER,
184
+ },
185
+ vonage: {
186
+ apiKey: process.env.VONAGE_API_KEY,
187
+ apiSecret: process.env.VONAGE_API_SECRET,
188
+ },
189
+ esms: {
190
+ apiKey: process.env.ESMS_API_KEY,
191
+ apiSecret: process.env.ESMS_API_SECRET,
192
+ },
193
+ redisUrl: process.env.REDIS_URL,
194
+ slack: {
195
+ token: process.env.SLACK_TOKEN,
196
+ signingSecret: process.env.SLACK_SIGNING_SECRET,
197
+ ...getSlackIds(getAppEnv()),
198
+ },
199
+ noStaticGenerating: process.env.NO_STATIC_GENERATING === 'true',
200
+ notion: {
201
+ secret: process.env.NOTION_SECRET,
202
+ ...getNotionIds(getAppEnv()),
203
+ },
204
+ algolia: {
205
+ appId: process.env.ALGOLIA_APP_ID,
206
+ adminKey: process.env.ALGOLIA_ADMIN_KEY,
207
+ searchKey: process.env.ALGOLIA_SEARCH_KEY,
208
+ knowledgeBaseIndex: process.env.ALGOLIA_KNOWLEDGE_BASE_INDEX,
209
+ },
210
+ flux: {
211
+ defaultBillingAddress: {
212
+ name: 'Flux Sdn. Bhd.',
213
+ street1: '15-2 Jalan Solaris',
214
+ street2: 'Solaris Mont Kiara',
215
+ city: 'Kuala Lumpur',
216
+ state: 'Kuala Lumpur',
223
217
  /**
224
- * No need to use env variables for the following
225
- */ requestDatabaseId: process.env.NOTION_REQUESTS_DATABASE_ID,
226
- reviewsDatabaseId: process.env.NOTION_REVIEW_DATABASE_ID,
227
- fbcDatabaseId: process.env.NOTION_FBC_DATABASE_ID,
228
- fluxstersDatabaseId: process.env.NOTION_FLUXSTERS_DATABASE_ID,
229
- bdDatabaseId: process.env.NOTION_BD_DATABASE_ID,
230
- referralsDatabaseId: process.env.NOTION_REFERRALS_DATABASE_ID,
231
- brandsLandingPagesDatabaseId: process.env.NOTION_BRANDS_LANDING_PAGES_DATABASE_ID,
232
- knowledgeBaseDatabaseId: process.env.NOTION_KNOWLEDGE_BASE_DATABASE_ID
233
- },
234
- algolia: {
235
- appId: process.env.ALGOLIA_APP_ID,
236
- adminKey: process.env.ALGOLIA_ADMIN_KEY,
237
- searchKey: process.env.ALGOLIA_SEARCH_KEY,
238
- knowledgeBaseIndex: process.env.ALGOLIA_KNOWLEDGE_BASE_INDEX
239
- },
240
- flux: {
241
- defaultBillingAddress: {
242
- name: 'Flux Sdn. Bhd.',
243
- street1: '15-2 Jalan Solaris',
244
- street2: 'Solaris Mont Kiara',
245
- city: 'Kuala Lumpur',
246
- state: 'Kuala Lumpur',
247
- /**
248
- * Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
249
- */ country: 'MY',
250
- postalCode: '50480'
251
- }
218
+ * Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
219
+ */
220
+ country: 'MY',
221
+ postalCode: '50480',
252
222
  },
253
- html2pdfKey: process.env.HTML_2_PDF_APP_KEY,
254
- cmsPreviewSecret: process.env.CMS_PREVIEW_SECRET,
255
- search: {
256
- noIdOptimization: process.env.NO_ID_OPTIMIZATION_IN_SEARCH === 'true'
223
+ },
224
+ html2pdfKey: process.env.HTML_2_PDF_APP_KEY,
225
+ cmsPreviewSecret: process.env.CMS_PREVIEW_SECRET,
226
+ search: {
227
+ noIdOptimization: process.env.NO_ID_OPTIMIZATION_IN_SEARCH === 'true',
228
+ },
229
+ auth: {
230
+ secureCookies: process.env.SECURE_COOKIES !== 'false',
231
+ authSecret: process.env.NEXTAUTH_SECRET,
232
+ jwtSecret: process.env.NEXTAUTH_SECRET,
233
+ google: {
234
+ clientId: process.env.GOOGLE_CLIENT_ID,
235
+ clientSecret: process.env.GOOGLE_CLIENT_SECRET,
257
236
  },
258
- auth: {
259
- secureCookies: process.env.SECURE_COOKIES !== 'false',
260
- authSecret: process.env.NEXTAUTH_SECRET,
261
- jwtSecret: process.env.NEXTAUTH_SECRET,
262
- google: {
263
- clientId: process.env.GOOGLE_CLIENT_ID,
264
- clientSecret: process.env.GOOGLE_CLIENT_SECRET
265
- },
266
- facebook: {
267
- clientId: process.env.FACEBOOK_CLIENT_ID,
268
- clientSecret: process.env.FACEBOOK_CLIENT_SECRET
269
- },
270
- apple: {
271
- clientId: process.env.APPLE_ID,
272
- clientSecret: process.env.APPLE_SECRET
273
- }
237
+ facebook: {
238
+ clientId: process.env.FACEBOOK_CLIENT_ID,
239
+ clientSecret: process.env.FACEBOOK_CLIENT_SECRET,
274
240
  },
275
- sendSMSOutsideOfProd: process.env.SEND_SMS_OUTSIDE_OF_PROD === 'true',
276
- vercel: {
277
- cronSecret: process.env.CRON_SECRET
241
+ apple: {
242
+ clientId: process.env.APPLE_ID,
243
+ clientSecret: process.env.APPLE_SECRET,
278
244
  },
279
- kv: {
280
- url: process.env.KV_URL,
281
- token: process.env.KV_REST_API_TOKEN,
282
- apiUrl: process.env.KV_REST_API_URL
283
- }
284
- };
285
- };
286
- export var resetConfig = function() {
245
+ // email: {
246
+ // server: process.env.EMAIL_SERVER! || composeMailServer(),
247
+ // from: process.env.AUTH_EMAIL_FROM || process.env.FROM_MAIL!,
248
+ // }
249
+ },
250
+ sendSMSOutsideOfProd: process.env.SEND_SMS_OUTSIDE_OF_PROD === 'true',
251
+ vercel: {
252
+ cronSecret: process.env.CRON_SECRET,
253
+ },
254
+ kv: {
255
+ url: process.env.KV_URL,
256
+ token: process.env.KV_REST_API_TOKEN,
257
+ apiUrl: process.env.KV_REST_API_URL,
258
+ },
259
+ });
260
+ export const resetConfig = () => {
287
261
  config = singleton('backendConfig', getConfig(), true);
288
262
  return config;
289
263
  };
290
- export var config = singleton('backendConfig', getConfig());
291
- export var setConfig = function(key, value) {
264
+ export let config = singleton('backendConfig', getConfig());
265
+ export const setConfig = (key, value) => {
292
266
  config[key] = value;
293
267
  };
268
+ //# sourceMappingURL=backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { NotionIds } from './notion-ids';
2
+ import type { SlackIds } from './slack-ids';
3
+ export declare const getSlackIds: (appEnv?: string) => SlackIds;
4
+ export declare const getNotionIds: (appEnv?: string) => NotionIds;
5
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAgC3C,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,QAc7C,CAAA;AAqBD,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,SAc9C,CAAA"}
@@ -0,0 +1,70 @@
1
+ const slackProductionChannels = {
2
+ defaultChannelId: 'C0679V8KGSH',
3
+ reservationsChannelId: 'C01G8B12G67',
4
+ fbcChannel: 'C01L1AAKB3N',
5
+ bdChannel: 'CN21PGKK8',
6
+ mainFluxChannel: 'GHDPV1858',
7
+ inquiriesChannelId: 'C067CSK5J5Q',
8
+ invoiceFailuresChannelId: 'C067CPUMB8T',
9
+ sstChannelId: 'C068NH60A78',
10
+ errorChannelId: 'C04N4Q7HA79',
11
+ issuesChannelId: 'C0680P99AE8',
12
+ comingServicesChannelId: 'C06SB20H2J1',
13
+ esmsChannelId: 'C07RPEP2BMY',
14
+ excessMileageChannelId: 'C0679URBY93',
15
+ engineeringRequestsChannel: 'C01U8GTK3K9',
16
+ };
17
+ const SLACK_IDS_MAP = {
18
+ production: slackProductionChannels,
19
+ staging: Object.keys(slackProductionChannels).reduce((acc, key) => {
20
+ acc[key] = 'C0661UNMBQU'; // #platform-staging-notifications
21
+ return acc;
22
+ }, {}),
23
+ development: Object.keys(slackProductionChannels).reduce((acc, key) => {
24
+ acc[key] =
25
+ process.env.SLACK_MY_CHANNEL_ID || 'C09GJ4FJVRS'; // #platform-dev-notifications
26
+ return acc;
27
+ }, {}),
28
+ };
29
+ export const getSlackIds = (appEnv) => {
30
+ const envIds = appEnv && appEnv in SLACK_IDS_MAP
31
+ ? SLACK_IDS_MAP[appEnv]
32
+ : SLACK_IDS_MAP.staging;
33
+ // Override the values from ENV if available
34
+ for (const key of Object.keys(envIds)) {
35
+ if (process.env[key]) {
36
+ envIds[key] = process.env[key];
37
+ }
38
+ }
39
+ return envIds;
40
+ };
41
+ const notionProductionChannels = {
42
+ requestDatabaseId: '32332c0e-4277-43fa-b10e-7d458234f9ea',
43
+ reviewsDatabaseId: '8a8b0df9-567d-433f-8937-583db2766176', // Seems to be unused
44
+ fbcDatabaseId: '76960d4b-2b43-4019-a77e-ac46a0b3d752', // Seems to be unused
45
+ fluxstersDatabaseId: '4ea6953a-61c2-4673-8950-c0d0e158de0a',
46
+ bdDatabaseId: '172a9182-56c0-4358-b4f1-7e8fcfa44e46',
47
+ brandsLandingPagesDatabaseId: 'e321d71a-0d29-42da-ab0b-dca2260b643e',
48
+ knowledgeBaseDatabaseId: '7a81653f-4351-4a17-aa1e-c3082c378441',
49
+ referralsDatabaseId: 'b5599d70-b414-4aa9-9ff2-d445c8f3f0fc',
50
+ };
51
+ const NOTION_IDS_MAP = {
52
+ production: notionProductionChannels,
53
+ staging: {
54
+ ...notionProductionChannels,
55
+ knowledgeBaseDatabaseId: 'f95b9986-c1c9-46ca-a742-d49f3f80d7dd',
56
+ },
57
+ };
58
+ export const getNotionIds = (appEnv) => {
59
+ const envIds = appEnv && appEnv in NOTION_IDS_MAP
60
+ ? NOTION_IDS_MAP[appEnv]
61
+ : NOTION_IDS_MAP.staging;
62
+ // Override the values from ENV if available
63
+ for (const key of Object.keys(envIds)) {
64
+ if (process.env[key]) {
65
+ envIds[key] = process.env[key];
66
+ }
67
+ }
68
+ return envIds;
69
+ };
70
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/frontend.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { singleton } from '@driveflux/singleton';
2
2
  import { z } from 'zod';
3
- export var ConfigValidation = z.object({
3
+ export const ConfigValidation = z.object({
4
4
  appUrl: z.url(),
5
5
  apiUrl: z.string(),
6
6
  taxRate: z.number(),
@@ -9,7 +9,7 @@ export var ConfigValidation = z.object({
9
9
  currency: z.string(),
10
10
  stripe: z.object({
11
11
  publishableKey: z.string(),
12
- connectClientId: z.string()
12
+ connectClientId: z.string(),
13
13
  }),
14
14
  gtmCode: z.string().optional(),
15
15
  secureCookies: z.boolean(),
@@ -17,7 +17,7 @@ export var ConfigValidation = z.object({
17
17
  graphCms: z.object({
18
18
  devAuthToken: z.string(),
19
19
  prodAuthToken: z.string(),
20
- projectApi: z.string()
20
+ projectApi: z.string(),
21
21
  }),
22
22
  isProd: z.boolean(),
23
23
  noStaticGenerating: z.boolean(),
@@ -27,39 +27,40 @@ export var ConfigValidation = z.object({
27
27
  vehicleIndexName: z.string(),
28
28
  appId: z.string(),
29
29
  searchKey: z.string(),
30
- knowledgeBaseIndex: z.string()
30
+ knowledgeBaseIndex: z.string(),
31
31
  }),
32
32
  glitchTip: z.object({
33
- dsn: z.string().optional()
33
+ dsn: z.string().optional(),
34
34
  }),
35
35
  postHog: z.object({
36
36
  apiKey: z.string(),
37
- apiHost: z.string().optional()
38
- })
37
+ apiHost: z.string().optional(),
38
+ }),
39
39
  });
40
40
  /**
41
41
  * Do not use this function, use the config object directly
42
- */ var getConfig = function() {
43
- var appUrl = process.env.APP_URL;
44
- var apiUrl = process.env.API_URL || "".concat(appUrl, "/api");
42
+ */
43
+ const getConfig = () => {
44
+ const appUrl = process.env.APP_URL;
45
+ const apiUrl = process.env.API_URL || `${appUrl}/api`;
45
46
  return {
46
- appUrl: appUrl,
47
- apiUrl: apiUrl,
47
+ appUrl,
48
+ apiUrl,
48
49
  taxRate: 0.08,
49
50
  serviceRate: 0.1,
50
51
  reservationFee: 49,
51
52
  currency: 'MYR',
52
53
  stripe: {
53
54
  publishableKey: process.env.STRIPE_PUBLISHABLE_KEY,
54
- connectClientId: process.env.STRIPE_CONNECT_CLIENT_ID || ''
55
+ connectClientId: process.env.STRIPE_CONNECT_CLIENT_ID || '',
55
56
  },
56
57
  gtmCode: process.env.GTM_CODE,
57
58
  secureCookies: process.env.SECURE_COOKIES !== 'false',
58
59
  appEnv: process.env.APP_ENV,
59
60
  graphCms: {
60
- devAuthToken: "".concat(process.env.GRAPHCMS_AUTH_TOKEN),
61
- prodAuthToken: "".concat(process.env.GRAPHCMS_AUTH_TOKEN),
62
- projectApi: "".concat(process.env.GRAPHCMS_PROJECT_API)
61
+ devAuthToken: `${process.env.GRAPHCMS_AUTH_TOKEN}`,
62
+ prodAuthToken: `${process.env.GRAPHCMS_AUTH_TOKEN}`,
63
+ projectApi: `${process.env.GRAPHCMS_PROJECT_API}`,
63
64
  },
64
65
  isProd: process.env.APP_ENV === 'production',
65
66
  noStaticGenerating: process.env.NO_STATIC_GENERATING === 'true',
@@ -69,22 +70,23 @@ export var ConfigValidation = z.object({
69
70
  vehicleIndexName: process.env.ALGOLIA_VEHICLE_INDEX_NAME || 'vehicles',
70
71
  appId: process.env.ALGOLIA_APP_ID,
71
72
  searchKey: process.env.ALGOLIA_SEARCH_KEY,
72
- knowledgeBaseIndex: process.env.ALGOLIA_KNOWLEDGE_BASE_INDEX || 'knowledge_base'
73
+ knowledgeBaseIndex: process.env.ALGOLIA_KNOWLEDGE_BASE_INDEX || 'knowledge_base',
73
74
  },
74
75
  glitchTip: {
75
- dsn: process.env.GLITCHTIP_DSN
76
+ dsn: process.env.GLITCHTIP_DSN,
76
77
  },
77
78
  postHog: {
78
79
  apiKey: process.env.NEXT_PUBLIC_POSTHOG_KEY,
79
- apiHost: process.env.NEXT_PUBLIC_POSTHOG_HOST
80
- }
80
+ apiHost: process.env.NEXT_PUBLIC_POSTHOG_HOST,
81
+ },
81
82
  };
82
83
  };
83
- export var resetConfig = function() {
84
+ export const resetConfig = () => {
84
85
  config = singleton('frontendConfig', getConfig(), true);
85
86
  return config;
86
87
  };
87
- export var config = singleton('frontendConfig', getConfig());
88
- export var setConfig = function(key, value) {
88
+ export let config = singleton('frontendConfig', getConfig());
89
+ export const setConfig = (key, value) => {
89
90
  config[key] = value;
90
91
  };
92
+ //# sourceMappingURL=frontend.js.map
@@ -49,7 +49,6 @@ export declare const baseNextConfig: {
49
49
  readonly esmExternals: true;
50
50
  readonly swcPlugins: [["@lingui/swc-plugin", {}]];
51
51
  };
52
- readonly transpilePackages: [];
53
52
  readonly eslint: {
54
53
  readonly ignoreDuringBuilds: boolean;
55
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"next.config.d.ts","sourceRoot":"","sources":["../src/next.config.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFI,CAAA"}
1
+ {"version":3,"file":"next.config.d.ts","sourceRoot":"","sources":["../src/next.config.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFI,CAAA"}
@@ -1,101 +1,91 @@
1
- function _type_of(obj) {
2
- "@swc/helpers - typeof";
3
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
4
- }
5
1
  /**
6
2
  * Remove React properties from the bundle when explicitly set via DO_NOT_REMOVE_REACT_PROPERTIES
7
3
  * or when the app is in production mode.
8
- */ var reactRemoveProperties = typeof process.env.DO_NOT_REMOVE_REACT_PROPERTIES === 'string' && _type_of(process.env.DO_NOT_REMOVE_REACT_PROPERTIES) ? process.env.DO_NOT_REMOVE_REACT_PROPERTIES.toLowerCase() === 'true' : process.env.APP_ENV === 'production';
9
- export var baseNextConfig = {
4
+ */
5
+ const reactRemoveProperties = typeof process.env.DO_NOT_REMOVE_REACT_PROPERTIES === 'string' &&
6
+ typeof process.env.DO_NOT_REMOVE_REACT_PROPERTIES
7
+ ? process.env.DO_NOT_REMOVE_REACT_PROPERTIES.toLowerCase() === 'true'
8
+ : process.env.APP_ENV === 'production';
9
+ export const baseNextConfig = {
10
10
  i18n: {
11
- locales: [
12
- 'en',
13
- 'ms'
14
- ],
15
- defaultLocale: 'en'
11
+ locales: ['en', 'ms'],
12
+ defaultLocale: 'en',
16
13
  },
17
14
  env: {
18
- BASE_CURRENCY: 'MYR'
15
+ BASE_CURRENCY: 'MYR',
19
16
  },
20
17
  reactStrictMode: true,
21
18
  images: {
22
- deviceSizes: [
23
- 640,
24
- 750,
25
- 1200,
26
- 1920
27
- ],
28
- minimumCacheTTL: 31536000,
19
+ deviceSizes: [640, 750, 1200, 1920],
20
+ minimumCacheTTL: 31536000, // 1 year
29
21
  remotePatterns: [
30
22
  {
31
23
  protocol: 'https',
32
- hostname: 'driveflux.com'
24
+ hostname: 'driveflux.com',
33
25
  },
34
26
  {
35
27
  protocol: 'https',
36
- hostname: 'dev-flux-site-files.s3.ap-southeast-1.amazonaws.com'
28
+ hostname: 'dev-flux-site-files.s3.ap-southeast-1.amazonaws.com',
37
29
  },
38
30
  {
39
31
  protocol: 'https',
40
- hostname: 'flux-site-files.s3.ap-southeast-1.amazonaws.com'
32
+ hostname: 'flux-site-files.s3.ap-southeast-1.amazonaws.com',
41
33
  },
42
34
  {
43
35
  protocol: 'https',
44
- hostname: 's3.ap-southeast-1.amazonaws.com'
36
+ hostname: 's3.ap-southeast-1.amazonaws.com',
45
37
  },
46
38
  {
47
39
  protocol: 'https',
48
- hostname: 'flux-admin.s3.ap-southeast-1.amazonaws.com'
40
+ hostname: 'flux-admin.s3.ap-southeast-1.amazonaws.com',
49
41
  },
50
42
  {
51
43
  protocol: 'https',
52
- hostname: 'vercel.app'
44
+ hostname: 'vercel.app',
53
45
  },
54
46
  {
55
47
  protocol: 'https',
56
- hostname: 'media.graphcms.com'
48
+ hostname: 'media.graphcms.com',
57
49
  },
58
50
  {
59
51
  protocol: 'https',
60
- hostname: 'media.graphassets.com'
52
+ hostname: 'media.graphassets.com',
61
53
  },
62
54
  {
63
55
  protocol: 'https',
64
- hostname: 'www.notion.so'
56
+ hostname: 'www.notion.so',
65
57
  },
66
58
  // This is for notion images
67
59
  {
68
60
  protocol: 'https',
69
- hostname: 'prod-files-secure.s3.us-west-2.amazonaws.com'
61
+ hostname: 'prod-files-secure.s3.us-west-2.amazonaws.com',
70
62
  },
71
63
  {
72
64
  protocol: 'https',
73
- hostname: 'ap-northeast-1.graphassets.com'
74
- }
75
- ]
65
+ hostname: 'ap-northeast-1.graphassets.com',
66
+ },
67
+ ],
76
68
  },
77
69
  experimental: {
78
70
  esmExternals: true,
79
- swcPlugins: [
80
- [
81
- '@lingui/swc-plugin',
82
- {}
83
- ]
84
- ]
71
+ swcPlugins: [['@lingui/swc-plugin', {}]],
85
72
  },
86
73
  eslint: {
87
- ignoreDuringBuilds: process.env.NODE_ENV === 'production'
74
+ ignoreDuringBuilds: process.env.NODE_ENV === 'production',
88
75
  },
89
76
  compiler: {
90
- reactRemoveProperties: reactRemoveProperties,
91
- removeConsole: process.env.FORCE_LOGGING_IN_PROD ? false : process.env.APP_ENV === 'production' ? {
92
- exclude: [
93
- 'error'
94
- ]
95
- } : false
77
+ reactRemoveProperties,
78
+ removeConsole: process.env.FORCE_LOGGING_IN_PROD
79
+ ? false
80
+ : process.env.APP_ENV === 'production'
81
+ ? {
82
+ exclude: ['error'],
83
+ }
84
+ : false,
96
85
  },
97
86
  typescript: {
98
- ignoreBuildErrors: process.env.IGNORE_NEXT_BUILD_ERRORS === 'true'
87
+ ignoreBuildErrors: process.env.IGNORE_NEXT_BUILD_ERRORS === 'true',
99
88
  },
100
- poweredByHeader: false
89
+ poweredByHeader: false,
101
90
  };
91
+ //# sourceMappingURL=next.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"next.config.js","sourceRoot":"","sources":["../src/next.config.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,qBAAqB,GAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,QAAQ;IAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,8BAA8B;IAChD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,WAAW,EAAE,KAAK,MAAM;IACrE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,YAAY,CAAA;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,IAAI,EAAE;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACrB,aAAa,EAAE,IAAI;KACnB;IACD,GAAG,EAAE;QACJ,aAAa,EAAE,KAAK;KACpB;IACD,eAAe,EAAE,IAAI;IACrB,MAAM,EAAE;QACP,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;QACnC,eAAe,EAAE,QAAQ,EAAE,SAAS;QACpC,cAAc,EAAE;YACf;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,eAAe;aACzB;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,qDAAqD;aAC/D;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,iDAAiD;aAC3D;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,iCAAiC;aAC3C;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,4CAA4C;aACtD;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,YAAY;aACtB;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,oBAAoB;aAC9B;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,uBAAuB;aACjC;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,eAAe;aACzB;YACD,4BAA4B;YAC5B;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,8CAA8C;aACxD;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,gCAAgC;aAC1C;SACD;KACD;IACD,YAAY,EAAE;QACb,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;KACxC;IAED,iBAAiB,EAAE,EAAE;IACrB,MAAM,EAAE;QACP,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;KACzD;IAED,QAAQ,EAAE;QACT,qBAAqB;QACrB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;YAC/C,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,YAAY;gBACrC,CAAC,CAAC;oBACA,OAAO,EAAE,CAAC,OAAO,CAAC;iBAClB;gBACF,CAAC,CAAC,KAAK;KACT;IACD,UAAU,EAAE;QACX,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM;KAClE;IACD,eAAe,EAAE,KAAK;CACQ,CAAA"}
1
+ {"version":3,"file":"next.config.js","sourceRoot":"","sources":["../src/next.config.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,qBAAqB,GAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,QAAQ;IAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,8BAA8B;IAChD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,WAAW,EAAE,KAAK,MAAM;IACrE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,YAAY,CAAA;AAExC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,IAAI,EAAE;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACrB,aAAa,EAAE,IAAI;KACnB;IACD,GAAG,EAAE;QACJ,aAAa,EAAE,KAAK;KACpB;IACD,eAAe,EAAE,IAAI;IACrB,MAAM,EAAE;QACP,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;QACnC,eAAe,EAAE,QAAQ,EAAE,SAAS;QACpC,cAAc,EAAE;YACf;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,eAAe;aACzB;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,qDAAqD;aAC/D;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,iDAAiD;aAC3D;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,iCAAiC;aAC3C;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,4CAA4C;aACtD;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,YAAY;aACtB;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,oBAAoB;aAC9B;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,uBAAuB;aACjC;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,eAAe;aACzB;YACD,4BAA4B;YAC5B;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,8CAA8C;aACxD;YACD;gBACC,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,gCAAgC;aAC1C;SACD;KACD;IACD,YAAY,EAAE;QACb,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;KACxC;IAED,MAAM,EAAE;QACP,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;KACzD;IAED,QAAQ,EAAE;QACT,qBAAqB;QACrB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;YAC/C,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,YAAY;gBACrC,CAAC,CAAC;oBACA,OAAO,EAAE,CAAC,OAAO,CAAC;iBAClB;gBACF,CAAC,CAAC,KAAK;KACT;IACD,UAAU,EAAE;QACX,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM;KAClE;IACD,eAAe,EAAE,KAAK;CACQ,CAAA"}
@@ -0,0 +1,13 @@
1
+ import z from 'zod';
2
+ export type NotionIds = z.infer<typeof notionIdsValidation>;
3
+ export declare const notionIdsValidation: z.ZodObject<{
4
+ requestDatabaseId: z.ZodString;
5
+ reviewsDatabaseId: z.ZodString;
6
+ fbcDatabaseId: z.ZodString;
7
+ fluxstersDatabaseId: z.ZodString;
8
+ bdDatabaseId: z.ZodString;
9
+ referralsDatabaseId: z.ZodString;
10
+ brandsLandingPagesDatabaseId: z.ZodString;
11
+ knowledgeBaseDatabaseId: z.ZodString;
12
+ }, z.core.$strip>;
13
+ //# sourceMappingURL=notion-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notion-ids.d.ts","sourceRoot":"","sources":["../src/notion-ids.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE3D,eAAO,MAAM,mBAAmB;;;;;;;;;iBAS9B,CAAA"}
@@ -0,0 +1,12 @@
1
+ import z from 'zod';
2
+ export const notionIdsValidation = z.object({
3
+ requestDatabaseId: z.string().min(1),
4
+ reviewsDatabaseId: z.string().min(1),
5
+ fbcDatabaseId: z.string().min(1),
6
+ fluxstersDatabaseId: z.string().min(1),
7
+ bdDatabaseId: z.string().min(1),
8
+ referralsDatabaseId: z.string().min(1),
9
+ brandsLandingPagesDatabaseId: z.string().min(1),
10
+ knowledgeBaseDatabaseId: z.string().min(1),
11
+ });
12
+ //# sourceMappingURL=notion-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notion-ids.js","sourceRoot":"","sources":["../src/notion-ids.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAInB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,4BAA4B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1C,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ import z from 'zod';
2
+ export type SlackIds = z.infer<typeof slackIdsValidation>;
3
+ export declare const slackIdsValidation: z.ZodObject<{
4
+ defaultChannelId: z.ZodString;
5
+ reservationsChannelId: z.ZodString;
6
+ fbcChannel: z.ZodString;
7
+ bdChannel: z.ZodString;
8
+ mainFluxChannel: z.ZodString;
9
+ invoiceFailuresChannelId: z.ZodString;
10
+ inquiriesChannelId: z.ZodString;
11
+ sstChannelId: z.ZodString;
12
+ errorChannelId: z.ZodString;
13
+ issuesChannelId: z.ZodString;
14
+ comingServicesChannelId: z.ZodString;
15
+ engineeringRequestsChannel: z.ZodString;
16
+ esmsChannelId: z.ZodString;
17
+ excessMileageChannelId: z.ZodString;
18
+ }, z.core.$strip>;
19
+ //# sourceMappingURL=slack-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-ids.d.ts","sourceRoot":"","sources":["../src/slack-ids.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEzD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;iBAe7B,CAAA"}
@@ -0,0 +1,18 @@
1
+ import z from 'zod';
2
+ export const slackIdsValidation = z.object({
3
+ defaultChannelId: z.string().min(1),
4
+ reservationsChannelId: z.string().min(1),
5
+ fbcChannel: z.string().min(1),
6
+ bdChannel: z.string().min(1),
7
+ mainFluxChannel: z.string().min(1),
8
+ invoiceFailuresChannelId: z.string().min(1),
9
+ inquiriesChannelId: z.string().min(1),
10
+ sstChannelId: z.string().min(1),
11
+ errorChannelId: z.string().min(1),
12
+ issuesChannelId: z.string().min(1),
13
+ comingServicesChannelId: z.string().min(1),
14
+ engineeringRequestsChannel: z.string().min(1),
15
+ esmsChannelId: z.string().min(1),
16
+ excessMileageChannelId: z.string().min(1),
17
+ });
18
+ //# sourceMappingURL=slack-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-ids.js","sourceRoot":"","sources":["../src/slack-ids.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAInB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzC,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import z from 'zod';
2
+ export declare const isProd: () => boolean;
3
+ export declare const requiredStringIfProdValidation: z.ZodString | z.ZodOptional<z.ZodString>;
4
+ export declare const getAppEnv: () => string;
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAGnB,eAAO,MAAM,MAAM,eAA+B,CAAA;AAElD,eAAO,MAAM,8BAA8B,0CAEnB,CAAA;AAExB,eAAO,MAAM,SAAS,cAiBrB,CAAA"}
package/dist/utils.js ADDED
@@ -0,0 +1,22 @@
1
+ import z from 'zod';
2
+ const isAppEnv = (env) => getAppEnv() === env;
3
+ export const isProd = () => isAppEnv('production');
4
+ export const requiredStringIfProdValidation = isProd()
5
+ ? z.string().min(1)
6
+ : z.string().optional();
7
+ export const getAppEnv = () => {
8
+ if (process.env.APP_ENV) {
9
+ return process.env.APP_ENV;
10
+ }
11
+ // If USE_ENV is set, use it
12
+ if (process.env.USE_ENV) {
13
+ return process.env.USE_ENV;
14
+ }
15
+ // If NODE_ENV is set, use it
16
+ if (process.env.NODE_ENV) {
17
+ return process.env.NODE_ENV;
18
+ }
19
+ // Default to development as a last resort
20
+ return 'development';
21
+ };
22
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,GAAG,CAAA;AACrD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,EAAE;IACrD,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAA;AAExB,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,4BAA4B;IAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED,0CAA0C;IAC1C,OAAO,aAAa,CAAA;AACrB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@driveflux/config",
3
- "version": "2.1.0-next.2",
3
+ "version": "2.1.0-next.3",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./backend": {
@@ -14,25 +14,29 @@
14
14
  "./next-config": {
15
15
  "types": "./dist/next.config.d.ts",
16
16
  "import": "./dist/next.config.js"
17
+ },
18
+ "./constants": {
19
+ "types": "./dist/constants.d.ts",
20
+ "import": "./dist/constants.js"
17
21
  }
18
22
  },
19
23
  "files": [
20
24
  "dist"
21
25
  ],
22
26
  "dependencies": {
23
- "@driveflux/singleton": "2.0.3-next.0",
24
- "zod": "^4.1.4"
27
+ "@driveflux/singleton": "2.0.3-next.1",
28
+ "zod": "^4.1.12"
25
29
  },
26
30
  "devDependencies": {
27
- "@driveflux/fab": "3.0.3-next.0",
28
- "@driveflux/tsconfig": "2.0.3-next.0",
31
+ "@driveflux/fab": "3.0.3-next.1",
32
+ "@driveflux/tsconfig": "2.0.3-next.1",
29
33
  "@swc/cli": "^0.7.8",
30
34
  "@swc/core": "^1.13.5",
31
- "@types/node": "^24.3.0",
32
- "@types/react": "^19.1.12",
33
- "del-cli": "^6.0.0",
35
+ "@types/node": "^24.9.1",
36
+ "@types/react": "^19.2.2",
37
+ "del-cli": "^7.0.0",
34
38
  "next": "15.5.4",
35
- "typescript": "^5.9.2"
39
+ "typescript": "^5.9.3"
36
40
  },
37
41
  "scripts": {
38
42
  "build": "fab",