diff --git a/warehouse/dbt/models/marts/directory/directory_v1__schema.yml b/warehouse/dbt/models/marts/directory/directory_v1__schema.yml new file mode 100644 index 000000000..5fce0c55d --- /dev/null +++ b/warehouse/dbt/models/marts/directory/directory_v1__schema.yml @@ -0,0 +1,194 @@ +version: 2 + +models: + - name: collections_v1 + meta: + #... + contributors: oso-team + config: + tags: ['oss-directory', 'collections'] + description: "Collections currently available in OSS Directory." + columns: + - name: collection_id + description: > + **Collection ID**: A unique collection id (generated by OSO). + - name: collection_source + description: > + **Collection Source**: The source of where the collection is named and defined. Default is `OSS_DIRECTORY`. + - name: collection_namespace + description: > + **Collection Namespace**: The namespace of the user or team that has defined the project. Default is `oso`. + - name: collection_name + description: > + **Collection Name**: A unique human-readable collection name. + - name: display_name + description: > + **Display Name**: The display name of the collection. + - name: description + description: > + **Description**: An optional field used to store a short description of the collection. + - name: projects_v1 + meta: + #... + contributors: oso-team + config: + tags: ['oss-directory', 'projects'] + description: "Projects currently available in OSS Directory." + columns: + - name: project_id + description: > + **Project ID**: A unique project id (generated by OSO). + - name: project_source + description: > + **Project Source**: The source of where the project is named and defined. Default is `OSS_DIRECTORY`. + - name: project_namespace + description: > + **Project Namespace**: The namespace of the user or team that has defined the project. Default is `oso`. + - name: project_name + description: > + **Project Name**: A unique human-readable project name. + - name: display_name + description: > + **Display Name**: The display name of the project. + - name: description + description: > + **Description**: An optional field used to store a short description of the project. + - name: artifacts_v1 + meta: + #... + contributors: oso-team + config: + tags: ['oss-directory', 'artifacts'] + description: "Artifacts currently available in OSS Directory." + columns: + - name: artifact_id + description: > + **Artifact ID**: A unique artifact id (generated by OSO). + - name: artifact_source_id + description: > + **Artifact Source ID**: The source-specific unique identifier for the artifact. + - name: artifact_source + description: > + **Artifact Source**: The source of the artifact, e.g., GitHub, NPM, a blockchain network, etc. + - name: artifact_namespace + description: > + **Artifact Namespace**: The source-specific namespace for the user or team that owns the artifact. For code, this is the GitHub username or organization name. For blockchain addresses, this is the network name. + - name: artifact_name + description: > + **Artifact Name**: The source-specific name for the artifact. For code, this is the GitHub repository name. For blockchain addresses, this is the address. + - name: artifact_url + description: > + **Artifact URL**: A URL path where the artifact is located. For code, this is the GitHub repository URL. For blockchain addresses, this is simply the address (to avoid preference for any particular block explorer). + - name: projects_by_collection_v1 + meta: + #... + contributors: oso-team + config: + tags: ['oss-directory', 'projects', 'collections'] + description: "Mapping of projects to collections in the OSS Directory." + columns: + - name: project_id + description: > + **Project ID**: A unique project id (generated by OSO). + - name: project_source + description: > + **Project Source**: The source of where the project is named and defined. Default is `OSS_DIRECTORY`. + - name: project_namespace + description: > + **Project Namespace**: The namespace of the user or team that has defined the project. Default is `oso`. + - name: project_name + description: > + **Project Name**: A unique human-readable project name. + - name: collection_id + description: > + **Collection ID**: A unique collection id (generated by OSO). + - name: collection_source + description: > + **Collection Source**: The source of where the collection is named and defined. Default is `OSS_DIRECTORY`. + - name: collection_namespace + description: > + **Collection Namespace**: The namespace of the user or team that has defined the project. Default is `oso`. + - name: collection_name + description: > + **Collection Name**: A unique human-readable collection name. + - name: artifacts_by_project_v1 + meta: + #... + contributors: oso-team + config: + tags: ['oss-directory', 'artifacts', 'projects'] + description: "Mapping of artifacts to projects in the OSS Directory." + columns: + - name: artifact_id + description: > + **Artifact ID**: A unique artifact id (generated by OSO). + - name: artifact_source_id + description: > + **Artifact Source ID**: The source-specific unique identifier for the artifact. + - name: artifact_source + description: > + **Artifact Source**: The source of the artifact, e.g., GitHub, NPM, a blockchain network, etc. + - name: artifact_namespace + description: > + **Artifact Namespace**: The source-specific namespace for the user or team that owns the artifact. For code, this is the GitHub username or organization name. For blockchain addresses, this is the network name. + - name: artifact_name + description: > + **Artifact Name**: The source-specific name for the artifact. For code, this is the GitHub repository name. For blockchain addresses, this is the address. + - name: project_id + description: > + **Project ID**: A unique project id (generated by OSO). + - name: project_source + description: > + **Project Source**: The source of where the project is named and defined. Default is `OSS_DIRECTORY`. + - name: project_namespace + description: > + **Project Namespace**: The namespace of the user or team that has defined the project. Default is `oso`. + - name: project_name + description: > + **Project Name**: A unique human-readable project name. + - name: users_v1 + meta: + #... + contributors: oso-team + config: + tags: ['oss-directory', 'users'] + description: "Users currently available linked to events in OSO." + columns: + - name: user_id + description: > + **User ID**: A unique user id (generated by OSO). + - name: user_source_id + description: > + **User Source ID**: The source-specific unique identifier for the user. + - name: user_source + description: > + **User Source**: The source of the user information, e.g., GitHub, Farcaster, Lens. + - name: display_name + description: > + **Display Name**: The display name of the user. + - name: profile_picture_url + description: > + **Profile Picture URL**: A URL to the user's profile picture. + - name: bio + description: > + **Bio**: A short biography or description from the user's profile page, if present. + - name: url + description: > + **URL**: A URL to the user's profile. + - name: contracts_v0 + meta: + #... + contributors: oso-team + config: + tags: ['oss-directory', 'contacts', 'artifacts'] + description: "Contracts discovered through OSO's contract discovery model. Warning: this mart is still under development and may not be stable." + columns: + - name: artifact_source + description: > + **Artifact Source**: The blockchain network that the contract is deployed on. + - name: root_deployer_address + description: > + **Root Deployer Address**: The address of the root (EOA) deployer of the contract. This will be different from the creator address for contracts that are created by a factory contract. + - name: contract_address + description: > + **Contract Address**: The address of the contract. \ No newline at end of file diff --git a/warehouse/dbt/models/marts/events/events_v1__schema.yml b/warehouse/dbt/models/marts/events/events_v1__schema.yml new file mode 100644 index 000000000..009cda0a1 --- /dev/null +++ b/warehouse/dbt/models/marts/events/events_v1__schema.yml @@ -0,0 +1,49 @@ +version: 2 + +models: + - name: event_types_v1 + meta: + #... + contributors: oso-team + config: + tags: ['events'] + description: "All code and blockchain-related event types currently visible on OSO." + columns: + - name: event_type + description: > + **Event Type**: The type of event. + - name: event_indexing_status_by_project_v1 + meta: + #... + contributors: oso-team + config: + tags: ['oss-directory', 'events', 'projects'] + description: "Event indexing status by project in the OSS Directory." + columns: + - name: project_id + description: > + **Project ID**: A unique project id (generated by OSO). + - name: project_source + description: > + **Project Source**: The source of where the project is named and defined. Default is `OSS_DIRECTORY`. + - name: project_namespace + description: > + **Project Namespace**: The namespace of the user or team that has defined the project. Default is `oso`. + - name: project_name + description: > + **Project Name**: A unique human-readable project name. + - name: event_source + description: > + **Event Source**: The source of the event data. + - name: event_type + description: > + **Event Type**: The type of event. + - name: first_event_date + description: > + **First Event Date**: The date of the first recorded event for the project. + - name: last_event_date + description: > + **Last Event Date**: The date of the last recorded event for the project. + - name: eventful_day_count + description: > + **Eventful Day Count**: The count of distinct days on which events were recorded for the project. \ No newline at end of file