permission-saved.ts 633 B

1234567891011121314151617181920
  1. export * as PermissionSaved from "./permission-saved"
  2. import { Schema } from "effect"
  3. import { ascending } from "./identifier"
  4. import { ProjectID } from "./project-id"
  5. import { statics } from "./schema"
  6. export const ID = Schema.String.pipe(
  7. Schema.brand("PermissionSaved.ID"),
  8. statics((schema) => ({ create: () => schema.make("psv_" + ascending()) })),
  9. )
  10. export type ID = typeof ID.Type
  11. export const Info = Schema.Struct({
  12. id: ID,
  13. projectID: ProjectID,
  14. action: Schema.String,
  15. resource: Schema.String,
  16. }).annotate({ identifier: "PermissionSaved.Info" })
  17. export interface Info extends Schema.Schema.Type<typeof Info> {}