OrgDatasource class Data Sources

Constructors

OrgDatasource(SupabaseClient _client)

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

acceptInvitation(String invitationId) Future<void>
addToTeam({required String teamId, required String userId}) Future<void>
addVerifiedDomain({required String orgId, required String domain}) Future<OrgVerifiedDomainModel>
addXpEvent({required String userId, required String orgId, required String eventType, required int xpAmount, Map<String, dynamic>? metadata}) Future<void>
advanceEnrollment(String enrollmentId, int newPosition, {DateTime? completedAt}) Future<void>
assignCurriculum({required String orgId, required String domainId, String? curriculumLevelId, String? teamId, String? userId, DateTime? dueDate}) Future<CurriculumAssignmentModel>
assignManager({required String orgId, required String managerUserId, required String managedUserId}) Future<void>
assignMemberRole({required String orgMemberId, required String roleProfileId}) Future<void>
autoJoinByDomain(String email) Future<void>
cancelInvitation(String invitationId) Future<void>
checkAndAwardBadges(String userId, String orgId) Future<void>
checkAndCreateReminders(String orgId) Future<void>
checkAndIssueCertificates({required String userId, required String topicId}) Future<void>
checkCertificateExpiryReminders(String orgId) Future<void>
createApiKey({required String orgId, required String name, List<String> scopes = const ['scim:read', 'scim:write'], DateTime? expiresAt}) Future<String>
Creates a new API key via RPC and returns the raw key (shown only once).
createCertification({required String orgId, required String name, String? description, String? pathId, String? domainId, String? requiredMastery, int? validityMonths}) Future<CertificationModel>
createComplianceRequirement({required String orgId, required String certificationId, required String appliesTo, String? teamId, String? roleProfileId, DateTime? deadline, bool? isMandatory}) Future<void>
createInvitation({required String orgId, required String email, String role = 'member'}) Future<OrgInvitationModel>
createLearningPath({required String orgId, required String name, String? description, bool isOnboarding = false}) Future<LearningPathModel>
createOrganization({required String name, required String slug}) Future<OrganizationModel>
createOrgWithAdmin({required String name, required String slug, required String adminEmail}) Future<OrganizationModel>
createRoleProfile({required String orgId, required String name, String? description}) Future<RoleProfileModel>
createSkill({required String orgId, required String name, required String category, String? description}) Future<SkillModel>
createTeam({required String orgId, required String name, String? description}) Future<TeamModel>
createWebhook({required String orgId, required String url, required List<String> events, required String secret}) Future<OrgWebhookModel>
Creates a webhook. The secret is generated server-side and returned in the created row — show it once to the user.
declineInvitation(String invitationId) Future<void>
deleteAssignment(String assignmentId) Future<void>
deleteCertification(String certificationId) Future<void>
deleteComplianceRequirement(String requirementId) Future<void>
deleteLearningPath(String pathId) Future<void>
deleteRoleProfile(String roleProfileId) Future<void>
deleteSkill(String skillId) Future<void>
deleteSkillDomainMapping({required String skillId, required String domainId, String? topicId}) Future<void>
deleteSsoConfig(String orgId) Future<void>
deleteTeam(String teamId) Future<void>
deleteWebhook(String webhookId) Future<void>
disconnectIntegration({required String orgId, required String provider}) Future<void>
enrollTeam(String pathId, String teamId, String enrolledBy) Future<void>
enrollUsers(String pathId, List<String> userIds, String enrolledBy) Future<void>
getAdminOrgs() Future<List<OrganizationModel>>
Orgs where the caller is an owner or admin. Used by the first-connection admin-onboarding wizard (Plan 49) to decide whether the wizard runs and which orgs the user can pick from.
getAllOrganizations() Future<List<OrganizationModel>>
getApiKeys(String orgId) Future<List<OrgApiKeyModel>>
getAssignmentsForOrg(String orgId) Future<List<CurriculumAssignmentModel>>
getAssignmentsForUser() Future<List<CurriculumAssignmentModel>>
getBadges(String orgId) Future<List<BadgeModel>>
getCertification(String certificationId) Future<CertificationModel>
getCertifications(String orgId) Future<List<CertificationModel>>
getComplianceRequirements(String orgId) Future<List<ComplianceRequirementModel>>
getComplianceStatus(String orgId) Future<List<ComplianceStatusEntryModel>>
getIntegration(String orgId, String provider) Future<OrgIntegrationModel?>
getIntegrations(String orgId) Future<List<OrgIntegrationModel>>
getLeaderboard(String orgId, {String period = 'all_time'}) Future<List<LeaderboardEntryModel>>
getLearningPath(String pathId) Future<LearningPathModel>
getLearningPaths(String orgId) Future<List<LearningPathModel>>
getManagedUsers(String orgId) Future<List<OrgMemberModel>>
getManagerAssignments(String orgId) Future<List<ManagerAssignmentModel>>
getMemberRoleAssignments(String orgId) Future<List<MemberRoleAssignmentModel>>
getMemberTimeline(String userId, String domainId, {int days = 90}) Future<List<MemberProgressSnapshotModel>>
getMyInvitations() Future<List<OrgInvitationModel>>
getMyOrganizations() Future<List<OrganizationModel>>
getMyRole(String orgId) Future<String?>
getNotificationPreferences(String orgId) Future<List<NotificationPreferenceModel>>
getNotifications(String orgId, {int limit = 50}) Future<List<OrgNotificationModel>>
getObjectives(String orgId) Future<List<LearningObjectiveModel>>
getOrgActivity(String orgId, {int limit = 20}) Future<List<OrgActivityEntryModel>>
getOrgAnalytics(String orgId) Future<OrgAnalyticsSummaryModel>
getOrganization(String orgId) Future<OrganizationModel>
getOrgInvitations(String orgId) Future<List<OrgInvitationModel>>
getOrgMembers(String orgId) Future<List<OrgMemberModel>>
getPathEnrollments(String pathId) Future<List<LearningPathEnrollmentModel>>
getRoleProfiles(String orgId) Future<List<RoleProfileModel>>
getSkillDomainMappings(String skillId) Future<List<SkillDomainMappingModel>>
getSkillGapReport(String orgId, {String? teamId}) Future<List<SkillGapEntryModel>>
getSkills(String orgId) Future<List<SkillModel>>
getSsoConfig(String orgId) Future<OrgSsoConfigModel?>
getTeamComparison(String orgId) Future<List<TeamComparisonEntryModel>>
getTeamMembers(String teamId) Future<List<OrgMemberModel>>
getTeamProgressReport(String teamId) Future<List<TeamProgressEntryModel>>
getTeams(String orgId) Future<List<TeamModel>>
getUnreadCount(String orgId) Future<int>
getUserBadges(String userId, String orgId) Future<List<UserBadgeModel>>
getUserCertificate(String certificateId) Future<UserCertificateModel>
getUserCertificates(String orgId) Future<List<UserCertificateModel>>
getUserEnrollments(String userId, String orgId) Future<List<LearningPathEnrollmentModel>>
getUsername() Future<String?>
getUserXp(String userId, String orgId) Future<UserXpModel?>
getVerifiedDomains(String orgId) Future<List<OrgVerifiedDomainModel>>
getWebhookDeliveries(String webhookId, {int limit = 50}) Future<List<WebhookDeliveryModel>>
getWebhooks(String orgId) Future<List<OrgWebhookModel>>
getXpEvents(String userId, String orgId, {int limit = 50}) Future<List<XpEventModel>>
installLuccaClientCredentials({required String orgId, required String subdomain, required String clientId, required String clientSecret}) Future<OrgIntegrationModel>
Installs Lucca via client credentials — no browser redirect. The Edge Function immediately validates the credentials by hitting users/me; a successful response means the integration is ready.
isGamificationEnabled(String orgId) Future<bool>
isPlatformAdmin() Future<bool>
leaveOrganization(String orgId) Future<void>
markAllRead(String orgId) Future<void>
markAsRead(String notificationId) Future<void>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeFromTeam({required String teamId, required String userId}) Future<void>
removeManagerAssignment(String assignmentId) Future<void>
removeMember({required String orgId, required String userId}) Future<void>
removeMemberRole({required String orgMemberId, required String roleProfileId}) Future<void>
removeVerifiedDomain(String domainId) Future<void>
revokeApiKey(String keyId) Future<void>
revokeCertificate(String certificateId) Future<void>
setObjective({required String orgId, required String assignmentId, String targetMastery = 'application', DateTime? targetDate}) Future<LearningObjectiveModel>
startOAuthInstall({required String orgId, required String provider, String? clientId, String? clientSecret}) Future<Uri>
Starts an OAuth install for Slack or Notion.
testIntegrationConnection({required String orgId, required String provider}) Future<OrgIntegrationModel>
Forces a live round-trip with the provider (auth.test / users/me / users/me) and returns the refreshed row. On failure the server flips status to 'degraded' and records last_error.
toString() String
A string representation of this object.
inherited
updateCertification(String certificationId, {String? name, String? description, String? requiredMastery, int? validityMonths}) Future<void>
updateGamificationEnabled(String orgId, bool enabled) Future<void>
updateIntegrationConfig({required String integrationId, required Map<String, dynamic> config}) Future<OrgIntegrationModel>
Updates per-integration config (channel IDs, database IDs, notification toggles, department/team mapping, etc.). Routed through the SECURITY DEFINER RPC update_org_integration_config because the base table is REVOKE'd from PostgREST.
updateLearningPath(String pathId, {String? name, String? description, bool? isOnboarding}) Future<void>
updateMemberRole({required String orgId, required String userId, required String role}) Future<void>
updateNotificationPreference({required String orgId, required String notificationType, required String channel, required bool enabled}) Future<void>
updateObjectiveStatus({required String objectiveId, required String status}) Future<void>
updateOrganization({required String orgId, String? name, String? slug, String? logoUrl, Map<String, dynamic>? settings}) Future<void>
updateRoleProfile({required String roleProfileId, required String name, String? description}) Future<void>
updateSkill({required String skillId, required String name, required String category, String? description}) Future<void>
updateTeam({required String teamId, String? name, String? description}) Future<void>
updateUsername(String? username) Future<void>
updateWebhook({required String webhookId, String? url, List<String>? events, bool? enabled}) Future<void>
upsertPathSteps(String pathId, List<LearningPathStepModel> steps) Future<void>
upsertRoleSkillExpectations(String roleProfileId, List<({int expectedMastery, String skillId})> expectations) Future<void>
upsertSkillDomainMapping({required String skillId, required String domainId, String? topicId}) Future<void>
upsertSsoConfig({required String orgId, required String entityId, required String ssoUrl, required String certificate, String? metadataXml, Map<String, dynamic>? attributeMapping, bool? enabled}) Future<OrgSsoConfigModel>

Operators

operator ==(Object other) bool
The equality operator.
inherited