@fayz-ai/saas 0.6.6 → 0.8.0

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 (51) hide show
  1. package/README.md +3 -1
  2. package/dist/app/admin-app.d.ts.map +1 -1
  3. package/dist/archetype-lookup.d.ts +1 -1
  4. package/dist/archetype-lookup.d.ts.map +1 -1
  5. package/dist/{chunk-DCRT47W4.js → chunk-3M25GRRU.js} +6 -10
  6. package/dist/chunk-3M25GRRU.js.map +1 -0
  7. package/dist/{chunk-SRIUD35R.cjs → chunk-IPWCHJPE.cjs} +5 -11
  8. package/dist/chunk-IPWCHJPE.cjs.map +1 -0
  9. package/dist/hooks/useModuleNavigation.d.ts.map +1 -1
  10. package/dist/index.cjs +76 -76
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +31 -23
  15. package/dist/index.js.map +1 -1
  16. package/dist/lib/schedule-service.d.ts.map +1 -1
  17. package/dist/org/adapters/supabase.d.ts +9 -1
  18. package/dist/org/adapters/supabase.d.ts.map +1 -1
  19. package/dist/org/index.cjs +10 -10
  20. package/dist/org/index.js +1 -1
  21. package/dist/shell/components/settings/ConnectedUserProfile.d.ts.map +1 -1
  22. package/dist/shell/components/settings/LocationsCrudPage.d.ts.map +1 -1
  23. package/dist/shell/hooks/useModuleNavigation.d.ts.map +1 -1
  24. package/dist/shell/lib/create-client-orders-provider.d.ts.map +1 -1
  25. package/dist/shell/lib/supabase.d.ts +2 -1
  26. package/dist/shell/lib/supabase.d.ts.map +1 -1
  27. package/dist/shell/types/crud.d.ts +1 -1
  28. package/dist/shell/types/crud.d.ts.map +1 -1
  29. package/dist/supabase/client.d.ts +0 -4
  30. package/dist/supabase/client.d.ts.map +1 -1
  31. package/package.json +13 -7
  32. package/src/app/admin-app.tsx +9 -1
  33. package/src/archetype-lookup.ts +2 -5
  34. package/src/crud/archetypes/PersonPicker.tsx +6 -6
  35. package/src/crud/archetypes/SubjectDetailTabs.tsx +2 -2
  36. package/src/env.d.ts +15 -0
  37. package/src/hooks/useModuleNavigation.ts +7 -1
  38. package/src/index.ts +0 -2
  39. package/src/lib/schedule-service.ts +2 -1
  40. package/src/org/adapters/supabase.ts +15 -5
  41. package/src/shell/components/settings/ConnectedUserProfile.tsx +3 -6
  42. package/src/shell/components/settings/LocationsCrudPage.ts +0 -1
  43. package/src/shell/hooks/useModuleNavigation.ts +7 -1
  44. package/src/shell/lib/create-client-orders-provider.ts +2 -4
  45. package/src/shell/lib/org-adapters/supabase.ts +3 -3
  46. package/src/shell/lib/supabase.ts +5 -3
  47. package/src/shell/stores/theme.store.ts +1 -1
  48. package/src/shell/types/crud.ts +1 -1
  49. package/src/supabase/client.ts +0 -8
  50. package/dist/chunk-DCRT47W4.js.map +0 -1
  51. package/dist/chunk-SRIUD35R.cjs.map +0 -1
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ export { ClientOrdersTab } from './shell/components/crud/archetypes/ClientOrders
15
15
  export { createClientOrdersProvider } from './shell/lib/create-client-orders-provider';
16
16
  export { createArchetypeLookup } from './archetype-lookup';
17
17
  export type { EntityLookup, EntityLookupResult, EntityLookupMap, ArchetypeType } from './archetype-lookup';
18
- export { createFayzSupabaseClient, getFayzSupabaseClient, getFayzSupabaseClientOptional, getCoreSchemaClient, CORE_SCHEMA, } from './supabase/client';
18
+ export { createFayzSupabaseClient, getFayzSupabaseClient, getFayzSupabaseClientOptional, } from './supabase/client';
19
19
  export { createSupabaseOrgAdapter, createMockOrgAdapter, useOrganizationStore, getPersistedOrgId, OrgProvider, useTenant, useTenantOptional, useOrgAdapter, useOrgAdapterOptional, } from './org/index';
20
20
  export type { SupabaseOrgAdapterConfig, OrgStore, OrgProviderProps, TenantContext, } from './org/index';
21
21
  export { usePermissionsStore, PermissionsProvider, usePermission, useHasPermission, usePermissions, } from './permissions/index';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { useOrganizationStore, createFayzSupabaseClient, OrgProvider, getFayzSupabaseClientOptional, createSupabaseOrgAdapter, createMockOrgAdapter, CORE_SCHEMA, useOrgAdapterOptional, getFayzSupabaseClient, getCoreSchemaClient } from './chunk-DCRT47W4.js';
2
- export { CORE_SCHEMA, OrgProvider, createFayzSupabaseClient, createMockOrgAdapter, createSupabaseOrgAdapter, getCoreSchemaClient, getFayzSupabaseClient, getFayzSupabaseClientOptional, getPersistedOrgId, useOrgAdapter, useOrgAdapterOptional, useOrganizationStore, useTenant, useTenantOptional } from './chunk-DCRT47W4.js';
1
+ import { useOrganizationStore, createFayzSupabaseClient, OrgProvider, getFayzSupabaseClientOptional, createSupabaseOrgAdapter, createMockOrgAdapter, useOrgAdapterOptional, getFayzSupabaseClient } from './chunk-3M25GRRU.js';
2
+ export { OrgProvider, createFayzSupabaseClient, createMockOrgAdapter, createSupabaseOrgAdapter, getFayzSupabaseClient, getFayzSupabaseClientOptional, getPersistedOrgId, useOrgAdapter, useOrgAdapterOptional, useOrganizationStore, useTenant, useTenantOptional } from './chunk-3M25GRRU.js';
3
3
  import { PermissionsProvider, usePermissionOptional, usePermissionsStore } from './chunk-XNWCGJYH.js';
4
4
  export { PermissionsProvider, useHasPermission, usePermission, usePermissions, usePermissionsStore } from './chunk-XNWCGJYH.js';
5
5
  import { useBillingStore } from './chunk-5GYQK5IW.js';
@@ -1045,7 +1045,7 @@ function buildTheme(base, overrides) {
1045
1045
  }
1046
1046
  };
1047
1047
  }
1048
- var STORE_KEY = "__saas_core_theme_store__";
1048
+ var STORE_KEY = "__fayz_theme_store__";
1049
1049
  function createThemeStore() {
1050
1050
  if (typeof window !== "undefined" && window[STORE_KEY]) {
1051
1051
  return window[STORE_KEY];
@@ -1737,7 +1737,7 @@ function ConnectedUserProfile() {
1737
1737
  const supabase = getFayzSupabaseClientOptional();
1738
1738
  if (!user || !supabase) return;
1739
1739
  let cancelled = false;
1740
- void supabase.schema(CORE_SCHEMA).from("profiles").select("full_name, avatar_url, email").eq("id", user.id).maybeSingle().then(({ data }) => {
1740
+ void supabase.from("profiles").select("full_name, avatar_url, email").eq("id", user.id).maybeSingle().then(({ data }) => {
1741
1741
  if (!cancelled && data) setProfile(data);
1742
1742
  });
1743
1743
  return () => {
@@ -1748,7 +1748,7 @@ function ConnectedUserProfile() {
1748
1748
  if (!user) return;
1749
1749
  try {
1750
1750
  const supabase = getFayzSupabaseClient();
1751
- const { error: profileError } = await supabase.schema(CORE_SCHEMA).from("profiles").upsert({ id: user.id, full_name: data.fullName, email: user.email }, { onConflict: "id" });
1751
+ const { error: profileError } = await supabase.from("profiles").upsert({ id: user.id, full_name: data.fullName, email: user.email }, { onConflict: "id" });
1752
1752
  if (profileError) throw profileError;
1753
1753
  const { error: metaError } = await supabase.auth.updateUser({ data: { full_name: data.fullName } });
1754
1754
  if (metaError) throw metaError;
@@ -1769,7 +1769,7 @@ function ConnectedUserProfile() {
1769
1769
  if (uploadError) throw uploadError;
1770
1770
  const { data: urlData } = supabase.storage.from("avatars").getPublicUrl(path);
1771
1771
  const avatarUrl = urlData.publicUrl;
1772
- const { error: profileError } = await supabase.schema(CORE_SCHEMA).from("profiles").upsert({ id: user.id, avatar_url: avatarUrl, email: user.email }, { onConflict: "id" });
1772
+ const { error: profileError } = await supabase.from("profiles").upsert({ id: user.id, avatar_url: avatarUrl, email: user.email }, { onConflict: "id" });
1773
1773
  if (profileError) throw profileError;
1774
1774
  await supabase.auth.updateUser({ data: { avatar_url: avatarUrl } });
1775
1775
  setUser({ ...user, avatarUrl });
@@ -3427,7 +3427,7 @@ function PersonPicker({
3427
3427
  if (value && !selected) {
3428
3428
  const supabase = getSupabaseClientOptional$1();
3429
3429
  if (!supabase) return;
3430
- supabase.schema("saas_core").from("persons").select("id, name, email, phone, kind").eq("id", value).single().then(({ data }) => {
3430
+ supabase.from("people").select("id, name, email, phone, kind").eq("id", value).single().then(({ data }) => {
3431
3431
  if (data) setSelected(data);
3432
3432
  });
3433
3433
  }
@@ -3451,7 +3451,7 @@ function PersonPicker({
3451
3451
  try {
3452
3452
  const supabase = getSupabaseClientOptional$1();
3453
3453
  if (!supabase) return;
3454
- const { data } = await supabase.schema("saas_core").from("persons").select("id, name, email, phone, kind").eq("tenant_id", tenantId).ilike("name", `%${term}%`).limit(6);
3454
+ const { data } = await supabase.from("people").select("id, name, email, phone, kind").eq("tenant_id", tenantId).ilike("name", `%${term}%`).limit(6);
3455
3455
  setResults(data ?? []);
3456
3456
  } finally {
3457
3457
  setSearching(false);
@@ -3484,7 +3484,7 @@ function PersonPicker({
3484
3484
  try {
3485
3485
  const supabase = getSupabaseClientOptional$1();
3486
3486
  if (!supabase) return;
3487
- const { data, error } = await supabase.schema("saas_core").from("persons").insert({
3487
+ const { data, error } = await supabase.from("people").insert({
3488
3488
  tenant_id: tenantId,
3489
3489
  kind: personKind,
3490
3490
  name: query.trim(),
@@ -4518,13 +4518,13 @@ function mapRow(row) {
4518
4518
  return r;
4519
4519
  }
4520
4520
  async function getSchedules(assigneeId, kind = "working_hours") {
4521
- const core = getCoreSchemaClient();
4521
+ const core = getFayzSupabaseClient();
4522
4522
  const { data, error } = await core.from("schedules").select("*").eq("kind", kind).eq("assignee_id", assigneeId).order("day_of_week").order("starts_at");
4523
4523
  if (error) throw error;
4524
4524
  return (data ?? []).map(mapRow);
4525
4525
  }
4526
4526
  async function replaceWeeklySchedules(assigneeId, week, kind = "working_hours") {
4527
- const core = getCoreSchemaClient();
4527
+ const core = getFayzSupabaseClient();
4528
4528
  const tenantId = getTenantId();
4529
4529
  const { error: delErr } = await core.from("schedules").delete().eq("assignee_id", assigneeId).eq("kind", kind).not("day_of_week", "is", null).is("specific_date", null);
4530
4530
  if (delErr) throw delErr;
@@ -4562,7 +4562,7 @@ function eachDate(startDate, endDate) {
4562
4562
  return dates;
4563
4563
  }
4564
4564
  async function saveException(input) {
4565
- const core = getCoreSchemaClient();
4565
+ const core = getFayzSupabaseClient();
4566
4566
  const tenantId = getTenantId();
4567
4567
  const kind = input.kind ?? "working_hours";
4568
4568
  const dates = eachDate(input.startDate, input.endDate);
@@ -4615,7 +4615,7 @@ async function saveException(input) {
4615
4615
  }
4616
4616
  }
4617
4617
  async function deleteException(assigneeId, startDate, endDate, kind = "working_hours") {
4618
- const core = getCoreSchemaClient();
4618
+ const core = getFayzSupabaseClient();
4619
4619
  const dates = eachDate(startDate, endDate ?? startDate);
4620
4620
  const { error } = await core.from("schedules").delete().eq("assignee_id", assigneeId).eq("kind", kind).in("specific_date", dates);
4621
4621
  if (error) throw error;
@@ -5832,7 +5832,7 @@ function OwnerTab({ item }) {
5832
5832
  setLoading(false);
5833
5833
  return;
5834
5834
  }
5835
- supabase.schema("saas_core").from("persons").select("*").eq("id", tutorId).single().then(({ data }) => {
5835
+ supabase.from("people").select("*").eq("id", tutorId).single().then(({ data }) => {
5836
5836
  setPerson(data);
5837
5837
  setLoading(false);
5838
5838
  }, () => setLoading(false));
@@ -7216,7 +7216,6 @@ var locationEntityDef = {
7216
7216
  ],
7217
7217
  data: {
7218
7218
  table: "locations",
7219
- schema: "saas_core",
7220
7219
  tenantScoped: true,
7221
7220
  searchColumns: ["name", "city", "state"],
7222
7221
  defaults: { kind: "branch" }
@@ -8001,7 +8000,12 @@ function resolveOrgAdapter(config, authAdapter) {
8001
8000
  name: p.name,
8002
8001
  description: p.description
8003
8002
  }));
8004
- if (strategy === "supabase") return createSupabaseOrgAdapter({ roles: declaredRoles, authAdapter });
8003
+ if (strategy === "supabase")
8004
+ return createSupabaseOrgAdapter({
8005
+ roles: declaredRoles,
8006
+ authAdapter,
8007
+ siteUrl: import.meta.env.VITE_APP_URL
8008
+ });
8005
8009
  return createMockOrgAdapter(config.permissions?.defaultProfiles);
8006
8010
  }
8007
8011
  function buildI18nConfig(config) {
@@ -8437,7 +8441,7 @@ function createClientOrdersProvider() {
8437
8441
  const supabase = getSupabaseClientOptional();
8438
8442
  if (!supabase) return { data: [], total: 0 };
8439
8443
  try {
8440
- let qb = supabase.schema("saas_core").from("orders").select("id, kind, status, total, reference_number, notes, metadata, created_at", { count: "exact" }).eq("party_id", query.clientId);
8444
+ let qb = supabase.from("orders").select("id, kind, status, total, reference_number, notes, metadata, created_at", { count: "exact" }).eq("party_id", query.clientId);
8441
8445
  if (query.stages && query.stages.length > 0) {
8442
8446
  const allStages = query.stages.flatMap((s) => STAGE_FILTER_MAP[s] ?? [s]);
8443
8447
  qb = qb.in("status", allStages);
@@ -8450,7 +8454,7 @@ function createClientOrdersProvider() {
8450
8454
  const orderIds = (data ?? []).map((row) => row.id).filter(Boolean);
8451
8455
  const bookingStartsByOrderId = /* @__PURE__ */ new Map();
8452
8456
  if (orderIds.length > 0) {
8453
- const { data: bookings } = await supabase.schema("saas_core").from("bookings").select("order_id, starts_at").in("order_id", orderIds);
8457
+ const { data: bookings } = await supabase.from("appointments").select("order_id, starts_at").in("order_id", orderIds);
8454
8458
  for (const booking of bookings ?? []) {
8455
8459
  if (booking.order_id && booking.starts_at && !bookingStartsByOrderId.has(booking.order_id)) {
8456
8460
  bookingStartsByOrderId.set(booking.order_id, booking.starts_at);
@@ -8481,7 +8485,7 @@ function createClientOrdersProvider() {
8481
8485
  };
8482
8486
  }
8483
8487
  var ARCHETYPE_DISPLAY = {
8484
- person: { table: "persons", labelField: "name", subtitleFields: ["phone"], groupField: "kind" },
8488
+ person: { table: "people", labelField: "name", subtitleFields: ["phone"], groupField: "kind" },
8485
8489
  product: { table: "products", labelField: "name", subtitleFields: ["sku", "description"], priceField: "price" },
8486
8490
  service: { table: "services", labelField: "name", subtitleFields: ["duration_minutes", "description"], priceField: "price" },
8487
8491
  location: { table: "locations", labelField: "name", subtitleFields: ["city", "address"], groupField: "kind" }
@@ -8520,7 +8524,7 @@ function createArchetypeLookup(config) {
8520
8524
  async search(query) {
8521
8525
  const supabase = getSupabaseClientOptional$1();
8522
8526
  if (!supabase) return [];
8523
- let qb = supabase.schema("saas_core").from(display.table).select("*").eq("is_active", true).order(display.labelField, { ascending: true }).limit(limit);
8527
+ let qb = supabase.from(display.table).select("*").eq("is_active", true).order(display.labelField, { ascending: true }).limit(limit);
8524
8528
  if (query) qb = qb.ilike(display.labelField, `%${query}%`);
8525
8529
  qb = applyKindFilter(qb);
8526
8530
  const { data } = await qb;
@@ -8531,7 +8535,7 @@ function createArchetypeLookup(config) {
8531
8535
  async list() {
8532
8536
  const supabase = getSupabaseClientOptional$1();
8533
8537
  if (!supabase) return [];
8534
- let qb = supabase.schema("saas_core").from(display.table).select("*").eq("is_active", true).order(display.labelField, { ascending: true }).limit(limit);
8538
+ let qb = supabase.from(display.table).select("*").eq("is_active", true).order(display.labelField, { ascending: true }).limit(limit);
8535
8539
  qb = applyKindFilter(qb);
8536
8540
  const { data } = await qb;
8537
8541
  return (data ?? []).map(
@@ -8541,7 +8545,7 @@ function createArchetypeLookup(config) {
8541
8545
  async getById(id) {
8542
8546
  const supabase = getSupabaseClientOptional$1();
8543
8547
  if (!supabase) return null;
8544
- const { data } = await supabase.schema("saas_core").from(display.table).select("*").eq("id", id).single();
8548
+ const { data } = await supabase.from(display.table).select("*").eq("id", id).single();
8545
8549
  return data ? toResult(data, display, config.kindLabels) : null;
8546
8550
  }
8547
8551
  };
@@ -8844,13 +8848,17 @@ function useModuleNavigation(hashBase, depthMap, homeView = "summary") {
8844
8848
  const rest = hash.slice(hashBase.length + 1);
8845
8849
  const segments = rest.split("/");
8846
8850
  if (segments.length === 1 && segments[0] === homeView) return homeView;
8847
- const ACTION_KEYWORDS = ["edit", "detail", "view"];
8851
+ const ACTION_KEYWORDS = ["edit", "detail", "view", "post"];
8848
8852
  if (segments.length >= 3) {
8849
8853
  const maybeAction = segments[segments.length - 2];
8850
8854
  if (ACTION_KEYWORDS.includes(maybeAction)) {
8851
8855
  return segments.slice(0, -2).join("-") + "-" + maybeAction + ":" + segments[segments.length - 1];
8852
8856
  }
8853
8857
  }
8858
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
8859
+ if (segments.length >= 2 && UUID_RE.test(segments[segments.length - 1])) {
8860
+ return segments.slice(0, -1).join("-") + ":" + segments[segments.length - 1];
8861
+ }
8854
8862
  return segments.join("-");
8855
8863
  }
8856
8864
  return homeView;