UNPKG

better-auth-feature-flags

Version:

Ship features safely with feature flags, A/B testing, and progressive rollouts - Better Auth plugin for modern release management

99 lines (97 loc) 5.45 kB
import { __name } from "./chunk-SHUYVCID.js"; // src/client-admin.ts function featureFlagsAdminClient() { return { id: "feature-flags-admin-client", // HTTP methods for route inference/devtools pathMethods: { "/feature-flags/admin/flags": "GET", "/feature-flags/admin/flags/:id": "GET", "/feature-flags/admin/flags/:id/enable": "POST", "/feature-flags/admin/flags/:id/disable": "POST", "/feature-flags/admin/flags/:flagId/rules": "GET", "/feature-flags/admin/flags/:flagId/rules/:ruleId": "GET", "/feature-flags/admin/flags/:flagId/rules/reorder": "POST", "/feature-flags/admin/flags/:flagId/stats": "GET", "/feature-flags/admin/overrides": "GET", "/feature-flags/admin/overrides/:id": "GET", "/feature-flags/admin/metrics/usage": "GET", "/feature-flags/admin/audit": "GET", "/feature-flags/admin/audit/:id": "GET", "/feature-flags/admin/environments": "GET", "/feature-flags/admin/environments/:id": "GET", "/feature-flags/admin/export": "POST" }, getAtoms: /* @__PURE__ */ __name(() => ({}), "getAtoms"), getActions(fetch) { const get = /* @__PURE__ */ __name((path, query) => fetch(path, { method: "GET", query }), "get"); const post = /* @__PURE__ */ __name((path, body) => fetch(path, { method: "POST", body }), "post"); const patch = /* @__PURE__ */ __name((path, body) => fetch(path, { method: "PATCH", body }), "patch"); const del = /* @__PURE__ */ __name((path) => fetch(path, { method: "DELETE" }), "del"); return { featureFlags: { admin: { flags: { list: /* @__PURE__ */ __name((query) => get("/feature-flags/admin/flags", query), "list"), create: /* @__PURE__ */ __name((data) => post("/feature-flags/admin/flags", data), "create"), get: /* @__PURE__ */ __name((id) => get(`/feature-flags/admin/flags/${id}`), "get"), update: /* @__PURE__ */ __name((id, updates) => patch(`/feature-flags/admin/flags/${id}`, updates), "update"), delete: /* @__PURE__ */ __name((id) => del(`/feature-flags/admin/flags/${id}`), "delete"), enable: /* @__PURE__ */ __name((id) => post(`/feature-flags/admin/flags/${id}/enable`), "enable"), disable: /* @__PURE__ */ __name((id) => post(`/feature-flags/admin/flags/${id}/disable`), "disable") }, rules: { list: /* @__PURE__ */ __name((flagId) => get(`/feature-flags/admin/flags/${flagId}/rules`), "list"), create: /* @__PURE__ */ __name((flagId, data) => post(`/feature-flags/admin/flags/${flagId}/rules`, data), "create"), get: /* @__PURE__ */ __name((flagId, ruleId) => get(`/feature-flags/admin/flags/${flagId}/rules/${ruleId}`), "get"), update: /* @__PURE__ */ __name((flagId, ruleId, updates) => patch( `/feature-flags/admin/flags/${flagId}/rules/${ruleId}`, updates ), "update"), delete: /* @__PURE__ */ __name((flagId, ruleId) => del(`/feature-flags/admin/flags/${flagId}/rules/${ruleId}`), "delete"), reorder: /* @__PURE__ */ __name((flagId, ids) => post(`/feature-flags/admin/flags/${flagId}/rules/reorder`, { ids }), "reorder") }, overrides: { list: /* @__PURE__ */ __name((query) => get("/feature-flags/admin/overrides", query), "list"), create: /* @__PURE__ */ __name((data) => post("/feature-flags/admin/overrides", data), "create"), get: /* @__PURE__ */ __name((id) => get(`/feature-flags/admin/overrides/${id}`), "get"), update: /* @__PURE__ */ __name((id, updates) => patch(`/feature-flags/admin/overrides/${id}`, updates), "update"), delete: /* @__PURE__ */ __name((id) => del(`/feature-flags/admin/overrides/${id}`), "delete") }, analytics: { stats: { get: /* @__PURE__ */ __name((flagId, query) => get(`/feature-flags/admin/flags/${flagId}/stats`, query), "get") }, usage: { get: /* @__PURE__ */ __name((query) => get("/feature-flags/admin/metrics/usage", query), "get") } }, audit: { list: /* @__PURE__ */ __name((query) => get("/feature-flags/admin/audit", query), "list"), get: /* @__PURE__ */ __name((id) => get(`/feature-flags/admin/audit/${id}`), "get") }, environments: { list: /* @__PURE__ */ __name((query) => get("/feature-flags/admin/environments", query), "list"), create: /* @__PURE__ */ __name((data) => post("/feature-flags/admin/environments", data), "create"), update: /* @__PURE__ */ __name((id, updates) => patch(`/feature-flags/admin/environments/${id}`, updates), "update"), delete: /* @__PURE__ */ __name((id) => del(`/feature-flags/admin/environments/${id}`), "delete") }, exports: { create: /* @__PURE__ */ __name((data) => post("/feature-flags/admin/export", data), "create") } } } }; } }; } __name(featureFlagsAdminClient, "featureFlagsAdminClient"); var client_admin_default = featureFlagsAdminClient; export { client_admin_default as default, featureFlagsAdminClient };